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

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

    1: using Microsoft.AspNetCore.Mvc.Rendering;
    2: using System.Data;
    3: using System.Net;
    4:  
    5: namespace Ia.Ftn.Wa.Models.Provision
    6: {
    7:     ////////////////////////////////////////////////////////////////////////////
    8:  
    9:     /// <summary publish="true">
   10:     ///
   11:     /// </summary>
   12:     /// 
   13:     /// <remarks> 
   14:     /// Copyright © 2006-2025 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
   15:     /// </remarks> 
   16:     public static class ServiceRequestServiceAccess
   17:     {
   18:         ////////////////////////////////////////////////////////////////////////////
   19:  
   20:         /// <summary>
   21:         ///
   22:         /// </summary>
   23:         public static void ViewModel(ref Ia.Ftn.Wa.Models.Provision.ServiceRequestServiceAccessViewModel serviceRequestServiceAccessViewModel)
   24:         {
   25:             // http://ftn/provision/service-request-service-access.aspx?service=25233434&accessName=SHD.20.11
   26:  
   27:             // serviceRequestServiceAccessViewModel.ServiceInput = Request.QueryString["service"] != null ? WebUtility.HtmlDecode(Request.QueryString["service"].ToString()) : string.Empty;
   28:             // serviceRequestServiceAccessViewModel.AccessNameInput = Request.QueryString["accessName"] != null ? WebUtility.HtmlDecode(Request.QueryString["accessName"].ToString()) : string.Empty;
   29:  
   30:             serviceRequestServiceAccessViewModel.ReferenceButtonEnabled = (Ia.Ftn.Cl.Models.Business.Authority.StaffCanReadUpdateServiceRequestServiceAccess(serviceRequestServiceAccessViewModel.CurrentStaffIdentityUser)) ? true : false;
   31:         }
   32:  
   33:         ////////////////////////////////////////////////////////////////////////////
   34:  
   35:         /// <summary>
   36:         ///
   37:         /// </summary>
   38:         public static void Post(ref Ia.Ftn.Wa.Models.Provision.ServiceRequestServiceAccessViewModel serviceRequestServiceAccessViewModel, string commandName)
   39:         {
   40:             if (commandName == "reference") Reference(ref serviceRequestServiceAccessViewModel);
   41:         }
   42:  
   43:         ////////////////////////////////////////////////////////////////////////////
   44:  
   45:         /// <summary>
   46:         ///
   47:         /// </summary>
   48:         private static void Reference(ref Ia.Ftn.Wa.Models.Provision.ServiceRequestServiceAccessViewModel serviceRequestServiceAccessViewModel)
   49:         {
   50:             string service, input, accessName;
   51:             int number;
   52:             Ia.Ftn.Cl.Models.Access access;
   53:  
   54:             var result = new Ia.Cl.Models.Result();
   55:  
   56:             if (Ia.Ftn.Cl.Models.Business.Authority.StaffCanReadUpdateServiceRequestServiceAccess(serviceRequestServiceAccessViewModel.CurrentStaffIdentityUser))
   57:             {
   58:                 if (!string.IsNullOrEmpty(serviceRequestServiceAccessViewModel.ServiceInput))
   59:                 {
   60:                     service = WebUtility.HtmlDecode(serviceRequestServiceAccessViewModel.ServiceInput);
   61:  
   62:                     if (!string.IsNullOrEmpty(service))
   63:                     {
   64:                         service = service.Trim();
   65:  
   66:                         if (service.Length > 0)
   67:                         {
   68:                             if (int.TryParse(service, out number))
   69:                             {
   70:                                 if (Ia.Ftn.Cl.Models.Business.Service.ServiceHasEightDigitsAndIsWithinAllowedDomainList(number))
   71:                                 {
   72:                                     if (!string.IsNullOrEmpty(serviceRequestServiceAccessViewModel.AccessNameInput) && !string.IsNullOrEmpty(WebUtility.HtmlDecode(serviceRequestServiceAccessViewModel.AccessNameInput)))
   73:                                     {
   74:                                         input = WebUtility.HtmlDecode(serviceRequestServiceAccessViewModel.AccessNameInput);
   75:  
   76:                                         input = input.Trim();
   77:  
   78:                                         if (input.Length > 0)
   79:                                         {
   80:                                             if (Ia.Ftn.Cl.Models.Data.NetworkDesignDocument.AccessNameIsWithinAllowedOntList(input, out accessName))
   81:                                             {
   82:                                                 access = Ia.Ftn.Cl.Models.Data.Access.ReadByAccessName(accessName);
   83:  
   84:                                                 if (access != null)
   85:                                                 {
   86:                                                     Ia.Ftn.Cl.Models.Data.ServiceRequestService.UpdateServiceRequestServiceAccess(service, access.Id, serviceRequestServiceAccessViewModel.CurrentStaffIdentityUser.Id, out result);
   87:  
   88:                                                     Ia.Ftn.Cl.Models.Data.MessageQueue.SecretaryApplication.Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application.FtnApplication, Ia.Ftn.Cl.Models.Business.MessageQueue.Process.ReadAccess, access.Name);
   89:                                                 }
   90:                                                 else result.AddError(@"""" + accessName + @""" does not exist (الجهاز غير معرف)");
   91:                                             }
   92:                                             else result.AddError(@"""" + accessName + @""" does not belong to the network (الجهاز لا ينتمي للشبكة)");
   93:                                         }
   94:                                         else result.AddError("Input format is unknown (قيمة غير مفهومة)");
   95:                                     }
   96:                                     else
   97:                                     {
   98:                                         Ia.Ftn.Cl.Models.Data.ServiceRequestService.UpdateServiceRequestServiceAccess(service, string.Empty, serviceRequestServiceAccessViewModel.CurrentStaffIdentityUser.Id, out result);
   99:  
  100:                                         if (result.IsSuccessful)
  101:                                         {
  102:                                             result.AddSuccess("Reference removed for " + service + " (تمت إزالة ربط الرقم)");
  103:                                         }
  104:                                         else
  105:                                         {
  106:                                             result.AddError(result.Error);
  107:                                         }
  108:                                     }
  109:                                 }
  110:                                 else result.AddError(@"The number """ + number + @""" does not belong to the network (الرقم لا ينتمي للشبكة)");
  111:                             }
  112:                             else result.AddError(@"The service number """ + service + @""" is not a valid number (ليس رقماَ)");
  113:                         }
  114:                         else result.AddError("Input format is unknown (قيمة غير مفهومة)");
  115:                     }
  116:                     else result.AddError("No input was entered for service (لم يتم إدخال رقم)");
  117:                 }
  118:                 else result.AddError("No input was entered for service (لم يتم إدخال رقم)");
  119:             }
  120:             else result.AddError("You are not authorized to modify this value (لست مخولاً بتعديل هذه القيمة)");
  121:  
  122:             serviceRequestServiceAccessViewModel.Result = result;
  123:         }
  124:  
  125:         ////////////////////////////////////////////////////////////////////////////
  126:         ////////////////////////////////////////////////////////////////////////////
  127:     }
  128:  
  129:     ////////////////////////////////////////////////////////////////////////////
  130:     ////////////////////////////////////////////////////////////////////////////
  131: }