)>}]
شركة التطبيقات المتكاملة لتصميم وبرمجة البرمجيات الخاصة ش.ش.و.
Integrated Applications Programming Company
Skip Navigation LinksHome » Code Library » Report

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

Report support class for Optical Fiber Network (OFN) ui model.

    1: using System;
    2: using System.Collections.Generic;
    3: using System.Data;
    4: using System.Linq;
    5: using System.Text;
    6: using System.Text.RegularExpressions;
    7:  
    8: namespace Ia.Ngn.Cl.Model.Ui
    9: {
   10:     ////////////////////////////////////////////////////////////////////////////
   11:  
   12:     /// <summary publish="true">
   13:     /// Report support class for Optical Fiber Network (OFN) ui model.
   14:     /// </summary>
   15:     /// 
   16:     /// <remarks> 
   17:     /// Copyright © 2006-2017 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
   18:     ///
   19:     /// This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
   20:     /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
   21:     ///
   22:     /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
   23:     /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
   24:     /// 
   25:     /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
   26:     /// 
   27:     /// Copyright notice: This notice may not be removed or altered from any source distribution.
   28:     /// </remarks> 
   29:     public class Report
   30:     {
   31:         ////////////////////////////////////////////////////////////////////////////
   32:  
   33:         /// <summary>
   34:         ///
   35:         /// </summary>
   36:         public Report() { }
   37:  
   38:         ////////////////////////////////////////////////////////////////////////////
   39:  
   40:         /// <summary>
   41:         ///
   42:         /// </summary>
   43:         public static List<Ia.Ngn.Cl.Model.Ui.ReportAccessServiceRequest> ReportWithReportOpenStatusByUserIdListAndFrameworkIdList(List<Guid> userIdList, List<int> frameworkIdList)
   44:         {
   45:             var list = Ia.Ngn.Cl.Model.Data.Report.ReportWithReportOpenStatusByUserIdListAndFrameworkIdList(userIdList, frameworkIdList);
   46:  
   47:             list = (from rasr in list
   48:                     orderby (rasr.Access != null ? rasr.Access.AreaId : 0), (rasr.Access != null ? rasr.Access.Block : string.Empty), (rasr.Access != null ? rasr.Access.Street : string.Empty), (rasr.Access != null ? rasr.Access.PremisesOld : string.Empty) ascending
   49:                     select rasr).ToList();
   50:  
   51:             return list;
   52:         }
   53:  
   54:         ////////////////////////////////////////////////////////////////////////////
   55:  
   56:         /// <summary>
   57:         ///
   58:         /// </summary>
   59:         public static List<Ia.Ngn.Cl.Model.Ui.ReportAccessServiceRequest> ReportWithReportOpenStatusByUserIdListAndFrameworkIdList(List<Guid> userIdList, int frameworkId)
   60:         {
   61:             List<int> frameworkIdList;
   62:  
   63:             if (frameworkId == 0) frameworkIdList = new List<int> { };
   64:             else frameworkIdList = new List<int> { frameworkId };
   65:  
   66:             var list = ReportWithReportOpenStatusByUserIdListAndFrameworkIdList(userIdList, frameworkIdList);
   67:  
   68:             return list;
   69:         }
   70:  
   71:         ////////////////////////////////////////////////////////////////////////////
   72:         ////////////////////////////////////////////////////////////////////////////
   73:  
   74:         /// <summary>
   75:         ///
   76:         /// </summary>
   77:         public static DataTable ToSimpleTextDataTable(List<Guid> userIdList, int siteId, List<int> actionCheckBoxSelectedItemValueList)
   78:         {
   79:             // below:
   80:             DataRow dr;
   81:             DataTable dt;
   82:             List<Ia.Ngn.Cl.Model.Ui.ReportAccessServiceRequest> reportAccessServiceRequestList;
   83:  
   84:             dt = new DataTable("");
   85:             dt.Columns.Add("Service");
   86:             dt.Columns.Add("Action");
   87:             dt.Columns.Add("Access/ONT Name");
   88:             dt.Columns.Add("Address");
   89:             dt.Columns.Add("Detail");
   90:             dt.Columns.Add("Note");
   91:             dt.Columns.Add("Contact");
   92:  
   93:             reportAccessServiceRequestList = Ia.Ngn.Cl.Model.Ui.Report.ReportWithReportOpenStatusByUserIdListAndFrameworkIdList(userIdList, siteId);
   94:  
   95:             reportAccessServiceRequestList = (from l in reportAccessServiceRequestList
   96:                                               where actionCheckBoxSelectedItemValueList.Contains(l.Report.LastReportHistory.Action)
   97:                                               select l).ToList();
   98:  
   99:             foreach (Ia.Ngn.Cl.Model.Ui.ReportAccessServiceRequest reportAccessServiceRequest in reportAccessServiceRequestList)
  100:             {
  101:                 dr = dt.NewRow();
  102:  
  103:                 dr["Service"] = Ia.Ngn.Cl.Model.Business.Service.ServiceName(reportAccessServiceRequest.Report.Service, reportAccessServiceRequest.Report.ServiceType);
  104:                 dr["Action"] = (reportAccessServiceRequest.Report.LastReportHistory != null) ? Ia.Ngn.Cl.Model.Data.Report.ActionDictionary[reportAccessServiceRequest.Report.LastReportHistory.Action].ToString() : string.Empty;
  105:                 dr["Access/ONT Name"] = ((reportAccessServiceRequest.Access != null) ? reportAccessServiceRequest.Access.Name : string.Empty);
  106:                 dr["Address"] = ((reportAccessServiceRequest.Access != null) ? Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Access.Address) : string.Empty);
  107:                 dr["Detail"] = (reportAccessServiceRequest.Report.LastReportHistory != null) ? Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Report.LastReportHistory.Detail) : string.Empty;
  108:                 dr["Note"] = (reportAccessServiceRequest.Report.LastReportHistory != null) ? Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Report.LastReportHistory.Note) : string.Empty;
  109:                 dr["Contact"] = Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Report.Contact);
  110:  
  111:                 dt.Rows.Add(dr);
  112:             }
  113:  
  114:             return dt;
  115:         }
  116:  
  117:         ////////////////////////////////////////////////////////////////////////////
  118:         ////////////////////////////////////////////////////////////////////////////
  119:  
  120:         /// <summary>
  121:         ///
  122:         /// </summary>
  123:         public static string ToSimpleTextString(List<Guid> userIdList, int siteId, List<int> actionCheckBoxSelectedItemValueList)
  124:         {
  125:             string s;
  126:             StringBuilder sb;
  127:             List<Ia.Ngn.Cl.Model.Ui.ReportAccessServiceRequest> reportAccessServiceRequestList;
  128:  
  129:             s = string.Empty;
  130:             sb = new StringBuilder();
  131:  
  132:             reportAccessServiceRequestList = Ia.Ngn.Cl.Model.Ui.Report.ReportWithReportOpenStatusByUserIdListAndFrameworkIdList(userIdList, siteId);
  133:  
  134:             reportAccessServiceRequestList = (from l in reportAccessServiceRequestList
  135:                                               where actionCheckBoxSelectedItemValueList.Contains(l.Report.LastReportHistory.Action)
  136:                                               select l).ToList();
  137:  
  138:             foreach (Ia.Ngn.Cl.Model.Ui.ReportAccessServiceRequest reportAccessServiceRequest in reportAccessServiceRequestList)
  139:             {
  140:                 sb.AppendLine("Service: " + Ia.Ngn.Cl.Model.Business.Service.ServiceName(reportAccessServiceRequest.Report.Service, reportAccessServiceRequest.Report.ServiceType).Trim());
  141:                 sb.AppendLine("Action: " + ((reportAccessServiceRequest.Report.LastReportHistory != null) ? Ia.Ngn.Cl.Model.Data.Report.ActionDictionary[reportAccessServiceRequest.Report.LastReportHistory.Action].ToString() : string.Empty).Trim());
  142:                 sb.AppendLine("Access: " + ((reportAccessServiceRequest.Access != null) ? reportAccessServiceRequest.Access.Name : string.Empty).Trim());
  143:                 sb.AppendLine("Address: " + ((reportAccessServiceRequest.Access != null) ? Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Access.Address) : string.Empty).Trim());
  144:                 sb.AppendLine("Detail: " + ((reportAccessServiceRequest.Report.LastReportHistory != null) ? Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Report.LastReportHistory.Detail) : string.Empty).Trim());
  145:                 sb.AppendLine("Note: " + ((reportAccessServiceRequest.Report.LastReportHistory != null) ? Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Report.LastReportHistory.Note) : string.Empty).Trim());
  146:                 sb.AppendLine("Contact: " + Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Report.Contact).Trim());
  147:                 sb.AppendLine(" ");
  148:  
  149:                 s = Regex.Replace(sb.ToString(), @"[\r\n]{2,}", "\r\n");
  150:             }
  151:  
  152:             return s;
  153:         }
  154:  
  155:         ////////////////////////////////////////////////////////////////////////////
  156:  
  157:         /// <summary>
  158:         ///
  159:         /// </summary>
  160:         public static string ToSimpleQrCodeTextString(List<Guid> userIdList, int siteId)
  161:         {
  162:             string s;
  163:             StringBuilder sb;
  164:             List<Ia.Ngn.Cl.Model.Ui.ReportAccessServiceRequest> reportAccessServiceRequestList;
  165:  
  166:             s = string.Empty;
  167:             sb = new StringBuilder();
  168:  
  169:             reportAccessServiceRequestList = Ia.Ngn.Cl.Model.Ui.Report.ReportWithReportOpenStatusByUserIdListAndFrameworkIdList(userIdList, siteId);
  170:  
  171:             foreach (Ia.Ngn.Cl.Model.Ui.ReportAccessServiceRequest reportAccessServiceRequest in reportAccessServiceRequestList)
  172:             {
  173:                 sb.AppendLine(Ia.Ngn.Cl.Model.Business.Service.ServiceName(reportAccessServiceRequest.Report.Service, reportAccessServiceRequest.Report.ServiceType).Trim());
  174:                 //sb.AppendLine(reportAccessServiceRequest.Port.ToString().Trim());
  175:                 sb.AppendLine(((reportAccessServiceRequest.Report.LastReportHistory != null) ? Ia.Ngn.Cl.Model.Data.Report.ActionDictionary[reportAccessServiceRequest.Report.LastReportHistory.Action].ToString() : string.Empty).Trim());
  176:                 sb.AppendLine(((reportAccessServiceRequest.Access != null) ? reportAccessServiceRequest.Access.Name : string.Empty).Trim());
  177:                 sb.AppendLine(((reportAccessServiceRequest.Access != null) ? Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Access.Address) : string.Empty).Trim());
  178:                 sb.AppendLine(((reportAccessServiceRequest.Report.LastReportHistory != null) ? Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Report.LastReportHistory.Detail) : string.Empty).Trim());
  179:                 sb.AppendLine(((reportAccessServiceRequest.Report.LastReportHistory != null) ? Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Report.LastReportHistory.Note) : string.Empty).Trim());
  180:                 sb.AppendLine(Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Report.Contact).Trim());
  181:                 sb.AppendLine(" ");
  182:  
  183:                 s = Regex.Replace(sb.ToString(), @"[\r\n]{2,}", "\r\n");
  184:             }
  185:  
  186:             return s;
  187:         }
  188:  
  189:         ////////////////////////////////////////////////////////////////////////////
  190:         ////////////////////////////////////////////////////////////////////////////   
  191:  
  192:     }
  193:  
  194:     ////////////////////////////////////////////////////////////////////////////
  195:     ////////////////////////////////////////////////////////////////////////////   
  196: }