public IHttpActionResult GenerateITAccessRequest(ITAccessRequest Param) { JSON returnJSON = new JSON(); try { ITAccessRequestClass iTAccessRequestClass = new ITAccessRequestClass(); returnJSON = iTAccessRequestClass.GenerateITAccessRequest(Param); var response = ResponseMessage(Response(returnJSON.FormData.FormDownloadFile)); return(response); } catch (Exception ex) { returnJSON.Message = ex.Message; return(Json(returnJSON)); } }
public JSON GenerateITAccessRequest(ITAccessRequest Param) { JSON returnJSON = new JSON(); Application app = new Application(); object misValue = System.Reflection.Missing.Value; if (File.Exists(FormController.ServerPathTempForms() + Param.FileName + ".docx")) { File.Delete(FormController.ServerPathTempForms() + Param.FileName + ".docx"); } try { File.Copy(FormController.ServerPathFormsTemplate() + "IT Access Request.docx", FormController.ServerPathTempForms() + Param.FileName + ".docx"); Document doc = app.Documents.Open(FormController.ServerPathTempForms() + Param.FileName + ".docx"); Dictionary <string, string> bookmarks = new Dictionary <string, string> { { "EmployeeName", GenFunct.ToTitleCase($"{Param.Employee.EmployeeFirstName} {Param.Employee.EmployeeMiddleName}. {Param.Employee.EmployeeLastName} {Param.Employee.EmployeeSuffix}") }, { "EmployeeCode", Param.Employee.EmployeeCode.ToString() }, { "Position", Param.Position.PositionDescription }, { "GroupUnit", Param.GroupUnit.GroupUnitDescription }, }; if (Param.LLFCEmail.Selected == 1) { IfYes(bookmarks, "LLFCEmailYes", "LLFCEmailRemarks", Param.LLFCEmail.Remarks); } else { IfYes(bookmarks, "LLFCEmailNo", "LLFCEmailRemarks", Param.LLFCEmail.Remarks); } if (Param.Internet.Selected == 1) { IfYes(bookmarks, "InternetYes", "InternetRemarks", Param.Internet.Remarks); } else { IfYes(bookmarks, "InternetNo", "InternetRemarks", Param.Internet.Remarks); } if (Param.MainEntrance.Selected == 1) { IfYes(bookmarks, "MainEntranceYes", "MainEntranceRemarks", Param.MainEntrance.Remarks); } else { IfYes(bookmarks, "MainEntranceNo", "MainEntranceRemarks", Param.MainEntrance.Remarks); } if (Param.SecurityRoom.Selected == 1) { IfYes(bookmarks, "SecurityRoomYes", "SecurityRoomRemarks", Param.SecurityRoom.Remarks); } else { IfYes(bookmarks, "SecurityRoomNo", "SecurityRoomRemarks", Param.SecurityRoom.Remarks); } if (Param.ServerRoom.Selected == 1) { IfYes(bookmarks, "ServerRoomYes", "ServerRoomRemarks", Param.ServerRoom.Remarks); } else { IfYes(bookmarks, "ServerRoomNo", "ServerRoomRemarks", Param.ServerRoom.Remarks); } if (Param.PrinterBlackCopy.Selected == 1) { IfYes(bookmarks, "PrinterBlackYes", "PrinterBlackRemarks", Param.PrinterBlackCopy.Remarks); } else { IfYes(bookmarks, "PrinterBlackNo", "PrinterBlackRemarks", Param.LLFCEmail.Remarks); } if (Param.PrinterColoredCopy.Selected == 1) { IfYes(bookmarks, "PrinterColoredYes", "PrinterColoredRemarks", Param.PrinterColoredCopy.Remarks); } else { IfYes(bookmarks, "PrinterColoredNo", "PrinterColoredRemarks", Param.PrinterColoredCopy.Remarks); } if (Param.Telephone.Selected == 1) { IfYes(bookmarks, "TelephoneYes", "TelephoneRemarks", Param.Telephone.Remarks); } else { IfYes(bookmarks, "TelephoneNo", "TelephoneRemarks", Param.Telephone.Remarks); } if (Param.Biometrics.Selected == 1) { IfYes(bookmarks, "BiometricsYes", "BiometricsRemarks", Param.Biometrics.Remarks); } else { IfYes(bookmarks, "BiometricsNo", "BiometricsRemarks", Param.Biometrics.Remarks); } if (Param.Jeonsoft.Selected == 1) { IfYes(bookmarks, "JPSYes", "JPSRemarks", Param.Jeonsoft.Remarks); } else { IfYes(bookmarks, "JPSNo", "JPSRemarks", Param.Jeonsoft.Remarks); } if (Param.DMS.Selected == 1) { IfYes(bookmarks, "DMSYes", "DMSRemarks", Param.DMS.Remarks); } else { IfYes(bookmarks, "DMSNo", "DMSRemarks", Param.DMS.Remarks); } if (Param.FMS.Selected == 1) { IfYes(bookmarks, "FMSYes", "FMSRemarks", Param.FMS.Remarks); } else { IfYes(bookmarks, "FMSNo", "FMSRemarks", Param.FMS.Remarks); } if (Param.Jet.Selected == 1) { IfYes(bookmarks, "JetReportsYes", "JetReportsRemarks", Param.Jet.Remarks); } else { IfYes(bookmarks, "JetReportsNo", "JetReportsRemarks", Param.Jet.Remarks); } FormToWord.ApplyDataToBookmark(bookmarks, doc); doc.Save(); doc.ExportAsFixedFormat(FormController.ServerPathTempForms() + Param.FileName + ".pdf", WdExportFormat.wdExportFormatPDF); doc.Close(); app.Quit(); LLFCForm LLFCFormObj = new LLFCForm(); LLFCFormObj.FormDownloadFile = Param.FileName; returnJSON.FormData = LLFCFormObj; } catch (Exception ex) { app.Quit(); returnJSON.Message = $"Error Occured: {ex.Message}"; } return(returnJSON); }