private static DownloadPdf getWiredUpDownloadPdf(EventHandler <LibraryBook> completedAction) { var downloadPdf = new DownloadPdf(); downloadPdf.Begin += (_, __) => wireUpEvents(downloadPdf); if (completedAction != null) { downloadPdf.Completed += completedAction; } return(downloadPdf); }
public IActionResult CreatePDF([FromBody] DownloadPdf data) { CommonResponse commonResponse = new CommonResponse(); var globalSettings = new GlobalSettings { ColorMode = ColorMode.Color, Orientation = Orientation.Portrait, PaperSize = PaperKind.A4, Margins = new MarginSettings { Top = 10 }, DocumentTitle = "PDF Report", Out = @"D:\DMS\Employee_Report.pdf" }; var objectSettings = new ObjectSettings { PagesCount = true, HtmlContent = TemplateGenerator.GetHTMLString(data), WebSettings = { DefaultEncoding = "utf -8", UserStyleSheet = Path.Combine(Directory.GetCurrentDirectory(), "assets", "Styles.css") }, HeaderSettings = { FontName = "Georgia", FontSize = 9, Right = "Page [page] of [toPage]", Line = true }, FooterSettings = { FontName = "Georgia", FontSize = 9, Line = true, Center = "Shiftwise Employee Details" } }; var pdf = new HtmlToPdfDocument { GlobalSettings = globalSettings, Objects = { objectSettings } }; converter.Convert(pdf); commonResponse.isStatus = true; commonResponse.response = appSettings.ImageUrl + "Employee_Report.pdf"; //var file = converter.Convert(pdf); //return File(file, "application/pdf","Employee.pdf"); return(Ok(commonResponse)); }
public static string GetHTMLString(DownloadPdf data) { CommonFunction commonFunction = new CommonFunction(); var employees = commonFunction.GetEmployeeDetails(data); var sb = new StringBuilder(); sb.Append(@" <html> <head></head> <body> <div class='header'><h1> Shiftwise Employee Details</h1></div> <table align='center'> <tr> <th> Employee Name</th> <th> Employee Id </th> <th> Cell </th> <th> SubCell </th> <th> DepartMent </th> <th> Designation </th> <th> Shift </th> <th> FromDate </th> <th> ToDate </th> <th> Machines </th> </tr>"); foreach (var item in employees) { //sb.AppendFormat(@" //<tr> // <td>{0}</td> // <td>{1}</td> // <td>{2}</td> // <td>{3}</td> // <td>{4}</td> // <td>{5}</td> // <td>{6}</td> // <td>{7}</td> //</tr>", item.employeeName, item.Cell, item.subCell, item.department, item.designation, item.shift, item.fromDate, item.toDate); sb.Append("<tr>"); sb.Append("<td>" + item.employeeName + "</td>"); sb.Append("<td>" + item.employeeNo + "</td>"); sb.Append("<td>" + item.Cell + "</td>"); sb.Append("<td>" + item.subCell + "</td>"); sb.Append("<td>" + item.department + "</td>"); sb.Append("<td>" + item.designation + "</td>"); sb.Append("<td>" + item.shift + "</td>"); sb.Append("<td>" + item.fromDate + "</td>"); sb.Append("<td>" + item.toDate + "</td>"); sb.Append("<td><ul>"); foreach (var i in item.machinesList) { sb.Append("<li>" + i.machineName + "</li>"); } sb.Append("</ul></td></tr>"); } sb.Append(@" </table> </body> </html>"); return(sb.ToString()); }
/// <summary> /// Get Employee Details /// </summary> /// <param name="data"></param> /// <returns></returns> public List <OperatorDetailsShift> GetEmployeeDetails(DownloadPdf data) { DateTime FromDate = DateTime.Now; try { string[] dt = data.fromDate.Split('/'); string frDate = dt[2] + '-' + dt[1] + '-' + dt[0]; FromDate = Convert.ToDateTime(frDate); } catch { FromDate = Convert.ToDateTime(data.fromDate); } DateTime ToDate = DateTime.Now; try { string[] dt = data.toDate.Split('/'); string torDate = dt[2] + '-' + dt[1] + '-' + dt[0]; ToDate = Convert.ToDateTime(torDate); } catch { ToDate = Convert.ToDateTime(data.toDate); } List <OperatorDetailsShift> operatorDetailsShiftsList = new List <OperatorDetailsShift>(); if (data.cellId != 0 && data.subCellId != 0 && data.departmentId != 0) { var dbChecks = db.UnitworkccsTbloperatordetails.Where(m => m.CellId == data.cellId && m.SubCellId == data.subCellId && m.DepartmentId == data.departmentId).Select(m => m.OpId).ToList(); foreach (var i in dbChecks) { var check = (from wf in db.UnitworkccsTblemployeeshiftdetails where wf.IsDeleted == 0 && wf.FromDate >= FromDate && wf.ToDate <= ToDate && wf.EmployeeId == i select new { employeeId = wf.EmployeeId, fromDate = wf.FromDate, toDate = wf.ToDate, //shift = wf.Shift, machineIds = wf.MachineIds, employeeName = db.UnitworkccsTbloperatordetails.Where(m => m.OpId == wf.EmployeeId).Select(m => m.OperatorName).FirstOrDefault(), cellName = db.UnitworkccsTblshop.Where(m => m.ShopId == (db.UnitworkccsTbloperatordetails.Where(n => n.OpId == wf.EmployeeId).Select(n => n.CellId).FirstOrDefault())).Select(m => m.ShopName).FirstOrDefault(), subCellName = db.UnitworkccsTblcell.Where(m => m.CellId == (db.UnitworkccsTbloperatordetails.Where(n => n.OpId == wf.EmployeeId).Select(n => n.SubCellId).FirstOrDefault())).Select(m => m.CellName).FirstOrDefault(), designation = db.UnitworkccsTblroles.Where(m => m.RoleId == (db.UnitworkccsTbloperatordetails.Where(n => n.OpId == wf.EmployeeId).Select(n => n.RoleId).FirstOrDefault())).Select(m => m.RoleName).FirstOrDefault(), department = db.UnitworkccsTbldepartmentdetails.Where(m => m.DepartmentId == (db.UnitworkccsTbloperatordetails.Where(n => n.OpId == wf.EmployeeId).Select(n => n.DepartmentId).FirstOrDefault())).Select(m => m.DepartmentName).FirstOrDefault(), employeeNo = db.UnitworkccsTbloperatordetails.Where(m => m.OpId == wf.EmployeeId).Select(m => m.OpNo).FirstOrDefault(), shift = db.UnitworkccsTblshiftMstr.Where(m => m.ShiftId == Convert.ToInt32(wf.Shift)).Select(m => m.ShiftName).FirstOrDefault() }).ToList(); foreach (var item in check) { OperatorDetailsShift operatorDetailsShift = new OperatorDetailsShift(); operatorDetailsShift.employeeName = item.employeeName; DateTime fDate = Convert.ToDateTime(item.fromDate); operatorDetailsShift.fromDate = fDate.ToString("yyyy-MM-dd"); DateTime tDate = Convert.ToDateTime(item.toDate); operatorDetailsShift.toDate = tDate.ToString("yyyy-MM-dd"); operatorDetailsShift.Cell = item.cellName; operatorDetailsShift.subCell = item.subCellName; operatorDetailsShift.department = item.department; operatorDetailsShift.designation = item.designation; operatorDetailsShift.employeeNo = item.employeeNo; operatorDetailsShift.shift = item.shift; if (item.machineIds != null) { List <int> machineIds = new List <int>(); try { machineIds = item.machineIds.Split(',').Select(x => int.Parse(x.Trim())).ToList(); } catch (Exception ex) { } List <MachineDetails1> machineDetailsList = new List <MachineDetails1>(); foreach (var ids in machineIds) { var dbCheck = db.UnitworkccsTblmachinedetails.Where(m => m.MachineId == ids).FirstOrDefault(); if (dbCheck != null) { MachineDetails1 machineDetails = new MachineDetails1(); machineDetails.machineId = dbCheck.MachineId; machineDetails.machineName = dbCheck.MachineName; machineDetailsList.Add(machineDetails); } } operatorDetailsShift.machinesList = machineDetailsList; } operatorDetailsShiftsList.Add(operatorDetailsShift); } } //return operatorDetailsShiftsList; } else if (data.cellId != 0 && data.departmentId != 0) { var dbChecks = db.UnitworkccsTbloperatordetails.Where(m => m.CellId == data.cellId && m.DepartmentId == data.departmentId).Select(m => m.OpId).ToList(); //List<OperatorDetailsShift> operatorDetailsShiftsList = new List<OperatorDetailsShift>(); foreach (var i in dbChecks) { var check = (from wf in db.UnitworkccsTblemployeeshiftdetails where wf.IsDeleted == 0 && wf.FromDate >= FromDate && wf.ToDate <= ToDate && wf.EmployeeId == i select new { employeeId = wf.EmployeeId, fromDate = wf.FromDate, toDate = wf.ToDate, //shift = wf.Shift, machineIds = wf.MachineIds, employeeName = db.UnitworkccsTbloperatordetails.Where(m => m.OpId == wf.EmployeeId).Select(m => m.OperatorName).FirstOrDefault(), cellName = db.UnitworkccsTblshop.Where(m => m.ShopId == (db.UnitworkccsTbloperatordetails.Where(n => n.OpId == wf.EmployeeId).Select(n => n.CellId).FirstOrDefault())).Select(m => m.ShopName).FirstOrDefault(), subCellName = db.UnitworkccsTblcell.Where(m => m.CellId == (db.UnitworkccsTbloperatordetails.Where(n => n.OpId == wf.EmployeeId).Select(n => n.SubCellId).FirstOrDefault())).Select(m => m.CellName).FirstOrDefault(), designation = db.UnitworkccsTblroles.Where(m => m.RoleId == (db.UnitworkccsTbloperatordetails.Where(n => n.OpId == wf.EmployeeId).Select(n => n.RoleId).FirstOrDefault())).Select(m => m.RoleName).FirstOrDefault(), department = db.UnitworkccsTbldepartmentdetails.Where(m => m.DepartmentId == (db.UnitworkccsTbloperatordetails.Where(n => n.OpId == wf.EmployeeId).Select(n => n.DepartmentId).FirstOrDefault())).Select(m => m.DepartmentName).FirstOrDefault(), employeeNo = db.UnitworkccsTbloperatordetails.Where(m => m.OpId == wf.EmployeeId).Select(m => m.OpNo).FirstOrDefault(), shift = db.UnitworkccsTblshiftMstr.Where(m => m.ShiftId == Convert.ToInt32(wf.Shift)).Select(m => m.ShiftName).FirstOrDefault() }).ToList(); foreach (var item in check) { OperatorDetailsShift operatorDetailsShift = new OperatorDetailsShift(); operatorDetailsShift.employeeName = item.employeeName; DateTime fDate = Convert.ToDateTime(item.fromDate); operatorDetailsShift.fromDate = fDate.ToString("yyyy-MM-dd"); DateTime tDate = Convert.ToDateTime(item.toDate); operatorDetailsShift.toDate = tDate.ToString("yyyy-MM-dd"); operatorDetailsShift.Cell = item.cellName; operatorDetailsShift.subCell = item.subCellName; operatorDetailsShift.department = item.department; operatorDetailsShift.designation = item.designation; operatorDetailsShift.employeeNo = item.employeeNo; operatorDetailsShift.shift = item.shift; if (item.machineIds != null) { List <int> machineIds = new List <int>(); try { machineIds = item.machineIds.Split(',').Select(x => int.Parse(x.Trim())).ToList(); } catch (Exception ex) { } List <MachineDetails1> machineDetailsList = new List <MachineDetails1>(); foreach (var ids in machineIds) { var dbCheck = db.UnitworkccsTblmachinedetails.Where(m => m.MachineId == ids).FirstOrDefault(); if (dbCheck != null) { MachineDetails1 machineDetails = new MachineDetails1(); machineDetails.machineId = dbCheck.MachineId; machineDetails.machineName = dbCheck.MachineName; machineDetailsList.Add(machineDetails); } } operatorDetailsShift.machinesList = machineDetailsList; } operatorDetailsShiftsList.Add(operatorDetailsShift); } } } else if (data.departmentId != 0) { var dbChecks = db.UnitworkccsTbloperatordetails.Where(m => m.DepartmentId == data.departmentId).Select(m => m.OpId).ToList(); //List<OperatorDetailsShift> operatorDetailsShiftsList = new List<OperatorDetailsShift>(); foreach (var i in dbChecks) { var check = (from wf in db.UnitworkccsTblemployeeshiftdetails where wf.IsDeleted == 0 && wf.FromDate >= FromDate && wf.ToDate <= ToDate && wf.EmployeeId == i select new { employeeId = wf.EmployeeId, fromDate = wf.FromDate, toDate = wf.ToDate, //shift = wf.Shift, machineIds = wf.MachineIds, employeeName = db.UnitworkccsTbloperatordetails.Where(m => m.OpId == wf.EmployeeId).Select(m => m.OperatorName).FirstOrDefault(), cellName = db.UnitworkccsTblshop.Where(m => m.ShopId == (db.UnitworkccsTbloperatordetails.Where(n => n.OpId == wf.EmployeeId).Select(n => n.CellId).FirstOrDefault())).Select(m => m.ShopName).FirstOrDefault(), subCellName = db.UnitworkccsTblcell.Where(m => m.CellId == (db.UnitworkccsTbloperatordetails.Where(n => n.OpId == wf.EmployeeId).Select(n => n.SubCellId).FirstOrDefault())).Select(m => m.CellName).FirstOrDefault(), designation = db.UnitworkccsTblroles.Where(m => m.RoleId == (db.UnitworkccsTbloperatordetails.Where(n => n.OpId == wf.EmployeeId).Select(n => n.RoleId).FirstOrDefault())).Select(m => m.RoleName).FirstOrDefault(), department = db.UnitworkccsTbldepartmentdetails.Where(m => m.DepartmentId == (db.UnitworkccsTbloperatordetails.Where(n => n.OpId == wf.EmployeeId).Select(n => n.DepartmentId).FirstOrDefault())).Select(m => m.DepartmentName).FirstOrDefault(), employeeNo = db.UnitworkccsTbloperatordetails.Where(m => m.OpId == wf.EmployeeId).Select(m => m.OpNo).FirstOrDefault(), shift = db.UnitworkccsTblshiftMstr.Where(m => m.ShiftId == Convert.ToInt32(wf.Shift)).Select(m => m.ShiftName).FirstOrDefault() }).ToList(); foreach (var item in check) { OperatorDetailsShift operatorDetailsShift = new OperatorDetailsShift(); operatorDetailsShift.employeeName = item.employeeName; DateTime fDate = Convert.ToDateTime(item.fromDate); operatorDetailsShift.fromDate = fDate.ToString("yyyy-MM-dd"); DateTime tDate = Convert.ToDateTime(item.toDate); operatorDetailsShift.toDate = tDate.ToString("yyyy-MM-dd"); operatorDetailsShift.Cell = item.cellName; operatorDetailsShift.subCell = item.subCellName; operatorDetailsShift.department = item.department; operatorDetailsShift.designation = item.designation; operatorDetailsShift.employeeNo = item.employeeNo; operatorDetailsShift.shift = item.shift; if (item.machineIds != null) { List <int> machineIds = new List <int>(); try { machineIds = item.machineIds.Split(',').Select(x => int.Parse(x.Trim())).ToList(); } catch (Exception ex) { } List <MachineDetails1> machineDetailsList = new List <MachineDetails1>(); foreach (var ids in machineIds) { var dbCheck = db.UnitworkccsTblmachinedetails.Where(m => m.MachineId == ids).FirstOrDefault(); if (dbCheck != null) { MachineDetails1 machineDetails = new MachineDetails1(); machineDetails.machineId = dbCheck.MachineId; machineDetails.machineName = dbCheck.MachineName; machineDetailsList.Add(machineDetails); } } operatorDetailsShift.machinesList = machineDetailsList; } operatorDetailsShiftsList.Add(operatorDetailsShift); } } } return(operatorDetailsShiftsList); }