Exemple #1
0
 protected void gridMain_ItemCommand(object sender, GridCommandEventArgs e)
 {
     if (e.CommandName == "invPrint")
     {
         GridDataItem        item          = (GridDataItem)e.Item;
         int                 orderID       = (int)((GridDataItem)e.Item).GetDataKeyValue("ID");
         OrdersController    oCont         = new OrdersController();
         OrderB              curOrder      = oCont.GetOrder(orderID);
         TasksController     lCont         = new TasksController();
         List <TaskB>        tasksForOrder = lCont.GetTasksForOrder(orderID);
         CustomersController cCont         = new CustomersController();
         CustomerB           curCust       = cCont.GetCustomer(curOrder.Customer1.ID);
         try {
             DocumentReplacemetsController cont = new DocumentReplacemetsController();
             List <DocumentReplacemetB>    reps = new List <DocumentReplacemetB>();
             reps = cont.GetDocumentReplacemets(sqlUniqueName);
             DocumentReplacemetB curRep;
             string                imgFolderPath = Server.MapPath(fileUploadFolder);
             RadFlowDocument       curDoc        = LoadTemplateDocument(docTemplate);
             RadFlowDocumentEditor editor        = new RadFlowDocumentEditor(curDoc);
             Run       currRun;
             Paragraph currPar;
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currPar.TextAlignment = Alignment.Right;
             currRun = editor.InsertText("ΑΘΗΝΑ " + DateTime.Now.ToString("dd/MM/yyyy"));
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             currPar.TextAlignment = Alignment.Right;
             string regNo = curOrder.RegNo == null ? "" : curOrder.RegNo;
             currRun = editor.InsertText("ΑΡΙΘ. ΠΡΩΤ. " + regNo);
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("ΟΡΓAΝΙΣΜΟΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΤΗΣ ΕΛΛΑΔΟΣ ΑΕ");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("GENTRANS ATHENS");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             Telerik.Windows.Documents.Flow.Model.Table infoTable = editor.InsertTable(3, 2);
             infoTable.Borders            = new TableBorders(new Border(Telerik.Windows.Documents.Flow.Model.Styles.BorderStyle.None));
             currPar                      = infoTable.Rows[0].Cells[0].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             currRun                      = currPar.Inlines.AddRun("Πληροφορίες:");
             currPar                      = infoTable.Rows[0].Cells[1].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             curRep = reps.Where(o => o.Title == "Πληροφορίες").FirstOrDefault();
             if (curRep != null)
             {
                 currRun = currPar.Inlines.AddRun(curRep.Text);
             }
             currPar = infoTable.Rows[1].Cells[0].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             currRun = currPar.Inlines.AddRun("Τηλέφωνο:");
             currPar = infoTable.Rows[1].Cells[1].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             curRep = reps.Where(o => o.Title == "Τηλέφωνο").FirstOrDefault();
             if (curRep != null)
             {
                 currRun = currPar.Inlines.AddRun(curRep.Text);
             }
             currPar = infoTable.Rows[2].Cells[0].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             currRun = currPar.Inlines.AddRun("FAX:");
             currPar = infoTable.Rows[2].Cells[1].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             curRep = reps.Where(o => o.Title == "FAX").FirstOrDefault();
             if (curRep != null)
             {
                 currRun = currPar.Inlines.AddRun(curRep.Text);
             }
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("ΘΕΜΑ:	ΠΡΟΣΩΡΙΝΕΣ ΤΗΛΕΦΩΝΙΚΕΣ ΣΥΝΔΕΣΕΙΣ");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             Telerik.Windows.Documents.Flow.Model.Table toTable = editor.InsertTable(3, 2);
             toTable.Borders = new TableBorders(new Border(Telerik.Windows.Documents.Flow.Model.Styles.BorderStyle.None));
             currPar         = toTable.Rows[0].Cells[0].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             currRun = currPar.Inlines.AddRun("Αιτηθείσα χώρα:");
             currPar = toTable.Rows[0].Cells[1].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             string curC = curCust.Country.NameGR == null ? "" : toUpperGR(curCust.Country.NameGR);
             currRun = currPar.Inlines.AddRun(curC);
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = toTable.Rows[1].Cells[0].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             currRun = currPar.Inlines.AddRun("Χώρος διεξαγωγής:");
             currPar = toTable.Rows[1].Cells[1].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             string curP = curOrder.Event.Place.NameGR == null ? "" : toUpperGR(curOrder.Event.Place.NameGR);
             currRun = currPar.Inlines.AddRun(curP);
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = toTable.Rows[2].Cells[0].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             currRun = currPar.Inlines.AddRun("Κάλυψη γεγονότος:");
             currPar = toTable.Rows[2].Cells[1].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             string curE = curOrder.Event.NameGR == null ? "" : toUpperGR(curOrder.Event.NameGR);
             currRun = currPar.Inlines.AddRun(curE);
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currPar.TextAlignment = Alignment.Justified;
             var    distinctTasksLT = tasksForOrder.Select(m => new { m.LineTypeID, m.Internet, m.MSN }).Distinct().ToList();
             string concatString    = "";
             int    distinctItems   = 0;
             foreach (var dItem in distinctTasksLT)
             {
                 if (distinctItems > 0)
                 {
                     concatString += ", ";
                 }
                 TaskB demoTask  = tasksForOrder.Where(k => k.LineTypeID == dItem.LineTypeID && k.Internet == dItem.Internet && k.MSN == dItem.MSN).FirstOrDefault();
                 int   itemCount = tasksForOrder.Where(k => k.LineTypeID == dItem.LineTypeID && k.Internet == dItem.Internet && k.MSN == dItem.MSN).Count();
                 concatString += itemCount.ToString() + " " + demoTask.LineType.Name;
                 if (demoTask.Internet == true && demoTask.MSN == true)
                 {
                     concatString += " με ασύρματο ρούτερ και με MSN";
                 }
                 else if (demoTask.Internet == true)
                 {
                     concatString += " με ασύρματο ρούτερ";
                 }
                 else if (demoTask.MSN == true)
                 {
                     concatString += " με MSN";
                 }
                 distinctItems++;
             }
             currRun = editor.InsertText("Παρακαλούμε για την παροχή των εξής Προσωρινών Τηλεφωνικών Συνδέσεων για λογαριασμό του πιο κάτω πελάτη στη αντίστοιχη θέση: " + concatString + ".");
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             int tRows = tasksForOrder.Count + 1;
             Telerik.Windows.Documents.Flow.Model.Table contentTable = editor.InsertTable(tRows, 5);
             toTable.Borders = new TableBorders(new Border(Telerik.Windows.Documents.Flow.Model.Styles.BorderStyle.None));
             currPar         = contentTable.Rows[0].Cells[0].Blocks.AddParagraph();
             currRun         = currPar.Inlines.AddRun("Πελάτης Εξωτερικού:");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = contentTable.Rows[0].Cells[1].Blocks.AddParagraph();
             currRun = currPar.Inlines.AddRun("Από");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = contentTable.Rows[0].Cells[2].Blocks.AddParagraph();
             currRun = currPar.Inlines.AddRun("Έως:");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = contentTable.Rows[0].Cells[3].Blocks.AddParagraph();
             currRun = currPar.Inlines.AddRun("Θέση:");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = contentTable.Rows[0].Cells[4].Blocks.AddParagraph();
             currRun = currPar.Inlines.AddRun("Σύνδεση:");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             int curRow = 1;
             foreach (TaskB curTask in tasksForOrder)
             {
                 currPar = contentTable.Rows[curRow].Cells[0].Blocks.AddParagraph();
                 currRun = currPar.Inlines.AddRun(curCust.NameGR);
                 currPar = contentTable.Rows[curRow].Cells[1].Blocks.AddParagraph();
                 currRun = currPar.Inlines.AddRun(curTask.DateTimeStartOrder.ToString());
                 currPar = contentTable.Rows[curRow].Cells[2].Blocks.AddParagraph();
                 currRun = currPar.Inlines.AddRun(curTask.DateTimeEndOrder.ToString());
                 currPar = contentTable.Rows[curRow].Cells[3].Blocks.AddParagraph();
                 currRun = currPar.Inlines.AddRun(curTask.RequestedPosition.NameGR);
                 currPar = contentTable.Rows[curRow].Cells[4].Blocks.AddParagraph();
                 string LineType2Print = curTask.LineType.Name;
                 if (curTask.Internet == true)
                 {
                     LineType2Print += " + WIFI ROUTER";
                 }
                 currRun = currPar.Inlines.AddRun(LineType2Print);
                 curRow++;
             }
             var distinctTasksC = tasksForOrder.Select(m => new { m.Comments }).Distinct().ToList();
             if (distinctTasksC.Count > 0)
             {
                 currPar = insertParagraph(editor);
                 currPar = insertParagraph(editor);
                 currRun = editor.InsertText("ΣΗΜΕΙΩΣΕΙΣ ΠΕΛΑΤΗ:");
                 currRun.Properties.FontWeight.LocalValue      = FontWeights.Bold;
                 currRun.Properties.ForegroundColor.LocalValue = new ThemableColor(System.Windows.Media.Color.FromRgb(255, 0, 0));
                 foreach (var dItem in distinctTasksC)
                 {
                     if (!string.IsNullOrEmpty(dItem.Comments))
                     {
                         TaskB demoTask = tasksForOrder.Where(k => k.Comments == dItem.Comments).FirstOrDefault();
                         currPar = insertParagraph(editor);
                         currPar.Indentation.LeftIndent = Telerik.Windows.Documents.Media.Unit.InchToDip(1);
                         currRun = editor.InsertText(demoTask.LineType.Name + "  -  " + demoTask.Comments);
                         currRun.Properties.FontWeight.LocalValue      = FontWeights.Bold;
                         currRun.Properties.ForegroundColor.LocalValue = new ThemableColor(System.Windows.Media.Color.FromRgb(255, 0, 0));
                     }
                 }
             }
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("Εγκατάσταση στο  OB VAN/TV COMPOUND");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("Ανταποκριτής: Mr. Leo Giovanni  +393357415070");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("Παρακαλούμε να μας γνωρίσετε τον αριθμό κλήσης που θα διαθέσετε.");
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("H χρέωση θα γίνει από το Τμήμα Ρ/Τ Μεταδόσεων.");
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currPar.Indentation.LeftIndent = Telerik.Windows.Documents.Media.Unit.InchToDip(3);
             //currPar.TextAlignment = Alignment.Center;
             curRep = reps.Where(o => o.Title == "Προϊστάμενος").FirstOrDefault();
             if (curRep != null)
             {
                 currRun = editor.InsertText(curRep.Text);
             }
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             currPar.Indentation.LeftIndent      = Telerik.Windows.Documents.Media.Unit.InchToDip(3);
             currPar.Indentation.HangingIndent   = Telerik.Windows.Documents.Media.Unit.InchToDip(0);
             currPar.Indentation.RightIndent     = Telerik.Windows.Documents.Media.Unit.InchToDip(0);
             currPar.Indentation.FirstLineIndent = Telerik.Windows.Documents.Media.Unit.InchToDip(0);
             currPar.TextAlignment = Alignment.Left;
             curRep = reps.Where(o => o.Title == "Τίτλος").FirstOrDefault();
             if (curRep != null)
             {
                 currRun = editor.InsertText(curRep.Text);
             }
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             curDoc.UpdateFields();
             exportDOCX(curDoc);
         }
         catch (Exception ex) { }
     }
 }
Exemple #2
0
 public OrderB GetOrder(int orderID)
 {
     using (var dbContext = new OTERTConnStr()) {
         try {
             dbContext.Configuration.ProxyCreationEnabled = false;
             OrderB data = (from us in dbContext.Orders
                            select new OrderB {
                 ID = us.ID,
                 OrderTypeID = us.OrderTypeID,
                 OrderType = new OrderTypeDTO {
                     ID = us.OrderTypes.ID, Name = us.OrderTypes.Name
                 },
                 RegNo = us.RegNo,
                 Customer1ID = us.Customer1ID,
                 Customer1 = new CustomerDTO {
                     ID = us.Customers1.ID,
                     CountryID = us.Customers1.CountryID,
                     NameGR = us.Customers1.NameGR,
                     NameEN = us.Customers1.NameEN,
                     NamedInvoiceGR = us.Customers1.NamedInvoiceGR,
                     NamedInvoiceEN = us.Customers1.NamedInvoiceEN,
                     ZIPCode = us.Customers1.ZIPCode,
                     CityGR = us.Customers1.CityGR,
                     CityEN = us.Customers1.CityEN,
                     ChargeTelephone = us.Customers1.ChargeTelephone,
                     Telephone1 = us.Customers1.Telephone1,
                     Telephone2 = us.Customers1.Telephone2,
                     FAX1 = us.Customers1.FAX1,
                     FAX2 = us.Customers1.FAX2,
                     Address1GR = us.Customers1.Address1GR,
                     Address1EN = us.Customers1.Address1EN,
                     Address2GR = us.Customers1.Address2GR,
                     Address2EN = us.Customers1.Address2EN,
                     ContactPersonGR = us.Customers1.ContactPersonGR,
                     ContactPersonEN = us.Customers1.ContactPersonEN,
                     CustomerTypeID = us.Customers1.CustomerTypeID,
                     LanguageID = us.Customers1.LanguageID,
                     Email = us.Customers1.Email,
                     URL = us.Customers1.URL,
                     AFM = us.Customers1.AFM,
                     DOY = us.Customers1.DOY,
                     SAPCode = us.Customers1.SAPCode,
                     UserID = us.Customers1.UserID,
                     Comments = us.Customers1.Comments,
                     IsProvider = us.Customers1.IsProvider,
                     IsOTE = us.Customers1.IsOTE
                 },
                 Customer2ID = us.Customer2ID,
                 Customer2 = us.Customer2ID > 0 ? new CustomerDTO {
                     ID = us.Customers11.ID,
                     CountryID = us.Customers11.CountryID,
                     NameGR = us.Customers11.NameGR,
                     NameEN = us.Customers11.NameEN,
                     NamedInvoiceGR = us.Customers11.NamedInvoiceGR,
                     NamedInvoiceEN = us.Customers11.NamedInvoiceEN,
                     ZIPCode = us.Customers11.ZIPCode,
                     CityGR = us.Customers11.CityGR,
                     CityEN = us.Customers11.CityEN,
                     ChargeTelephone = us.Customers11.ChargeTelephone,
                     Telephone1 = us.Customers11.Telephone1,
                     Telephone2 = us.Customers11.Telephone2,
                     FAX1 = us.Customers11.FAX1,
                     FAX2 = us.Customers11.FAX2,
                     Address1GR = us.Customers11.Address1GR,
                     Address1EN = us.Customers11.Address1EN,
                     Address2GR = us.Customers11.Address2GR,
                     Address2EN = us.Customers11.Address2EN,
                     ContactPersonGR = us.Customers11.ContactPersonGR,
                     ContactPersonEN = us.Customers11.ContactPersonEN,
                     CustomerTypeID = us.Customers11.CustomerTypeID,
                     LanguageID = us.Customers11.LanguageID,
                     Email = us.Customers11.Email,
                     URL = us.Customers11.URL,
                     AFM = us.Customers11.AFM,
                     DOY = us.Customers11.DOY,
                     SAPCode = us.Customers11.SAPCode,
                     UserID = us.Customers11.UserID,
                     Comments = us.Customers11.Comments,
                     IsProvider = us.Customers11.IsProvider,
                     IsOTE = us.Customers11.IsOTE
                 } : null,
                 EventID = us.EventID,
                 Event = new EventDTO {
                     ID = us.Events.ID,
                     PlaceID = us.Events.PlaceID,
                     Place = new PlaceDTO {
                         ID = us.Events.PlaceID,
                         Country = new CountryDTO {
                             ID = us.Events.Places.CountryID,
                             NameGR = us.Events.Places.Countries.NameGR,
                             NameEN = us.Events.Places.Countries.NameEN
                         },
                         CountryID = us.Events.Places.CountryID,
                         NameGR = us.Events.Places.NameGR,
                         NameEN = us.Events.Places.NameEN
                     },
                     NameGR = us.Events.NameGR,
                     NameEN = us.Events.NameEN
                 },
                 IsLocked = us.IsLocked == null ? false : (bool)us.IsLocked,
             }).Where(o => o.ID == orderID).FirstOrDefault();
             return(data);
         }
         catch (Exception) { return(null); }
     }
 }
Exemple #3
0
 protected void gridMain_ItemCommand(object sender, GridCommandEventArgs e)
 {
     if (e.CommandName == "invPrint")
     {
         GridDataItem        item          = (GridDataItem)e.Item;
         int                 orderID       = (int)((GridDataItem)e.Item).GetDataKeyValue("ID");
         OrdersController    oCont         = new OrdersController();
         OrderB              curOrder      = oCont.GetOrder(orderID);
         TasksController     lCont         = new TasksController();
         List <TaskB>        tasksForOrder = lCont.GetTasksForOrder(orderID);
         CustomersController cCont         = new CustomersController();
         CustomerB           curCust       = cCont.GetCustomer(curOrder.Customer1.ID);
         try {
             DocumentReplacemetsController cont = new DocumentReplacemetsController();
             List <DocumentReplacemetB>    reps = new List <DocumentReplacemetB>();
             reps = cont.GetDocumentReplacemets(sqlUniqueName);
             DocumentReplacemetB curRep;
             string                imgFolderPath = Server.MapPath(fileUploadFolder);
             RadFlowDocument       curDoc        = LoadTemplateDocument(docTemplate);
             RadFlowDocumentEditor editor        = new RadFlowDocumentEditor(curDoc);
             Run       currRun;
             Paragraph currPar;
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currPar.TextAlignment = Alignment.Right;
             currRun = editor.InsertText("ATHENS " + DateTime.Now.ToString("dd/MM/yyyy"));
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             currPar.TextAlignment = Alignment.Right;
             string regNo = curOrder.RegNo == null ? "" : curOrder.RegNo;
             currRun = editor.InsertText("REF. " + regNo);
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             Telerik.Windows.Documents.Flow.Model.Table infoTable = editor.InsertTable(4, 2);
             infoTable.Borders            = new TableBorders(new Border(Telerik.Windows.Documents.Flow.Model.Styles.BorderStyle.None));
             currPar                      = infoTable.Rows[0].Cells[0].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             currRun                      = currPar.Inlines.AddRun("Information:");
             currPar                      = infoTable.Rows[0].Cells[1].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             curRep = reps.Where(o => o.Title == "Πληροφορίες").FirstOrDefault();
             if (curRep != null)
             {
                 currRun = currPar.Inlines.AddRun(curRep.Text);
                 currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             }
             currPar = infoTable.Rows[1].Cells[0].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             currRun = currPar.Inlines.AddRun("Phone:");
             currPar = infoTable.Rows[1].Cells[1].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             curRep = reps.Where(o => o.Title == "Τηλέφωνο").FirstOrDefault();
             if (curRep != null)
             {
                 currRun = currPar.Inlines.AddRun(curRep.Text);
                 currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             }
             currPar = infoTable.Rows[2].Cells[0].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             currRun = currPar.Inlines.AddRun("FAX:");
             currPar = infoTable.Rows[2].Cells[1].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             curRep = reps.Where(o => o.Title == "FAX").FirstOrDefault();
             if (curRep != null)
             {
                 currRun = currPar.Inlines.AddRun(curRep.Text);
                 currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             }
             currPar = infoTable.Rows[3].Cells[0].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             currRun = currPar.Inlines.AddRun("Email:");
             currPar = infoTable.Rows[3].Cells[1].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             curRep = reps.Where(o => o.Title == "Email").FirstOrDefault();
             if (curRep != null)
             {
                 Run currRun2 = currPar.Inlines.AddRun();
                 editor.MoveToInlineEnd(currRun2);
                 editor.InsertHyperlink(curRep.Text, "mailto:" + curRep.Text, false);
                 editor.MoveToTableEnd(infoTable);
             }
             currPar = insertParagraph(editor);
             editor.MoveToParagraphStart(currPar);
             Telerik.Windows.Documents.Flow.Model.Table toTable = editor.InsertTable(3, 2);
             toTable.Borders = new TableBorders(new Border(Telerik.Windows.Documents.Flow.Model.Styles.BorderStyle.None));
             currPar         = toTable.Rows[0].Cells[0].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             currRun = currPar.Inlines.AddRun("ATT.:");
             currPar = toTable.Rows[0].Cells[1].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             if (!string.IsNullOrEmpty(tasksForOrder[0].Customer.NameEN))
             {
                 currRun = currPar.Inlines.AddRun(tasksForOrder[0].Customer.NameEN);
                 currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             }
             currPar = toTable.Rows[1].Cells[0].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             currRun = currPar.Inlines.AddRun("Phone:");
             currPar = toTable.Rows[1].Cells[1].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             if (!string.IsNullOrEmpty(tasksForOrder[0].Customer.Telephone1))
             {
                 currRun = currPar.Inlines.AddRun(tasksForOrder[0].Customer.Telephone1);
                 currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             }
             currPar = toTable.Rows[2].Cells[0].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             currRun = currPar.Inlines.AddRun("FAX:");
             currPar = toTable.Rows[2].Cells[1].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             if (!string.IsNullOrEmpty(tasksForOrder[0].Customer.FAX1))
             {
                 currRun = currPar.Inlines.AddRun(tasksForOrder[0].Customer.FAX1);
                 currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             }
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("SUBJECT:  TEMPORARΥ TELEPHONE LINES");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currPar.TextAlignment = Alignment.Justified;
             currRun = editor.InsertText("You are kindly requested to provide " + tasksForOrder.Count.ToString() + " temporary telephone lines.");
             currPar = insertParagraph(editor);
             Telerik.Windows.Documents.Flow.Model.Table eventTable = editor.InsertTable(2, 2);
             eventTable.Borders           = new TableBorders(new Border(Telerik.Windows.Documents.Flow.Model.Styles.BorderStyle.None));
             currPar                      = eventTable.Rows[0].Cells[0].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             currRun                      = currPar.Inlines.AddRun("in:");
             currPar                      = eventTable.Rows[0].Cells[1].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             string curP = curOrder.Event.Place.NameEN == null ? "" : curOrder.Event.Place.NameEN;
             currRun = currPar.Inlines.AddRun(curP);
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = eventTable.Rows[1].Cells[0].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             currRun = currPar.Inlines.AddRun("event:");
             currPar = eventTable.Rows[1].Cells[1].Blocks.AddParagraph();
             currPar.Spacing.SpacingAfter = 0;
             string curE = curOrder.Event.NameEN == null ? "" : curOrder.Event.NameEN;
             currRun = currPar.Inlines.AddRun(curE);
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             int tRows = tasksForOrder.Count + 1;
             Telerik.Windows.Documents.Flow.Model.Table contentTable = editor.InsertTable(tRows, 5);
             toTable.Borders = new TableBorders(new Border(Telerik.Windows.Documents.Flow.Model.Styles.BorderStyle.None));
             currPar         = contentTable.Rows[0].Cells[0].Blocks.AddParagraph();
             currRun         = currPar.Inlines.AddRun("Customer Name");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = contentTable.Rows[0].Cells[1].Blocks.AddParagraph();
             currRun = currPar.Inlines.AddRun("From");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = contentTable.Rows[0].Cells[2].Blocks.AddParagraph();
             currRun = currPar.Inlines.AddRun("To");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = contentTable.Rows[0].Cells[3].Blocks.AddParagraph();
             currRun = currPar.Inlines.AddRun("Place of Instal.");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = contentTable.Rows[0].Cells[4].Blocks.AddParagraph();
             currRun = currPar.Inlines.AddRun("");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             int curRow = 1;
             foreach (TaskB curTask in tasksForOrder)
             {
                 currPar = contentTable.Rows[curRow].Cells[0].Blocks.AddParagraph();
                 currRun = currPar.Inlines.AddRun(curCust.NameEN);
                 currPar = contentTable.Rows[curRow].Cells[1].Blocks.AddParagraph();
                 currRun = currPar.Inlines.AddRun(curTask.DateTimeStartOrder.ToString());
                 currPar = contentTable.Rows[curRow].Cells[2].Blocks.AddParagraph();
                 currRun = currPar.Inlines.AddRun(curTask.DateTimeEndOrder.ToString());
                 currPar = contentTable.Rows[curRow].Cells[3].Blocks.AddParagraph();
                 currRun = currPar.Inlines.AddRun(curTask.RequestedPosition.NameEN);
                 currPar = contentTable.Rows[curRow].Cells[4].Blocks.AddParagraph();
                 string LineType2Print = curTask.LineType.Name;
                 if (curTask.Internet == true)
                 {
                     LineType2Print += " + WIFI ROUTER";
                 }
                 currRun = currPar.Inlines.AddRun(LineType2Print);
                 curRow++;
             }
             var    distinctTasksLT = tasksForOrder.Select(m => new { m.LineTypeID, m.Internet, m.MSN }).Distinct().ToList();
             string concatString    = "";
             int    distinctItems   = 0;
             foreach (var dItem in distinctTasksLT)
             {
                 if (distinctItems > 0 && distinctItems < distinctTasksLT.Count - 1)
                 {
                     concatString += ", ";
                 }
                 else if (distinctItems > 0 && distinctItems == distinctTasksLT.Count - 1)
                 {
                     concatString += " & ";
                 }
                 TaskB demoTask  = tasksForOrder.Where(k => k.LineTypeID == dItem.LineTypeID && k.Internet == dItem.Internet && k.MSN == dItem.MSN).FirstOrDefault();
                 int   itemCount = tasksForOrder.Where(k => k.LineTypeID == dItem.LineTypeID && k.Internet == dItem.Internet && k.MSN == dItem.MSN).Count();
                 concatString += itemCount.ToString() + " " + demoTask.LineType.Name;
                 if (demoTask.Internet == true && demoTask.MSN == true)
                 {
                     concatString += " with router and MSN";
                 }
                 else if (demoTask.Internet == true)
                 {
                     concatString += " with router";
                 }
                 else if (demoTask.MSN == true)
                 {
                     concatString += " with MSN";
                 }
                 distinctItems++;
             }
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("Please provide " + concatString);
             currRun.Properties.FontSize.LocalValue   = Telerik.Windows.Documents.Media.Unit.PointToDip(9);
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("Contact Person: " + reps.Where(o => o.Title == "Contact Person").FirstOrDefault().Text + "  Mob:" + reps.Where(o => o.Title == "Κινητό C.P.").FirstOrDefault().Text);
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("Please advise on allocated numbers A.S.A.P. to the e-mail address: ");
             editor.InsertHyperlink(curRep.Text, "mailto:" + curRep.Text, false);
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("HELLENIC TELECOMMUNICATIONS ORGANIZATION SA (OTE GROUP OF COMPANIES)");
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("VAT Number: ");
             currRun = editor.InsertText("EL 094019245");
             currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("Responsible for the payments is our company:");
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("HELLENIC TELECOMMUNICATIONS ORGANIZATION SA (OTE GROUP OF COMPANIES) via its Billing department bellow");
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("Delivery invoice address for the original invoice (Post mail):");
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("OTE INTERNATIONAL SOLUTION SA (OTEGLOBE)");
             curRep  = reps.Where(o => o.Title == "OTEGlobe Διεύθυνση 1").FirstOrDefault();
             currPar = insertParagraph(editor);
             if (curRep != null)
             {
                 //currPar = insertParagraph(editor);
                 //currRun = editor.InsertText(curRep.Text);
                 currRun = editor.InsertLine(curRep.Text);
             }
             curRep = reps.Where(o => o.Title == "OTEGlobe Διεύθυνση 2").FirstOrDefault();
             if (curRep != null)
             {
                 //currPar = insertParagraph(editor);
                 //currRun = editor.InsertText(curRep.Text);
                 currRun = editor.InsertLine(curRep.Text);
             }
             curRep = reps.Where(o => o.Title == "OTEGlobe Site").FirstOrDefault();
             if (curRep != null)
             {
                 //currPar = insertParagraph(editor);
                 editor.InsertHyperlink(curRep.Text, "http://" + curRep.Text, false);
             }
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             string rep = "";
             curRep = reps.Where(o => o.Title == "Person In Charge").FirstOrDefault();
             if (curRep != null)
             {
                 rep += curRep.Text;
             }
             curRep = reps.Where(o => o.Title == "Person In Charge (Phone)").FirstOrDefault();
             if (curRep != null)
             {
                 rep += curRep.Text;
             }
             if (!string.IsNullOrEmpty(rep))
             {
                 currRun = editor.InsertText("(Person in charge " + rep + ")");
                 currPar = insertParagraph(editor);
             }
             curRep = reps.Where(o => o.Title == "Person In Charge (Email)").FirstOrDefault();
             if (curRep != null)
             {
                 currRun = editor.InsertText("Email: ");
                 editor.InsertHyperlink(curRep.Text, "mailto:" + curRep.Text, false);
                 currPar = insertParagraph(editor);
             }
             currRun = editor.InsertText("Email: ");
             editor.InsertHyperlink("*****@*****.**", "mailto:[email protected]", false);
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             curRep  = reps.Where(o => o.Title == "Email").FirstOrDefault();
             if (curRep != null)
             {
                 currPar = insertParagraph(editor);
                 currRun = editor.InsertText("You could notify a copy of the invoice (as a pdf) to this e-mail: ");
                 editor.InsertHyperlink(curRep.Text, "mailto:" + curRep.Text, false);
                 currRun.Properties.FontWeight.LocalValue = FontWeights.Bold;
             }
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("The charges will be settled via Bank transfer.");
             currPar = insertParagraph(editor);
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("Best regards,");
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("SAOUSOPOULOU ANNA");
             currPar = insertParagraph(editor);
             currRun = editor.InsertText("MANAGER OF GENTRANS, ATHENS");
             curDoc.UpdateFields();
             exportDOCX(curDoc);
         }
         catch (Exception ex) { }
     }
 }