1: using System;
2: using System.Collections.Generic;
3: using System.Configuration;
4: using System.Data;
5: using System.Linq;
6: using System.Text;
7: using System.Text.RegularExpressions;
8: using System.Web;
9: using System.Web.Security;
10: using System.Web.UI;
11: using System.Web.UI.WebControls;
12:
13:
14: namespace Ia.Ngn.Cl.Model.Ui
15: {
16: ////////////////////////////////////////////////////////////////////////////
17:
18: /// <summary publish="true">
19: /// Default support class for Optical Fiber Network (OFN) ui model.
20: /// </summary>
21: ///
22: /// <remarks>
23: /// Copyright © 2006-2022 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
24: ///
25: /// 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
26: /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
27: ///
28: /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
29: /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
30: ///
31: /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
32: ///
33: /// Copyright notice: This notice may not be removed or altered from any source distribution.
34: /// </remarks>
35: public class Default
36: {
37: private static List<string> lightBackgroundColorList, darkBackgroundColorList;
38: private static List<ColorAndItsSuitableBackground> colorAndItsSuitableBackgroundList;
39:
40: /// <summary/>
41: public enum GridViewButtonColumnType
42: {
43: /// <summary/>
44: NoButtons,
45: /// <summary/>
46: HistoryButton,
47: /// <summary/>
48: DeleteAndDeleteOffButton,
49: /// <summary/>
50: DeleteAndDeleteOffAndDeleteChildOffAndHistoryButtons,
51: /// <summary/>
52: DeleteAndEditAndCancelAndUpdateButtons
53: }
54:
55: ////////////////////////////////////////////////////////////////////////////
56:
57: /// <summary>
58: ///
59: /// </summary>
60: public static string MailTop()
61: {
62: // <title>" + ConfigurationManager.AppSettings["siteName"].ToString() + ": " + ConfigurationManager.AppSettings["companyName"].ToString() + @"</title>
63: // <p><b>" + ConfigurationManager.AppSettings["siteName"].ToString() + "</b>: <b>" + ConfigurationManager.AppSettings["companyName"].ToString() + @"</b></p>
64:
65: return @"
66: <!DOCTYPE html>
67: <html xmlns=""http://www.w3.org/1999/xhtml"" >
68: <head>
69: <title>" + ConfigurationManager.AppSettings["siteName"].ToString() + @": " + ConfigurationManager.AppSettings["companyName"].ToString() + @"</title>
70: <style>
71: html { direction:ltr; }
72: body { background:#fff;margin:5px;padding:0px;color:DarkBlue; }
73: body,td,th,a,input.button_ia,input,textarea,option,select,pre { font:9pt normal #000066 ""Tahoma"";font-family:Tahoma;text-decoration:none; }
74: a:link { color:#0000ff;text-decoration:none; }
75: a:visited { color:#0000ff;text-decoration:none; }
76: a:hover { color:#ff8888;text-decoration:none; }
77: hr { color:rgb(204,204,204); }
78: p { line-height:18px;margin-top:9px;margin-bottom:9px; }
79: table.form { }
80: table.form td { }
81: </style>
82: </head>
83: <body>
84: <p>
85: <b>" + ConfigurationManager.AppSettings["siteName"].ToString() + @"</b>:
86: <b>" + ConfigurationManager.AppSettings["companyName"].ToString() + @"</b>
87: </p>
88: ";
89: }
90:
91: ////////////////////////////////////////////////////////////////////////////
92:
93: /// <summary>
94: ///
95: /// </summary>
96: public static string PlainMailTop()
97: {
98: return ConfigurationManager.AppSettings["siteName"].ToString() + "\t\r\n" + ConfigurationManager.AppSettings["companyName"].ToString() + @"
99:
100: ";
101: // above: "\t\r\n" is very important to produce good email format
102: }
103:
104: ////////////////////////////////////////////////////////////////////////////
105:
106: /// <summary>
107: ///
108: /// </summary>
109: public static string MailBottom()
110: {
111: return @"
112: </body>
113: </html>
114: ";
115: }
116:
117: ////////////////////////////////////////////////////////////////////////////
118:
119: /// <summary>
120: ///
121: /// </summary>
122: public static string PlainMailBottom()
123: {
124: return string.Empty;
125: }
126:
127: ////////////////////////////////////////////////////////////////////////////
128: ////////////////////////////////////////////////////////////////////////////
129:
130: /// <summary>
131: ///
132: /// </summary>
133: public struct ColorAndItsSuitableBackground
134: {
135: public string Name, Background;
136:
137: public ColorAndItsSuitableBackground(string name, string background)
138: {
139: Name = name;
140: Background = background;
141: }
142: }
143:
144: ////////////////////////////////////////////////////////////////////////////
145:
146: /// <summary>
147: ///
148: /// </summary>
149: public static List<string> LightBackgroundColorList
150: {
151: get
152: {
153: //if (lightBackgroundColorList == null || lightBackgroundColorList.Count == 0)
154: //{
155: lightBackgroundColorList = new List<string>(200);
156:
157: foreach (ColorAndItsSuitableBackground c in ColorAndItsSuitableBackgroundList)
158: {
159: if (c.Background == "light") lightBackgroundColorList.Add(c.Name);
160: }
161: //}
162:
163: return lightBackgroundColorList;
164: }
165: }
166:
167: ////////////////////////////////////////////////////////////////////////////
168:
169: /// <summary>
170: ///
171: /// </summary>
172: public static List<string> DarkBackgroundColorList
173: {
174: get
175: {
176: //if (darkBackgroundColorList == null || darkBackgroundColorList.Count == 0)
177: //{
178: darkBackgroundColorList = new List<string>(200);
179:
180: foreach (ColorAndItsSuitableBackground c in ColorAndItsSuitableBackgroundList)
181: {
182: if (c.Background == "dark") darkBackgroundColorList.Add(c.Name);
183: }
184: //}
185:
186: return darkBackgroundColorList;
187: }
188: }
189:
190: ////////////////////////////////////////////////////////////////////////////
191:
192: /// <summary>
193: ///
194: /// </summary>
195: public static List<ColorAndItsSuitableBackground> ColorAndItsSuitableBackgroundList
196: {
197: get
198: {
199: //if (colorAndSuitableBackgroundList == null || colorAndSuitableBackgroundList.Count == 0)
200: //{
201: colorAndItsSuitableBackgroundList = new List<ColorAndItsSuitableBackground>(200)
202: {
203: new ColorAndItsSuitableBackground("AliceBlue", "dark"),
204: new ColorAndItsSuitableBackground("AliceBlue", "dark"),
205: new ColorAndItsSuitableBackground("AntiqueWhite", "dark"),
206: new ColorAndItsSuitableBackground("Aqua", "dark"),
207: new ColorAndItsSuitableBackground("Aquamarine", "dark"),
208: new ColorAndItsSuitableBackground("Azure", "dark"),
209: new ColorAndItsSuitableBackground("Beige", "dark"),
210: new ColorAndItsSuitableBackground("Bisque", "dark"),
211: new ColorAndItsSuitableBackground("Black", "light"),
212: new ColorAndItsSuitableBackground("BlanchedAlmond", "dark"),
213: new ColorAndItsSuitableBackground("Blue", "light"),
214: new ColorAndItsSuitableBackground("BlueViolet", "light"),
215: new ColorAndItsSuitableBackground("Brown", "light"),
216: new ColorAndItsSuitableBackground("BurlyWood", "dark"),
217: new ColorAndItsSuitableBackground("CadetBlue", "light"),
218: new ColorAndItsSuitableBackground("Chartreuse", "dark"),
219: new ColorAndItsSuitableBackground("Chocolate", "light"),
220: new ColorAndItsSuitableBackground("Coral", "dark"),
221: new ColorAndItsSuitableBackground("CornFlowerBlue", "dark"),
222: new ColorAndItsSuitableBackground("Cornsilk", "dark"),
223: new ColorAndItsSuitableBackground("Crimson", "light"),
224: new ColorAndItsSuitableBackground("Cyan", "dark"),
225: new ColorAndItsSuitableBackground("DarkBlue", "light"),
226: new ColorAndItsSuitableBackground("DarkCyan", "light"),
227: new ColorAndItsSuitableBackground("DarkGoldenrod", "light"),
228: new ColorAndItsSuitableBackground("DarkGray", "dark"),
229: new ColorAndItsSuitableBackground("DarkGreen", "light"),
230: new ColorAndItsSuitableBackground("DarkKhaki", "dark"),
231: new ColorAndItsSuitableBackground("DarkMagenta", "light"),
232: new ColorAndItsSuitableBackground("DarkOliveGreen", "light"),
233: new ColorAndItsSuitableBackground("DarkOrange", "dark"),
234: new ColorAndItsSuitableBackground("DarkOrchid", "light"),
235: new ColorAndItsSuitableBackground("DarkRed", "light"),
236: new ColorAndItsSuitableBackground("DarkSalmon", "dark"),
237: new ColorAndItsSuitableBackground("DarkSeaGreen", "dark"),
238: new ColorAndItsSuitableBackground("DarkSlateBlue", "light"),
239: new ColorAndItsSuitableBackground("DarkSlateGray", "light"),
240: new ColorAndItsSuitableBackground("DarkTurquoise", "light"),
241: new ColorAndItsSuitableBackground("DarkViolet", "light"),
242: new ColorAndItsSuitableBackground("DeepPink", "light"),
243: new ColorAndItsSuitableBackground("DeepSkyBlue", "light"),
244: new ColorAndItsSuitableBackground("DimGray", "light"),
245: new ColorAndItsSuitableBackground("DodgerBlue", "light"),
246: new ColorAndItsSuitableBackground("Firebrick", "light"),
247: new ColorAndItsSuitableBackground("FloralWhite", "dark"),
248: new ColorAndItsSuitableBackground("ForestGreen", "light"),
249: new ColorAndItsSuitableBackground("Fuchsia", "dark"),
250: new ColorAndItsSuitableBackground("Gainsboro", "dark"),
251: new ColorAndItsSuitableBackground("GhostWhite", "dark"),
252: new ColorAndItsSuitableBackground("Gold", "dark"),
253: new ColorAndItsSuitableBackground("Goldenrod", "dark"),
254: new ColorAndItsSuitableBackground("Gray", "light"),
255: new ColorAndItsSuitableBackground("Green", "light"),
256: new ColorAndItsSuitableBackground("GreenYellow", "dark"),
257: new ColorAndItsSuitableBackground("Honeydew", "dark"),
258: new ColorAndItsSuitableBackground("HotPink", "dark"),
259: new ColorAndItsSuitableBackground("IndianRed", "light"),
260: new ColorAndItsSuitableBackground("Indigo", "light"),
261: new ColorAndItsSuitableBackground("Ivory", "dark"),
262: new ColorAndItsSuitableBackground("Khaki", "dark"),
263: new ColorAndItsSuitableBackground("Lavender", "dark"),
264: new ColorAndItsSuitableBackground("LavenderBlush", "dark"),
265: new ColorAndItsSuitableBackground("LawnGreen", "dark"),
266: new ColorAndItsSuitableBackground("LemonChiffon", "dark"),
267: new ColorAndItsSuitableBackground("LightBlue", "dark"),
268: new ColorAndItsSuitableBackground("LightCoral", "dark"),
269: new ColorAndItsSuitableBackground("LightCyan", "dark"),
270: new ColorAndItsSuitableBackground("LightGoldenRodYellow", "dark"),
271: new ColorAndItsSuitableBackground("LightGray", "dark"),
272: new ColorAndItsSuitableBackground("LightGreen", "dark"),
273: new ColorAndItsSuitableBackground("LightPink", "dark"),
274: new ColorAndItsSuitableBackground("LightSalmon", "dark"),
275: new ColorAndItsSuitableBackground("LightSeaGreen", "light"),
276: new ColorAndItsSuitableBackground("LightSkyBlue", "dark"),
277: new ColorAndItsSuitableBackground("LightSlateGray", "light"),
278: new ColorAndItsSuitableBackground("LightSteelBlue", "dark"),
279: new ColorAndItsSuitableBackground("LightYellow", "dark"),
280: new ColorAndItsSuitableBackground("Lime", "dark"),
281: new ColorAndItsSuitableBackground("LimeGreen", "dark"),
282: new ColorAndItsSuitableBackground("Linen", "dark"),
283: new ColorAndItsSuitableBackground("Magenta", "dark"),
284: new ColorAndItsSuitableBackground("Maroon", "light"),
285: new ColorAndItsSuitableBackground("MediumAquamarine", "dark"),
286: new ColorAndItsSuitableBackground("MediumBlue", "light"),
287: new ColorAndItsSuitableBackground("MediumOrchid", "dark"),
288: new ColorAndItsSuitableBackground("MediumPurple", "dark"),
289: new ColorAndItsSuitableBackground("MediumSeaGreen", "light"),
290: new ColorAndItsSuitableBackground("MediumSlateBlue", "light"),
291: new ColorAndItsSuitableBackground("MediumSpringGreen", "light"),
292: new ColorAndItsSuitableBackground("MediumTurquoise", "dark"),
293: new ColorAndItsSuitableBackground("MediumVioletRed", "light"),
294: new ColorAndItsSuitableBackground("MidnightBlue", "light"),
295: new ColorAndItsSuitableBackground("MintCream", "dark"),
296: new ColorAndItsSuitableBackground("MistyRose", "dark"),
297: new ColorAndItsSuitableBackground("Moccasin", "dark"),
298: new ColorAndItsSuitableBackground("NavajoWhite", "dark"),
299: new ColorAndItsSuitableBackground("Navy", "light"),
300: new ColorAndItsSuitableBackground("OldLace", "dark"),
301: new ColorAndItsSuitableBackground("Olive", "light"),
302: new ColorAndItsSuitableBackground("OliveDrab", "light"),
303: new ColorAndItsSuitableBackground("Orange", "dark"),
304: new ColorAndItsSuitableBackground("OrangeRed", "light"),
305: new ColorAndItsSuitableBackground("Orchid", "dark"),
306: new ColorAndItsSuitableBackground("PaleGoldenrod", "dark"),
307: new ColorAndItsSuitableBackground("PaleGreen", "dark"),
308: new ColorAndItsSuitableBackground("PaleTurquoise", "dark"),
309: new ColorAndItsSuitableBackground("PaleVioletRed", "dark"),
310: new ColorAndItsSuitableBackground("PapayaWhip", "dark"),
311: new ColorAndItsSuitableBackground("PeachPuff", "dark"),
312: new ColorAndItsSuitableBackground("Peru", "light"),
313: new ColorAndItsSuitableBackground("Pink", "dark"),
314: new ColorAndItsSuitableBackground("Plum", "dark"),
315: new ColorAndItsSuitableBackground("PowderBlue", "dark"),
316: new ColorAndItsSuitableBackground("Purple", "light"),
317: new ColorAndItsSuitableBackground("Red", "light"),
318: new ColorAndItsSuitableBackground("RosyBrown", "dark"),
319: new ColorAndItsSuitableBackground("RoyalBlue", "light"),
320: new ColorAndItsSuitableBackground("SaddleBrown", "light"),
321: new ColorAndItsSuitableBackground("Salmon", "dark"),
322: new ColorAndItsSuitableBackground("SandyBrown", "dark"),
323: new ColorAndItsSuitableBackground("SeaGreen", "light"),
324: new ColorAndItsSuitableBackground("SeaShell", "dark"),
325: new ColorAndItsSuitableBackground("Sienna", "light"),
326: new ColorAndItsSuitableBackground("Silver", "dark"),
327: new ColorAndItsSuitableBackground("SkyBlue", "dark"),
328: new ColorAndItsSuitableBackground("SlateBlue", "light"),
329: new ColorAndItsSuitableBackground("SlateGray", "light"),
330: new ColorAndItsSuitableBackground("Snow", "dark"),
331: new ColorAndItsSuitableBackground("SpringGreen", "dark"),
332: new ColorAndItsSuitableBackground("SteelBlue", "light"),
333: new ColorAndItsSuitableBackground("Tan", "dark"),
334: new ColorAndItsSuitableBackground("Teal", "light"),
335: new ColorAndItsSuitableBackground("Thistle", "dark"),
336: new ColorAndItsSuitableBackground("Tomato", "dark"),
337: //colorAndSuitableBackgroundList.Add(new ColorAndSuitableBackground("Transparent", "light"));
338: new ColorAndItsSuitableBackground("Turquoise", "dark"),
339: new ColorAndItsSuitableBackground("Violet", "dark"),
340: new ColorAndItsSuitableBackground("Wheat", "dark"),
341: new ColorAndItsSuitableBackground("White", "dark"),
342: new ColorAndItsSuitableBackground("WhiteSmoke", "dark"),
343: new ColorAndItsSuitableBackground("Yellow", "dark"),
344: new ColorAndItsSuitableBackground("YellowGreen", "light")
345: };
346: //}
347:
348: return colorAndItsSuitableBackgroundList.ToList();
349: }
350: }
351:
352: ////////////////////////////////////////////////////////////////////////////
353:
354: /// <summary>
355: ///
356: /// </summary>
357: public static void RemoveAllComments(ref StringBuilder sb)
358: {
359: string s;
360:
361: s = Regex.Replace(sb.ToString(), @"#.+", string.Empty);
362:
363: s = Regex.Replace(s, @"[\r\n]{2,}", "\r\n");
364:
365: sb = new StringBuilder(s);
366: }
367:
368: ////////////////////////////////////////////////////////////////////////////
369:
370: /// <summary>
371: ///
372: /// </summary>
373: public static void ConvertArrayListContentToString(List<string> list, ref StringBuilder sb, ref string result)
374: {
375: if (list != null && list.Count > 0)
376: {
377: sb = new StringBuilder(list.Count * 1000);
378:
379: foreach (string u in list) sb.Append(u + "\n");
380:
381: result = string.Empty;
382: }
383: else
384: {
385: sb = new StringBuilder(1);
386:
387: result = "Success: No records were found. ";
388: }
389: }
390:
391: ////////////////////////////////////////////////////////////////////////////
392:
393: /// <summary>
394: ///
395: /// </summary>
396: public static void ConvertListContentToString(List<string> list, ref StringBuilder sb, ref string result)
397: {
398: if (list != null && list.Count > 0)
399: {
400: sb = new StringBuilder(list.Count * 1000);
401:
402: foreach (string u in list) sb.Append(u + "\n");
403:
404: result = string.Empty;
405: }
406: else
407: {
408: sb = new StringBuilder(1);
409:
410: result = "Success: No records were found. ";
411: }
412: }
413:
414: ////////////////////////////////////////////////////////////////////////////
415:
416: /// <summary>
417: ///
418: /// </summary>
419: public static void GridView_RowDataBound(System.Web.UI.Page page, object sender, GridViewRowEventArgs e)
420: {
421: GridViewButtonColumnType buttonColumnType;
422: Ia.Ngn.Cl.Model.Staff staffMembershipUser;
423:
424: buttonColumnType = GridViewButtonColumnType.NoButtons;
425: staffMembershipUser = null;
426:
427: GridView_RowDataBound(page, sender, e, buttonColumnType, staffMembershipUser);
428: }
429:
430: ////////////////////////////////////////////////////////////////////////////
431:
432: /// <summary>
433: ///
434: /// </summary>
435: public static void GridView_RowDataBound(System.Web.UI.Page page, object sender, GridViewRowEventArgs e, Ia.Ngn.Cl.Model.Staff staffMembershipUser)
436: {
437: GridViewButtonColumnType buttonColumnType;
438:
439: // below: default is no buttons
440: buttonColumnType = GridViewButtonColumnType.NoButtons;
441:
442: GridView_RowDataBound(page, sender, e, buttonColumnType, staffMembershipUser);
443: }
444:
445: ////////////////////////////////////////////////////////////////////////////
446:
447: /// <summary>
448: ///
449: /// </summary>
450: public static void GridView_RowDataBound(System.Web.UI.Page page, object sender, GridViewRowEventArgs e, GridViewButtonColumnType buttonColumnType)
451: {
452: Ia.Ngn.Cl.Model.Staff staffMembershipUser;
453:
454: staffMembershipUser = null;
455:
456: GridView_RowDataBound(page, sender, e, buttonColumnType, staffMembershipUser);
457: }
458:
459: ////////////////////////////////////////////////////////////////////////////
460:
461: /// <summary>
462: ///
463: /// </summary>
464: public static void GridView_RowDataBound(System.Web.UI.Page page, object sender, GridViewRowEventArgs e, GridViewButtonColumnType buttonColumnType, Ia.Ngn.Cl.Model.Staff staffMembershipUser)
465: {
466: bool senderKnown;
467: int areaId;
468: string s, senderId, firstAndMiddleNameBracketFrameworkArabicNameAndFrameworkParentArabicNameBracket, arabicNameBracketParentArabicNameBracket;
469: Guid userId;//, _userId;
470: List<Ia.Cl.Model.Identity.User> userList;
471:
472: // below: initialize according to ID of parent
473: Ia.Ngn.Cl.Model.Report report;
474: Ia.Ngn.Cl.Model.ReportHistory reportHistory;
475: Ia.Ngn.Cl.Model.ServiceRequest serviceRequest;
476: Ia.Ngn.Cl.Model.ServiceRequestHistory serviceRequestHistory;
477: Ia.Ngn.Cl.Model.ServiceRequestOnt serviceRequestOnt;
478: Ia.Ngn.Cl.Model.ServiceRequestOntDetail serviceRequestOntDetail;
479: Ia.Ngn.Cl.Model.ServiceRequestAdministrativeIssue serviceRequestAdministrativeIssue;
480: Ia.Ngn.Cl.Model.Ui.Huawei.HuSbr huSbr;
481: Ia.Ngn.Cl.Model.Huawei.Owsbr owsbr;
482: Ia.Ngn.Cl.Model.Huawei.Seruattr seruattr;
483: Ia.Ngn.Cl.Model.Ericsson.AxeSubscriber axeSubscriber;
484: Ia.Ngn.Cl.Model.Siemens.EwsdSubscriber ewsdSubscriber;
485: Ia.Ngn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt;
486: Ia.Ngn.Cl.Model.Ont ont;
487: Ia.Ngn.Cl.Model.OntOntPots ontOntPots;
488: Ia.Ngn.Cl.Model.Ui.ServiceRequestService serviceRequestService;
489: Ia.Ngn.Cl.Model.Access access;
490: Ia.Ngn.Cl.Model.Ui.Service2 service2;
491: Ia.Ngn.Cl.Model.Ui.Nokia.AgcfGatewayRecord agcfGatewayRecord;
492: Ia.Ngn.Cl.Model.Ui.Nokia.AgcfEndpoint agcfEndpoint;
493: Ia.Ngn.Cl.Model.Huawei.Mgw mgw;
494: Ia.Ngn.Cl.Model.Huawei.Asbr asbr;
495: Ia.Ngn.Cl.Model.Ui.Nokia.SubParty subParty;
496: Ia.Ngn.Cl.Model.Ui.Nokia.Subscriber subscriber;
497: Ia.Ngn.Cl.Model.OntServiceVoip ontServiceVoip;
498: Ia.Ngn.Cl.Model.Huawei.EmsDev emsDev;
499: Ia.Ngn.Cl.Model.Huawei.EmsBoard emsBoard;
500: Ia.Ngn.Cl.Model.Huawei.EmsPort emsPort;
501: Ia.Ngn.Cl.Model.Ui.Huawei.EmsOnt emsOnt;
502: Ia.Ngn.Cl.Model.Huawei.EmsOntSipInfo emsOntSipInfo;
503: Ia.Ngn.Cl.Model.Huawei.EmsVoipPstnUser emsVoipPstnUser;
504: Ia.Ngn.Cl.Model.Huawei.EmsVag emsVag;
505: Ia.Ngn.Cl.Model.Staff staff;
506: Ia.Ngn.Cl.Model.Contact contact;
507: Ia.Ngn.Cl.Model.ServiceExemption serviceExemption;
508: Ia.Ngn.Cl.Model.Ui.ReportAccessServiceRequest reportAccessServiceRequest;
509: Ia.Ngn.Cl.Model.Business.Service.KuwaitOfnArea kuwaitOfnArea;
510: Ia.Ngn.Cl.Model.Business.NetworkDesignDocument.Vendor vendor;
511: Ia.Ngn.Cl.Model.Ui.Maintenance.AccessFamilyTypeAreaBlock accessFamilyTypeInAreaBlock;
512: Ia.Ngn.Cl.Model.Event @event;
513: Ia.Ngn.Cl.Model.Business.ServiceNddOntAccessName serviceAccessName;
514: Ia.Ngn.Cl.Model.Business.ServiceNddOntAccessNameAddress serviceAccessNameAddress;
515: Ia.Ngn.Cl.Model.Business.Huawei.Dev.MsanDev.Lic msanDevLic;
516: MembershipUser membershipUser;
517:
518: areaId = 0;
519: userId = Guid.Empty;
520: senderId = e.Row.Parent.Parent.ID;
521:
522: if (e.Row.RowType == DataControlRowType.Header || e.Row.RowType == DataControlRowType.Footer || e.Row.RowType == DataControlRowType.DataRow)
523: {
524: report = null;
525: reportHistory = null;
526: serviceRequest = null;
527: serviceRequestHistory = null;
528: serviceRequestOnt = null;
529: serviceRequestOntDetail = null;
530: serviceRequestAdministrativeIssue = null;
531: huSbr = null;
532: owsbr = null;
533: seruattr = null;
534: axeSubscriber = null;
535: ewsdSubscriber = null;
536: agcfGatewayRecord = null;
537: agcfEndpoint = null;
538: mgw = null;
539: asbr = null;
540: subParty = null;
541: subscriber = null;
542: nddOnt = null;
543: ont = null;
544: serviceRequestService = null;
545: access = null;
546: ontOntPots = null;
547: ontServiceVoip = null;
548: emsDev = null;
549: emsBoard = null;
550: emsPort = null;
551: emsOnt = null;
552: emsOntSipInfo = null;
553: emsVoipPstnUser = null;
554: emsVag = null;
555: service2 = null;
556: staff = null;
557: contact = null;
558: serviceExemption = null;
559: membershipUser = null;
560: reportAccessServiceRequest = null;
561: kuwaitOfnArea = null;
562: vendor = null;
563: accessFamilyTypeInAreaBlock = null;
564: @event = null;
565: serviceAccessName = null;
566: serviceAccessNameAddress = null;
567: msanDevLic = null;
568:
569: senderKnown = true;
570:
571: switch (senderId)
572: {
573: case "reportGridView":
574: {
575: report = (e.Row.DataItem as Ia.Ngn.Cl.Model.Report);
576: buttonColumnType = GridViewButtonColumnType.DeleteAndDeleteOffAndDeleteChildOffAndHistoryButtons;
577: break;
578: }
579: case "fieldTnmdSupplierReportGridView":
580: {
581: reportAccessServiceRequest = (e.Row.DataItem as Ia.Ngn.Cl.Model.Ui.ReportAccessServiceRequest);
582: break;
583: }
584: case "insertedRecordGridView":
585: {
586: report = (e.Row.DataItem as Ia.Ngn.Cl.Model.Report);
587: break;
588: }
589: case "reportListHistoryColumnOnlyGridView":
590: {
591: report = (e.Row.DataItem as Ia.Ngn.Cl.Model.Report);
592: buttonColumnType = GridViewButtonColumnType.HistoryButton;
593: break;
594: }
595: case "reportHistoryGridView":
596: {
597: reportHistory = (e.Row.DataItem as Ia.Ngn.Cl.Model.ReportHistory);
598: buttonColumnType = GridViewButtonColumnType.DeleteAndDeleteOffButton;
599: break;
600: }
601: case "serviceRequestGridView":
602: {
603: serviceRequest = (e.Row.DataItem as Ia.Ngn.Cl.Model.ServiceRequest);
604: break;
605: }
606: case "serviceRequestHistoryGridView":
607: {
608: serviceRequestHistory = (e.Row.DataItem as Ia.Ngn.Cl.Model.ServiceRequestHistory);
609: break;
610: }
611: case "serviceRequestOntGridView":
612: {
613: serviceRequestOnt = (e.Row.DataItem as Ia.Ngn.Cl.Model.ServiceRequestOnt);
614: break;
615: }
616: case "serviceRequestOntDetailGridView":
617: {
618: serviceRequestOntDetail = (e.Row.DataItem as Ia.Ngn.Cl.Model.ServiceRequestOntDetail);
619: break;
620: }
621: case "serviceRequestAdministrativeIssueGridView":
622: {
623: serviceRequestAdministrativeIssue = (e.Row.DataItem as Ia.Ngn.Cl.Model.ServiceRequestAdministrativeIssue);
624: break;
625: }
626: case "huSbrGridView":
627: {
628: huSbr = (e.Row.DataItem as Ia.Ngn.Cl.Model.Ui.Huawei.HuSbr);
629: break;
630: }
631: case "owsbrGridView":
632: {
633: owsbr = (e.Row.DataItem as Ia.Ngn.Cl.Model.Huawei.Owsbr);
634: break;
635: }
636: case "seruattrGridView":
637: {
638: seruattr = (e.Row.DataItem as Ia.Ngn.Cl.Model.Huawei.Seruattr);
639: break;
640: }
641: case "axeSubscriberGridView":
642: {
643: axeSubscriber = (e.Row.DataItem as Ia.Ngn.Cl.Model.Ericsson.AxeSubscriber);
644: break;
645: }
646: case "ewsdSubscriberGridView":
647: {
648: ewsdSubscriber = (e.Row.DataItem as Ia.Ngn.Cl.Model.Siemens.EwsdSubscriber);
649: break;
650: }
651: case "agcfGatewayRecordGridView":
652: {
653: agcfGatewayRecord = (e.Row.DataItem as Ia.Ngn.Cl.Model.Ui.Nokia.AgcfGatewayRecord);
654: break;
655: }
656: case "agcfEndpointGridView":
657: {
658: agcfEndpoint = (e.Row.DataItem as Ia.Ngn.Cl.Model.Ui.Nokia.AgcfEndpoint);
659: break;
660: }
661: case "mgwGridView":
662: {
663: mgw = (e.Row.DataItem as Ia.Ngn.Cl.Model.Huawei.Mgw);
664: break;
665: }
666: case "asbrGridView":
667: {
668: asbr = (e.Row.DataItem as Ia.Ngn.Cl.Model.Huawei.Asbr);
669: break;
670: }
671: case "subPartyGridView":
672: {
673: subParty = (e.Row.DataItem as Ia.Ngn.Cl.Model.Ui.Nokia.SubParty);
674: break;
675: }
676: case "subscriberGridView":
677: {
678: subscriber = (e.Row.DataItem as Ia.Ngn.Cl.Model.Ui.Nokia.Subscriber);
679: break;
680: }
681: case "nddOntGridView":
682: {
683: nddOnt = (e.Row.DataItem as Ia.Ngn.Cl.Model.Business.NetworkDesignDocument.Ont);
684: break;
685: }
686: case "ontGridView":
687: {
688: ont = (e.Row.DataItem as Ia.Ngn.Cl.Model.Ont);
689: break;
690: }
691: case "ontOntPotsGridView":
692: {
693: ontOntPots = (e.Row.DataItem as Ia.Ngn.Cl.Model.OntOntPots);
694: break;
695: }
696: case "serviceRequestServiceGridView":
697: {
698: serviceRequestService = (e.Row.DataItem as Ia.Ngn.Cl.Model.Ui.ServiceRequestService);
699: break;
700: }
701: case "accessGridView":
702: {
703: access = (e.Row.DataItem as Ia.Ngn.Cl.Model.Access);
704: break;
705: }
706: case "serviceGridView":
707: {
708: service2 = (e.Row.DataItem as Ia.Ngn.Cl.Model.Ui.Service2);
709: break;
710: }
711: case "ontServiceVoipGridView":
712: {
713: ontServiceVoip = (e.Row.DataItem as Ia.Ngn.Cl.Model.OntServiceVoip);
714: break;
715: }
716: case "emsDevGridView":
717: {
718: emsDev = (e.Row.DataItem as Ia.Ngn.Cl.Model.Huawei.EmsDev);
719: break;
720: }
721: case "emsBoardGridView":
722: {
723: emsBoard = (e.Row.DataItem as Ia.Ngn.Cl.Model.Huawei.EmsBoard);
724: break;
725: }
726: case "emsPortGridView":
727: {
728: emsPort = (e.Row.DataItem as Ia.Ngn.Cl.Model.Huawei.EmsPort);
729: break;
730: }
731: case "emsOntGridView":
732: {
733: emsOnt = (e.Row.DataItem as Ia.Ngn.Cl.Model.Ui.Huawei.EmsOnt);
734: break;
735: }
736: case "emsOntSipInfoGridView":
737: {
738: emsOntSipInfo = (e.Row.DataItem as Ia.Ngn.Cl.Model.Huawei.EmsOntSipInfo);
739: break;
740: }
741: case "emsVoipPstnUserGridView":
742: {
743: emsVoipPstnUser = (e.Row.DataItem as Ia.Ngn.Cl.Model.Huawei.EmsVoipPstnUser);
744: break;
745: }
746: case "emsVagGridView":
747: {
748: emsVag = (e.Row.DataItem as Ia.Ngn.Cl.Model.Huawei.EmsVag);
749: break;
750: }
751: case "staffGridView":
752: {
753: staff = (e.Row.DataItem as Ia.Ngn.Cl.Model.Staff);
754: break;
755: }
756: case "contactGridView":
757: {
758: contact = (e.Row.DataItem as Ia.Ngn.Cl.Model.Contact);
759: break;
760: }
761: case "userGridView":
762: {
763: membershipUser = (e.Row.DataItem as MembershipUser);
764: break;
765: }
766: case "accessFamilyTypeInAreaBlockGridView":
767: {
768: accessFamilyTypeInAreaBlock = (e.Row.DataItem as Ia.Ngn.Cl.Model.Ui.Maintenance.AccessFamilyTypeAreaBlock);
769: break;
770: }
771: case "eventGridView":
772: {
773: @event = (e.Row.DataItem as Ia.Ngn.Cl.Model.Event);
774: break;
775: }
776: case "kuwaitOfnAreaGridView":
777: {
778: if (e.Row.DataItem != null) kuwaitOfnArea = (Ia.Ngn.Cl.Model.Business.Service.KuwaitOfnArea)e.Row.DataItem;
779: break;
780: }
781: case "serviceExemptionGridView":
782: {
783: serviceExemption = (e.Row.DataItem as Ia.Ngn.Cl.Model.ServiceExemption);
784: break;
785: }
786: case "serviceAccessNameGridView":
787: {
788: serviceAccessName = (e.Row.DataItem as Ia.Ngn.Cl.Model.Business.ServiceNddOntAccessName);
789: break;
790: }
791: case "serviceAccessNameAndAddressGridView":
792: {
793: serviceAccessNameAddress = (e.Row.DataItem as Ia.Ngn.Cl.Model.Business.ServiceNddOntAccessNameAddress);
794: break;
795: }
796: case "msanDevLicGridView":
797: {
798: msanDevLic = (e.Row.DataItem as Ia.Ngn.Cl.Model.Business.Huawei.Dev.MsanDev.Lic);
799: break;
800: }
801: default:
802: {
803: senderKnown = false;
804: break;
805: }
806: }
807:
808: if (senderKnown)
809: {
810: if (e.Row.RowType == DataControlRowType.Header)
811: {
812: if (buttonColumnType == GridViewButtonColumnType.NoButtons)
813: {
814: }
815: else if (buttonColumnType == GridViewButtonColumnType.HistoryButton)
816: {
817: // below: for the header just keep the first column visible
818: e.Row.Cells[0].Visible = true;
819: }
820: else if (buttonColumnType == GridViewButtonColumnType.DeleteAndDeleteOffButton)
821: {
822: // below: for the header just keep one (first) column visible
823: e.Row.Cells[0].Visible = true;
824: e.Row.Cells[1].Visible = false;
825: }
826: else if (buttonColumnType == GridViewButtonColumnType.DeleteAndDeleteOffAndDeleteChildOffAndHistoryButtons)
827: {
828: // below: for the header just keep one (first) column visible
829: e.Row.Cells[0].Visible = true; // first visible
830: e.Row.Cells[1].Visible = false; // second hidden
831: e.Row.Cells[2].Visible = false; // third hidden
832: }
833: else if (buttonColumnType == GridViewButtonColumnType.DeleteAndEditAndCancelAndUpdateButtons)
834: {
835: }
836: }
837: else if (e.Row.RowType == DataControlRowType.DataRow)
838: {
839: if (buttonColumnType == GridViewButtonColumnType.NoButtons)
840: {
841: }
842: else if (buttonColumnType == GridViewButtonColumnType.HistoryButton)
843: {
844: }
845: else if (buttonColumnType == GridViewButtonColumnType.DeleteAndDeleteOffButton)
846: {
847: // below: manage the delete button according to the role of user
848: if (Ia.Ngn.Cl.Model.Business.Authority.StaffCanCreateReadUpdateDeleteReportHistory(Ia.Ngn.Cl.Model.Business.Authority.PersistentStorageFunction.Delete, report, reportHistory, staffMembershipUser))
849: {
850: if (reportHistory.Report.StatusIsOpen)
851: {
852: // below: report status open
853: e.Row.Cells[0].Visible = true; // delete is visible
854: e.Row.Cells[1].Visible = false; // delete-off is hidden
855: }
856: else
857: {
858: // below: report closed, hence can not delete histories
859: e.Row.Cells[0].Visible = false; // delete is hidden
860: e.Row.Cells[1].Visible = true; // delete-off is visible
861: }
862: }
863: else
864: {
865: e.Row.Cells[0].Visible = false; // delete is hidden
866: e.Row.Cells[1].Visible = true; // delete-off is visible
867: }
868: }
869: else if (buttonColumnType == GridViewButtonColumnType.DeleteAndDeleteOffAndDeleteChildOffAndHistoryButtons)
870: {
871: // below: manage the delete button according to the role of user
872: if (Ia.Ngn.Cl.Model.Business.Authority.StaffCanCreateReadUpdateDeleteReport(Ia.Ngn.Cl.Model.Business.Authority.PersistentStorageFunction.Delete, report, staffMembershipUser))
873: {
874: if (report.StatusIsOpen)
875: {
876: if (report.ReportHistories != null && report.ReportHistories.Count > 0)
877: {
878: // below: has children
879: e.Row.Cells[0].Visible = false; // delete is hidden
880: e.Row.Cells[1].Visible = false; // delete-off is hidden
881: e.Row.Cells[2].Visible = true; // delete-child-off is visible
882: }
883: else
884: {
885: // below: no children
886: e.Row.Cells[0].Visible = true; // delete is visible
887: e.Row.Cells[1].Visible = false; // delete-off is hidden
888: e.Row.Cells[2].Visible = false; // delete-child-off is hidden
889: }
890: }
891: else
892: {
893: // below: report is closed, hence can not delete histories
894: e.Row.Cells[0].Visible = false; // delete is hidden
895: e.Row.Cells[1].Visible = true; // delete-off is visible
896: e.Row.Cells[2].Visible = false; // delete-child-off is hidden
897: }
898: }
899: else
900: {
901: e.Row.Cells[0].Visible = false; // delete is hidden
902: e.Row.Cells[1].Visible = true; // delete-off is visible
903: e.Row.Cells[2].Visible = false; // delete-child-off is hidden
904: }
905: }
906: else if (buttonColumnType == GridViewButtonColumnType.DeleteAndEditAndCancelAndUpdateButtons)
907: {
908: }
909:
910:
911: if (report != null)
912: {
913: if (staffMembershipUser != null)
914: {
915: if (Ia.Ngn.Cl.Model.Data.Report.ReportResponsibilityByStaffGuidDictionary.ContainsKey(staffMembershipUser.UserId))
916: {
917: if (Ia.Ngn.Cl.Model.Data.Report.ReportResponsibilityByStaffGuidDictionary[staffMembershipUser.UserId].Any(u => u == report.Id))
918: {
919: e.Row.CssClass = "selected-row-style";
920: }
921: else { }
922: }
923: else { }
924: }
925: else { }
926: }
927: else { }
928:
929:
930: foreach (Control control in e.Row.Controls)
931: {
932: try
933: {
934: if (control.Controls.Count > 0)
935: {
936: if (control.Controls[0].GetType().ToString() == "System.Web.UI.WebControls.Label")
937: {
938: Label l = (Label)control.Controls[0];
939:
940: switch (l.ID)
941: {
942: case "reportServiceLabel":
943: {
944: s = Ia.Ngn.Cl.Model.Business.Service.ServiceName(report.Service, report.ServiceType);
945: l.Text = s;
946: break;
947: }
948: case "reportStatusLabel": l.Text = Ia.Ngn.Cl.Model.Data.Report.StatusColoredDictionary[report.Status].ToString(); break;
949: case "reportSeverityLabel": l.Text = Ia.Ngn.Cl.Model.Data.Report.SeverityColoredDictionary[report.Severity].ToString(); break;
950: case "reportCategoryLabel": l.Text = Ia.Ngn.Cl.Model.Data.Report.CategoryDictionary[report.Category].ToString(); break;
951: case "reportAreaLabel": l.Text = Ia.Ngn.Cl.Model.Data.Report.CategoryAreaColoredDictionary[report.Area].ToString(); break;
952: case "reportPriorityLabel": l.Text = Ia.Ngn.Cl.Model.Data.Report.PriorityColoredDictionary[report.Priority].ToString(); break;
953: case "reportDetailLabel":
954: {
955: l.Text = Ia.Cl.Model.Html.Decode(report.Detail);
956:
957: SetTableCellHtmlTextWriteStyleDirectionAccordingToPresenceOfArabicLetters(ref e, ref l);
958:
959: break;
960: }
961: case "reportLastHistoricResolutionLabel":
962: {
963: l.Text = (report.LastReportHistory != null) ? Ia.Ngn.Cl.Model.Data.Report.ResolutionIdToEnglishArabicColoredNameDictionary[report.LastReportHistory.Resolution].ToString() : string.Empty;
964:
965: break;
966: }
967: case "reportLastHistoricEstimateLabel": l.Text = (report.LastReportHistory != null) ? l.Text = Ia.Ngn.Cl.Model.Data.Report.EstimateEnglishAndArabicColoredDictionary[report.LastReportHistory.Estimate].ToString() : string.Empty; break;
968: case "reportLastHistoricStaffLabel":
969: {
970: l.Text = (report.LastReportHistory != null) ? l.Text = (from _s in Ia.Ngn.Cl.Model.Data.Staff.List where _s.UserId == report.LastReportHistory.UserId select _s.FirstAndMiddleName).SingleOrDefault() : string.Empty;
971:
972: SetTableCellHtmlTextWriteStyleDirectionAccordingToPresenceOfArabicLetters(ref e, ref l);
973:
974: break;
975: }
976: case "reportLastHistoricUpdatedLabel":
977: {
978: var dateTime = (report.LastReportHistory != null) ? report.LastReportHistory.Updated : report.Updated;
979:
980: l.Text = dateTime.ToString("yyyy-MM-dd hh:mm");
981:
982: break;
983: }
984: case "reportLastReportAndHistoricStaffFrameworkLabel":
985: {
986: if (report.LastReportHistory != null)
987: {
988: if (Ia.Ngn.Cl.Model.Business.Administration.IsFrameworkGuid(report.LastReportHistory.UserId))
989: {
990: arabicNameBracketParentArabicNameBracket = (from f in Ia.Ngn.Cl.Model.Data.Administration.FrameworkList where f.Guid == report.LastReportHistory.UserId select f.ArabicNameBracketParentArabicNameBracket).SingleOrDefault();
991:
992: l.Text = arabicNameBracketParentArabicNameBracket;
993: }
994: else
995: {
996: firstAndMiddleNameBracketFrameworkArabicNameAndFrameworkParentArabicNameBracket = (from _s in Ia.Ngn.Cl.Model.Data.Staff.List where _s.UserId == report.LastReportHistory.UserId select _s.FirstAndMiddleNameBracketFrameworkArabicNameAndFrameworkParentArabicNameBracket).SingleOrDefault();
997:
998: l.Text = firstAndMiddleNameBracketFrameworkArabicNameAndFrameworkParentArabicNameBracket;
999: }
}
else
{
if (Ia.Ngn.Cl.Model.Business.Administration.IsFrameworkGuid(report.UserId))
{
arabicNameBracketParentArabicNameBracket = (from f in Ia.Ngn.Cl.Model.Data.Administration.FrameworkList where f.Guid == report.UserId select f.ArabicNameBracketParentArabicNameBracket).SingleOrDefault();
l.Text = arabicNameBracketParentArabicNameBracket;
}
else
{
firstAndMiddleNameBracketFrameworkArabicNameAndFrameworkParentArabicNameBracket = (from _s in Ia.Ngn.Cl.Model.Data.Staff.List where _s.UserId == report.UserId select _s.FirstAndMiddleNameBracketFrameworkArabicNameAndFrameworkParentArabicNameBracket).SingleOrDefault();
l.Text = firstAndMiddleNameBracketFrameworkArabicNameAndFrameworkParentArabicNameBracket;
}
}
SetTableCellHtmlTextWriteStyleDirectionAccordingToPresenceOfArabicLetters(ref e, ref l);
break;
}
case "reportContactLabel":
{
l.Text = Ia.Cl.Model.Html.Decode(report.Contact);
SetTableCellHtmlTextWriteStyleDirectionAccordingToPresenceOfArabicLetters(ref e, ref l);
break;
}
case "reportNoteLabel":
{
l.Text = Ia.Cl.Model.Html.Decode(report.Note);
SetTableCellHtmlTextWriteStyleDirectionAccordingToPresenceOfArabicLetters(ref e, ref l);
break;
}
case "reportHistoryLastDetailOrReportDetailLabel":
{
l.Text = report.LastReportHistory != null ? Ia.Cl.Model.Html.Decode(report.LastReportHistory.Detail) : Ia.Cl.Model.Html.Decode(report.Detail);
SetTableCellHtmlTextWriteStyleDirectionAccordingToPresenceOfArabicLetters(ref e, ref l);
break;
}
case "reportStatusLastHistoricResolutionLabel":
{
s = Ia.Ngn.Cl.Model.Data.Report.StatusColoredDictionary[report.Status].ToString();
if (report.LastReportHistory != null) s += "/" + Ia.Ngn.Cl.Model.Data.Report.ResolutionIdToEnglishArabicColoredNameDictionary[report.LastReportHistory.Resolution].ToString();
l.Text = s;
break;
}
case "reportHistoryLastHistoricalIndicationActionResolutionLabel":
{
if (report.LastReportHistory != null)
{
s = Ia.Ngn.Cl.Model.Data.Report.IndicationColoredDictionary[report.LastReportHistory.Indication].ToString()
+ "/" + Ia.Ngn.Cl.Model.Data.Report.ActionColoredDictionary[report.LastReportHistory.Action].ToString()
+ "/" + Ia.Ngn.Cl.Model.Data.Report.ResolutionIdToColoredNameDictionary[report.LastReportHistory.Resolution].ToString();
}
else s = string.Empty;
l.Text = s;
break;
}
case "reportAccessServiceRequestLastHistoricResolutionLabel": l.Text = (reportAccessServiceRequest.Report.LastReportHistory != null) ? Ia.Ngn.Cl.Model.Data.Report.ResolutionIdToEnglishArabicColoredNameDictionary[reportAccessServiceRequest.Report.LastReportHistory.Resolution].ToString() : string.Empty; break;
case "reportAccessServiceRequestServiceFlatTermIdLabel": l.Text = "?"; break;
case "reportAccessServiceRequestLastHistoricActionLabel": l.Text = (reportAccessServiceRequest.Report.LastReportHistory != null) ? Ia.Ngn.Cl.Model.Data.Report.ActionColoredDictionary[reportAccessServiceRequest.Report.LastReportHistory.Action].ToString() : string.Empty; break;
case "reportAccessServiceRequestServiceTypeLabel": l.Text = reportAccessServiceRequest.Report.ServiceType.ToString(); break;
case "reportAccessServiceRequestContactLabel": l.Text = Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Report.Contact); break;
case "reportAccessServiceRequestAddressLabel":
{
if (reportAccessServiceRequest.Access != null)
{
l.Text = Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Access.Address);
}
break;
}
case "reportAccessServiceRequestDetailLabel": l.Text = (reportAccessServiceRequest.Report.LastReportHistory != null) ? Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Report.LastReportHistory.Detail) : string.Empty; break;
case "reportAccessServiceRequestNoteLabel": l.Text = (reportAccessServiceRequest.Report.LastReportHistory != null) ? Ia.Cl.Model.Html.Decode(reportAccessServiceRequest.Report.LastReportHistory.Note) : string.Empty; break;
case "reportAccessServiceRequestStaffFrameworkLabel":
{
if (reportAccessServiceRequest.Report.LastReportHistory != null)
{
if (Ia.Ngn.Cl.Model.Business.Administration.IsFrameworkGuid(reportAccessServiceRequest.Report.LastReportHistory.UserId))
{
l.Text = (from f in Ia.Ngn.Cl.Model.Data.Administration.FrameworkList where f.Guid == reportAccessServiceRequest.Report.LastReportHistory.UserId select f.ArabicName).SingleOrDefault();
}
else l.Text = (from _s in Ia.Ngn.Cl.Model.Data.Staff.List where _s.UserId == reportAccessServiceRequest.Report.LastReportHistory.UserId select _s.FirstAndMiddleName).SingleOrDefault();
}
else
{
l.Text = string.Empty;
}
break;
}
case "reportHistoryLastNoteOrReportNoteLabel":
{
l.Text = report.LastReportHistory != null ? Ia.Cl.Model.Html.Decode(report.LastReportHistory.Note) : Ia.Cl.Model.Html.Decode(report.Note);
SetTableCellHtmlTextWriteStyleDirectionAccordingToPresenceOfArabicLetters(ref e, ref l);
break;
}
case "reportHistoryIndicationLabel": l.Text = Ia.Ngn.Cl.Model.Data.Report.IndicationColoredDictionary[reportHistory.Indication].ToString(); break;
case "reportHistoryAreaLabel":
{
if (Ia.Ngn.Cl.Model.Data.Report.CategoryAreaColoredDictionary.ContainsKey(reportHistory.Area))
{
l.Text = Ia.Ngn.Cl.Model.Data.Report.CategoryAreaColoredDictionary[reportHistory.Area].ToString();
}
else l.Text = "Error: Area '" + reportHistory.Area + "' not found. ";
break;
};
case "reportHistoryActionLabel": l.Text = Ia.Ngn.Cl.Model.Data.Report.ActionColoredDictionary[reportHistory.Action].ToString(); break;
case "reportHistoryResolutionLabel": l.Text = Ia.Ngn.Cl.Model.Data.Report.ResolutionIdToEnglishArabicColoredNameDictionary[reportHistory.Resolution].ToString(); break;
case "reportHistoryEstimateLabel": l.Text = Ia.Ngn.Cl.Model.Data.Report.EstimateEnglishAndArabicColoredDictionary[reportHistory.Estimate].ToString(); break;
case "reportHistoryDetailLabel":
{
l.Text = Ia.Cl.Model.Html.Decode(reportHistory.Detail);
SetTableCellHtmlTextWriteStyleDirectionAccordingToPresenceOfArabicLetters(ref e, ref l);
break;
}
case "reportHistoryNoteLabel":
{
l.Text = Ia.Cl.Model.Html.Decode(reportHistory.Note);
SetTableCellHtmlTextWriteStyleDirectionAccordingToPresenceOfArabicLetters(ref e, ref l);
break;
}
case "reportHistoryStaffFrameworkLabel":
{
if (Ia.Ngn.Cl.Model.Business.Administration.IsFrameworkGuid(reportHistory.UserId))
{
arabicNameBracketParentArabicNameBracket = (from f in Ia.Ngn.Cl.Model.Data.Administration.FrameworkList where f.Guid == reportHistory.UserId select f.ArabicNameBracketParentArabicNameBracket).SingleOrDefault();
l.Text = arabicNameBracketParentArabicNameBracket;
}
else
{
firstAndMiddleNameBracketFrameworkArabicNameAndFrameworkParentArabicNameBracket = (from _s in Ia.Ngn.Cl.Model.Data.Staff.List where _s.UserId == reportHistory.UserId select _s.FirstAndMiddleNameBracketFrameworkArabicNameAndFrameworkParentArabicNameBracket).SingleOrDefault();
l.Text = firstAndMiddleNameBracketFrameworkArabicNameAndFrameworkParentArabicNameBracket;
}
SetTableCellHtmlTextWriteStyleDirectionAccordingToPresenceOfArabicLetters(ref e, ref l);
break;
}
case "seruattrRouteNameLabel": l.Text = Ia.Ngn.Cl.Model.Business.Huawei.Seruattr.RnidxRouteName[seruattr.RNIDX2]; break;
case "axeSubscriberRouteNameLabel": l.Text = Ia.Ngn.Cl.Model.Business.Ericsson.Subscriber.RouteName(axeSubscriber.SCL); break;
case "serviceRequestStatusLabel": l.Text = Ia.Ngn.Cl.Model.Data.ServiceRequest.StatusSortedList[serviceRequest.Status].ToString(); break;
case "serviceRequestCustomerCategoryIdLabel": l.Text = Ia.Ngn.Cl.Model.Data.ServiceRequest.CustomerCategorySortedList[serviceRequest.CustomerCategoryId].ToString(); break;
case "serviceRequestServiceIdLabel":
{
if (Ia.Ngn.Cl.Model.Data.ServiceRequest.ServiceSortedList.ContainsKey(serviceRequest.ServiceId))
{
l.Text = Ia.Ngn.Cl.Model.Data.ServiceRequest.ServiceSortedList[serviceRequest.ServiceId].ToString();
}
else l.Text = "Error: Service '" + serviceRequest.ServiceId + "' not found. ";
break;
};
case "serviceRequestHistoryStatusLabel": l.Text = Ia.Ngn.Cl.Model.Data.ServiceRequest.SystemCode[serviceRequestHistory.Status].ToString(); break;
case "serviceRequestHistoryEndDateTimeLabel":
{
if (serviceRequestHistory.EndDateTime == Ia.Ngn.Cl.Model.Business.Administration.SqlFriendlyJanuary1st1753NullDateTime)
{
l.Text = string.Empty;
}
else l.Text = serviceRequestHistory.EndDateTime.ToString("yyyy-MM-dd");
break;
};
case "serviceRequestHistoryServiceIdLabel":
{
if (Ia.Ngn.Cl.Model.Data.ServiceRequest.ServiceSortedList.ContainsKey(serviceRequestHistory.ServiceId))
{
l.Text = Ia.Ngn.Cl.Model.Data.ServiceRequest.ServiceSortedList[serviceRequestHistory.ServiceId].ToString();
}
else l.Text = "Error: Service '" + serviceRequestHistory.ServiceId + "' not found. ";
break;
};
case "serviceRequestHistoryServiceCategoryIdLabel": l.Text = Ia.Ngn.Cl.Model.Data.ServiceRequest.ServiceCategorySortedList[serviceRequestHistory.ServiceCategoryId].ToString(); break;
case "serviceRequestServiceCategoryIdLabel": l.Text = Ia.Ngn.Cl.Model.Data.ServiceRequest.ServiceCategorySortedList[serviceRequest.ServiceCategoryId].ToString(); break;
case "serviceRequestCustomerNameLabel": l.Text = serviceRequest.CustomerName; break;
case "serviceRequestServiceServiceTypeLabel": l.Text = Ia.Ngn.Cl.Model.Data.Service.ServiceType(serviceRequestService.ServiceType).ColoredNameArabicName; break;
case "serviceRequestServiceTypeLabel": l.Text = "??"; break;
case "serviceRequestServiceProvisionedLabel": l.Text = Ia.Cl.Model.Default.YesNo(serviceRequestService.Provisioned); break;
case "serviceRequestServiceProvisionedArabicLabel": l.Text = Ia.Cl.Model.Default.YesNoInArabic(serviceRequestService.Provisioned); break;
case "serviceRequestServiceCallWaitingLabel": l.Text = Ia.Cl.Model.Default.YesNo(serviceRequestService.CallWaiting); break;
case "serviceRequestServiceCallForwardingLabel": l.Text = Ia.Cl.Model.Default.YesNo(serviceRequestService.CallForwarding); break;
case "serviceRequestServiceAlarmCallLabel": l.Text = Ia.Cl.Model.Default.YesNo(serviceRequestService.AlarmCall); break;
case "serviceRequestServiceInternationalCallingUserControlledLabel": l.Text = Ia.Cl.Model.Default.YesNo(serviceRequestService.InternationalCallingUserControlled); break;
case "serviceRequestServiceInternationalCallingLabel": l.Text = Ia.Cl.Model.Default.YesNo(serviceRequestService.InternationalCalling); break;
case "serviceRequestServiceCallerIdLabel": l.Text = Ia.Cl.Model.Default.YesNo(serviceRequestService.CallerId); break;
case "serviceRequestServiceConferenceCallLabel": l.Text = Ia.Cl.Model.Default.YesNo(serviceRequestService.ConferenceCall); break;
case "serviceRequestServiceAbbriviatedCallingLabel": l.Text = Ia.Cl.Model.Default.YesNo(serviceRequestService.AbbriviatedCalling); break;
case "serviceRequestServiceCallBarringLabel": l.Text = Ia.Cl.Model.Default.YesNo(serviceRequestService.CallBarring); break;
case "accessAreaLabel": l.Text = (from kna in Ia.Ngn.Cl.Model.Data.Service.KuwaitOfnAreaList where kna.Id == access.AreaId select kna.ArabicName).SingleOrDefault(); break;
case "accessOltLabel": l.Text = (from o in Ia.Ngn.Cl.Model.Data.NetworkDesignDocument.OltList where o.Id == access.Olt select o.AmsName).SingleOrDefault(); break;
case "accessBlockLabel": l.Text = access.Block.ToString(); break;
case "accessStreetLabel": l.Text = access.Street; break;
case "accessPremisesOldLabel": l.Text = access.PremisesOld; break;
case "accessPremisesNewLabel": l.Text = access.PremisesNew; break;
case "accessNoteLabel": l.Text = access.Note; break;
case "accessStaffNameLabel": l.Text = (from _s in Ia.Ngn.Cl.Model.Data.Staff.List where _s.UserId == access.UserId select _s.FirstAndMiddleName).SingleOrDefault(); break;
case "accessOntFamilyTypeCapacityLabel":
{
// temp: later quickly find vendor from accessId
if (access.Onts != null && access.Onts.Count > 0)
{
l.Text = Ia.Ngn.Cl.Model.Data.Nokia.Ont.FamilyTypeStringFromId(access.Onts.FirstOrDefault().FamilyTypeId);
l.Text += " (" + Ia.Ngn.Cl.Model.Business.Nokia.Ont.PossibleNumberOfTdForOntFamilyType(access.Onts.FirstOrDefault().FamilyTypeId) + ")";
}
else if (access.EmsOnts != null && access.EmsOnts.Count > 0)
{
l.Text = access.EmsOnts.FirstOrDefault().FamilyType.ToString().ToUpper();
l.Text += " (" + access.EmsOnts.FirstOrDefault().EquipmentType.TelPorts + ")";
}
else l.Text = string.Empty;
break;
}
case "accessFamilyTypeInAreaBlockLabel": l.Text = (from kna in Ia.Ngn.Cl.Model.Data.Service.KuwaitOfnAreaList where kna.Id == accessFamilyTypeInAreaBlock.AreaId select kna.NameArabicName).SingleOrDefault(); break;
case "service2ServiceTypeLabel": l.Text = Ia.Ngn.Cl.Model.Data.Service.ServiceType(service2.ServiceType).ColoredNameArabicName; break;
case "service2PortLabel":
{
if (service2.Port != Ia.Ngn.Cl.Model.Business.Default.PortUndefinedOrInvalidOrUnknown)
{
l.Text = service2.Port.ToString();
}
break;
}
case "service2CallWaitingLabel": l.Text = Ia.Cl.Model.Default.YesNo(service2.CallWaiting); break;
case "service2CallForwardingLabel": l.Text = Ia.Cl.Model.Default.YesNo(service2.CallForwarding); break;
case "service2AlarmCallLabel": l.Text = Ia.Cl.Model.Default.YesNo(service2.AlarmCall); break;
case "service2InternationalCallingUserControlledLabel": l.Text = Ia.Cl.Model.Default.YesNo(service2.InternationalCallingUserControlled); break;
case "service2InternationalCallingLabel": l.Text = Ia.Cl.Model.Default.YesNo(service2.InternationalCalling); break;
case "service2CallerIdLabel": l.Text = Ia.Cl.Model.Default.YesNo(service2.CallerId); break;
case "service2ConferenceCallLabel": l.Text = Ia.Cl.Model.Default.YesNo(service2.ConferenceCall); break;
case "service2AbbriviatedCallingLabel": l.Text = Ia.Cl.Model.Default.YesNo(service2.AbbriviatedCalling); break;
case "service2CallBarringLabel": l.Text = Ia.Cl.Model.Default.YesNo(service2.CallBarring); break;
case "service2ServiceSuspensionLabel": l.Text = Ia.Cl.Model.Default.YesNo(service2.ServiceSuspension); break;
case "serviceRequestAdministrativeIssueTypeNameArabicNameLabel": l.Text = Ia.Ngn.Cl.Model.Business.ServiceRequestAdministrativeIssue.ColoredTypeCode(serviceRequestAdministrativeIssue.Type); break;
case "isPrimaryAgcfGatewayRecordLabel": l.Text = Ia.Cl.Model.Default.YesNo(agcfGatewayRecord.IsPrimary); break;
case "ontFamilyTypeLabel": l.Text = Ia.Ngn.Cl.Model.Data.Nokia.Ont.FamilyTypeStringFromId(ont.FamilyTypeId); break;
case "ontStateIdLabel": l.Text = Ia.Ngn.Cl.Model.Data.Nokia.Ams.ColoredBellcoreStateFromId(ont.StateId); break;
case "ontServiceVoipStateIdLabel": l.Text = Ia.Ngn.Cl.Model.Data.Nokia.Ams.ColoredBellcoreStateFromId(ontServiceVoip.StateId); break;
case "ontServiceVoipMgcIpLabel": l.Text = ontServiceVoip.MgcIp; break;
case "ontOntPotsStateIdLabel": l.Text = Ia.Ngn.Cl.Model.Data.Nokia.Ams.ColoredBellcoreStateFromId(ontOntPots.StateId); break;
case "ontVendorLabel": l.Text = Ia.Ngn.Cl.Model.Business.NetworkDesignDocument.Vendor.VendorNameFromId(ont.VendorId); break;
case "emsDevStateIdLabel": l.Text = Ia.Ngn.Cl.Model.Data.Huawei.Ems.ColoredBellcoreStateFromId(emsDev.StateId); break;
case "emsOntStateIdLabel": l.Text = Ia.Ngn.Cl.Model.Data.Huawei.Ems.ColoredBellcoreStateFromId(emsOnt.StateId); break;
case "emsOntSipInfoStateIdLabel": l.Text = Ia.Ngn.Cl.Model.Data.Huawei.Ems.ColoredBellcoreStateFromId(emsOntSipInfo.StateId); break;
case "emsOntSipInfoEmsOntAliasLabel": l.Text = emsOntSipInfo.EmsOnt.ALIAS.ToString(); break;
//case "emsVoipPstnUserStateIdLabel": l.Text = Ia.Ngn.Cl.Model.Data.Huawei.Ems.ColoredBellcoreStateFromId(emsVoipPstnUser.StateId); break;
//case "emsVagStateIdLabel": l.Text = Ia.Ngn.Cl.Model.Data.Huawei.Ems.ColoredBellcoreStateFromId(emsVag.StateId); break;
case "emsDevTypeLabel": l.Text = emsDev.Type.ToString().ToUpper(); break;
case "emsDevResultCodeLabel": l.Text = Ia.Ngn.Cl.Model.Client.Huawei.Ems.ColoredResultCodeString(emsDev.ResultCode); break;
case "emsOntResultCodeLabel": l.Text = Ia.Ngn.Cl.Model.Client.Huawei.Ems.ColoredResultCodeString(emsOnt.ResultCode); break;
case "emsOntSipInfoResultCodeLabel": l.Text = Ia.Ngn.Cl.Model.Client.Huawei.Ems.ColoredResultCodeString(emsOntSipInfo.ResultCode); break;
case "emsVoipPstnUserEmsDevDevLabel": l.Text = Ia.Ngn.Cl.Model.Data.Huawei.Dev.EmsDevDevByEmsDevDid(emsVoipPstnUser.DID); break;
//case "emsVoipPstnUserResultCodeLabel": l.Text = Ia.Ngn.Cl.Model.Client.Huawei.Ems.ColoredResultCodeString(emsVoipPstnUser.ResultCode); break;
//case "emsVagResultCodeLabel": l.Text = Ia.Ngn.Cl.Model.Client.Huawei.Ems.ColoredResultCodeString(emsVag.ResultCode); break;
//case "emsVoipPstnUserEmsOntAliasLabel": l.Text = emsVoipPstnUser.EmsOnt.ALIAS; break;
case "impuOwsbrUsCodeLabel": l.Text = Ia.Ngn.Cl.Model.Business.Huawei.Owsbr.UsCodeColoredString(owsbr.US); break;
case "userNameLabel": l.Text = membershipUser.UserName; break;
case "userEmailLabel": l.Text = membershipUser.Email; break;
case "userIsApprovedLabel": l.Text = Ia.Cl.Model.Default.YesNo(membershipUser.IsApproved); break;
case "userIsOnlineLabel": l.Text = Ia.Cl.Model.Default.YesNo(membershipUser.IsOnline); break;
case "userIsLockedOutLabel": l.Text = Ia.Cl.Model.Default.YesNo(membershipUser.IsLockedOut); break;
case "staffIsHeadLabel": l.Text = Ia.Cl.Model.Default.YesNoInArabic(staff.IsHead); break;
case "staffFirstNameLabel": l.Text = staff.FirstName; break;
case "staffMiddleNameLabel": l.Text = staff.MiddleName; break;
case "staffLastNameLabel": l.Text = staff.LastName; break;
case "staffIpPbxExtensionLabel": l.Text = staff.IpPbxExtension; break;
case "staffEmploymentIdLabel": l.Text = staff.EmploymentId.ToString(); break;
case "staffAdministrativeFrameworkIdLabel": l.Text = (from f in Ia.Ngn.Cl.Model.Data.Administration.FrameworkList where f.Id == staff.AdministrativeFrameworkId select f.FullyQualifiedArabicName).SingleOrDefault(); break;
case "staffIdentityUserIdLabel": l.Text = Ia.Cl.Model.Identity.UserNameDictionary[staff.UserId]; break;
case "staffUserEmailLabel":
{
userList = Ia.Cl.Model.Identity.UserList;
l.Text = (from u in userList where u.ProviderUserKey == staff.UserId select u.Email).SingleOrDefault();
break;
}
case "contactFirstNameLabel": l.Text = contact.FirstName; break;
case "contactMiddleNameLabel": l.Text = contact.MiddleName; break;
case "contactLastNameLabel": l.Text = contact.LastName; break;
case "contactCompanyLabel": l.Text = contact.Company; break;
case "contactEmailLabel": l.Text = contact.Email; break;
case "contactPhoneLabel": l.Text = contact.Phone; break;
case "contactAddressLabel": l.Text = contact.Address; break;
case "contactApprovedLabel": l.Text = Ia.Cl.Model.Default.YesNoInArabic(contact.IsApproved); break;
case "contactUrlLabel": l.Text = contact.Url; break;
case "contactNoteLabel": l.Text = contact.Note; break;
case "contactUserIdLabel": l.Text = contact.UserId.ToString(); break;
case "reportUserNameLabel": l.Text = "?"; break;
case "reportStaffFrameworkLabel":
{
if (Ia.Ngn.Cl.Model.Business.Administration.IsFrameworkGuid(report.UserId))
{
arabicNameBracketParentArabicNameBracket = (from f in Ia.Ngn.Cl.Model.Data.Administration.FrameworkList where f.Guid == report.UserId select f.ArabicNameBracketParentArabicNameBracket).SingleOrDefault();
l.Text = arabicNameBracketParentArabicNameBracket;
}
else
{
firstAndMiddleNameBracketFrameworkArabicNameAndFrameworkParentArabicNameBracket = (from _s in Ia.Ngn.Cl.Model.Data.Staff.List where _s.UserId == report.UserId select _s.FirstAndMiddleNameBracketFrameworkArabicNameAndFrameworkParentArabicNameBracket).SingleOrDefault();
l.Text = firstAndMiddleNameBracketFrameworkArabicNameAndFrameworkParentArabicNameBracket;
}
SetTableCellHtmlTextWriteStyleDirectionAccordingToPresenceOfArabicLetters(ref e, ref l);
/*
if (report.LastReportHistory.UserId == staffMembershipUser.UserId)
{
//e.Row.BackColor = System.Drawing.Color.SlateGray;
}
*/
break;
}
case "accessAreaStatisticLabel": l.Text = (from kna in Ia.Ngn.Cl.Model.Data.Service.KuwaitOfnAreaList where kna.Id == areaId select kna.ArabicName).SingleOrDefault(); break;
case "subscriberCallWaitingLabel": l.Text = Ia.Cl.Model.Default.YesNo(subscriber.CallWaiting); break;
case "subPartyIsSipLabel": l.Text = Ia.Cl.Model.Default.YesNo(Ia.Ngn.Cl.Model.Business.Nokia.SubParty.IsSip(subParty.PrimaryPUIDCPEProfileNumber)); break;
case "subPartyServiceSuspensionLabel": l.Text = Ia.Cl.Model.Default.YesNo(subParty.ServiceSuspension); break;
case "subscriberCallForwardingLabel": l.Text = Ia.Cl.Model.Default.YesNo(subscriber.CallForwarding); break;
case "subscriberAlarmCallLabel": l.Text = Ia.Cl.Model.Default.YesNo(subscriber.AlarmCall); break;
case "subscriberInternationalCallingUserControlledLabel": l.Text = Ia.Cl.Model.Default.YesNo(subscriber.InternationalCallingUserControlled); break;
case "subscriberInternationalCallingLabel": l.Text = Ia.Cl.Model.Default.YesNo(subscriber.InternationalCalling); break;
case "subscriberCallerIdLabel": l.Text = Ia.Cl.Model.Default.YesNo(subscriber.CallerId); break;
case "subscriberConferenceCallLabel": l.Text = Ia.Cl.Model.Default.YesNo(subscriber.ConferenceCall); break;
case "subscriberAbbriviatedCallingLabel": l.Text = Ia.Cl.Model.Default.YesNo(subscriber.AbbriviatedCalling); break;
case "subscriberCallBarringLabel": l.Text = "?"; break;
case "nddOntPonPositionLabel": l.Text = nddOnt.Pon.Position; break;
case "nddOntPonOltOdfSiteNameLabel": l.Text = nddOnt.Pon.PonGroup.Olt.Odf.Router.Site.Name; break;
case "nddOntPonOltOdfSiteNameArabicNameLabel": l.Text = nddOnt.Pon.PonGroup.Olt.Odf.Router.Site.Name + " (" + nddOnt.Pon.PonGroup.Olt.Odf.Router.Site.ArabicName + ")"; break;
case "nddOntPonOltAmsNameLabel": l.Text = nddOnt.Pon.PonGroup.Olt.AmsName; break;
case "nddOntPonOltAreaLabel": l.Text = nddOnt.Pon.PonGroup.Olt.Symbol; break;
case "nddOntPrimarySwitchLabel": l.Text = nddOnt.PrimarySwitch; break;
case "nddOntPonOltFieldTypeLabel": l.Text = Ia.Ngn.Cl.Model.Business.NetworkDesignDocument.FieldTypeColoredString(nddOnt.Pon.PonGroup.Olt.FieldType); break;
case "nddOntPonOltIsSipLabel": l.Text = Ia.Cl.Model.Default.YesNo(nddOnt.Pon.PonGroup.Olt.IsSip); break;
case "nddOntMgcIpLabel": l.Text = nddOnt.MgcIp; break;
case "nddOntMgcSecondaryIpLabel": l.Text = nddOnt.MgcSecondaryIp; break;
case "nddOntPonOltVlanLabel": l.Text = "?"; break; // nddOnt.Pon.PonGroup.Olt.Vlan.ToString(); break;
case "nddOntPonOltNetworkNumberLabel": l.Text = nddOnt.Pon.PonGroup.NetworkNumber; break;
case "nddOntPonOltGatewayIpLabel": l.Text = nddOnt.Pon.PonGroup.GatewayIp; break;
case "nddOntImsServiceLabel": l.Text = nddOnt.ImsService.ToString(); break;
case "nddOntImsFsdbLabel": l.Text = nddOnt.ImsFsdb; break;
case "nddOntProposedNameLabel":
{
/*
if (nddOnt.Pon.PonGroup.HasNewProposedPonList)
{
l.Text = nddOnt.Access.ProposedName;
}
else
{
((GridView)e.Row.Parent.Parent).Columns[5].Visible = false;
// 5 is position (0 based) of HeaderText="Proposed Name"
}
*/
break;
}
case "nddOntPonOltOdfAccessVendorNameLabel": l.Text = nddOnt.Pon.PonGroup.Olt.Odf.Vendor.Name; break;
case "nddOntPonOltOdfRouterSwitchVendorNameLabel": l.Text = nddOnt.Pon.PonGroup.Olt.Odf.Router.Vendor.Name; break;
case "serviceExemptionNoteLabel": l.Text = serviceExemption.Note; break;
case "serviceExemptionStaffNameLabel": l.Text = (from _s in Ia.Ngn.Cl.Model.Data.Staff.List where _s.UserId == serviceExemption.UserId select _s.FirstAndMiddleName).SingleOrDefault(); break;
case "serviceRequestAreaLabel": l.Text = (from kna in Ia.Ngn.Cl.Model.Data.Service.KuwaitOfnAreaList where kna.Id == serviceRequest.AreaId select kna.ArabicName).SingleOrDefault(); break;
case "serviceRequestOntAreaLabel": l.Text = (from kna in Ia.Ngn.Cl.Model.Data.Service.KuwaitOfnAreaList where kna.Symbol == serviceRequestOnt.AreaSymbol select kna.ArabicName).SingleOrDefault(); break;
case "serviceRequestOntDetailServiceTypeLabel": l.Text = Ia.Ngn.Cl.Model.Data.ServiceRequest.ServiceSortedList[serviceRequestOntDetail.ServiceType].ToString(); break;
default: break;
}
}
else if (control.Controls[0].GetType().ToString() == "System.Web.UI.WebControls.HyperLink")
{
HyperLink hl = (HyperLink)control.Controls[0];
switch (hl.ID)
{
case "reportServiceHyperLink":
{
s = Ia.Ngn.Cl.Model.Business.Service.ServiceName(report.Service, report.ServiceType);
hl.Text = s;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(s);
break;
}
case "reportAccessServiceRequestServiceHyperLink":
{
s = Ia.Ngn.Cl.Model.Business.Service.ServiceName(reportAccessServiceRequest.Report.Service, reportAccessServiceRequest.Report.ServiceType);
hl.Text = s;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(s);
break;
}
case "serviceRequestNumberSerialHyperLink":
{
hl.Text = serviceRequest.Number + "/" + serviceRequest.Serial;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(serviceRequest.Number.ToString());
break;
}
case "serviceRequestCustomerNameHyperLink":
{
hl.Text = serviceRequest.CustomerName;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(serviceRequest.CustomerName);
break;
}
case "impuHuSbrHyperLink":
{
hl.Text = huSbr.IMPU;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(huSbr.IMPU);
break;
}
case "impuOwsbrHyperLink":
{
hl.Text = owsbr.IMPU;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(owsbr.IMPU);
break;
}
case "seruattrUsrnumHyperLink":
{
hl.Text = seruattr.USRNUM;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(seruattr.USRNUM);
break;
}
case "axeSubscriberSnbHyperLink":
{
hl.Text = axeSubscriber.SNB.ToString();
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(axeSubscriber.SNB.ToString());
break;
}
case "ewsdSubscriberDnHyperLink":
{
hl.Text = ewsdSubscriber.DN.ToString();
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(ewsdSubscriber.DN.ToString());
break;
}
case "accessPositionHyperLink":
{
hl.Text = access.Position;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(access.Position);
break;
}
case "accessPaciHyperLink":
{
hl.Text = access.Paci;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(access.Paci) + "&inputType=" + Ia.Ngn.Cl.Model.Business.Maintenance.Find.PaciInputTypeString;
break;
}
case "ontSerialHyperLink":
{
hl.Text = ont.Serial;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(ont.Serial);
break;
}
case "ontResetHyperLink":
{
//hl.Text = "Reset";
hl.NavigateUrl = "~/maintenance/access.aspx?accessName=" + Ia.Ngn.Cl.Model.Data.NetworkDesignDocument.AccessNameByOntId(ont.Id);
break;
}
case "ontAmsEventsHyperLink":
{
//hl.Text = "Events";
hl.NavigateUrl = "~/maintenance/event/ams.aspx?accessName=" + Ia.Ngn.Cl.Model.Data.NetworkDesignDocument.AccessNameByOntId(ont.Id);
break;
}
case "emsOntResetHyperLink":
{
//hl.Text = "Reset";
hl.NavigateUrl = "~/maintenance/access.aspx?accessName=" + Ia.Ngn.Cl.Model.Data.NetworkDesignDocument.AccessNameByOntId(emsOnt.Id);
break;
}
case "reportAccessServiceRequestAccessNameHyperLink":
{
if (reportAccessServiceRequest.Access != null)
{
hl.Text = reportAccessServiceRequest.Access.Name;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(reportAccessServiceRequest.Access.Name);
}
break;
}
case "nddOntNameHyperLink":
{
hl.Text = nddOnt.Access.Name;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(nddOnt.Access.Name);
break;
}
case "nddOntPonNameHyperLink":
{
hl.Text = nddOnt.Pon.Name;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(nddOnt.Pon.Name);
break;
}
case "nddOntPositionHyperLink":
{
hl.Text = nddOnt.Position;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(nddOnt.Position);
break;
}
case "nddOntIpHyperLink":
{
hl.Text = nddOnt.Ip;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(nddOnt.Ip);
break;
}
case "serviceRequestServiceServiceHyperLink":
{
s = Ia.Ngn.Cl.Model.Business.Service.ServiceName(serviceRequestService.Service, serviceRequestService.ServiceType);
hl.Text = s;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(s);
break;
}
case "serviceRequestServiceAccessNameHyperLink":
{
if (serviceRequestService.Access != null)
{
hl.Text = serviceRequestService.Access.Name;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(serviceRequestService.Access.Name);
}
break;
}
case "serviceRequestServiceReferenceHyperLink":
{
var accessName = serviceRequestService.Access != null ? serviceRequestService.Access.Name : string.Empty;
//hl.Text = "Reference";
hl.NavigateUrl = "~/provision/service-request-service-access.aspx?service=" + serviceRequestService.Service + "&accessName=" + accessName;
break;
}
case "serviceRequestNumberHyperLink":
{
hl.Text = serviceRequest.Number.ToString();
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(serviceRequest.Number.ToString());
break;
}
case "serviceRequestCustomerIdHyperLink":
{
hl.Text = serviceRequest.CustomerId.ToString();
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(serviceRequest.CustomerId.ToString()) + "&inputType=" + Ia.Ngn.Cl.Model.Business.Maintenance.Find.ServiceRequestCustomerIdInputTypeString;
break;
}
case "serviceRequestHistoryNumberHyperLink":
{
hl.Text = serviceRequestHistory.Number.ToString();
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(serviceRequestHistory.Number.ToString());
break;
}
case "accessOdfHyperLink":
{
hl.Text = access.Odf;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(access.Odf);
break;
}
case "accessNameHyperLink":
{
hl.Text = access.Name;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(access.Name);
break;
}
case "accessBlockHyperLink":
{
string areaSymbol;
//if (int.TryParse(access.Block, out int i))
//{
hl.Text = access.Block;
areaSymbol = (from kna in Ia.Ngn.Cl.Model.Data.Service.KuwaitOfnAreaList where kna.Id == access.AreaId select kna.Symbol).SingleOrDefault();
if (!string.IsNullOrEmpty(areaSymbol))
{
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(areaSymbol + "," + access.Block);
}
else
{
}
//}
//else
//{
//}
break;
}
case "service2ServiceHyperLink":
{
s = Ia.Ngn.Cl.Model.Business.Service.ServiceName(service2.Service, service2.ServiceType);
hl.Text = s;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(s);
break;
}
case "service2AccessNameHyperLink":
{
if (service2.AccessName != null && service2.Port != Ia.Ngn.Cl.Model.Business.Default.PortUndefinedOrInvalidOrUnknown)
{
hl.Text = service2.AccessName;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(service2.AccessName);
}
break;
}
case "service2ServiceProvisionHyperLink":
{
var accessName = service2.AccessName != null ? service2.AccessName : string.Empty;
//hl.Text = "ServiceProvision";
hl.NavigateUrl = "~/provision/service.aspx?service=" + service2.Service + "&accessName=" + accessName;
break;
}
case "emsOntSipInfoServiceProvisionHyperLink":
{
var service = Ia.Ngn.Cl.Model.Business.NumberFormatConverter.Service(emsOntSipInfo.SIPUSERNAME);
var accessName = (emsOntSipInfo.EmsOnt != null
&& emsOntSipInfo.EmsOnt.Access != null
&& emsOntSipInfo.EmsOnt.Access.Name != null) ? emsOntSipInfo.EmsOnt.Access.Name : string.Empty;
var port = emsOntSipInfo.TEL;
//hl.Text = "ServiceProvision";
hl.NavigateUrl = "~/provision/access/service.aspx?service=" + service + "&accessName=" + accessName + "&port=" + port;
break;
}
case "emsVoipPstnUserLicNameHyperLink":
{
if (emsVoipPstnUser.IsMsan)
{
var lic = Ia.Ngn.Cl.Model.Data.Huawei.Default.MsanDevLicByEmsVoipPstnUserId(emsVoipPstnUser.Id);
if (lic != null)
{
hl.Text = lic.Name;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(lic.Name);
}
}
else HideColumnName(e, "Name");
break;
}
case "emsVoipPstnUserServiceOrMsanLicProvisionHyperLink":
{
int did, port, cabinet, frame, fn, sn, pn;
string accessName, msanDevId;
var service = Ia.Ngn.Cl.Model.Business.NumberFormatConverter.Service(emsVoipPstnUser.DN);
did = emsVoipPstnUser.DID;
if (emsVoipPstnUser.IsMsan)
{
var lic = Ia.Ngn.Cl.Model.Data.Huawei.Default.MsanDevLicByEmsVoipPstnUserId(emsVoipPstnUser.Id);
if (lic != null)
{
msanDevId = lic.MsanDevId;
cabinet = lic.Cabinet;
frame = lic.Frame;
fn = lic.Fn;
sn = lic.Sn;
pn = lic.Pn;
}
else
{
msanDevId = string.Empty;
cabinet = frame = fn = sn = pn = -1;
}
hl.NavigateUrl = "~/provision/lic.aspx?msanDevId=" + msanDevId
+ "&cabinet=" + cabinet
+ "&frame=" + frame
+ "&fn=" + fn
+ "&sn=" + sn
+ "&pn=" + pn
+ "&service=" + service;
}
else
{
var didToMduDevDictionary = Ia.Ngn.Cl.Model.Data.Huawei.Default.DidToMduDevDictionary;
var mduDev = Ia.Ngn.Cl.Model.Data.Huawei.Default.MduDevByDid(did);
if (mduDev != null)
{
accessName = mduDev.AccessName;
var fnSnPnPort = mduDev.PossibleFnSnPnPortList.Where(f => f.Fn == emsVoipPstnUser.FN && f.Sn == emsVoipPstnUser.SN && f.Pn == emsVoipPstnUser.PN).SingleOrDefault();
if (fnSnPnPort != null) port = fnSnPnPort.Port;
else port = Ia.Ngn.Cl.Model.Business.Default.PortUndefinedOrInvalidOrUnknown;
}
else
{
accessName = string.Empty;
port = Ia.Ngn.Cl.Model.Business.Default.PortUndefinedOrInvalidOrUnknown;
}
//hl.Text = "ServiceProvision";
hl.NavigateUrl = "~/provision/access/service.aspx?service=" + service + "&accessName=" + accessName + "&port=" + port;
}
break;
}
case "serviceExemptionServiceHyperLink":
{
s = Ia.Ngn.Cl.Model.Business.Service.ServiceName(serviceExemption.Service, serviceExemption.ServiceType);
hl.Text = s;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(s);
break;
}
case "reportHistoryServiceHyperLink":
{
s = Ia.Ngn.Cl.Model.Business.Service.ServiceName(reportHistory.Report.Service, reportHistory.Report.ServiceType);
hl.Text = s;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(s);
break;
}
case "serviceRequestOntDetailServiceHyperLink":
{
s = Ia.Ngn.Cl.Model.Business.Service.ServiceName(serviceRequestOntDetail.Service, serviceRequestOntDetail.ServiceType);
hl.Text = s;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(s);
break;
}
case "serviceRequestOntNameHyperLink":
{
hl.Text = serviceRequestOnt.Name;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(serviceRequestOnt.Name);
break;
}
case "serviceRequestOntBlockHyperLink":
{
hl.Text = serviceRequestOnt.Block;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(serviceRequestOnt.AreaSymbol + "," + serviceRequestOnt.Block);
break;
}
case "serviceRequestOntPaciHyperLink":
{
hl.Text = serviceRequestOnt.Paci;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(serviceRequestOnt.Paci) + "&inputType=" + Ia.Ngn.Cl.Model.Business.Maintenance.Find.PaciInputTypeString;
break;
}
case "serviceRequestAdministrativeIssueServiceHyperLink":
{
hl.Text = serviceRequestAdministrativeIssue.Service;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(serviceRequestAdministrativeIssue.Service);
break;
}
case "eventAccessNameHyperLink":
{
if (@event.Ont != null)
{
var ontId = @event.Ont.Id;
var accessName = Ia.Ngn.Cl.Model.Data.NetworkDesignDocument.AccessNameByOntId(ontId);
hl.Text = accessName;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(accessName);
}
break;
}
case "gwIdAgcfGatewayRecordHyperLink":
{
hl.Text = agcfGatewayRecord.GwId.ToString();
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(agcfGatewayRecord.GwId.ToString());
break;
}
case "ip1AgcfGatewayRecordHyperLink":
{
hl.Text = agcfGatewayRecord.IP1;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(agcfGatewayRecord.IP1);
break;
}
case "ip2AgcfGatewayRecordHyperLink":
{
hl.Text = agcfGatewayRecord.IP2;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(agcfGatewayRecord.IP2);
break;
}
case "gwIdAgcfEndpointHyperLink":
{
hl.Text = agcfEndpoint.GwId.ToString();
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(agcfEndpoint.GwId.ToString());
break;
}
case "eidMgwHyperLink":
{
hl.Text = mgw.EID;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(mgw.EID);
break;
}
case "puiAsbrHyperLink":
{
hl.Text = asbr.PUI;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(asbr.PUI);
break;
}
case "eidAsbrHyperLink":
{
hl.Text = asbr.EID;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(asbr.EID);
break;
}
case "subPartyDisplayNameHyperLink":
{
hl.Text = subParty.DisplayName;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(subParty.DisplayName);
break;
}
case "ontServiceVoipIpHyperLink":
{
hl.Text = ontServiceVoip.Ip.ToString();
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(ontServiceVoip.Ip);
break;
}
case "reportHistoryHyperLink":
{
//hl.Text = "<img src=" + Ia.Cl.Model.Default.AbsoluteUrl(page) + "/image/legend/history.png class=icon alt=History width=19 height=19 />";
hl.NavigateUrl = "~/maintenance/report/history.aspx?reportId=" + report.Id;
break;
}
case "serviceServiceAccessNameHyperLink":
{
if (serviceAccessName.Service != null)
{
hl.Text = serviceAccessName.Service;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(serviceAccessName.Service);
}
break;
}
case "accessNameServiceAccessNameHyperLink":
{
if (serviceAccessName.AccessName != null)
{
hl.Text = serviceAccessName.AccessName;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(serviceAccessName.AccessName);
}
break;
}
case "serviceServiceAccessNameAddressHyperLink":
{
if (serviceAccessNameAddress.Service != null)
{
hl.Text = serviceAccessNameAddress.Service;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(serviceAccessNameAddress.Service);
}
break;
}
case "accessNameServiceAccessNameAddressHyperLink":
{
if (serviceAccessNameAddress.AccessName != null)
{
hl.Text = serviceAccessNameAddress.AccessName;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(serviceAccessNameAddress.AccessName);
}
break;
}
case "msanDevLicNameHyperLink":
{
if (msanDevLic.Name != null)
{
hl.Text = msanDevLic.Name;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(msanDevLic.Name);
}
break;
}
case "msanDevLicServiceHyperLink":
{
if (msanDevLic.Service != null)
{
hl.Text = msanDevLic.Service;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(msanDevLic.Service);
}
break;
}
default: break;
}
}
else if (control.Controls[0].GetType().ToString() == "System.Web.UI.WebControls.TextBox")
{
TextBox tb = (TextBox)control.Controls[0];
switch (tb.ID)
{
case "staffEmploymentIdTextBox": tb.Text = staff.EmploymentId.ToString(); break;
case "staffFirstNameTextBox": tb.Text = staff.FirstName; break;
case "staffMiddleNameTextBox": tb.Text = staff.MiddleName; break;
case "staffLastNameTextBox": tb.Text = staff.LastName; break;
case "staffIpPbxExtensionTextBox": tb.Text = staff.IpPbxExtension; break;
case "contactFirstNameTextBox": tb.Text = contact.FirstName; break;
case "contactMiddleNameTextBox": tb.Text = contact.MiddleName; break;
case "contactLastNameTextBox": tb.Text = contact.LastName; break;
case "contactCompanyTextBox": tb.Text = contact.Company; break;
case "contactEmailTextBox": tb.Text = contact.Email; break;
case "contactPhoneTextBox": tb.Text = contact.Phone; break;
case "contactAddressTextBox": tb.Text = contact.Address; break;
case "contactUrlTextBox": tb.Text = contact.Url; break;
case "contactNoteTextBox": tb.Text = contact.Note; break;
case "userNameTextBox": tb.Text = membershipUser.UserName; break;
case "userEmailTextBox": tb.Text = membershipUser.Email; break;
case "accessBlockTextBox": tb.Text = access.Block.ToString(); break;
case "accessStreetTextBox": tb.Text = access.Street; break;
case "accessPremisesOldTextBox": tb.Text = access.PremisesOld; break;
case "accessPremisesNewTextBox": tb.Text = access.PremisesNew; break;
case "accessPaciTextBox": tb.Text = access.Paci; break;
case "accessNoteTextBox": tb.Text = access.Note; break;
case "serviceExemptionNoteTextBox": tb.Text = serviceExemption.Note; break;
default: break;
}
}
else if (control.Controls[0].GetType().ToString() == "System.Web.UI.WebControls.DropDownList")
{
DropDownList ddl = (DropDownList)control.Controls[0];
switch (ddl.ID)
{
case "staffAdministrativeFrameworkIdDropDownList":
{
ddl.DataSource = Ia.Ngn.Cl.Model.Data.Administration.FrameworkList;
ddl.DataValueField = "Id";
ddl.DataTextField = "FullyQualifiedArabicName";
ddl.DataBind();
ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(staff.AdministrativeFrameworkId.ToString()));
break;
}
case "staffIdentityUserIdDropDownList":
{
ddl.Items.Clear();
userList = Ia.Cl.Model.Identity.UserList;
ddl.DataSource = userList;
ddl.DataValueField = "ProviderUserKey";
ddl.DataTextField = "UserName";
ddl.DataBind();
ddl.Items.Insert(0, new ListItem("Empty Guid", Guid.Empty.ToString()));
ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(staff.UserId.ToString()));
break;
}
default: break;
}
}
else if (control.Controls[0].GetType().ToString() == "System.Web.UI.WebControls.CheckBox")
{
CheckBox cb = (CheckBox)control.Controls[0];
switch (cb.ID)
{
case "staffIsHeadCheckBox": cb.Checked = staff.IsHead; break;
case "contactApprovedCheckBox": cb.Checked = contact.IsApproved; break;
default: break;
}
}
else if (control.Controls[0].GetType().ToString() == "System.Web.UI.WebControls.Image")
{
Image im = (Image)control.Controls[0];
switch (im.ID)
{
case "deleteImage": break;
case "historyImage": break;
case "nddOntPonOltOdfAccessVendorIconImage":
{
//vendor = (from o in Ia.Ngn.Cl.Model.Data.NetworkDesignDocument.OntList where o.Id == nddOnt.Id select o.Pon.PonGroup.Olt.Odf.Vendor).SingleOrDefault();
vendor = nddOnt?.Pon.PonGroup.Olt.Odf.Vendor;
if (vendor != null)
{
im.ImageUrl = vendor.ImageUrl;
im.ToolTip = vendor.Name;
}
break;
}
case "nddOntPonOltOdfRouterSwitchVendorIconImage":
{
// vendor = (from o in Ia.Ngn.Cl.Model.Data.NetworkDesignDocument.OntList where o.Id == nddOnt.Id select o.Pon.PonGroup.Olt.Odf.Router.Vendor).SingleOrDefault();
vendor = nddOnt?.Pon.PonGroup.Olt.Odf.Router.Vendor;
if (vendor != null)
{
im.ImageUrl = vendor.ImageUrl;
im.ToolTip = vendor.Name;
}
break;
}
/*
case "ontAccessOntPonOltOdfVendorIconImage":
{
vendor = (from q in Ia.Ngn.Cl.Model.Data.NetworkDesignDocument.OntList where q.Id == ont.Id select q.Pon.PonGroup.Olt.Odf.Vendor).SingleOrDefault();
im.ImageUrl = vendor.ImageUrl;
im.ToolTip = vendor.Name;
break;
}
*/
case "accessOntPonOltOdfVendorIconImage":
{
//vendor = (from o in Ia.Ngn.Cl.Model.Data.NetworkDesignDocument.OntList where o.Access.Id == access.Id select o.Pon.PonGroup.Olt.Odf.Vendor).SingleOrDefault();
vendor = nddOnt?.Pon.PonGroup.Olt.Odf.Vendor;
if (vendor != null)
{
im.ImageUrl = vendor.ImageUrl;
im.ToolTip = vendor.Name;
}
break;
}
default: break;
}
}
else
{
}
}
}
catch (Exception)
{
}
}
}
else if (e.Row.RowType == DataControlRowType.Footer)
{
}
else
{
}
}
else
{
if (e.Row.RowType == DataControlRowType.Header)
{
}
else if (e.Row.RowType == DataControlRowType.DataRow)
{
foreach (Control control in e.Row.Controls)
{
try
{
if (control.Controls.Count > 0)
{
if (control.Controls[0].GetType().ToString() == "System.Web.UI.WebControls.Label")
{
Label l = (Label)control.Controls[0];
switch (l.ID)
{
case "staffUserActivityIsApprovedLabel":
{
var b = Convert.ToBoolean(DataBinder.Eval(e.Row.DataItem, "IsApproved"));
l.Text = Ia.Cl.Model.Default.YesNo(b);
break;
}
case "staffUserActivityIsOnlineLabel":
{
var b = Convert.ToBoolean(DataBinder.Eval(e.Row.DataItem, "IsOnline"));
l.Text = Ia.Cl.Model.Default.YesNo(b);
break;
}
case "staffUserActivityIsLockedOutLabel":
{
var b = Convert.ToBoolean(DataBinder.Eval(e.Row.DataItem, "IsLockedOut"));
l.Text = Ia.Cl.Model.Default.YesNo(b);
break;
}
default: break;
}
}
else if (control.Controls[0].GetType().ToString() == "System.Web.UI.WebControls.HyperLink")
{
HyperLink hl = (HyperLink)control.Controls[0];
switch (hl.ID)
{
/*
case "reportServiceHyperLink":
{
s = Ia.Ngn.Cl.Model.Business.Service.ServiceName(report.Service, report.ServiceType);
hl.Text = s;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(s);
break;
}
*/
default: break;
}
}
else if (control.Controls[0].GetType().ToString() == "System.Web.UI.WebControls.TextBox")
{
TextBox tb = (TextBox)control.Controls[0];
switch (tb.ID)
{
//case "staffEmploymentIdTextBox": tb.Text = staff.EmploymentId.ToString(); break;
default: break;
}
}
else if (control.Controls[0].GetType().ToString() == "System.Web.UI.WebControls.DropDownList")
{
DropDownList ddl = (DropDownList)control.Controls[0];
switch (ddl.ID)
{
/*
case "staffAdministrativeFrameworkIdDropDownList":
{
ddl.DataSource = Ia.Ngn.Cl.Model.Data.Administration.FrameworkList;
ddl.DataValueField = "Id";
ddl.DataTextField = "FullyQualifiedArabicName";
ddl.DataBind();
ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(staff.AdministrativeFrameworkId.ToString()));
break;
}
*/
default: break;
}
}
else if (control.Controls[0].GetType().ToString() == "System.Web.UI.WebControls.CheckBox")
{
CheckBox cb = (CheckBox)control.Controls[0];
switch (cb.ID)
{
//case "staffIsHeadCheckBox": cb.Checked = staff.IsHead; break;
default: break;
}
}
else if (control.Controls[0].GetType().ToString() == "System.Web.UI.WebControls.Image")
{
Image im = (Image)control.Controls[0];
switch (im.ID)
{
/*
case "nddOntPonOltOdfAccessVendorIconImage":
{
//vendor = (from o in Ia.Ngn.Cl.Model.Data.NetworkDesignDocument.OntList where o.Id == nddOnt.Id select o.Pon.PonGroup.Olt.Odf.Vendor).SingleOrDefault();
vendor = nddOnt?.Pon.PonGroup.Olt.Odf.Vendor;
if (vendor != null)
{
im.ImageUrl = vendor.ImageUrl;
im.ToolTip = vendor.Name;
}
break;
}
*/
default: break;
}
}
else
{
}
}
}
catch (Exception)
{
}
}
}
else if (e.Row.RowType == DataControlRowType.Footer)
{
}
else
{
}
}
}
else
{
}
}
////////////////////////////////////////////////////////////////////////////
/// <summary>
///
/// </summary>
public static void SetTableCellHtmlTextWriteStyleDirectionAccordingToPresenceOfArabicLetters(ref GridViewRowEventArgs gridViewRowEventArgs, ref Label l)
{
TableCell tableCell;
// table cell direction depending on if text has Arabic
if (!string.IsNullOrEmpty(l.Text))
{
if (Ia.Cl.Model.Language.HasArabicLetter(l.Text))
{
tableCell = gridViewRowEventArgs.Row.FindControl(l.ID).Parent as TableCell;
//tableCell.HorizontalAlign = HorizontalAlign.Right;
tableCell.Style[HtmlTextWriterStyle.Direction] = "rtl";
}
}
}
////////////////////////////////////////////////////////////////////////////
/// <summary>
///
/// </summary>
private static void HideColumnName(GridViewRowEventArgs e, string name)
{
// https://stackoverflow.com/questions/3819247/gridview-hide-column-by-code
GridView gridView = (GridView)e.Row.Parent.Parent;
var index = GetColumnIndexByName(gridView, name);
if (index >= 0)
{
gridView.Columns[index].Visible = false;
gridView.HeaderRow.Cells[index].Visible = false;
}
}
////////////////////////////////////////////////////////////////////////////
/// <summary>
///
/// </summary>
private static int GetColumnIndexByName(GridView gridView, string name)
{
// https://stackoverflow.com/questions/3925183/method-to-find-gridview-column-index-by-name
foreach (DataControlField col in gridView.Columns)
{
if (col.HeaderText.ToLower().Trim() == name.ToLower().Trim())
{
return gridView.Columns.IndexOf(col);
}
}
return -1;
}
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
/// <summary>
///
/// </summary>
public static void DropDownList_DataBound(System.Web.UI.Page page, object sender, EventArgs e, Ia.Ngn.Cl.Model.Staff staff)
{
string kuwaitOfnAreaListString;
DropDownList ddl;
List<Ia.Ngn.Cl.Model.Business.Service.KuwaitOfnArea> kuwaitOfnAreaList;
ddl = (DropDownList)sender;
foreach (ListItem listItem in ddl.Items)
{
kuwaitOfnAreaList = (from k in Ia.Ngn.Cl.Model.Data.Service.KuwaitOfnAreaList where k.SiteList != null && k.SiteList.Any(u => u.Id == int.Parse(listItem.Value)) select k).ToList();
if (kuwaitOfnAreaList != null && kuwaitOfnAreaList.Count > 0)
{
kuwaitOfnAreaListString = string.Join(", ", kuwaitOfnAreaList.Select(n => n.ArabicName).ToArray());
}
else kuwaitOfnAreaListString = null;
listItem.Text = kuwaitOfnAreaListString;
}
}
////////////////////////////////////////////////////////////////////////////
/// <summary>
///
/// </summary>
public static void DropDownList_DataBound(System.Web.UI.Page page, object sender, EventArgs e)
{
DropDownList_DataBound(page, sender, e, null);
}
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
/// <summary>
///
/// </summary>
public static void DataList_ItemDataBound(System.Web.UI.Page page, object sender, DataListItemEventArgs e)
{
bool senderKnown;
string senderId;
DataList dataList;
senderKnown = true;
dataList = (DataList)sender;
senderId = dataList.ID;
string accessName;
accessName = null;
switch (senderId)
{
case "accessNameDataList":
{
//access = (e.Item.DataItem as Ia.Ngn.Cl.Model.Access);
accessName = (e.Item.DataItem as string);
break;
}
default:
senderKnown = false;
break;
}
senderKnown = true;
if (senderKnown)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//CheckBox chk = e.Item.FindControl("AApBlue") as CheckBox;
//Label lbl = e.Item.FindControl("Label1") as Label;
//chk.Checked = (lbl.Text == "Y") ? true : false;
HyperLink hl = e.Item.FindControl("accessNameHyperLink") as HyperLink;
hl.Text = accessName;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(accessName);
}
//foreach (DataListItem dataListItem in dataList.Items)
// {
foreach (Control control in dataList.Controls) // dataListItem.Controls)
{
try
{
if (control is Label)
{
// CheckBox cb = (CheckBox)control.Controls[0];
//Label l = (Label)control;
//switch (l.ID)
//{
/*
case "accessAreaLabel": l.Text = (from kna in Ia.Ngn.Cl.Model.Data.Service.KuwaitNgnAreaList where kna.Id == accessName.AreaId select kna.ArabicName).SingleOrDefault(); break;
case "accessOltLabel": l.Text = (from o in Ia.Ngn.Cl.Model.Data.NetworkDesignDocument.OltList where o.Id == accessName.Olt select o.AmsName).SingleOrDefault(); break;
case "accessBlockLabel": l.Text = accessName.Block.ToString(); break;
case "accessStreetLabel": l.Text = accessName.Street; break;
case "accessPremisesOldLabel": l.Text = accessName.PremisesOld; break;
case "accessPremisesNewLabel": l.Text = accessName.PremisesNew; break;
case "accessPaciLabel": l.Text = accessName.Paci; break;
case "accessNoteLabel": l.Text = accessName.Note; break;
case "accessStaffNameLabel": l.Text = (from _s in Ia.Ngn.Cl.Model.Data.Staff.List where _s.UserId == accessName.UserId select _s.FirstName).SingleOrDefault(); break;
*/ /*
case "accessOntFamilyTypeCapacityLabel":
{
// temp: later quickly find vendor from accessId
try
{
if (access.Onts != null && access.Onts.Count > 0)
{
l.Text = Ia.Ngn.Cl.Model.Data.Nokia.Ont.FamilyTypeFromId(access.Onts.FirstOrDefault().FamilyTypeId);
l.Text += " (" + Ia.Ngn.Cl.Model.Business.Nokia.Ams.PossibleNumberOfTdForOntFamilyType(access.Onts.FirstOrDefault().FamilyTypeId) + ")";
}
else l.Text = string.Empty;
}
catch (Exception)// ex)
{
l.Text = string.Empty;
}
break;
}
case "accessFamilyTypeInAreaBlockLabel": l.Text = (from kna in Ia.Ngn.Cl.Model.Data.Service.KuwaitNgnAreaList where kna.Id == accessFamilyTypeInAreaBlock.AreaId select kna.NameArabicName).SingleOrDefault(); break;
*/
//}
}
else if (control is HyperLink) // .GetType().ToString() == "System.Web.UI.WebControls.HyperLink")
{
HyperLink hl = (HyperLink)control;
switch (hl.ID)
{
case "accessNameHyperLink":
{
hl.Text = accessName; //.Name;
hl.NavigateUrl = Ia.Ngn.Cl.Model.Business.Maintenance.Find.Url(accessName); //.Name;
break;
}
default:
{
break;
}
}
}
else
{
}
}
catch (Exception)
{
}
}
//}
}
else
{
}
}
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
/// <summary>
///
/// </summary>
public static void FormView_DataBound(System.Web.UI.Page page, object sender, EventArgs e)
{
}
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
/// <summary>
///
/// </summary>
public static void TreeView_TreeNodeDataBound(System.Web.UI.Page page, object sender, System.Web.UI.WebControls.TreeNodeEventArgs e)
{
string s;
s = e.Node.Text.Trim();
s = s.Replace("\r\n", "<br/>");
s = Regex.Replace(s, @"\s+", " ");
e.Node.Text = s;
}
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
/// <summary>
/// https://stackoverflow.com/questions/9715983/how-to-get-the-cell-value-by-column-name-not-by-index-in-gridview-in-asp-net
/// </summary>
private static int GetColumnIndexByName(GridViewRow row, string columnName)
{
int columnIndex = 0;
foreach (DataControlFieldCell cell in row.Cells)
{
if (cell.ContainingField is BoundField)
if (((BoundField)cell.ContainingField).DataField.Equals(columnName))
break;
columnIndex++; // keep adding 1 while we don't have the correct name
}
return columnIndex;
}
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
}
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
}