)>}]
شركة التطبيقات المتكاملة لتصميم وبرمجة البرمجيات الخاصة ش.ش.و.
Integrated Applications Programming Company
Home » Code Library » ProvisionController (Ia.Ftn.Wa.Controllers)

Public general use code classes and xml files that we've compiled and used over the years:

    1: using Microsoft.AspNetCore.Authorization;
    2: using Microsoft.AspNetCore.Identity;
    3: using Microsoft.AspNetCore.Mvc;
    4: using System.Diagnostics;
    5: using System.Diagnostics.CodeAnalysis;
    6: using System.Text;
    7:  
    8: namespace Ia.Ftn.Wa.Controllers
    9: {
   10:     ////////////////////////////////////////////////////////////////////////////
   11:  
   12:     /// <summary publish="true">
   13:     ///
   14:     /// </summary>
   15:     /// 
   16:     /// <remarks> 
   17:     /// Copyright � 2006-2025 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
   18:     /// </remarks> 
   19:     [Authorize]
   20:     public class ProvisionController : Controller
   21:     {
   22:         private static Ia.Ftn.Wa.Models.Provision.LicViewModel currentLicViewModel = new Ia.Ftn.Wa.Models.Provision.LicViewModel();
   23:         private readonly UserManager<Ia.Ftn.Cl.Models.StaffIdentityUser> userManager;
   24:  
   25:         /////////////////////////////////////////////////////////////////////////////////
   26:  
   27:         /// <summary>
   28:         ///
   29:         /// </summary>
   30:         public ProvisionController(UserManager<Ia.Ftn.Cl.Models.StaffIdentityUser> _userManager)
   31:         {
   32:             userManager = _userManager;
   33:         }
   34:  
   35:         ////////////////////////////////////////////////////////////////////////////
   36:  
   37:         /// <summary>
   38:         ///
   39:         /// </summary>
   40:         public IActionResult Index()
   41:         {
   42:             return View();
   43:         }
   44:  
   45:         ////////////////////////////////////////////////////////////////////////////
   46:         ////////////////////////////////////////////////////////////////////////////
   47:  
   48:         /// <summary>
   49:         ///
   50:         /// </summary>
   51:         [HttpGet]
   52:         public IActionResult Lic()
   53:         {
   54:             var licViewModel = new Ia.Ftn.Wa.Models.Provision.LicViewModel();
   55:  
   56:             licViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
   57:  
   58:             Ia.Ftn.Wa.Models.Provision.Lic.ViewModel(ref currentLicViewModel, ref licViewModel);
   59:  
   60:             return View(licViewModel);
   61:         }
   62:  
   63:         ////////////////////////////////////////////////////////////////////////////
   64:  
   65:         /// <summary>
   66:         ///
   67:         /// </summary>
   68:         [HttpPost]
   69:         public IActionResult Lic(Ia.Ftn.Wa.Models.Provision.LicViewModel licViewModel, string commandName, string inputTextArea)
   70:         {
   71:             licViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
   72:  
   73:             Ia.Ftn.Wa.Models.Provision.Lic.Post(ref licViewModel, commandName, inputTextArea);
   74:  
   75:             Ia.Ftn.Wa.Models.Provision.Lic.ViewModel(ref currentLicViewModel, ref licViewModel);
   76:  
   77:             return View(licViewModel);
   78:         }
   79:  
   80:         ////////////////////////////////////////////////////////////////////////////
   81:         ////////////////////////////////////////////////////////////////////////////
   82:  
   83:         /// <summary>
   84:         ///
   85:         /// </summary>
   86:         [HttpGet]
   87:         public IActionResult List()
   88:         {
   89:             return View();
   90:         }
   91:  
   92:         ////////////////////////////////////////////////////////////////////////////
   93:         ////////////////////////////////////////////////////////////////////////////
   94:  
   95:         /// <summary>
   96:         ///
   97:         /// </summary>
   98:         [HttpGet]
   99:         [Route("provision/new-ont")]
  100:         public IActionResult NewOnt()
  101:         {
  102:  
  103:  
  104:  
  105:  
  106:             return View();
  107:         }
  108:  
  109:         ////////////////////////////////////////////////////////////////////////////
  110:         ////////////////////////////////////////////////////////////////////////////
  111:  
  112:         /// <summary>
  113:         ///
  114:         /// </summary>
  115:         [HttpGet]
  116:         public IActionResult Pbx()
  117:         {
  118:             string s;
  119:  
  120:             var dictionary = Ia.Ftn.Cl.Models.Data.ServiceRequest.PbxServiceKeyToPbxServiceBranchListDictionary();
  121:  
  122:             var stringBuilder = new StringBuilder();
  123:  
  124:             if (dictionary.Count > 0)
  125:             {
  126:                 foreach (var kvp in dictionary)
  127:                 {
  128:                     var key = kvp.Key;
  129:                     var branchList = string.Join(", ", kvp.Value.ToArray().OrderBy(u => u.ToString()));
  130:  
  131:                     s = @"<a href=""/maintenance/find?input=" + key + @""">" + key + "</a>: " + branchList;
  132:  
  133:                     stringBuilder.AppendLine(s + "<br/>");
  134:                 }
  135:             }
  136:             else
  137:             {
  138:                 stringBuilder.AppendLine(@"<label class=""warning"">There are no PBX services in database</label>");
  139:             }
  140:  
  141:             var model = stringBuilder.ToString().Trim();
  142:  
  143:             return View("Pbx", model);
  144:         }
  145:  
  146:         ////////////////////////////////////////////////////////////////////////////
  147:         ////////////////////////////////////////////////////////////////////////////
  148:  
  149:         /// <summary>
  150:         ///
  151:         /// </summary>
  152:         [HttpGet]
  153:         public IActionResult Service()
  154:         {
  155:             var licViewModel = new Ia.Ftn.Wa.Models.Provision.ServiceViewModel();
  156:  
  157:             licViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
  158:  
  159:             Ia.Ftn.Wa.Models.Provision.Service.ViewModel(ref licViewModel);
  160:  
  161:             return View(licViewModel);
  162:         }
  163:  
  164:         ////////////////////////////////////////////////////////////////////////////
  165:  
  166:         /// <summary>
  167:         ///
  168:         /// </summary>
  169:         [HttpPost]
  170:         public IActionResult Service(Ia.Ftn.Wa.Models.Provision.ServiceViewModel licViewModel, string commandName, string inputTextArea)
  171:         {
  172:             licViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
  173:  
  174:             Ia.Ftn.Wa.Models.Provision.Service.Post(ref licViewModel, commandName);
  175:  
  176:             Ia.Ftn.Wa.Models.Provision.Service.ViewModel(ref licViewModel);
  177:  
  178:             return View(licViewModel);
  179:         }
  180:  
  181:         ////////////////////////////////////////////////////////////////////////////
  182:         ////////////////////////////////////////////////////////////////////////////
  183:  
  184:         /// <summary>
  185:         ///
  186:         /// </summary>
  187:         [HttpGet]
  188:         [Route("provision/service-request")]
  189:         public IActionResult ServiceRequest()
  190:         {
  191:             var serviceRequestViewModel = new Ia.Ftn.Wa.Models.Provision.ServiceRequestViewModel();
  192:  
  193:             var nowDateTime = DateTime.UtcNow.AddHours(3);
  194:  
  195:             serviceRequestViewModel.YearSelectedValue = nowDateTime.Year;
  196:             serviceRequestViewModel.MonthSelectedValue = nowDateTime.Month;
  197:             serviceRequestViewModel.DaySelectedValue = nowDateTime.Day;
  198:  
  199:             Ia.Ftn.Wa.Models.Provision.ServiceRequest.Post(ref serviceRequestViewModel, null);
  200:  
  201:             Ia.Ftn.Wa.Models.Provision.ServiceRequest.ViewModel(ref serviceRequestViewModel);
  202:  
  203:             return View(serviceRequestViewModel);
  204:         }
  205:  
  206:         ////////////////////////////////////////////////////////////////////////////
  207:  
  208:         /// <summary>
  209:         ///
  210:         /// </summary>
  211:         [HttpPost]
  212:         [Route("provision/service-request")]
  213:         public IActionResult ServiceRequest(Ia.Ftn.Wa.Models.Provision.ServiceRequestViewModel serviceRequestViewModel, string commandName)
  214:         {
  215:             Ia.Ftn.Wa.Models.Provision.ServiceRequest.Post(ref serviceRequestViewModel, commandName);
  216:  
  217:             Ia.Ftn.Wa.Models.Provision.ServiceRequest.ViewModel(ref serviceRequestViewModel);
  218:  
  219:             return View(serviceRequestViewModel);
  220:         }
  221:  
  222:         ////////////////////////////////////////////////////////////////////////////
  223:         ////////////////////////////////////////////////////////////////////////////
  224:  
  225:         /// <summary>
  226:         ///
  227:         /// </summary>
  228:         [HttpGet]
  229:         [Route("provision/service-exemption")]
  230:         public IActionResult ServiceExemption()
  231:         {
  232:             var serviceExemptionViewModel = new Ia.Ftn.Wa.Models.Provision.ServiceExemptionViewModel();
  233:  
  234:             serviceExemptionViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
  235:  
  236:             Ia.Ftn.Wa.Models.Provision.ServiceExemption.ViewModel(ref serviceExemptionViewModel);
  237:  
  238:             return View(serviceExemptionViewModel);
  239:         }
  240:  
  241:         ////////////////////////////////////////////////////////////////////////////
  242:  
  243:         /// <summary>
  244:         ///
  245:         /// </summary>
  246:         [HttpPost]
  247:         [Route("provision/service-exemption")]
  248:         public IActionResult ServiceExemption(Ia.Ftn.Wa.Models.Provision.ServiceExemptionViewModel serviceExemptionViewModel, string commandName, string serviceExemptionId)
  249:         {
  250:             serviceExemptionViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
  251:  
  252:             Ia.Ftn.Wa.Models.Provision.ServiceExemption.Post(ref serviceExemptionViewModel, commandName, serviceExemptionId);
  253:  
  254:             Ia.Ftn.Wa.Models.Provision.ServiceExemption.ViewModel(ref serviceExemptionViewModel);
  255:  
  256:             return View(serviceExemptionViewModel);
  257:         }
  258:  
  259:         ////////////////////////////////////////////////////////////////////////////
  260:         ////////////////////////////////////////////////////////////////////////////
  261:  
  262:         /// <summary>
  263:         ///
  264:         /// </summary>
  265:         [HttpGet]
  266:         [Route("provision/service-request-service-access")]
  267:         public IActionResult ServiceRequestServiceAccess()
  268:         {
  269:             var serviceRequestServiceAccessViewModel = new Ia.Ftn.Wa.Models.Provision.ServiceRequestServiceAccessViewModel();
  270:  
  271:             serviceRequestServiceAccessViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
  272:  
  273:             Ia.Ftn.Wa.Models.Provision.ServiceRequestServiceAccess.ViewModel(ref serviceRequestServiceAccessViewModel);
  274:  
  275:             return View(serviceRequestServiceAccessViewModel);
  276:         }
  277:  
  278:         ////////////////////////////////////////////////////////////////////////////
  279:  
  280:         /// <summary>
  281:         ///
  282:         /// </summary>
  283:         [HttpPost]
  284:         [Route("provision/service-request-service-access")]
  285:         public IActionResult ServiceRequestServiceAccess(Ia.Ftn.Wa.Models.Provision.ServiceRequestServiceAccessViewModel serviceRequestServiceAccessViewModel, string commandName, string inputTextArea)
  286:         {
  287:             serviceRequestServiceAccessViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
  288:  
  289:             Ia.Ftn.Wa.Models.Provision.ServiceRequestServiceAccess.Post(ref serviceRequestServiceAccessViewModel, commandName);
  290:  
  291:             Ia.Ftn.Wa.Models.Provision.ServiceRequestServiceAccess.ViewModel(ref serviceRequestServiceAccessViewModel);
  292:  
  293:             return View(serviceRequestServiceAccessViewModel);
  294:         }
  295:  
  296:         ////////////////////////////////////////////////////////////////////////////
  297:         ////////////////////////////////////////////////////////////////////////////
  298:  
  299:         /// <summary>
  300:         ///
  301:         /// </summary>
  302:         [HttpGet]
  303:         [Route("provision/access")]
  304:         public IActionResult Access()
  305:         {
  306:             return View("/Views/Provision/Access/Index.cshtml");
  307:         }
  308:  
  309:         ////////////////////////////////////////////////////////////////////////////
  310:         ////////////////////////////////////////////////////////////////////////////
  311:  
  312:         /// <summary>
  313:         ///
  314:         /// </summary>
  315:         [HttpGet]
  316:         [Route("provision/access/manage")]
  317:         public IActionResult AccessManage()
  318:         {
  319:             var manageViewModel = new Ia.Ftn.Wa.Models.Provision.Access.ManageViewModel();
  320:  
  321:             manageViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
  322:  
  323:             Ia.Ftn.Wa.Models.Provision.Access.Manage.ViewModel(ref manageViewModel);
  324:  
  325:             return View("/Views/Provision/Access/Manage.cshtml", manageViewModel);
  326:         }
  327:  
  328:         ////////////////////////////////////////////////////////////////////////////
  329:  
  330:         /// <summary>
  331:         ///
  332:         /// </summary>
  333:         [HttpPost]
  334:         [Route("provision/access/manage")]
  335:         public IActionResult AccessManage(Ia.Ftn.Wa.Models.Provision.Access.ManageViewModel manageViewModel, string commandName, string accessId)
  336:         {
  337:             manageViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
  338:  
  339:             Ia.Ftn.Wa.Models.Provision.Access.Manage.Post(ref manageViewModel, commandName, accessId);
  340:  
  341:             Ia.Ftn.Wa.Models.Provision.Access.Manage.ViewModel(ref manageViewModel);
  342:  
  343:             return View("/Views/Provision/Access/Manage.cshtml", manageViewModel);
  344:         }
  345:  
  346:         ////////////////////////////////////////////////////////////////////////////
  347:         ////////////////////////////////////////////////////////////////////////////
  348:  
  349:         /// <summary>
  350:         ///
  351:         /// </summary>
  352:         [HttpGet]
  353:         [Route("provision/access/service")]
  354:         public IActionResult AccessService()
  355:         {
  356:             var serviceViewModel = new Ia.Ftn.Wa.Models.Provision.Access.ServiceViewModel();
  357:  
  358:             serviceViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
  359:  
  360:             Ia.Ftn.Wa.Models.Provision.Access.Service.ViewModel(ref serviceViewModel);
  361:  
  362:             return View("/Views/Provision/Access/Service.cshtml", serviceViewModel);
  363:         }
  364:  
  365:         ////////////////////////////////////////////////////////////////////////////
  366:  
  367:         /// <summary>
  368:         ///
  369:         /// </summary>
  370:         [HttpPost]
  371:         [Route("provision/access/service")]
  372:         public IActionResult AccessService(Ia.Ftn.Wa.Models.Provision.Access.ServiceViewModel serviceViewModel, string commandName)
  373:         {
  374:             serviceViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
  375:  
  376:             Ia.Ftn.Wa.Models.Provision.Access.Service.Post(ref serviceViewModel, commandName);
  377:  
  378:             Ia.Ftn.Wa.Models.Provision.Access.Service.ViewModel(ref serviceViewModel);
  379:  
  380:             return View("/Views/Provision/Access/Service.cshtml", serviceViewModel);
  381:         }
  382:  
  383:         ////////////////////////////////////////////////////////////////////////////
  384:         ////////////////////////////////////////////////////////////////////////////
  385:  
  386:         /// <summary>
  387:         ///
  388:         /// </summary>
  389:         [HttpGet]
  390:         [Route("provision/access/mail")]
  391:         public IActionResult AccessMail()
  392:         {
  393:             var mailViewModel = new Ia.Ftn.Wa.Models.Provision.Access.MailViewModel();
  394:  
  395:             mailViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
  396:             mailViewModel.UserManager = userManager;
  397:  
  398:             Ia.Ftn.Wa.Models.Provision.Access.Mail.ViewModel(ref mailViewModel);
  399:  
  400:             return View("/Views/Provision/Access/Mail.cshtml", mailViewModel);
  401:         }
  402:  
  403:         ////////////////////////////////////////////////////////////////////////////
  404:  
  405:         /// <summary>
  406:         ///
  407:         /// </summary>
  408:         [HttpPost]
  409:         [Route("provision/access/mail")]
  410:         public IActionResult AccessMail(Ia.Ftn.Wa.Models.Provision.Access.MailViewModel mailViewModel, string commandName)
  411:         {
  412:             mailViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
  413:             mailViewModel.UserManager = userManager;
  414:  
  415:             Ia.Ftn.Wa.Models.Provision.Access.Mail.Post(ref mailViewModel, commandName);
  416:  
  417:             Ia.Ftn.Wa.Models.Provision.Access.Mail.ViewModel(ref mailViewModel);
  418:  
  419:             return View("/Views/Provision/Access/Mail.cshtml", mailViewModel);
  420:         }
  421:  
  422:         ////////////////////////////////////////////////////////////////////////////
  423:         ////////////////////////////////////////////////////////////////////////////
  424:  
  425:         /// <summary>
  426:         ///
  427:         /// </summary>
  428:         [HttpGet]
  429:         [Route("provision/migration")]
  430:         public IActionResult Migration()
  431:         {
  432:             return View("/Views/Provision/Migration/Index.cshtml");
  433:         }
  434:  
  435:         ////////////////////////////////////////////////////////////////////////////
  436:  
  437:         /// <summary>
  438:         ///
  439:         /// </summary>
  440:         [HttpGet]
  441:         [Route("provision/migration/manage")]
  442:         public IActionResult MigrationManage()
  443:         {
  444:             var manageViewModel = new Ia.Ftn.Wa.Models.Provision.Migration.ManageViewModel();
  445:  
  446:             manageViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
  447:  
  448:             Ia.Ftn.Wa.Models.Provision.Migration.Manage.ViewModel(ref manageViewModel);
  449:  
  450:             return View("/Views/Provision/Migration/Manage.cshtml", manageViewModel);
  451:         }
  452:  
  453:         ////////////////////////////////////////////////////////////////////////////
  454:  
  455:         /// <summary>
  456:         ///
  457:         /// </summary>
  458:         [HttpPost]
  459:         [Route("provision/migration/manage")]
  460:         public IActionResult MigrationManage(Ia.Ftn.Wa.Models.Provision.Migration.ManageViewModel manageViewModel, string commandName)
  461:         {
  462:             manageViewModel.CurrentStaffIdentityUser = Ia.Ftn.Cl.Models.Data.StaffIdentityUser.CurrentStaffIdentityUser(userManager, User);
  463:  
  464:             Ia.Ftn.Wa.Models.Provision.Migration.Manage.Post(ref manageViewModel, commandName);
  465:  
  466:             Ia.Ftn.Wa.Models.Provision.Migration.Manage.ViewModel(ref manageViewModel);
  467:  
  468:             return View("/Views/Provision/Migration/Manage.cshtml", manageViewModel);
  469:         }
  470:  
  471:         ////////////////////////////////////////////////////////////////////////////
  472:         ////////////////////////////////////////////////////////////////////////////
  473:  
  474:         /// <summary>
  475:         ///
  476:         /// </summary>
  477:         [HttpGet]
  478:         public IActionResult Table()
  479:         {
  480:             return View();
  481:         }
  482:  
  483:         ////////////////////////////////////////////////////////////////////////////
  484:  
  485:         /// <summary>
  486:         ///
  487:         /// </summary>
  488:         [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
  489:         public IActionResult Error()
  490:         {
  491:             return View(new Ia.Ftn.Wa.Models.ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
  492:         }
  493:  
  494:         ////////////////////////////////////////////////////////////////////////////
  495:         ////////////////////////////////////////////////////////////////////////////
  496:     }
  497:  
  498:     ////////////////////////////////////////////////////////////////////////////
  499:     ////////////////////////////////////////////////////////////////////////////
  500: }