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

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

Access support class for Fixed Telecommunications Network (FTN) ui model.

    1: using System.Collections.Generic;
    2: using System.Data;
    3: using System.Linq;
    4:  
    5: namespace Ia.Ftn.Cl.Models.Ui
    6: {
    7:     ////////////////////////////////////////////////////////////////////////////
    8:  
    9:     /// <summary publish="true">
   10:     /// Access support class for Fixed Telecommunications Network (FTN) ui model.
   11:     /// </summary>
   12:     /// 
   13:     /// <remarks> 
   14:     /// Copyright © 2006-2017 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
   15:     /// </remarks> 
   16:     public class Access
   17:     {
   18:         /// <summary/>
   19:         public string Id { get; set; }
   20:  
   21:         /// <summary/>
   22:         public int AreaId { get; set; }
   23:         /// <summary/>
   24:         public string Block { get; set; }
   25:         /// <summary/>
   26:         public string Street { get; set; }
   27:         /// <summary/>
   28:         public string Boulevard { get; set; }
   29:         /// <summary/>
   30:         public string PremisesOld { get; set; }
   31:         /// <summary/>
   32:         public string PremisesNew { get; set; }
   33:         /// <summary/>
   34:         public string Name { get; set; }
   35:  
   36:         /// <summary/>
   37:         public int NumberOfTrials { get; set; }
   38:  
   39:         /// <summary/>
   40:         public string Note { get; set; }
   41:  
   42:         /// <summary/>
   43:         public Access() { }
   44:  
   45:         ////////////////////////////////////////////////////////////////////////////
   46:  
   47:         /// <summary>
   48:         ///
   49:         /// </summary>
   50:         public static DataTable ReadListWithOntListProvisionedAndReadyButDoNotExistInCustomerDepartmentDatabaseDataTable()
   51:         {
   52:             return ReadListWithOntListProvisionedAndReadyButDoNotExistInCustomerDepartmentDatabaseDataTable(99999);
   53:         }
   54:  
   55:         ////////////////////////////////////////////////////////////////////////////
   56:  
   57:         /// <summary>
   58:         ///
   59:         /// </summary>
   60:         public static DataTable ReadListWithOntListProvisionedAndReadyButDoNotExistInCustomerDepartmentDatabaseDataTable(int numberOfFirstRowsToTake)
   61:         {
   62:             bool familyExists;
   63:             int c, possibleNumberOfTd, possibleNumberOfEthernet;
   64:             string /*accessId, ponNumber, ontNumber,*/ areaSymbol, areaName, accessOntFamilyTypeCapacityString;
   65:             DataRow dr;
   66:             DataTable dt;
   67:             List<Ia.Ftn.Cl.Models.Access> accessList;
   68:             Ia.Ftn.Cl.Models.Business.Service.KuwaitFtnArea kuwaitFtnArea;
   69:  
   70:             c = 0;
   71:             possibleNumberOfTd = possibleNumberOfEthernet = 0;
   72:  
   73:             dt = new DataTable("");
   74:             dt.Columns.Add("Id");
   75:             dt.Columns.Add("Pon");
   76:             dt.Columns.Add("Ont");
   77:             dt.Columns.Add("Name");
   78:             dt.Columns.Add("FamilyType");
   79:             dt.Columns.Add("AreaSymbol");
   80:             dt.Columns.Add("Area");
   81:             dt.Columns.Add("Block");
   82:             dt.Columns.Add("Street");
   83:             dt.Columns.Add("PremisesOld");
   84:             dt.Columns.Add("PremisesNew");
   85:             dt.Columns.Add("Paci");
   86:             dt.Columns.Add("Note");
   87:             dt.Columns.Add("PossibleNumberOfTd");
   88:             dt.Columns.Add("PossibleNumberOfEthernet");
   89:  
   90:             accessList = Ia.Ftn.Cl.Models.Data.Access.ListOfAccessesWithProvisionedAndReadyOntsButDoNotExistInCustomerDepartmentDatabase();
   91:  
   92:             accessList = accessList.OrderByDescending(a => a.Created).ToList();
   93:  
   94:             foreach (Ia.Ftn.Cl.Models.Access access in accessList)
   95:             {
   96:                 possibleNumberOfTd = possibleNumberOfEthernet = 0;
   97:  
   98:                 if (access.Onts != null && access.Onts.Count > 0)
   99:                 {
  100:                     accessOntFamilyTypeCapacityString = Ia.Ftn.Cl.Models.Data.Nokia.Ont.FamilyTypeStringFromId(access.Onts.FirstOrDefault().FamilyTypeId);
  101:  
  102:                     possibleNumberOfTd = Ia.Ftn.Cl.Models.Business.Nokia.Ont.PossibleNumberOfTdForOntFamilyType(access.Onts.FirstOrDefault().FamilyTypeId);
  103:                     possibleNumberOfEthernet = Ia.Ftn.Cl.Models.Business.Nokia.Ont.PossibleNumberOfHsiCardPortServiceConfigurationForOntFamilyType(access.Onts.FirstOrDefault().FamilyTypeId);
  104:  
  105:                     accessOntFamilyTypeCapacityString += " (" + possibleNumberOfTd + ")";
  106:  
  107:                     familyExists = true;
  108:                 }
  109:                 else if (access.EmsOnts != null && access.EmsOnts.Count > 0)
  110:                 {
  111:                     accessOntFamilyTypeCapacityString = access.EmsOnts.FirstOrDefault().FamilyType.ToString().ToUpper();
  112:  
  113:                     var equipmentType = access.EmsOnts.FirstOrDefault().EquipmentType;
  114:  
  115:                     if (equipmentType != null)
  116:                     {
  117:                         possibleNumberOfTd = equipmentType.TelPorts;
  118:                         possibleNumberOfEthernet = equipmentType.EthernetPorts;
  119:  
  120:                         accessOntFamilyTypeCapacityString += " (" + possibleNumberOfTd + ")";
  121:  
  122:                         familyExists = true;
  123:                     }
  124:                     else
  125:                     {
  126:                         accessOntFamilyTypeCapacityString = string.Empty;
  127:                         familyExists = false;
  128:                     }
  129:                 }
  130:                 else
  131:                 {
  132:                     accessOntFamilyTypeCapacityString = string.Empty;
  133:                     familyExists = false;
  134:                 }
  135:  
  136:  
  137:                 if (familyExists)
  138:                 {
  139:                     c++;
  140:  
  141:                     dr = dt.NewRow();
  142:  
  143:                     dr["Id"] = access.Id;
  144:                     dr["Pon"] = access.Pon;
  145:                     dr["Ont"] = access.Ont;
  146:                     dr["Name"] = access.Name;
  147:                     dr["Paci"] = access.Paci;
  148:                     dr["Note"] = access.Note;
  149:  
  150:                     dr["FamilyType"] = accessOntFamilyTypeCapacityString;
  151:  
  152:                     kuwaitFtnArea = Ia.Ftn.Cl.Models.Data.Service.KuwaitFtnAreaById(access.AreaId);
  153:  
  154:                     areaName = kuwaitFtnArea.Name;
  155:                     areaSymbol = kuwaitFtnArea.Symbol;
  156:  
  157:                     dr["AreaSymbol"] = areaSymbol;
  158:                     dr["Area"] = areaName;
  159:  
  160:                     dr["Block"] = access.Block;
  161:                     dr["Street"] = access.Street;
  162:                     dr["PremisesOld"] = access.PremisesOld;
  163:                     dr["PremisesNew"] = access.PremisesNew;
  164:  
  165:                     dr["PossibleNumberOfTd"] = possibleNumberOfTd;
  166:                     dr["PossibleNumberOfEthernet"] = possibleNumberOfEthernet;
  167:  
  168:                     dt.Rows.Add(dr);
  169:  
  170:                     if (c >= numberOfFirstRowsToTake) break;
  171:                 }
  172:                 else
  173:                 {
  174:  
  175:                 }
  176:             }
  177:  
  178:             return dt;
  179:         }
  180:  
  181:         ////////////////////////////////////////////////////////////////////////////
  182:         ////////////////////////////////////////////////////////////////////////////
  183:     }
  184:  
  185:     ////////////////////////////////////////////////////////////////////////////
  186:     ////////////////////////////////////////////////////////////////////////////
  187: }