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

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

    1: using Microsoft.AspNetCore.Mvc.Rendering;
    2:  
    3: namespace Ia.Ftn.Wa.Models.Administration
    4: {
    5:     ////////////////////////////////////////////////////////////////////////////
    6:  
    7:     /// <summary publish="true">
    8:     ///
    9:     /// </summary>
   10:     /// 
   11:     /// <remarks> 
   12:     /// Copyright � 2006-2025 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
   13:     /// </remarks> 
   14:     public class AccessNetwork
   15:     {
   16:         ////////////////////////////////////////////////////////////////////////////
   17:  
   18:         /// <summary>
   19:         ///
   20:         /// </summary>
   21:         public static void ViewModel(ref Ia.Ftn.Wa.Models.Administration.AccessNetworkViewModel currentAccessNetworkViewModel, ref Ia.Ftn.Wa.Models.Administration.AccessNetworkViewModel accessNetworkViewModel)
   22:         {
   23:             CompareCurrentAndNewViewModels(ref currentAccessNetworkViewModel, ref accessNetworkViewModel);
   24:  
   25:             var list = Ia.Ftn.Cl.Models.Data.NetworkDesignDocument.SiteList;
   26:  
   27:             if (!string.IsNullOrEmpty(accessNetworkViewModel.SiteSelectedValue))
   28:             {
   29:                 accessNetworkViewModel.SiteSelectList = new SelectList(list, "Id", "NameArabicName", accessNetworkViewModel.SiteSelectedValue);
   30:             }
   31:             else
   32:             {
   33:                 accessNetworkViewModel.SiteSelectList = new SelectList(list, "Id", "NameArabicName", list[0].Id.ToString());
   34:                 accessNetworkViewModel.SiteSelectedValue = list[0].Id.ToString();
   35:             }
   36:  
   37:             OdfSelectList(ref accessNetworkViewModel);
   38:  
   39:             currentAccessNetworkViewModel.SiteSelectedValue = accessNetworkViewModel.SiteSelectedValue;
   40:             currentAccessNetworkViewModel.OdfSelectedValue = accessNetworkViewModel.OdfSelectedValue;
   41:             currentAccessNetworkViewModel.OltSelectedValue = accessNetworkViewModel.OltSelectedValue;
   42:             currentAccessNetworkViewModel.PonSelectedValue = accessNetworkViewModel.PonSelectedValue;
   43:         }
   44:  
   45:         ////////////////////////////////////////////////////////////////////////////
   46:  
   47:         /// <summary>
   48:         ///
   49:         /// </summary>
   50:         private static void OdfSelectList(ref Ia.Ftn.Wa.Models.Administration.AccessNetworkViewModel accessNetworkViewModel)
   51:         {
   52:             if (accessNetworkViewModel.SiteSelectList.Count() > 0)
   53:             {
   54:                 if (!string.IsNullOrEmpty(accessNetworkViewModel.SiteSelectedValue))
   55:                 {
   56:                     var siteId = int.Parse(accessNetworkViewModel.SiteSelectedValue);
   57:  
   58:                     var list = (from o in Ia.Ftn.Cl.Models.Data.NetworkDesignDocument.OdfList where o.Router.Site.Id == siteId select o).ToList();
   59:  
   60:                     if (list.Count > 0)
   61:                     {
   62:                         if (!string.IsNullOrEmpty(accessNetworkViewModel.OdfSelectedValue))
   63:                         {
   64:                             accessNetworkViewModel.OdfSelectList = new SelectList(list, "Id", "Name", accessNetworkViewModel.OdfSelectedValue);
   65:                         }
   66:                         else
   67:                         {
   68:                             accessNetworkViewModel.OdfSelectList = new SelectList(list, "Id", "Name", list[0].Id.ToString());
   69:                             accessNetworkViewModel.OdfSelectedValue = list[0].Id.ToString();
   70:                         }
   71:  
   72:                         OltSelectList(ref accessNetworkViewModel);
   73:                     }
   74:                 }
   75:             }
   76:         }
   77:  
   78:         ////////////////////////////////////////////////////////////////////////////
   79:  
   80:         /// <summary>
   81:         ///
   82:         /// </summary>
   83:         private static void OltSelectList(ref Ia.Ftn.Wa.Models.Administration.AccessNetworkViewModel accessNetworkViewModel)
   84:         {
   85:             if (accessNetworkViewModel.OdfSelectList.Count() > 0)
   86:             {
   87:                 if (!string.IsNullOrEmpty(accessNetworkViewModel.OdfSelectedValue))
   88:                 {
   89:                     var odfId = int.Parse(accessNetworkViewModel.OdfSelectedValue);
   90:  
   91:                     var list = (from o in Ia.Ftn.Cl.Models.Data.NetworkDesignDocument.OltList where o.Odf != null && o.Odf.Id == odfId select new { Value = o.Id, Text = o.Symbol + " (" + o.AmsName + ")" }).ToList();
   92:  
   93:                     if (list.Count > 0)
   94:                     {
   95:                         if (!string.IsNullOrEmpty(accessNetworkViewModel.OltSelectedValue))
   96:                         {
   97:                             accessNetworkViewModel.OltSelectList = new SelectList(list, "Value", "Text", accessNetworkViewModel.OltSelectedValue);
   98:                         }
   99:                         else
  100:                         {
  101:                             accessNetworkViewModel.OltSelectList = new SelectList(list, "Value", "Text", list[0].Value.ToString());
  102:                             accessNetworkViewModel.OltSelectedValue = list[0].Value.ToString();
  103:                         }
  104:  
  105:                         PonSelectList(ref accessNetworkViewModel);
  106:                     }
  107:                 }
  108:             }
  109:         }
  110:  
  111:         ////////////////////////////////////////////////////////////////////////////
  112:  
  113:         /// <summary>
  114:         ///
  115:         /// </summary>
  116:         private static void PonSelectList(ref Ia.Ftn.Wa.Models.Administration.AccessNetworkViewModel accessNetworkViewModel)
  117:         {
  118:             if (accessNetworkViewModel.OltSelectList.Count() > 0)
  119:             {
  120:                 if (!string.IsNullOrEmpty(accessNetworkViewModel.OltSelectedValue))
  121:                 {
  122:                     var oltId = int.Parse(accessNetworkViewModel.OltSelectedValue);
  123:  
  124:                     var list = (from p in Ia.Ftn.Cl.Models.Data.NetworkDesignDocument.PonList where p.PonGroup.Olt.Id == oltId select p).ToList();
  125:  
  126:                     if (list.Count > 0)
  127:                     {
  128:                         if (!string.IsNullOrEmpty(accessNetworkViewModel.PonSelectedValue))
  129:                         {
  130:                             accessNetworkViewModel.PonSelectList = new SelectList(list, "Id", "Number", accessNetworkViewModel.PonSelectedValue);
  131:                         }
  132:                         else
  133:                         {
  134:                             accessNetworkViewModel.PonSelectList = new SelectList(list, "Id", "Number", list[0].Id.ToString());
  135:                             accessNetworkViewModel.PonSelectedValue = list[0].Id.ToString();
  136:                         }
  137:  
  138:                         OntSelectList(ref accessNetworkViewModel);
  139:                     }
  140:                 }
  141:             }
  142:         }
  143:  
  144:         ////////////////////////////////////////////////////////////////////////////
  145:  
  146:         /// <summary>
  147:         ///
  148:         /// </summary>
  149:         private static void OntSelectList(ref Ia.Ftn.Wa.Models.Administration.AccessNetworkViewModel accessNetworkViewModel)
  150:         {
  151:             List<Ia.Ftn.Cl.Models.Business.NetworkDesignDocument.Ont> ontList;
  152:  
  153:             if (accessNetworkViewModel.PonSelectList.Count() > 0)
  154:             {
  155:                 if (!string.IsNullOrEmpty(accessNetworkViewModel.PonSelectedValue))
  156:                 {
  157:                     var ponId = accessNetworkViewModel.PonSelectedValue;
  158:  
  159:                     ontList = (from o in Ia.Ftn.Cl.Models.Data.NetworkDesignDocument.OntList where o.Pon.Id == ponId select o).ToList();
  160:  
  161:                     var ontText = string.Empty;
  162:  
  163:                     foreach (Ia.Ftn.Cl.Models.Business.NetworkDesignDocument.Ont ont in ontList)
  164:                     {
  165:                         ontText += ont.Access.Name.PadRight(11, ' ') + "    " + ont.Position.PadRight(15, ' ') + "    " + ont.Ip + "   " + "\n";
  166:                     }
  167:  
  168:                     accessNetworkViewModel.OntText = ontText;
  169:                 }
  170:             }
  171:         }
  172:  
  173:         ////////////////////////////////////////////////////////////////////////////
  174:  
  175:         /// <summary>
  176:         ///
  177:         /// </summary>
  178:         private static void CompareCurrentAndNewViewModels(ref Ia.Ftn.Wa.Models.Administration.AccessNetworkViewModel currentAccessNetworkViewModel, ref Ia.Ftn.Wa.Models.Administration.AccessNetworkViewModel accessNetworkViewModel)
  179:         {
  180:             if (accessNetworkViewModel.SiteSelectedValue != currentAccessNetworkViewModel.SiteSelectedValue)
  181:             {
  182:                 accessNetworkViewModel.OdfSelectedValue = string.Empty;
  183:                 accessNetworkViewModel.OltSelectedValue = string.Empty;
  184:                 accessNetworkViewModel.PonSelectedValue = string.Empty;
  185:                 accessNetworkViewModel.OntText = string.Empty;
  186:             }
  187:             else if (accessNetworkViewModel.OdfSelectedValue != currentAccessNetworkViewModel.OdfSelectedValue)
  188:             {
  189:                 accessNetworkViewModel.OltSelectedValue = string.Empty;
  190:                 accessNetworkViewModel.PonSelectedValue = string.Empty;
  191:                 accessNetworkViewModel.OntText = string.Empty;
  192:             }
  193:             else if (accessNetworkViewModel.OltSelectedValue != currentAccessNetworkViewModel.OltSelectedValue)
  194:             {
  195:                 accessNetworkViewModel.PonSelectedValue = string.Empty;
  196:                 accessNetworkViewModel.OntText = string.Empty;
  197:             }
  198:             else if (accessNetworkViewModel.PonSelectedValue != currentAccessNetworkViewModel.PonSelectedValue)
  199:             {
  200:                 accessNetworkViewModel.OntText = string.Empty;
  201:             }
  202:             else
  203:             {
  204:             }
  205:         }
  206:  
  207:         ////////////////////////////////////////////////////////////////////////////
  208:         ////////////////////////////////////////////////////////////////////////////
  209:     }
  210:  
  211:     ////////////////////////////////////////////////////////////////////////////
  212:     ////////////////////////////////////////////////////////////////////////////
  213: }