diff --git a/ASP.NET Core/src/Controllers/DocumentEditorController.cs b/ASP.NET Core/src/Controllers/DocumentEditorController.cs index 83557e5..0eb62b6 100644 --- a/ASP.NET Core/src/Controllers/DocumentEditorController.cs +++ b/ASP.NET Core/src/Controllers/DocumentEditorController.cs @@ -136,7 +136,83 @@ public class UploadDocument public string DocumentName { get; set; } } + [AcceptVerbs("Post")] + [HttpPost] + [EnableCors("AllowAllOrigins")] + [Route("FindReplace")] + public string FindReplace([FromBody] ExportData exportData) + { + + Byte[] data = Convert.FromBase64String(exportData.documentData.Split(',')[1]); + MemoryStream stream = new MemoryStream(); + stream.Write(data, 0, data.Length); + stream.Position = 0; + try + { + Syncfusion.DocIO.DLS.WordDocument document = new Syncfusion.DocIO.DLS.WordDocument(stream, Syncfusion.DocIO.FormatType.Docx); + foreach (KeyValuePair item in GetData()) + { + document.Replace(item.Key.ToString(), item.Value.ToString(), true, false); + } + document.Save(stream, Syncfusion.DocIO.FormatType.Docx); + } + catch (Exception ex) + { } + string sfdtText = ""; + Syncfusion.EJ2.DocumentEditor.WordDocument document1 = Syncfusion.EJ2.DocumentEditor.WordDocument.Load(stream, Syncfusion.EJ2.DocumentEditor.FormatType.Docx); + document1.OptimizeSfdt = false; + sfdtText = Newtonsoft.Json.JsonConvert.SerializeObject(document1); + document1.Dispose(); + return sfdtText; + } + + [AcceptVerbs("Post")] + [HttpPost] + [EnableCors("AllowAllOrigins")] + [Route("Back")] + public string Back([FromBody] ExportData exportData) + { + + Byte[] data = Convert.FromBase64String(exportData.documentData.Split(',')[1]); + MemoryStream stream = new MemoryStream(); + stream.Write(data, 0, data.Length); + stream.Position = 0; + try + { + Syncfusion.DocIO.DLS.WordDocument document = new Syncfusion.DocIO.DLS.WordDocument(stream, Syncfusion.DocIO.FormatType.Docx); + foreach (KeyValuePair item in GetData()) + { + document.Replace(item.Value.ToString(), item.Key.ToString(), true, false); + } + document.Save(stream, Syncfusion.DocIO.FormatType.Docx); + } + catch (Exception ex) + { } + string sfdtText = ""; + Syncfusion.EJ2.DocumentEditor.WordDocument document1 = Syncfusion.EJ2.DocumentEditor.WordDocument.Load(stream, Syncfusion.EJ2.DocumentEditor.FormatType.Docx); + document1.OptimizeSfdt = false; + sfdtText = Newtonsoft.Json.JsonConvert.SerializeObject(document1); + document1.Dispose(); + return sfdtText; + } + /// + /// Get the datas to perform find and replace. + /// + /// public class CustomerDataModel + private Dictionary GetData() + { + Dictionary data = new Dictionary(); + data.Add("<>", "$11000"); + data.Add("<>", "$12000"); + data.Add("<>", "$13000"); + data.Add("<>", "$14000"); + data.Add("<>", "$15000"); + data.Add("<>", "$16000"); + data.Add("<>", "$17000"); + data.Add("<>", "$18000"); + return data; + } [AcceptVerbs("Post")] [HttpPost] [EnableCors("AllowAllOrigins")] @@ -169,18 +245,18 @@ public class CustomerDataModel public static List GetAllRecords() { List customers = new List(); - customers.Add(new Customer("9072379", "50%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "2000", "19072379", "Folk och fä HB", "100000", "440", "32.34", "472.34", "28023", "12000", "2020-11-07 00:00:00", "2020-12-07 00:00:00")); - customers.Add(new Customer("9072378", "20%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "", "2", "19072369", "Maersk", "140000", "245", "20", "265", "28024", "12400", "2020-11-31 00:00:00", "2020-12-22300:00:00")); - customers.Add(new Customer("9072377", "30%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "100", "19072879", "Mediterranean Shipping Company", "104000", "434", "50.43", "484.43", "28025", "10000", "2020-11-07 00:00:00", "2020-12-02 00:00:00")); - customers.Add(new Customer("9072393", "10%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "2050", "19072378", "China Ocean Shipping Company", "175000", "500", "32", "532", "28026", "17000", "2020-09-23 00:00:00", "2020-10-09 00:00:00")); - customers.Add(new Customer("9072377", "14%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "2568", "19072380", "CGM", "155000", "655", "20.54", "675.54", "28027", "13000", "2020-10-11 00:00:00", "2020-11-17 00:00:00")); - customers.Add(new Customer("9072376", "0%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "1532", "19072345", " Hapag-Lloyd", "106500", "344", "30", "374", "28028", "14500", "2020-06-17 00:00:00", "2020-07-07 00:00:00")); - customers.Add(new Customer("9072369", "05%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "4462", "190723452", "Ocean Network Express", "100054", "541", "50", "591", "28029", "16500", "2020-04-07 00:00:00", "2020-05-07 00:00:00")); - customers.Add(new Customer("9072359", "4%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "27547", "190723713", "Evergreen Line", "124000", "800", "10.23", "810.23", "28030", "12500", "2020-03-07 00:00:00", "2020-04-07 00:00:00")); - customers.Add(new Customer("9072380", "20%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "7582", "19072312", "Yang Ming Marine Transport", "1046000", "290", "10", "300", "27631", "12670", "2020-11-10 00:00:00", "2020-12-13 00:00:00")); - customers.Add(new Customer("9072381", "42%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "862", "19072354", "Hyundai Merchant Marine", "145000", "800", "10.23", "810.23", "28032", "45000", "2020-10-17 00:00:00", "2020-12-23 00:00:00")); - customers.Add(new Customer("9072391", "84%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "82", "19072364", "Pacific International Line", "10094677", "344", "30", "374", "28033", "16500", "2020-11-14 00:00:00", "2020-12-21 00:00:00")); - customers.Add(new Customer("9072392", "92%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "82", "19072385", "Österreichischer Lloyd", "104270", "500", "32", "532", "28034", "156500", "2020-06-07 00:00:00", "2020-07-07 00:00:00")); + customers.Add(new Customer("9072379", "50%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "2000", "19072379", "Folk och fä HB", "100000", "440", "32.34", "472.34", "28023", "12000", "2020-11-07 00:00:00", "2020-12-07 00:00:00", "Syncfusion", "React","MailMerge", "Chikku", "Tomato", "Milk")); + customers.Add(new Customer("9072378", "20%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "", "2", "19072369", "Maersk", "140000", "245", "20", "265", "28024", "12400", "2020-11-31 00:00:00", "2020-12-22300:00:00","Syncfusion", "React","MailMerge", "Chikku", "Tomato", "Milk")); + customers.Add(new Customer("9072377", "30%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "100", "19072879", "Mediterranean Shipping Company", "104000", "434", "50.43", "484.43", "28025", "10000", "2020-11-07 00:00:00", "2020-12-02 00:00:00","Syncfusion", "React","MailMerge", "Chikku", "Tomato", "Milk")); + customers.Add(new Customer("9072393", "10%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "2050", "19072378", "China Ocean Shipping Company", "175000", "500", "32", "532", "28026", "17000", "2020-09-23 00:00:00", "2020-10-09 00:00:00","Syncfusion", "React","MailMerge", "Chikku", "Tomato", "Milk")); + customers.Add(new Customer("9072377", "14%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "2568", "19072380", "CGM", "155000", "655", "20.54", "675.54", "28027", "13000", "2020-10-11 00:00:00", "2020-11-17 00:00:00","Syncfusion", "React","MailMerge", "Chikku", "Tomato", "Milk")); + customers.Add(new Customer("9072376", "0%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "1532", "19072345", " Hapag-Lloyd", "106500", "344", "30", "374", "28028", "14500", "2020-06-17 00:00:00", "2020-07-07 00:00:00","Syncfusion", "React","MailMerge", "Chikku", "Tomato", "Milk")); + customers.Add(new Customer("9072369", "05%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "4462", "190723452", "Ocean Network Express", "100054", "541", "50", "591", "28029", "16500", "2020-04-07 00:00:00", "2020-05-07 00:00:00","Syncfusion", "React","MailMerge", "Chikku", "Tomato", "Milk")); + customers.Add(new Customer("9072359", "4%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "27547", "190723713", "Evergreen Line", "124000", "800", "10.23", "810.23", "28030", "12500", "2020-03-07 00:00:00", "2020-04-07 00:00:00","Syncfusion", "React","MailMerge", "Chikku", "Tomato", "Milk")); + customers.Add(new Customer("9072380", "20%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "7582", "19072312", "Yang Ming Marine Transport", "1046000", "290", "10", "300", "27631", "12670", "2020-11-10 00:00:00", "2020-12-13 00:00:00","Syncfusion", "React","MailMerge", "Chikku", "Tomato", "Milk")); + customers.Add(new Customer("9072381", "42%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "862", "19072354", "Hyundai Merchant Marine", "145000", "800", "10.23", "810.23", "28032", "45000", "2020-10-17 00:00:00", "2020-12-23 00:00:00","Syncfusion", "React","MailMerge", "Chikku", "Tomato", "Milk")); + customers.Add(new Customer("9072391", "84%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "82", "19072364", "Pacific International Line", "10094677", "344", "30", "374", "28033", "16500", "2020-11-14 00:00:00", "2020-12-21 00:00:00","Syncfusion", "React","MailMerge", "Chikku", "Tomato", "Milk")); + customers.Add(new Customer("9072392", "92%", "C/ Araquil, 67", "Madrid", "22020-08-10 00:00:00", "Spain", "Brittania", "82", "19072385", "Österreichischer Lloyd", "104270", "500", "32", "532", "28034", "156500", "2020-06-07 00:00:00", "2020-07-07 00:00:00","Syncfusion", "React","MailMerge", "Chikku", "Tomato", "Milk")); return customers; } } @@ -204,8 +280,25 @@ public class Customer public string RequiredDate { get; set; } public string ShippedDate { get; set; } public string ExtendedPrice { get; set; } - public Customer(string orderId, string discount, string shipAddress, string shipCity, string orderDate, string shipCountry, string productName, string quantity, string customerID, string shipName, string unitPrice, string subtotal, string freight, string total, string shipPostalCode, string extendedPrice, string requiredDate, string shippedDate) + + + + public string Company { get; set; } + public string Platform { get; set; } + public string Subject { get; set; } + + public string Fruit { get; set; } + public string Vegetable { get; set; } + public string Drink { get; set; } + + public Customer(string orderId, string discount, string shipAddress, string shipCity, string orderDate, string shipCountry, string productName, string quantity, string customerID, string shipName, string unitPrice, string subtotal, string freight, string total, string shipPostalCode, string extendedPrice, string requiredDate, string shippedDate,string company, string platform, string subject, string fruit, string vegetable, string drink) { + this.Company = company; + this.Platform = platform; + this.Subject = subject; + this.Fruit = fruit; + this.Vegetable = vegetable; + this.Drink = drink; this.CustomerID = customerID; this.ProductName = productName; this.Quantity = quantity; @@ -233,8 +326,6 @@ public class ExportData } - - public class CustomParameter { public string content { get; set; }