public static ActionResult PDF( int companyId, string from, string to, long rulesId, long processId, string listOrder) { var res = ActionResult.NoAction; var user = HttpContext.Current.Session["User"] as ApplicationUser; Dictionary = HttpContext.Current.Session["Dictionary"] as Dictionary <string, string>; var company = new Company(companyId); string path = HttpContext.Current.Request.PhysicalApplicationPath; if (!path.EndsWith(@"\", StringComparison.OrdinalIgnoreCase)) { path = string.Format(CultureInfo.InvariantCulture, @"{0}\", path); } var formatedDescription = ToolsPdf.NormalizeFileName(company.Name); string fileName = string.Format( CultureInfo.InvariantCulture, @"{0}_{1}_{2:yyyyMMddhhmmss}.pdf", Dictionary["Item_Oportunities"], formatedDescription, DateTime.Now); var pdfDoc = new iTS.Document(iTS.PageSize.A4.Rotate(), 40, 40, 80, 50); var writer = iTextSharp.text.pdf.PdfWriter.GetInstance(pdfDoc, new FileStream( string.Format(CultureInfo.InvariantCulture, @"{0}Temp\{1}", path, fileName), FileMode.Create)); writer.PageEvent = new TwoColumnHeaderFooter() { CompanyLogo = string.Format(CultureInfo.InvariantCulture, @"{0}\images\logos\{1}.jpg", path, company.Id), IssusLogo = string.Format(CultureInfo.InvariantCulture, "{0}issus.png", path), Date = string.Format(CultureInfo.InvariantCulture, "{0:dd/MM/yyyy}", DateTime.Now), CreatedBy = user.UserName, CompanyId = company.Id, CompanyName = company.Name, Title = Dictionary["Item_Oportunities"].ToUpperInvariant() }; pdfDoc.Open(); var titleTable = new iTSpdf.PdfPTable(1); titleTable.SetWidths(new float[] { 50f }); titleTable.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(string.Format(CultureInfo.InvariantCulture, "{0} - {1}", Dictionary["Item_EquipmentList"], company.Name), ToolsPdf.LayoutFonts.TitleFont)) { HorizontalAlignment = iTS.Element.ALIGN_CENTER, Border = iTS.Rectangle.NO_BORDER }); #region Criteria var criteriatable = new iTSpdf.PdfPTable(6) { WidthPercentage = 100 }; criteriatable.SetWidths(new float[] { 15f, 50f, 15f, 50f, 15f, 50f }); #region texts string criteriaProccess = Dictionary["Common_All_Male_Plural"]; if (processId > 0) { var process = new Process(processId, companyId); if (!string.IsNullOrEmpty(process.Description)) { criteriaProccess = process.Description; } } string periode = string.Empty; if (!string.IsNullOrEmpty(from) && string.IsNullOrEmpty(to)) { periode = Dictionary["Item_Incident_List_Filter_From"] + " " + from; } else if (string.IsNullOrEmpty(from) && !string.IsNullOrEmpty(to)) { periode = Dictionary["Item_Incident_List_Filter_To"] + " " + to; } else if (!string.IsNullOrEmpty(from) && !string.IsNullOrEmpty(to)) { periode = from + " - " + to; } else { periode = Dictionary["Common_All_Male"]; } string typetext = Dictionary["Common_All_Male_Plural"]; string ruleDescription = Dictionary["Common_All_Female_Plural"]; if (rulesId > 0) { var rule = Rules.GetById(companyId, rulesId); if (!string.IsNullOrEmpty(rule.Description)) { ruleDescription = rule.Description; } } #endregion ToolsPdf.AddCriteria(criteriatable, Dictionary["Common_Period"], periode); ToolsPdf.AddCriteria(criteriatable, Dictionary["Item_BusinesRisk_ListHeader_Process"], typetext); ToolsPdf.AddCriteria(criteriatable, Dictionary["Item_BusinesRisk_ListHeader_Rule"], ruleDescription); pdfDoc.Add(criteriatable); #endregion var table = new iTSpdf.PdfPTable(7) { WidthPercentage = 100, HorizontalAlignment = 1, SpacingBefore = 20f, SpacingAfter = 30f }; table.SetWidths(new float[] { 10f, 10f, 30f, 20f, 20f, 10f, 10f }); table.AddCell(ToolsPdf.HeaderCell(Dictionary["Item_IncidentAction_Header_Type"])); table.AddCell(ToolsPdf.HeaderCell(Dictionary["Item_BusinesRisk_ListHeader_Date"])); table.AddCell(ToolsPdf.HeaderCell(Dictionary["Item_Oportunity"])); table.AddCell(ToolsPdf.HeaderCell(Dictionary["Item_BusinesRisk_ListHeader_Process"])); table.AddCell(ToolsPdf.HeaderCell(Dictionary["Item_BusinesRisk_ListHeader_Rule"])); table.AddCell(ToolsPdf.HeaderCell(Dictionary["Item_BusinesRisk_ListHeader_StartValue"])); table.AddCell(ToolsPdf.HeaderCell(Dictionary["Item_BusinesRisk_ListHeader_IPR"])); int cont = 0; var data = HttpContext.Current.Session["OportunityFilterData"] as List <OportunityFilterItem>; switch (listOrder.ToUpperInvariant()) { default: case "TH1|ASC": data = data.OrderBy(d => d.OpenDate).ToList(); break; case "TH1|DESC": data = data.OrderByDescending(d => d.OpenDate).ToList(); break; case "TH2|ASC": data = data.OrderBy(d => d.Description).ToList(); break; case "TH2|DESC": data = data.OrderByDescending(d => d.Description).ToList(); break; case "TH3|ASC": data = data.OrderBy(d => d.Process.Description).ToList(); break; case "TH3|DESC": data = data.OrderByDescending(d => d.Process.Description).ToList(); break; case "TH4|ASC": data = data.OrderBy(d => d.Rule.Description).ToList(); break; case "TH4|DESC": data = data.OrderByDescending(d => d.Rule.Description).ToList(); break; case "TH5|ASC": data = data.OrderBy(d => d.Rule.Limit).ToList(); break; case "TH5|DESC": data = data.OrderByDescending(d => d.Rule.Limit).ToList(); break; } foreach (OportunityFilterItem risk in data) { cont++; string typeText = string.Empty; if (risk.Result == 0) { typeText = Dictionary["Item_BusinessRisk_Status_Unevaluated"]; } else if (risk.Result < risk.Rule.Limit) { typeText = Dictionary["Item_BusinessRisk_Status_NotSignificant"]; } else { typeText = Dictionary["Item_BusinessRisk_Status_Significant"]; } string initialResultText = risk.Result == 0 ? string.Empty : risk.Result.ToString(); table.AddCell(ToolsPdf.DataCellCenter(typeText)); table.AddCell(ToolsPdf.DataCellCenter(risk.OpenDate)); table.AddCell(ToolsPdf.DataCell(risk.Description)); table.AddCell(ToolsPdf.DataCell(risk.Process.Description)); table.AddCell(ToolsPdf.DataCellCenter(risk.Rule.Description)); table.AddCell(ToolsPdf.DataCellCenter(initialResultText)); table.AddCell(ToolsPdf.DataCellRight(risk.Rule.Limit)); } table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(string.Format( CultureInfo.InvariantCulture, @"{0}: {1}", Dictionary["Common_RegisterCount"], cont), ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, Padding = 6f, PaddingTop = 4f, Colspan = 4 }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(string.Empty, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, Colspan = 4 }); pdfDoc.Add(table); pdfDoc.CloseDocument(); res.SetSuccess(string.Format(CultureInfo.InvariantCulture, @"{0}Temp/{1}", ConfigurationManager.AppSettings["siteUrl"], fileName)); return(res); }
public static ActionResult PDF( int companyId, DateTime?from, DateTime?to, int status, string listOrder, string filterText) { var res = ActionResult.NoAction; var user = HttpContext.Current.Session["User"] as ApplicationUser; dictionary = HttpContext.Current.Session["Dictionary"] as Dictionary <string, string>; var company = new Company(companyId); string path = HttpContext.Current.Request.PhysicalApplicationPath; if (!path.EndsWith(@"\", StringComparison.OrdinalIgnoreCase)) { path = string.Format(CultureInfo.InvariantCulture, @"{0}\", path); } var formatedDescription = ToolsPdf.NormalizeFileName(company.Name); string fileName = string.Format( CultureInfo.InvariantCulture, @"{0}_{1}_{2:yyyyMMddhhmmss}.pdf", dictionary["Item_Objetivo_List"], formatedDescription, DateTime.Now); // FONTS string pathFonts = HttpContext.Current.Request.PhysicalApplicationPath; if (!path.EndsWith(@"\", StringComparison.OrdinalIgnoreCase)) { pathFonts = string.Format(CultureInfo.InstalledUICulture, @"{0}\", pathFonts); } var headerFont = BaseFont.CreateFont(string.Format(CultureInfo.InvariantCulture, @"{0}fonts\ARIAL.TTF", pathFonts), BaseFont.IDENTITY_H, BaseFont.EMBEDDED); var arial = BaseFont.CreateFont(string.Format(CultureInfo.InvariantCulture, @"{0}fonts\ARIAL.TTF", pathFonts), BaseFont.IDENTITY_H, BaseFont.EMBEDDED); var pdfDoc = new iTS.Document(iTS.PageSize.A4.Rotate(), 40, 40, 80, 50); var writer = iTextSharp.text.pdf.PdfWriter.GetInstance(pdfDoc, new FileStream( string.Format(CultureInfo.InvariantCulture, @"{0}Temp\{1}", path, fileName), FileMode.Create)); writer.PageEvent = new TwoColumnHeaderFooter() { CompanyLogo = string.Format(CultureInfo.InvariantCulture, @"{0}\images\logos\{1}.jpg", path, company.Id), IssusLogo = string.Format(CultureInfo.InvariantCulture, "{0}issus.png", path), Date = string.Format(CultureInfo.InvariantCulture, "{0:dd/MM/yyyy}", DateTime.Now), CreatedBy = user.UserName, CompanyId = company.Id, CompanyName = company.Name, Title = dictionary["Item_Objetivo_List"].ToUpperInvariant() }; pdfDoc.Open(); var rowEven = new iTS.BaseColor(240, 240, 240); var titleTable = new iTSpdf.PdfPTable(1); titleTable.SetWidths(new float[] { 50f }); titleTable.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(string.Format(CultureInfo.InvariantCulture, "{0} - {1}", dictionary["Item_EquipmentList"], company.Name), ToolsPdf.LayoutFonts.TitleFont)) { HorizontalAlignment = iTS.Element.ALIGN_CENTER, Border = iTS.Rectangle.NO_BORDER }); #region Criteria var criteriatable = new iTSpdf.PdfPTable(4) { WidthPercentage = 100 }; criteriatable.SetWidths(new float[] { 20f, 50f, 20f, 150f }); #region texts string periode = string.Empty; if (from.HasValue && to == null) { periode = string.Format(CultureInfo.InvariantCulture, @"{0} {1:dd/MM/yyyy}", dictionary["Item_IncidentAction_List_Filter_From"], from); } else if (from == null && to.HasValue) { periode = string.Format(CultureInfo.InvariantCulture, @"{0} {1:dd/MM/yyyy}", dictionary["Item_IncidentAction_List_Filter_To"], to); } else if (from.HasValue && to.HasValue) { periode = string.Format(CultureInfo.InvariantCulture, @"{0:dd/MM/yyyy} {1:dd/MM/yyyy}", from, to); } else { periode = dictionary["Common_All_Male"]; } string statusText = dictionary["Common_All"]; if (status == 1) { statusText = dictionary["Item_ObjetivoAction_List_Filter_ShowActive"]; } if (status == 2) { statusText = dictionary["Item_ObjetivoAction_List_Filter_ShowClosed"]; } #endregion ToolsPdf.AddCriteria(criteriatable, dictionary["Common_Period"], periode); ToolsPdf.AddCriteria(criteriatable, dictionary["Item_IncidentAction_Header_Status"], statusText); if (!string.IsNullOrEmpty(filterText)) { ToolsPdf.AddCriteria(criteriatable, dictionary["Common_PDF_Filter_Contains"], filterText); } pdfDoc.Add(criteriatable); #endregion var table = new iTSpdf.PdfPTable(5) { WidthPercentage = 100, HorizontalAlignment = 1, SpacingBefore = 20f, SpacingAfter = 30f }; table.SetWidths(new float[] { 7f, 50f, 30f, 12f, 12f }); table.AddCell(ToolsPdf.HeaderCell(dictionary["Common_Status"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Objetivo_Header_Name"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Objetivo_Header_Responsible"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Objetivo_Header_StartDate"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Objetivo_Header_PreviewEndDate"])); int cont = 0; var data = Objetivo.Filter(companyId, from, to, status).ToList(); foreach (var item in data) { if (!item.Objetivo.EndDate.HasValue) { item.Objetivo.EndDate = item.Objetivo.PreviewEndDate; } } switch (listOrder.ToUpperInvariant()) { default: case "TH0|ASC": data = data.OrderBy(d => d.Objetivo.Name).ToList(); break; case "TH0|DESC": data = data.OrderByDescending(d => d.Objetivo.Name).ToList(); break; case "TH1|ASC": data = data.OrderBy(d => d.Objetivo.Responsible.FullName).ToList(); break; case "TH1|DESC": data = data.OrderByDescending(d => d.Objetivo.Responsible.FullName).ToList(); break; case "TH2|ASC": data = data.OrderBy(d => d.Objetivo.StartDate).ToList(); break; case "TH2|DESC": data = data.OrderByDescending(d => d.Objetivo.StartDate).ToList(); break; case "TH3|ASC": data = data.OrderBy(d => d.Objetivo.EndDate).ToList(); break; case "TH3|DESC": data = data.OrderByDescending(d => d.Objetivo.EndDate).ToList(); break; } cont = 0; foreach (var item in data) { if (!string.IsNullOrEmpty(filterText)) { var show = false; if (item.Objetivo.Name.IndexOf(filterText, StringComparison.OrdinalIgnoreCase) != -1) { show = true; } if (item.Objetivo.Responsible.FullName.IndexOf(filterText, StringComparison.OrdinalIgnoreCase) != -1) { show = true; } if (!show) { continue; } } string endDateText = string.Format(CultureInfo.InvariantCulture, "{0:dd/MM/yyyy}", item.Objetivo.PreviewEndDate); if (item.Objetivo.EndDate.HasValue) { endDateText = string.Format(CultureInfo.InvariantCulture, "{0:dd/MM/yyyy}", item.Objetivo.EndDate); } table.AddCell(ToolsPdf.DataCell(item.Objetivo.Active ? dictionary["Common_Active"] : dictionary["Common_Inactve"], ToolsPdf.LayoutFonts.Times)); table.AddCell(ToolsPdf.DataCell(item.Objetivo.Name, ToolsPdf.LayoutFonts.Times)); table.AddCell(ToolsPdf.DataCell(item.Objetivo.Responsible.FullName, ToolsPdf.LayoutFonts.Times)); table.AddCell(ToolsPdf.DataCellCenter(string.Format(CultureInfo.InvariantCulture, "{0:dd/MM/yyyy}", item.Objetivo.StartDate), ToolsPdf.LayoutFonts.Times)); table.AddCell(ToolsPdf.DataCellCenter(endDateText, ToolsPdf.LayoutFonts.Times)); cont++; } string totalRegistros = string.Format( CultureInfo.InvariantCulture, @"{0}: {1}", dictionary["Common_RegisterCount"], cont); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(totalRegistros, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f, Colspan = 2 }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(string.Empty, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Colspan = 3 }); pdfDoc.Add(table); pdfDoc.CloseDocument(); res.SetSuccess(string.Format(CultureInfo.InvariantCulture, @"{0}Temp/{1}", ConfigurationManager.AppSettings["siteUrl"], fileName)); return(res); }
public static ActionResult PDF(int companyId, string listOrder) { var res = ActionResult.NoAction; var user = HttpContext.Current.Session["User"] as ApplicationUser; dictionary = HttpContext.Current.Session["Dictionary"] as Dictionary <string, string>; var company = new Company(companyId); string path = HttpContext.Current.Request.PhysicalApplicationPath; if (!path.EndsWith(@"\", StringComparison.OrdinalIgnoreCase)) { path = string.Format(CultureInfo.InvariantCulture, @"{0}\", path); } var formatedDescription = ToolsPdf.NormalizeFileName(company.Name); string fileName = string.Format( CultureInfo.InvariantCulture, @"{0}_{1}_{2:yyyyMMddhhmmss}.pdf", dictionary["Item_EquipmentList"], formatedDescription, DateTime.Now); // FONTS string pathFonts = HttpContext.Current.Request.PhysicalApplicationPath; if (!path.EndsWith(@"\", StringComparison.OrdinalIgnoreCase)) { pathFonts = string.Format(CultureInfo.InstalledUICulture, @"{0}\", pathFonts); } var headerFont = BaseFont.CreateFont(string.Format(CultureInfo.InvariantCulture, @"{0}fonts\ARIAL.TTF", pathFonts), BaseFont.IDENTITY_H, BaseFont.EMBEDDED); var arial = BaseFont.CreateFont(string.Format(CultureInfo.InvariantCulture, @"{0}fonts\ARIAL.TTF", pathFonts), BaseFont.IDENTITY_H, BaseFont.EMBEDDED); var pdfDoc = new iTS.Document(iTS.PageSize.A4.Rotate(), 40, 40, 80, 50); var writer = iTextSharp.text.pdf.PdfWriter.GetInstance(pdfDoc, new FileStream( string.Format(CultureInfo.InvariantCulture, @"{0}Temp\{1}", path, fileName), FileMode.Create)); writer.PageEvent = new TwoColumnHeaderFooter() { CompanyLogo = string.Format(CultureInfo.InvariantCulture, @"{0}\images\logos\{1}.jpg", path, company.Id), IssusLogo = string.Format(CultureInfo.InvariantCulture, "{0}issus.png", path), Date = string.Format(CultureInfo.InvariantCulture, "{0:dd/MM/yyyy}", DateTime.Now), CreatedBy = user.UserName, CompanyId = company.Id, CompanyName = company.Name, Title = dictionary["Item_EquipmentList"].ToUpperInvariant() }; pdfDoc.Open(); var backgroundColor = new iTS.BaseColor(225, 225, 225); var rowPair = new iTS.BaseColor(255, 255, 255); var rowEven = new iTS.BaseColor(240, 240, 240); var titleTable = new iTSpdf.PdfPTable(1); titleTable.SetWidths(new float[] { 50f }); var titleCell = new iTSpdf.PdfPCell(new iTS.Phrase(string.Format(CultureInfo.InvariantCulture, "{0} - {1}", dictionary["Item_EquipmentList"], company.Name), ToolsPdf.LayoutFonts.TitleFont)) { HorizontalAlignment = iTS.Element.ALIGN_CENTER, Border = iTS.Rectangle.NO_BORDER }; titleTable.AddCell(titleCell); // @alex: hay que indicar que hay una columna menos por fila //// var table = new iTSpdf.PdfPTable(4) var table = new iTSpdf.PdfPTable(3) { WidthPercentage = 100, HorizontalAlignment = 1, SpacingBefore = 20f, SpacingAfter = 30f }; table.SetWidths(new float[] { 20f, 10f, 5f, 15f }); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Equipment_Header_Code"] + " - " + dictionary["Item_Equipment_Header_Description"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Equipment_Header_Location"])); // @alex: se omite la columna de la cabecera //// table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Equipment_Header_Cost"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Equipment_Header_Responsible"])); int cont = 0; var data = Equipment.ByCompany(companyId).ToList(); string filter = GetFilter(); if (filter.IndexOf("1", StringComparison.OrdinalIgnoreCase) != -1) { data = data.Where(d => !d.EndDate.HasValue).ToList(); } if (filter.IndexOf("2", StringComparison.OrdinalIgnoreCase) != -1) { data = data.Where(d => d.EndDate.HasValue).ToList(); } var dataC = new List <Equipment>(); if (filter.IndexOf("C", StringComparison.OrdinalIgnoreCase) != -1) { dataC = data.Where(d => d.IsCalibration).ToList(); } var dataV = new List <Equipment>(); if (filter.IndexOf("V", StringComparison.OrdinalIgnoreCase) != -1) { dataV = data.Where(d => d.IsVerification).ToList(); } var dataM = new List <Equipment>(); if (filter.IndexOf("M", StringComparison.OrdinalIgnoreCase) != -1) { dataM = data.Where(d => d.IsMaintenance).ToList(); } data = dataC; foreach (var equipmentV in dataV) { if (!data.Any(d => d.Id == equipmentV.Id)) { data.Add(equipmentV); } } foreach (var equipmentM in dataM) { if (!data.Any(d => d.Id == equipmentM.Id)) { data.Add(equipmentM); } } // aplicar filtros //------ CRITERIA var criteriatable = new iTSpdf.PdfPTable(2) { WidthPercentage = 100 }; criteriatable.SetWidths(new float[] { 8f, 50f }); string statusText = string.Empty; string operativaText = string.Empty; if (filter.IndexOf("0") != -1) { statusText = dictionary["Common_All"]; } else if (filter.IndexOf("1") != -1) { statusText = dictionary["Item_Equipment_List_Filter_ShowActive"]; } else if (filter.IndexOf("2") != -1) { statusText = dictionary["Item_Equipment_List_Filter_ShowClosed"]; } bool first = true; if (filter.IndexOf("C") != -1) { first = false; operativaText = dictionary["Item_Equipment_List_Filter_ShowCalibration"]; } if (filter.IndexOf("V") != -1) { if (!first) { operativaText += ", "; } first = false; operativaText += dictionary["Item_Equipment_List_Filter_ShowVerification"]; } if (filter.IndexOf("M") != -1) { if (!first) { operativaText += ", "; } first = false; operativaText += dictionary["Item_Equipment_List_Filter_ShowMaintenance"]; } ToolsPdf.AddCriteria(criteriatable, dictionary["Item_Equipment_List_Filter_ShowByOperation"], operativaText); ToolsPdf.AddCriteria(criteriatable, dictionary["Item_Equipment_List_Filter_ShowByStatus"], statusText); bool pair = false; decimal total = 0; int border = 0; if (!string.IsNullOrEmpty(listOrder)) { switch (listOrder.ToUpperInvariant()) { default: case "TH0|ASC": data = data.OrderBy(d => d.Code).ToList(); break; case "TH0|DESC": data = data.OrderByDescending(d => d.Code).ToList(); break; case "TH1|ASC": data = data.OrderBy(d => d.Location).ToList(); break; case "TH1|DESC": data = data.OrderByDescending(d => d.Location).ToList(); break; case "TH2|ASC": data = data.OrderBy(d => d.Responsible.FullName).ToList(); break; case "TH2|DESC": data = data.OrderByDescending(d => d.Responsible.FullName).ToList(); break; case "TH3|ASC": data = data.OrderBy(d => d.TotalCost).ToList(); break; case "TH3|DESC": data = data.OrderByDescending(d => d.TotalCost).ToList(); break; } } foreach (Equipment equipment in data) { total += equipment.TotalCost; var lineBackground = pair ? rowEven : rowPair; table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(equipment.Code + " - " + equipment.Description, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = lineBackground, Padding = 6f, PaddingTop = 4f }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(equipment.Location, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = lineBackground, Padding = 6f, PaddingTop = 4f }); // @alex: se omite la celda de los datos del coste /*string totalCost = string.Format("{0:#,##0.00}", equipment.TotalCost); * table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(totalCost, ToolsPdf.LayoutFonts.Times)) * { * Border = border, * BackgroundColor = lineBackground, * Padding = 6f, * PaddingTop = 4f, * HorizontalAlignment = 2 * });*/ table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(equipment.Responsible.FullName, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = lineBackground, Padding = 6f, PaddingTop = 4f }); cont++; } string totalRegistros = string.Format( CultureInfo.InvariantCulture, @"{0}: {1}", dictionary["Common_RegisterCount"], cont); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(totalRegistros, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(dictionary["Common_Total"].ToUpperInvariant(), ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); string totalText = string.Format("{0:#,##0.00}", total); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(totalText, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(string.Empty, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Colspan = 2 }); pdfDoc.Add(criteriatable); pdfDoc.Add(table); pdfDoc.CloseDocument(); res.SetSuccess(string.Format(CultureInfo.InvariantCulture, @"{0}Temp/{1}", ConfigurationManager.AppSettings["siteUrl"], fileName)); return(res); }
public static ActionResult PDF( int companyId, string from, string to, bool statusIdnetified, bool statusAnalyzed, bool statusInProgress, bool statusClose, int origin, int departmentId, int providerId, int customerId, string listOrder, string filterText) { var res = ActionResult.NoAction; var user = HttpContext.Current.Session["User"] as ApplicationUser; dictionary = HttpContext.Current.Session["Dictionary"] as Dictionary <string, string>; var company = new Company(companyId); string path = HttpContext.Current.Request.PhysicalApplicationPath; if (!path.EndsWith(@"\", StringComparison.OrdinalIgnoreCase)) { path = string.Format(CultureInfo.InvariantCulture, @"{0}\", path); } var formatedDescription = ToolsPdf.NormalizeFileName(company.Name); var fileName = string.Format( CultureInfo.InvariantCulture, @"{0}_{1}_{2:yyyyMMddhhmmss}.pdf", dictionary["Item_IncidentList"], formatedDescription, DateTime.Now); // FONTS var pathFonts = HttpContext.Current.Request.PhysicalApplicationPath; if (!path.EndsWith(@"\", StringComparison.OrdinalIgnoreCase)) { pathFonts = string.Format(CultureInfo.InstalledUICulture, @"{0}\", pathFonts); } var headerFont = BaseFont.CreateFont(string.Format(CultureInfo.InvariantCulture, @"{0}fonts\ARIAL.TTF", pathFonts), BaseFont.IDENTITY_H, BaseFont.EMBEDDED); var arial = BaseFont.CreateFont(string.Format(CultureInfo.InvariantCulture, @"{0}fonts\ARIAL.TTF", pathFonts), BaseFont.IDENTITY_H, BaseFont.EMBEDDED); var pdfDoc = new iTS.Document(iTS.PageSize.A4.Rotate(), 40, 40, 80, 50); var writer = iTextSharp.text.pdf.PdfWriter.GetInstance(pdfDoc, new FileStream( string.Format(CultureInfo.InvariantCulture, @"{0}Temp\{1}", path, fileName), FileMode.Create)); writer.PageEvent = new TwoColumnHeaderFooter() { CompanyLogo = string.Format(CultureInfo.InvariantCulture, @"{0}\images\logos\{1}.jpg", path, company.Id), IssusLogo = string.Format(CultureInfo.InvariantCulture, "{0}issus.png", path), Date = string.Format(CultureInfo.InvariantCulture, "{0:dd/MM/yyyy}", DateTime.Now), CreatedBy = user.UserName, CompanyId = company.Id, CompanyName = company.Name, Title = dictionary["Item_IncidentList"].ToUpperInvariant() }; pdfDoc.Open(); var backgroundColor = new iTS.BaseColor(225, 225, 225); var rowPair = new iTS.BaseColor(255, 255, 255); var rowEven = new iTS.BaseColor(240, 240, 240); // ------------ FONTS var awesomeFont = BaseFont.CreateFont(string.Format(CultureInfo.InvariantCulture, @"{0}fonts\fontawesome-webfont.ttf", pathFonts), BaseFont.IDENTITY_H, BaseFont.EMBEDDED); var headerFontFinal = new iTS.Font(headerFont, 9, iTS.Font.NORMAL, iTS.BaseColor.BLACK); criteriaFont = new iTS.Font(arial, 10, iTS.Font.NORMAL, iTS.BaseColor.BLACK); var titleFont = new iTS.Font(arial, 18, iTS.Font.BOLD, iTS.BaseColor.BLACK); var symbolFont = new iTS.Font(awesomeFont, 8, iTS.Font.NORMAL, iTS.BaseColor.BLACK); var fontAwesomeIcon = BaseFont.CreateFont(string.Format(CultureInfo.InvariantCulture, @"{0}fonts\fontawesome-webfont.ttf", pathFonts), BaseFont.IDENTITY_H, BaseFont.EMBEDDED); fontAwe = new Font(fontAwesomeIcon, 10); // ------------------- var titleTable = new iTSpdf.PdfPTable(1); titleTable.SetWidths(new float[] { 50f }); titleTable.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(string.Format(CultureInfo.InvariantCulture, "{0} - {1}", dictionary["Item_EquipmentList"], company.Name), titleFont)) { HorizontalAlignment = iTS.Element.ALIGN_CENTER, Border = iTS.Rectangle.NO_BORDER }); var borderNone = iTS.Rectangle.NO_BORDER; #region Criteria var criteriatable = new iTSpdf.PdfPTable(2) { WidthPercentage = 100 }; criteriatable.SetWidths(new float[] { 8f, 50f }); #region texts var criteriaOrigin = dictionary["Item_Incident_Origin0"]; if (origin == 1) { if (departmentId > 0) { var department = Department.ById(departmentId, companyId); criteriaOrigin = string.Format(CultureInfo.InvariantCulture, "{0} - {1}", dictionary["Item_Incident_Origin1"], department.Description); } else { criteriaOrigin = string.Format(CultureInfo.InvariantCulture, "{0} - ({1})", dictionary["Item_Incident_Origin1"], dictionary["Common_All_Male_Plural"]); } } if (origin == 2) { if (providerId > 0) { var provider = Provider.ById(providerId, companyId); criteriaOrigin = string.Format(CultureInfo.InvariantCulture, "{0} - {1}", dictionary["Item_Incident_Origin2"], provider.Description); } else { criteriaOrigin = string.Format(CultureInfo.InvariantCulture, "{0} - ({1})", dictionary["Item_Incident_Origin2"], dictionary["Common_All_Male_Plural"]); } } if (origin == 3) { if (customerId > 0) { var customer = Customer.ById(customerId, companyId); criteriaOrigin = string.Format(CultureInfo.InvariantCulture, "{0} - {1}", dictionary["Item_Incident_Origin3"], customer.Description); } else { criteriaOrigin = string.Format(CultureInfo.InvariantCulture, "{0} - ({1})", dictionary["Item_Incident_Origin3"], dictionary["Common_All_Male_Plural"]); } } var periode = string.Empty; if (!string.IsNullOrEmpty(from) && string.IsNullOrEmpty(to)) { periode = dictionary["Item_Incident_List_Filter_From"] + " " + from; } else if (string.IsNullOrEmpty(from) && !string.IsNullOrEmpty(to)) { periode = dictionary["Item_Incident_List_Filter_To"] + " " + to; } else if (!string.IsNullOrEmpty(from) && !string.IsNullOrEmpty(to)) { periode = from + " " + to; } else { periode = dictionary["Common_All_Male"]; } var typetext = string.Empty; var firstType = false; var statusText = string.Empty; var firstStatus = true; if (statusIdnetified) { firstStatus = false; statusText += dictionary["Item_IndicentAction_Status1"]; } if (statusAnalyzed) { if (!firstStatus) { statusText += " - "; } statusText += dictionary["Item_IndicentAction_Status2"]; firstStatus = false; } if (statusInProgress) { if (!firstStatus) { statusText += " - "; } statusText += dictionary["Item_IndicentAction_Status3"]; firstType = false; } if (statusClose) { if (!firstType) { statusText += " - "; } statusText += dictionary["Item_IndicentAction_Status4"]; firstType = false; } #endregion ToolsPdf.AddCriteria(criteriatable, dictionary["Common_Period"], periode); if (!string.IsNullOrEmpty(filterText)) //{ // ToolsPdf.AddCriteria(criteriatable, string.Empty, string.Empty); //} //else { ToolsPdf.AddCriteria(criteriatable, dictionary["Common_PDF_Filter_Contains"], filterText); } ToolsPdf.AddCriteria(criteriatable, dictionary["Item_IncidentAction_Header_Status"], statusText); ToolsPdf.AddCriteria(criteriatable, dictionary["Item_IncidentAction_Header_Origin"], criteriaOrigin); pdfDoc.Add(criteriatable); #endregion var table = new iTSpdf.PdfPTable(8) { WidthPercentage = 100, HorizontalAlignment = 1, SpacingBefore = 20f, SpacingAfter = 30f }; table.SetWidths(new float[] { 5f, 35f, 10f, 10f, 20f, 8f, 10f, 10f }); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_IncidentAction_Label_Number"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Incident_Header_Description"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Incident_Header_Open"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Incident_Header_Status"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Incident_Header_Origin"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Incident_Header_ActionNumber"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Incident_Header_Cost"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Incident_Header_Close"])); int cont = 0; decimal totalCost = 0; var data = HttpContext.Current.Session["IncidentFilterData"] as List <IncidentFilterItem>; bool pair = false; foreach (IncidentFilterItem item in data) { var originValue = string.Empty; if (!string.IsNullOrEmpty(item.Customer.Description)) { originValue = item.Customer.Description; } if (!string.IsNullOrEmpty(item.Provider.Description)) { originValue = item.Provider.Description; } if (!string.IsNullOrEmpty(item.Department.Description)) { originValue = item.Department.Description; } item.OriginText = originValue; } switch (listOrder.ToUpperInvariant()) { default: case "TH0|ASC": data = data.OrderBy(d => d.Description).ToList(); break; case "TH0|DESC": data = data.OrderByDescending(d => d.Description).ToList(); break; case "TH1|ASC": data = data.OrderBy(d => d.Open).ToList(); break; case "TH1|DESC": data = data.OrderByDescending(d => d.Open).ToList(); break; case "TH3|ASC": data = data.OrderBy(d => d.OriginText).ToList(); break; case "TH3|DESC": data = data.OrderByDescending(d => d.OriginText).ToList(); break; case "TH4|ASC": data = data.OrderBy(d => d.Action.Description).ToList(); break; case "TH4|DESC": data = data.OrderByDescending(d => d.Action.Description).ToList(); break; case "TH5|ASC": data = data.OrderBy(d => d.Amount).ToList(); break; case "TH5|DESC": data = data.OrderByDescending(d => d.Amount).ToList(); break; case "TH6|ASC": data = data.OrderBy(d => d.Close).ToList(); break; case "TH6|DESC": data = data.OrderByDescending(d => d.Close).ToList(); break; } foreach (var incidentFilter in data) { if (!string.IsNullOrEmpty(filterText)) { var match = incidentFilter.Description; match += "|" + incidentFilter.Code; match += "|" + incidentFilter.Customer.Description; match += "|" + incidentFilter.Provider.Description; match += "|" + incidentFilter.Department.Description; if (match.IndexOf(filterText, StringComparison.OrdinalIgnoreCase) == -1) { continue; } } cont++; totalCost += incidentFilter.Amount; var incident = Incident.GetById(incidentFilter.Id, companyId); var action = IncidentAction.ByIncidentId(incident.Id, companyId); var lineBackground = pair ? rowEven : rowPair; // pair = !pair; var statustext = string.Empty; switch (incidentFilter.Status) { case 1: statustext = dictionary["Item_IndicentAction_Status1"]; break; case 2: statustext = dictionary["Item_IndicentAction_Status2"]; break; case 3: statustext = dictionary["Item_IndicentAction_Status3"]; break; case 4: statustext = dictionary["Item_IndicentAction_Status4"]; break; default: statusText = string.Empty; break; } var actionDescription = string.Empty; if (!string.IsNullOrEmpty(action.Description)) { actionDescription = dictionary["Common_Yes"]; } var originText = string.Empty; switch (incidentFilter.Origin) { case 1: originText = dictionary["Item_IncidentAction_Origin1"]; break; case 2: originText = dictionary["Item_IncidentAction_Origin2"]; break; case 3: originText = dictionary["Item_IncidentAction_Origin3"]; break; case 4: originText = dictionary["Item_IncidentAction_Origin4"]; break; default: originText = string.Empty; break; } table.AddCell(ToolsPdf.DataCellCenter(incidentFilter.Code, ToolsPdf.LayoutFonts.Times)); table.AddCell(ToolsPdf.DataCell(incidentFilter.Description, ToolsPdf.LayoutFonts.Times)); table.AddCell(ToolsPdf.DataCellCenter(incidentFilter.Open, ToolsPdf.LayoutFonts.Times)); table.AddCell(ToolsPdf.DataCellCenter(statustext, ToolsPdf.LayoutFonts.Times)); table.AddCell(ToolsPdf.DataCell(incidentFilter.OriginText, ToolsPdf.LayoutFonts.Times)); table.AddCell(ToolsPdf.DataCellCenter(actionDescription, ToolsPdf.LayoutFonts.Times)); table.AddCell(ToolsPdf.DataCellMoney(incidentFilter.Amount, ToolsPdf.LayoutFonts.Times)); table.AddCell(ToolsPdf.DataCellCenter(incidentFilter.Close, ToolsPdf.LayoutFonts.Times)); } table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(string.Format( CultureInfo.InvariantCulture, @"{0}: {1}", dictionary["Common_RegisterCount"], cont), ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f, Colspan = 4 }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(dictionary["Common_Total"].ToUpperInvariant(), ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(Tools.PdfMoneyFormat(totalCost), ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(string.Empty, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Colspan = 2 }); pdfDoc.Add(table); pdfDoc.CloseDocument(); res.SetSuccess(string.Format(CultureInfo.InvariantCulture, @"{0}Temp/{1}", ConfigurationManager.AppSettings["siteUrl"], fileName)); return(res); }
public static ActionResult PDF( int companyId, string from, string to, bool statusIdentified, bool statusAnalyzed, bool statusInProgress, bool statusClose, bool typeImprovement, bool typeFix, bool typePrevent, int origin, int reporter, string listOrder) { var res = ActionResult.NoAction; var user = HttpContext.Current.Session["User"] as ApplicationUser; dictionary = HttpContext.Current.Session["Dictionary"] as Dictionary <string, string>; var company = new Company(companyId); string path = HttpContext.Current.Request.PhysicalApplicationPath; if (!path.EndsWith(@"\", StringComparison.OrdinalIgnoreCase)) { path = string.Format(CultureInfo.InvariantCulture, @"{0}\", path); } var formatedDescription = ToolsPdf.NormalizeFileName(company.Name); string fileName = string.Format( CultureInfo.InvariantCulture, @"{0}_{1}_{2:yyyyMMddhhmmss}.pdf", dictionary["Item_IncidentActionList"], formatedDescription, DateTime.Now); var pdfDoc = new iTS.Document(iTS.PageSize.A4.Rotate(), 40, 40, 80, 50); var writer = iTextSharp.text.pdf.PdfWriter.GetInstance(pdfDoc, new FileStream( string.Format(CultureInfo.InvariantCulture, @"{0}Temp\{1}", path, fileName), FileMode.Create)); writer.PageEvent = new TwoColumnHeaderFooter() { CompanyLogo = string.Format(CultureInfo.InvariantCulture, @"{0}\images\logos\{1}.jpg", path, company.Id), IssusLogo = string.Format(CultureInfo.InvariantCulture, "{0}issus.png", path), Date = string.Format(CultureInfo.InvariantCulture, "{0:dd/MM/yyyy}", DateTime.Now), CreatedBy = user.UserName, CompanyId = company.Id, CompanyName = company.Name, Title = dictionary["Item_IncidentActions"].ToUpperInvariant() }; pdfDoc.Open(); var backgroundColor = new iTS.BaseColor(225, 225, 225); var rowPair = new iTS.BaseColor(255, 255, 255); var rowEven = new iTS.BaseColor(240, 240, 240); var titleTable = new iTSpdf.PdfPTable(1); titleTable.SetWidths(new float[] { 50f }); var titleCell = new iTSpdf.PdfPCell(new iTS.Phrase(string.Format(CultureInfo.InvariantCulture, "{0} - {1}", dictionary["Item_EquipmentList"], company.Name), ToolsPdf.LayoutFonts.TitleFont)) { HorizontalAlignment = iTS.Element.ALIGN_CENTER, Border = ToolsPdf.BorderNone }; titleTable.AddCell(titleCell); #region Criteria var criteriatable = new iTSpdf.PdfPTable(4); criteriatable.SetWidths(new float[] { 20f, 50f, 15f, 100f }); criteriatable.WidthPercentage = 100; #region texts string criteriaOrigin = dictionary["Common_All_Male"]; if (origin == 1) { criteriaOrigin = dictionary["Item_IncidentAction_Origin1"]; } if (origin == 2) { criteriaOrigin = dictionary["Item_IncidentAction_Origin2"]; } if (origin == 3) { criteriaOrigin = dictionary["Item_IncidentAction_Origin3"]; } if (origin == 4) { criteriaOrigin = dictionary["Item_IncidentAction_Origin46"]; } if (origin == 5) { criteriaOrigin = dictionary["Item_IncidentAction_Origin5"]; } string reporterText = dictionary["Common_All_Male"]; if (reporter == 1) { reporterText = dictionary["Item_IncidentAction_ReporterType1"]; } if (reporter == 2) { reporterText = dictionary["Item_IncidentAction_ReporterType2"]; } if (reporter == 3) { reporterText = dictionary["Item_IncidentAction_ReporterType3"]; } string periode = string.Empty; if (!string.IsNullOrEmpty(from) && string.IsNullOrEmpty(to)) { periode = dictionary["Item_IncidentAction_List_Filter_From"] + " " + from; } else if (string.IsNullOrEmpty(from) && !string.IsNullOrEmpty(to)) { periode = dictionary["Item_IncidentAction_List_Filter_To"] + " " + to; } else if (!string.IsNullOrEmpty(from) && !string.IsNullOrEmpty(to)) { periode = from + " " + to; } else { periode = dictionary["Common_All_Male"]; } string typetext = string.Empty; bool firstType = false; if (typeImprovement) { typetext = dictionary["Item_IncidentAction_Type1"]; firstType = false; } if (typeFix) { if (!firstType) { typetext += " - "; } typetext += dictionary["Item_IncidentAction_Type2"]; firstType = false; } if (typePrevent) { if (!firstType) { typetext += " - "; } typetext += dictionary["Item_IncidentAction_Type3"]; } string statusText = string.Empty; bool firstStatus = true; if (statusIdentified) { firstStatus = false; statusText += dictionary["Item_IndicentAction_Status1"]; } if (statusAnalyzed) { if (!firstStatus) { statusText += " - "; } statusText += dictionary["Item_IndicentAction_Status2"]; firstStatus = false; } if (statusInProgress) { if (!firstStatus) { statusText += " - "; } statusText += dictionary["Item_IndicentAction_Status3"]; firstType = false; } if (statusClose) { if (!firstType) { statusText += " - "; } statusText += dictionary["Item_IndicentAction_Status4"]; firstType = false; } #endregion ToolsPdf.AddCriteria(criteriatable, dictionary["Common_Period"], periode); ToolsPdf.AddCriteria(criteriatable, dictionary["Item_Customer_Header_Type"], typetext); ToolsPdf.AddCriteria(criteriatable, dictionary["Item_IncidentAction_Header_Status"], statusText); ToolsPdf.AddCriteria(criteriatable, dictionary["Item_IncidentAction_Header_Origin"], criteriaOrigin); ToolsPdf.AddCriteria(criteriatable, dictionary["Item_IncidentAction_Label_Reporter"], reporterText); ToolsPdf.AddCriteria(criteriatable, string.Empty, string.Empty); pdfDoc.Add(criteriatable); #endregion var table = new iTSpdf.PdfPTable(9) { WidthPercentage = 100, HorizontalAlignment = 1, SpacingBefore = 20f, SpacingAfter = 30f }; table.SetWidths(new float[] { 2f, 30f, 10f, 10f, 10f, 10f, 10f, 10f, 10f }); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Incident_Label_Number"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_IncidentAction_Header_Description"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_IncidentAction_Header_Type"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_IncidentAction_Header_Open"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_IncidentAction_Header_Status"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_IncidentAction_Header_Origin"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_IncidentAction_Header_Cost"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_IncidentAction_Header_ImplementDate"])); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_IncidentAction_Header_Close"])); int cont = 0; decimal totalCost = 0; var data = HttpContext.Current.Session["IncidentActionFilterData"] as List <IncidentActionFilterItem>; foreach (IncidentActionFilterItem item in data) { string originText = string.Empty; if (item.Origin == 1) { originText = dictionary["Item_IncidentAction_Origin1"]; } if (item.Origin == 2) { originText = dictionary["Item_IncidentAction_Origin2"]; } if (item.Origin == 3) { originText = dictionary["Item_IncidentAction_Origin3"]; } if (item.Origin == 4) { originText = dictionary["Item_IncidentAction_Origin4"]; } if (item.Origin == 5) { originText = dictionary["Item_IncidentAction_Origin5"]; } if (item.Origin == 6) { originText = dictionary["Item_IncidentAction_Origin6"]; } item.OriginText = originText; } switch (listOrder.ToUpperInvariant()) { default: case "TH0|ASC": data = data.OrderBy(d => d.Description).ToList(); break; case "TH0|DESC": data = data.OrderByDescending(d => d.Description).ToList(); break; case "TH1|ASC": data = data.OrderBy(d => d.ActionType).ToList(); break; case "TH1|DESC": data = data.OrderByDescending(d => d.ActionType).ToList(); break; case "TH2|ASC": data = data.OrderBy(d => d.OpenDate).ToList(); break; case "TH2|DESC": data = data.OrderByDescending(d => d.OpenDate).ToList(); break; case "TH3|ASC": data = data.OrderBy(d => d.Status).ToList(); break; case "TH3|DESC": data = data.OrderByDescending(d => d.Status).ToList(); break; case "TH4|ASC": data = data.OrderBy(d => d.OriginText).ToList(); break; case "TH4|DESC": data = data.OrderByDescending(d => d.OriginText).ToList(); break; case "TH5|ASC": data = data.OrderBy(d => d.ImplementationDate).ToList(); break; case "TH5|DESC": data = data.OrderByDescending(d => d.ImplementationDate).ToList(); break; case "TH6|ASC": data = data.OrderBy(d => d.CloseDate).ToList(); break; case "TH6|DESC": data = data.OrderByDescending(d => d.CloseDate).ToList(); break; } foreach (IncidentActionFilterItem action in data) { int border = 0; totalCost += action.Amount; string actionTypeText = string.Empty; switch (action.ActionType) { default: case 1: actionTypeText = dictionary["Item_IncidentAction_Type1"]; break; case 2: actionTypeText = dictionary["Item_IncidentAction_Type2"]; break; case 3: actionTypeText = dictionary["Item_IncidentAction_Type3"]; break; } string statustext = string.Empty; if (action.Status == 1) { statustext = dictionary["Item_IndicentAction_Status1"]; } if (action.Status == 2) { statustext = dictionary["Item_IndicentAction_Status2"]; } if (action.Status == 3) { statustext = dictionary["Item_IndicentAction_Status3"]; } if (action.Status == 4) { statustext = dictionary["Item_IndicentAction_Status4"]; } table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(action.Description, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = ToolsPdf.LineBackgroundColor, Padding = 6f, PaddingTop = 4f }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(actionTypeText, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = ToolsPdf.LineBackgroundColor, Padding = 6f, PaddingTop = 4f }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(string.Format(CultureInfo.InvariantCulture, "{0:dd/MM/yyyy}", action.OpenDate), ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = ToolsPdf.LineBackgroundColor, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = Rectangle.ALIGN_CENTER }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(statustext, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = ToolsPdf.LineBackgroundColor, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = Rectangle.ALIGN_CENTER }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(action.OriginText, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = ToolsPdf.LineBackgroundColor, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = Rectangle.ALIGN_CENTER }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(Tools.PdfMoneyFormat(action.Amount), ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = ToolsPdf.LineBackgroundColor, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = Rectangle.ALIGN_RIGHT }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(string.Format(CultureInfo.InvariantCulture, "{0:dd/MM/yyyy}", action.ImplementationDate), ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = ToolsPdf.LineBackgroundColor, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = Rectangle.ALIGN_CENTER }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(string.Format(CultureInfo.InvariantCulture, "{0:dd/MM/yyyy}", action.CloseDate), ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = ToolsPdf.LineBackgroundColor, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = Rectangle.ALIGN_CENTER }); cont++; } table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(string.Format( CultureInfo.InvariantCulture, @"{0}: {1}", dictionary["Common_RegisterCount"], cont), ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = ToolsPdf.SummaryBackgroundColor, Padding = 6f, PaddingTop = 4f, Colspan = 4 }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(dictionary["Common_Total"].ToUpperInvariant(), ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = ToolsPdf.SummaryBackgroundColor, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(Tools.PdfMoneyFormat(totalCost), ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = ToolsPdf.SummaryBackgroundColor, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(string.Empty, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = ToolsPdf.SummaryBackgroundColor, Colspan = 2 }); pdfDoc.Add(table); pdfDoc.CloseDocument(); res.SetSuccess(string.Format(CultureInfo.InvariantCulture, @"{0}Temp/{1}", ConfigurationManager.AppSettings["siteUrl"], fileName)); return(res); }
public static ActionResult PDF(string from, string to, string filter, int companyId) { var res = ActionResult.NoAction; var user = HttpContext.Current.Session["User"] as ApplicationUser; dictionary = HttpContext.Current.Session["Dictionary"] as Dictionary <string, string>; var company = new Company(companyId); string path = HttpContext.Current.Request.PhysicalApplicationPath; if (!path.EndsWith(@"\", StringComparison.OrdinalIgnoreCase)) { path = string.Format(CultureInfo.InvariantCulture, @"{0}\", path); } var fromDate = Tools.DateFromTextYYYYMMDD(from); var toDate = Tools.DateFromTextYYYYMMDD(to); var formatedDescription = ToolsPdf.NormalizeFileName(company.Name); string fileName = string.Format( CultureInfo.InvariantCulture, @"{0}_{1}_{2:yyyyMMddhhmmss}.pdf", dictionary["Item_EquipmentList"], formatedDescription, DateTime.Now); // FONTS string pathFonts = HttpContext.Current.Request.PhysicalApplicationPath; if (!path.EndsWith(@"\", StringComparison.OrdinalIgnoreCase)) { pathFonts = string.Format(CultureInfo.InstalledUICulture, @"{0}\", pathFonts); } var headerFont = BaseFont.CreateFont(string.Format(CultureInfo.InvariantCulture, @"{0}fonts\ARIAL.TTF", pathFonts), BaseFont.IDENTITY_H, BaseFont.EMBEDDED); var arial = BaseFont.CreateFont(string.Format(CultureInfo.InvariantCulture, @"{0}fonts\ARIAL.TTF", pathFonts), BaseFont.IDENTITY_H, BaseFont.EMBEDDED); var pdfDoc = new iTS.Document(iTS.PageSize.A4.Rotate(), 40, 40, 80, 50); var writer = iTextSharp.text.pdf.PdfWriter.GetInstance(pdfDoc, new FileStream( string.Format(CultureInfo.InvariantCulture, @"{0}Temp\{1}", path, fileName), FileMode.Create)); writer.PageEvent = new TwoColumnHeaderFooter() { CompanyLogo = string.Format(CultureInfo.InvariantCulture, @"{0}\images\logos\{1}.jpg", path, company.Id), IssusLogo = string.Format(CultureInfo.InvariantCulture, "{0}issus.png", path), Date = string.Format(CultureInfo.InvariantCulture, "{0:dd/MM/yyyy}", DateTime.Now), CreatedBy = user.UserName, CompanyId = company.Id, CompanyName = company.Name, Title = dictionary["Item_EquipmentListCosts"].ToUpperInvariant() }; pdfDoc.Open(); var backgroundColor = new iTS.BaseColor(225, 225, 225); var rowPair = new iTS.BaseColor(255, 255, 255); var rowEven = new iTS.BaseColor(240, 240, 240); var titleTable = new iTSpdf.PdfPTable(1); titleTable.SetWidths(new float[] { 50f }); var titleCell = new iTSpdf.PdfPCell(new iTS.Phrase(string.Format(CultureInfo.InvariantCulture, "{0} - {1}", dictionary["Item_EquipmentList"], company.Name), ToolsPdf.LayoutFonts.TitleFont)) { HorizontalAlignment = iTS.Element.ALIGN_CENTER, Border = iTS.Rectangle.NO_BORDER }; titleTable.AddCell(titleCell); var CI = filter.IndexOf("|CI") != -1; var CE = filter.IndexOf("|CE") != -1; var VI = filter.IndexOf("|VI") != -1; var VE = filter.IndexOf("|VE") != -1; var MI = filter.IndexOf("|MI") != -1; var ME = filter.IndexOf("|ME") != -1; var RI = filter.IndexOf("|RI") != -1; var RE = filter.IndexOf("|RE") != -1; var AC = filter.IndexOf("|AC") != -1; var IN = filter.IndexOf("|IN") != -1; var numberColumns = 2; numberColumns += CI ? 1 : 0; numberColumns += CE ? 1 : 0; numberColumns += VI ? 1 : 0; numberColumns += VE ? 1 : 0; numberColumns += MI ? 1 : 0; numberColumns += ME ? 1 : 0; numberColumns += RI ? 1 : 0; numberColumns += RE ? 1 : 0; var table = new iTSpdf.PdfPTable(numberColumns) { WidthPercentage = 100, HorizontalAlignment = 1, SpacingBefore = 20f, SpacingAfter = 30f }; var widths = new List <float>(); widths.Add(20f + (10 - numberColumns) * 5); if (CI) { widths.Add(5f); } if (CE) { widths.Add(5f); } if (VI) { widths.Add(5f); } if (VE) { widths.Add(5f); } if (MI) { widths.Add(5f); } if (ME) { widths.Add(5f); } if (RI) { widths.Add(5f); } if (RE) { widths.Add(5f); } widths.Add(10f); table.SetWidths(widths.ToArray()); table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Equipment_Header_Description"])); if (CI) { table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Equipment_FilterLabel_Calibration_Int"])); } if (CE) { table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Equipment_FilterLabel_Calibration_Ext"])); } if (VI) { table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Equipment_FilterLabel_Verification_Int"])); } if (VE) { table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Equipment_FilterLabel_Verification_Ext"])); } if (MI) { table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Equipment_FilterLabel_Maintenance_Int"])); } if (ME) { table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Equipment_FilterLabel_Maintenance_Ext"])); } if (RI) { table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Equipment_FilterLabel_Repair_Int"])); } if (RE) { table.AddCell(ToolsPdf.HeaderCell(dictionary["Item_Equipment_FilterLabel_Repair_Ext"])); } table.AddCell(ToolsPdf.HeaderCell(dictionary["Common_Total"])); int cont = 0; var data = new List <EquipmentCost>(); decimal totalCI = 0; decimal totalCE = 0; decimal totalVI = 0; decimal totalVE = 0; decimal totalMI = 0; decimal totalME = 0; decimal totalRI = 0; decimal totalRE = 0; using (var cmd = new SqlCommand("Equipment_GetCosts2")) { using (var cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["cns"].ConnectionString)) { cmd.Connection = cnn; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(DataParameter.Input("@From", fromDate)); cmd.Parameters.Add(DataParameter.Input("@to", toDate)); cmd.Parameters.Add(DataParameter.Input("@CompanyId", company.Id)); try { cmd.Connection.Open(); using (var rdr = cmd.ExecuteReader()) { while (rdr.Read()) { var newEquipmentCost = new EquipmentCost { Id = rdr.GetInt64(8), Description = rdr.GetString(9), Active = rdr.GetBoolean(10), CI = CI ? rdr.GetDecimal(0) : 0, CE = CE ? rdr.GetDecimal(1) : 0, VI = VI ? rdr.GetDecimal(2) : 0, VE = VE ? rdr.GetDecimal(3) : 0, MI = MI ? rdr.GetDecimal(4) : 0, ME = ME ? rdr.GetDecimal(5) : 0, RI = RI ? rdr.GetDecimal(6) : 0, RE = RE ? rdr.GetDecimal(7) : 0 }; totalCI += newEquipmentCost.CI; totalCE += newEquipmentCost.CE; totalVI += newEquipmentCost.VI; totalVE += newEquipmentCost.VE; totalMI += newEquipmentCost.MI; totalME += newEquipmentCost.ME; totalRI += newEquipmentCost.RI; totalRE += newEquipmentCost.RE; data.Add(newEquipmentCost); } } } finally { if (cmd.Connection.State != ConnectionState.Closed) { cmd.Connection.Close(); } } } } //------ CRITERIA var criteriatable = new iTSpdf.PdfPTable(2) { WidthPercentage = 100 }; criteriatable.SetWidths(new float[] { 8f, 50f }); string periodText = string.Empty; string operativaText = string.Empty; if (string.IsNullOrEmpty(from) && string.IsNullOrEmpty(to)) { periodText = dictionary["Common_PeriodAll"]; } else if (!string.IsNullOrEmpty(from) && !string.IsNullOrEmpty(to)) { periodText = string.Format( @"{0} {1:dd/MM/yyyy} {2} {3:dd/MM/yyyy}", dictionary["Common_From"], Tools.DateFromTextYYYYMMDD(from), dictionary["Common_To"], Tools.DateFromTextYYYYMMDD(to)); } else if (!string.IsNullOrEmpty(from)) { periodText = string.Format( @"{0} {1:dd/MM/yyyy}", dictionary["Common_From"], Tools.DateFromTextYYYYMMDD(from)); } else { periodText = string.Format( @"{0} {1:dd/MM/yyyy}", dictionary["Common_To"], Tools.DateFromTextYYYYMMDD(to)); } bool first = true; if (CI) { first = false; operativaText = dictionary["Item_Equipment_FilterLabel_Calibration_Int"]; } if (CE) { if (!first) { operativaText += ", "; } first = false; operativaText += dictionary["Item_Equipment_FilterLabel_Calibration_Ext"]; } if (VI) { if (!first) { operativaText += ", "; } first = false; operativaText += dictionary["Item_Equipment_FilterLabel_Verification_Int"]; } if (VE) { if (!first) { operativaText += ", "; } first = false; operativaText += dictionary["Item_Equipment_FilterLabel_Verification_Ext"]; } if (MI) { if (!first) { operativaText += ", "; } first = false; operativaText += dictionary["Item_Equipment_FilterLabel_Maintenance_Int"]; } if (ME) { if (!first) { operativaText += ", "; } first = false; operativaText += dictionary["Item_Equipment_FilterLabel_Maintenance_Ext"]; } if (RI) { if (!first) { operativaText += ", "; } first = false; operativaText += dictionary["Item_Equipment_FilterLabel_Repair_Int"]; } if (RE) { if (!first) { operativaText += ", "; } first = false; operativaText += dictionary["Item_Equipment_FilterLabel_Repair_Ext"]; } ToolsPdf.AddCriteria(criteriatable, dictionary["Item_Equipment_List_Filter_ShowByOperation"], operativaText); ToolsPdf.AddCriteria(criteriatable, dictionary["Item_Equipment_List_Filter_ShowByPeriod"], periodText); bool pair = false; decimal total = 0; int border = 0; foreach (EquipmentCost equipment in data) { if (equipment.Total == 0) { continue; } total += equipment.Total; var lineBackground = pair ? rowEven : rowPair; table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(equipment.Description, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = lineBackground, Padding = 6f, PaddingTop = 4f }); if (CI) { string CIText = string.Format("{0:#,##0.00}", equipment.CI); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(CIText, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = lineBackground, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } if (CE) { string CEText = string.Format("{0:#,##0.00}", equipment.CE); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(CEText, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = lineBackground, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } if (VI) { string VIText = string.Format("{0:#,##0.00}", equipment.VI); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(VIText, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = lineBackground, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } if (VE) { string VEText = string.Format("{0:#,##0.00}", equipment.VE); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(VEText, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = lineBackground, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } if (MI) { string MIText = string.Format("{0:#,##0.00}", equipment.MI); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(MIText, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = lineBackground, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } if (ME) { string METext = string.Format("{0:#,##0.00}", equipment.ME); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(METext, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = lineBackground, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } if (RI) { string RIText = string.Format("{0:#,##0.00}", equipment.RI); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(RIText, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = lineBackground, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } if (RE) { string REText = string.Format("{0:#,##0.00}", equipment.RE); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(REText, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = lineBackground, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } string TotalText = string.Format("{0:#,##0.00}", equipment.Total); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(TotalText, ToolsPdf.LayoutFonts.Times)) { Border = border, BackgroundColor = lineBackground, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); cont++; } string totalRegistros = string.Format( CultureInfo.InvariantCulture, @"{0}: {1}", dictionary["Common_RegisterCount"], cont); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(totalRegistros, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f }); /*table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(dictionary["Common_Total"].ToUpperInvariant(), ToolsPdf.LayoutFonts.Times)) * { * Border = iTS.Rectangle.TOP_BORDER, * BackgroundColor = rowEven, * Padding = 6f, * PaddingTop = 4f, * HorizontalAlignment = 2 * });*/ if (CI) { string totalTextCI = string.Format("{0:#,##0.00}", totalCI); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(totalTextCI, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } if (CE) { string totalTextCE = string.Format("{0:#,##0.00}", totalCE); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(totalTextCE, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } if (VI) { string totalTextVI = string.Format("{0:#,##0.00}", totalVI); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(totalTextVI, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } if (VE) { string totalTextVE = string.Format("{0:#,##0.00}", totalVE); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(totalTextVE, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } if (MI) { string totalTextMI = string.Format("{0:#,##0.00}", totalMI); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(totalTextMI, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } if (ME) { string totalTextME = string.Format("{0:#,##0.00}", totalME); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(totalTextME, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } if (RI) { string totalTextRI = string.Format("{0:#,##0.00}", totalRI); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(totalTextRI, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } if (RE) { string totalTextRE = string.Format("{0:#,##0.00}", totalRE); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(totalTextRE, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); } string totalText = string.Format("{0:#,##0.00}", total); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(totalText, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Padding = 6f, PaddingTop = 4f, HorizontalAlignment = 2 }); table.AddCell(new iTSpdf.PdfPCell(new iTS.Phrase(string.Empty, ToolsPdf.LayoutFonts.Times)) { Border = iTS.Rectangle.TOP_BORDER, BackgroundColor = rowEven, Colspan = 2 }); pdfDoc.Add(criteriatable); pdfDoc.Add(table); pdfDoc.CloseDocument(); res.SetSuccess(string.Format(CultureInfo.InvariantCulture, @"{0}Temp/{1}", ConfigurationManager.AppSettings["siteUrl"], fileName)); return(res); }