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) { } } }
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); } } }
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) { } } }