public static string GenerateAttendanceReport(string folderName, string url, string identityTranslator) { try { NReco.PdfGenerator.HtmlToPdfConverter pdf = new NReco.PdfGenerator.HtmlToPdfConverter(); pdf.Margins = new NReco.PdfGenerator.PageMargins(); pdf.Margins.Top = 1; pdf.Margins.Bottom = 5; pdf.Margins.Right = 1; pdf.Margins.Left = 1; pdf.Size = PageSize.A4; pdf.Orientation = PageOrientation.Portrait; //string sFileName = DateTime.Now.ToFileTime().ToString(); string filePath = System.Configuration.ConfigurationManager.AppSettings["BaseUrlForPDF"] + url; //string filePath = url; var pdfBytes = pdf.GeneratePdfFromFile(filePath, null); //sFileName = "דוח" + sFileName; string sFileName = "pdfReport_" + DateTime.Now.ToFileTime().ToString(); File.WriteAllBytes(AppDomain.CurrentDomain.BaseDirectory + "\\Files\\pdfReports\\" + sFileName + ".pdf", pdfBytes); List <UserBasic> lusers = new List <UserBasic>(); UserBasic provider = new UserBasic(); UserBasic shmaya = new UserBasic(); shmaya.nvEmail = "*****@*****.**"; lusers = UserBasic.GetUsersBasic(3); foreach (UserBasic user in lusers) { if (user.nvID == identityTranslator) { provider = user; break; } } lusers = new List <UserBasic>(); lusers.Add(provider); lusers.Add(shmaya); Messages message = new Messages(); message.nvFrom = "*****@*****.**"; message.nvSubject = "מצ\"ב דו\"ח ביצוע הזמנה"; List <Attachment> lAttach = new List <Attachment>(); lAttach.Add(new Attachment(AppDomain.CurrentDomain.BaseDirectory + "\\Files\\pdfReports\\" + sFileName + ".pdf")); Messages.SendEmailToGroup(lusers, message, 1, lAttach); return(filePath); } catch (Exception ex) { Log.ExceptionLog(ex.Message, "GenerateAttendanceReport"); return(null); } }
public static string GeneratePdfFromHtml(string title, string html, string css, string sFileName, string identityTranslator) { try { NReco.PdfGenerator.HtmlToPdfConverter pdf = new NReco.PdfGenerator.HtmlToPdfConverter(); pdf.Margins = new NReco.PdfGenerator.PageMargins(); pdf.Margins.Top = 10; pdf.Margins.Bottom = 10; pdf.Margins.Right = 10; pdf.Margins.Left = 10; pdf.Size = PageSize.A4; pdf.Orientation = PageOrientation.Landscape; //pdf.CustomWkHtmlTocArgs = "--toc-disable-back-links"; //pdf.CustomWkHtmlPageArgs = "--header-html"; //pdf.Size = PageSize.A4; //string hostName = System.ServiceModel.Web.WebOperationContext.Current.IncomingRequest.UriTemplateMatch.RequestUri.Host + System.Web.Hosting.HostingEnvironment.ApplicationHost.GetVirtualPath(); //css = css.Replace("../", hostName + "/"); //pdf.PageFooterHtml = "<div style='text-align:center;'><span class='page' style='border-left:1px solid #ddbfd3 ;padding-left:10px'></span> / <span style='border-right:1px solid #ddbfd3 ;padding-right:10px' class='topage'></span></div>"; //pdf.PageHeaderHtml = "<div><div style='text-align:center; font-size:20px; color: #06416D ; font-family: Arial'>" + title + "</div></div>"; html = "<html><head><meta charset='utf-8' /><style type='text/css'>" + css + "</style></head>" + "<body><div style='text-align:right;' dir='rtl'>" + html + "</div></body></html>"; string fileName = sFileName.Replace("\\", "").Replace("/", "").Replace(":", "").Replace("*", "").Replace("?", "").Replace("\"", "").Replace("<", "").Replace(">", "").Replace("|", "") + "_" + DateTime.Now.ToFileTime(); sFileName += "_" + DateTime.Now.ToFileTime().ToString() + ".pdf"; byte[] Bytes = Encoding.UTF8.GetBytes(html); File.WriteAllBytes(AppDomain.CurrentDomain.BaseDirectory + "\\Files\\pdfReports\\pdfGenerator" + fileName + ".html", Bytes); Log.ExceptionLog("file path: ", AppDomain.CurrentDomain.BaseDirectory + "Files\\pdfReports\\pdfGenerator" + fileName + ".html"); var pdfBytes = pdf.GeneratePdfFromFile(AppDomain.CurrentDomain.BaseDirectory + "\\Files\\pdfReports\\pdfGenerator" + fileName + ".html", null); File.WriteAllBytes(AppDomain.CurrentDomain.BaseDirectory + "\\Files\\pdfReports\\pdfGenerator" + fileName + ".pdf", pdfBytes); //File.WriteAllBytes(dir + fileName + ".pdf", pdfBytes); List <UserBasic> lusers = new List <UserBasic>(); UserBasic provider = new UserBasic(); UserBasic shmaya = new UserBasic(); shmaya.nvEmail = "*****@*****.**"; lusers = UserBasic.GetUsersBasic(3); foreach (UserBasic user in lusers) { if (user.nvID == identityTranslator) { provider = user; break; } } lusers = new List <UserBasic>(); lusers.Add(provider); lusers.Add(shmaya); Messages message = new Messages(); message.nvFrom = "*****@*****.**"; message.nvSubject = "מצ\"ב דו\"ח ביצוע הזמנה"; List <Attachment> lAttach = new List <Attachment>(); lAttach.Add(new Attachment(AppDomain.CurrentDomain.BaseDirectory + "\\Files\\pdfReports\\pdfGenerator" + fileName + ".pdf")); Messages.SendEmailToGroup(lusers, message, 1, lAttach); return(fileName + ".pdf"); } catch (Exception ex) { Log.ExceptionLog(ex.Message, "GeneratePdfFromHtml"); return(null); } }
public static int createDocumentToProviders(int iUserId, DateTime?dtBeginDate, DateTime?dtEndDate) { try { FileManageCtrl.DeleteAllFile(AppDomain.CurrentDomain.BaseDirectory + "Files\\reports"); List <UserBasic> lUser = new List <UserBasic>(); lUser = UserBasic.GetUsersBasic(3); foreach (var user in lUser) { List <SqlParameter> parameters = new List <SqlParameter>(); parameters.Add(new SqlParameter("iUserId", user.iUserId)); parameters.Add(new SqlParameter("dtBeginDate", dtBeginDate)); parameters.Add(new SqlParameter("dtEndDate", dtEndDate)); //data table שולף טבלה DataTable dt = SqlDataAccess.ExecuteDatasetSP("TSumMessage_SLCT", parameters).Tables[0]; List <MessageToProvider> lToProvider = new List <MessageToProvider>(); lToProvider = ObjectGenerator <MessageToProvider> .GeneratListFromDataRowCollection(dt.Rows); //data table שולף טבלה DataTable dt2 = SqlDataAccess.ExecuteDatasetSP("TOrdersByStatus_SLCT", new SqlParameter("iUserId", user.iUserId)).Tables[0]; List <Orders> lOrders = new List <Orders>(); lOrders = ObjectGenerator <Orders> .GeneratListFromDataRowCollection(dt2.Rows); string sFileName = "פירוט שעות"; string sFileName2 = "רשימת הזמנות"; string path = AppDomain.CurrentDomain.BaseDirectory + "Files\\" + "reports\\" + sFileName + "_" + DateTime.Now.ToFileTime().ToString() + ".xlsx"; string path2 = AppDomain.CurrentDomain.BaseDirectory + "Files\\" + "reports\\" + sFileName2 + "_" + DateTime.Now.ToFileTime().ToString() + ".xlsx"; string[] str = { "זמן תרגום", "סהכ לתשלום", "תשלום שעה ראשונה", "תשלום שעה שניה" }; string[] str2 = { "שם לקוח", "שם מתורגמן", "סוג הזמנה", "סוג תרגום", "תאריך תרגום", "זמן תרגום" }; Messages message = new Messages(); message.nvFrom = System.Configuration.ConfigurationManager.AppSettings["mailFrom"]; message.nvTo = user.nvEmail; message.nvSubject = "דוח סיכום חודשי"; string dtBeginDateString = dtBeginDate != null?dtBeginDate.Value.ToString("dd-MM-yyyy") : "n/a"; string dtEndDateString = dtEndDate != null?dtEndDate.Value.ToString("dd-MM-yyyy") : "n/a"; if (lToProvider != null && lToProvider.Count != 0 && lOrders != null && lOrders.Count != 0) { message.nvMessage = " שלום. מצ\"ב פירוט השעות שבצעת מתאריך" + " " + dtBeginDateString + " " + "עד תאריך " + dtEndDateString + " " + "ובנוסף רשימת הזמנות שממתינות לאישור תשלום - לטיפולך"; } else if (lToProvider != null && lToProvider.Count != 0) { message.nvMessage = " שלום. מצ\"ב פירוט השעות שבצעת מתאריך" + " " + dtBeginDateString + " " + "עד תאריך " + dtEndDateString; } else if (lOrders != null && lOrders.Count != 0) { message.nvMessage = "שלום. מצ\"ב רשימת הזמנות שממתינות לאישור תשלום - לטיפולך"; } ExcelHendler.ExportToExcel(dt, "aaa", str, path); ExcelHendler.ExportToExcel(dt2, "aaa", str2, path2); List <Attachment> lAttach = new List <Attachment>(); if (lToProvider != null && lToProvider.Count != 0) { lAttach.Add(new Attachment(path)); } if (lOrders != null && lOrders.Count != 0) { lAttach.Add(new Attachment(path2)); } bool isSuccess = Messages.SendEmailToOne(message, lAttach, false); } return(1); } catch (Exception ex) { Log.ExceptionLog(ex.Message, "createDocumentToProviders"); return(2); } }