public ProjectWorkflowENT PdfGenerate(ProjectWorkflowENT Param, IHostingEnvironment _hostingEnvironment) { ProjectENT model = new ProjectCRUD().SelectSingle(Param.ProjectId); string title = RemoveSpecialCharacters(model.Title); string fileName = title + ".pdf"; CompanyProfileENT setings = new CompanyCRUD().SelectAll(); #region Testing code //string contentRootPath = "https:\\nbk-api-dev.azurewebsites.net";//_hostingEnvironment.ContentRootPath; //Uri baseUri = new Uri("http://nbk-api-dev.azurewebsites.net"); //Uri myUri = new Uri(baseUri, "Resources/Files/"); //Param.AttachmentURL = myUri + fileName; //HTMLToPdf(myUri + "Sample.pdf", myUri + "Docs/" + fileName, model, setings, contentRootPath, Param); #endregion //var path = System.IO.Path.Combine(context.FunctionDirectory, "twinkle.txt"); var uriBuilder = new UriBuilder("https://nbk-api-dev.azurewebsites.net/Resources/Files/"); var uriBuilderDoc = new UriBuilder("https://nbk-api-dev.azurewebsites.net/Resources/Files/Docs/"); var uriBuilderImage = new UriBuilder("https://nbk-api-dev.azurewebsites.net/Resources/"); Uri finalUrl = uriBuilder.Uri; Uri finalUrlDoc = uriBuilderDoc.Uri; Uri finalUrlImage = uriBuilderImage.Uri; //var request = WebRequest.Create(finalUrl); //string webRootPath = _hostingEnvironment.WebRootPath; //string contentRootPath = "https://nbk-api-dev.azurewebsites.net";//_hostingEnvironment.ContentRootPath; Param.AttachmentURL = "https:\\nbk-api-dev.azurewebsites.net" + "\\Resources\\Files\\" + fileName; HTMLToPdf(finalUrl + "Sample.pdf", finalUrlDoc + fileName, model, setings, finalUrlImage + "", Param); return(Param); }
public List <Project> GetProjects() { List <Project> listProjects = new List <Project>(); ProjectCRUD projectCrud = new ProjectCRUD(); listProjects = projectCrud.GetProjects(); return(listProjects); }
public ProjectWorkflowENT PdfSave(ProjectWorkflowENT Param, IHostingEnvironment _hostingEnvironment, IFormFile FileInRequest) { //Deleting old file with same name String fileNameInDoc = Param.AttachmentURL; if (fileNameInDoc != null || fileNameInDoc != string.Empty) { if ((System.IO.File.Exists(fileNameInDoc))) { System.IO.File.Delete(fileNameInDoc); } } //Renaming File string fileNameTrim = FileInRequest.FileName.Remove(FileInRequest.FileName.Length - 5); var filetitle = RemoveSpecialCharacters(fileNameTrim); string RemoveSpaceFileTitle = filetitle.Replace(" ", ""); if (RemoveSpaceFileTitle.Length > 30) { RemoveSpaceFileTitle = RemoveSpaceFileTitle.Substring(0, 30); } ProjectENT model = new ProjectCRUD().SelectSingle(Param.ProjectId); var title = RemoveSpecialCharacters(model.Title); string RemoveSpaceTitle = title.Replace(" ", ""); if (RemoveSpaceTitle.Length > 30) { RemoveSpaceTitle = RemoveSpaceTitle.Substring(0, 30); } //finally concatinating title, file name, random name //file name convention string[] fileExt = FileInRequest.FileName.Split('.'); int countIndex = fileExt.Count(); string ext = fileExt[countIndex - 1]; string CombinedName = RemoveSpaceTitle + "-" + RemoveSpaceFileTitle + "." + ext; string contentRootPath = _hostingEnvironment.ContentRootPath; var uploads = contentRootPath + "\\Resources\\Files\\Docs\\"; var filePath = Path.Combine(uploads, CombinedName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { FileInRequest.CopyToAsync(fileStream); } string OrignalFileName = PDFReadOnly(CombinedName, uploads); Param.FileName = OrignalFileName; Param.RootURL = uploads; return(Param); }
//BL //MAP //Init private void initConstructor(DBMAINContext poDB) { //DBContext this.db = poDB; //VM this.oVM = new ProjectVM(); //DS this.oDS = new ProjectDS(this.db); //CRUD this.oCRUD = new ProjectCRUD(this.db); //BL //MAP } //End initConstructor
public void HTMLToPdf(string FilePath, string newpath, ProjectENT model, CompanyProfileENT setings, string contentRootPath, ProjectWorkflowENT Param) { PostCodeENT PostNumbData = new MiscellaneousCRUD().GetSinglePostCodeByPostNumber(Convert.ToString(setings.postCode)); List <ProjectService> ListProjectServices = new ProjectCRUD().ListOfProjectServicesByWorkflowID(Param.WorkflowId, Param.ProjectId); List <int?> ServiceIDs = ListProjectServices.Select(x => x.ServiceId).ToList(); List <ServiceENT> ServiceMultiData = new ServiceCRUD().GetMultipleServiceByMultiServiceIDs(ServiceIDs); string pdfPath = newpath; // The file location of the new PDF file PdfReader reader = new PdfReader(FilePath); // filename is the path to the PDF template file. FileStream output = new FileStream(pdfPath, FileMode.OpenOrCreate); // you can also use a Memory Stream. PdfStamper stamper = new PdfStamper(reader, output); // the stamper is required for updating fields. AcroFields af = reader.AcroFields; stamper.AcroFields.GenerateAppearances = false; ////Table one //stamper.AcroFields.SetField("Tekst498", "uzb"); //stamper.AcroFields.SetField("Tekst257", "uzb1"); //stamper.AcroFields.SetField("Tekst261", "uzb2"); //stamper.AcroFields.SetField("Tekst266", "uzb3"); stamper.AcroFields.SetField("Tekst264", "uzb3"); stamper.AcroFields.SetField("Tekst257", model.GardsNo); stamper.AcroFields.SetField("Tekst261", model.Bruksnmmer); stamper.AcroFields.SetField("Tekst264", model.Kommune); stamper.AcroFields.SetField("Tekst254", model.Address); stamper.AcroFields.SetField("Tekst255", model.PostNo); stamper.AcroFields.SetField("Tekst256", model.Poststed); ////Table two stamper.AcroFields.SetField("Foretak_2", setings.companyName); stamper.AcroFields.SetField("Organisasjonsnr", setings.organizationalNumber); stamper.AcroFields.SetField("Adresse_2", setings.address); stamper.AcroFields.SetField("Tekst4", Convert.ToString(setings.postCode)); //stamper.AcroFields.SetField("Tekst5", setings.City.Name); stamper.AcroFields.SetField("Tekst5", PostNumbData.Poststed); stamper.AcroFields.SetField("Tekst105", setings.ownerName); stamper.AcroFields.SetField("Telefon", setings.telephone); stamper.AcroFields.SetField("Mobiltelefon", setings.mobile); //stamper.AcroFields.SetField("Tekst106", setings.EmailAddress); ////Services Table int a = 1; //Empty 1st two rows of grid stamper.AcroFields.SetField("NedtrekkslisteRow1", "-"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow1", ""); stamper.AcroFields.SetField("Nedtrekksliste23", "-"); stamper.AcroFields.SetField("Avmerkingsboks10#1", "Off"); stamper.AcroFields.SetField("Avmerkingsboks810", "Off"); stamper.AcroFields.SetField("Nedtrekk121", "-"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow2", ""); stamper.AcroFields.SetField("Nedtrekksliste24", "-"); stamper.AcroFields.SetField("Avmerkingsboks1101", "Off"); stamper.AcroFields.SetField("Avmerkingsboks110#10", "Off"); //Empty Ends foreach (var item in ListProjectServices) { ServiceENT DataSingleService = ServiceMultiData.Where(x => x.Id == (Convert.ToInt32(item.ServiceId))).FirstOrDefault(); if (DataSingleService.ServiceTypeId != 3) { if (a == 1) { //string valuename = GetCheckBoxExportValue(af, "Avmerkingsboks10#1"); stamper.AcroFields.SetField("NedtrekkslisteRow1", "kontroll"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow1", item.Service.Name); stamper.AcroFields.SetField("Nedtrekksliste23", DataSingleService.ServiceTypeId.ToString()); stamper.AcroFields.SetField("Avmerkingsboks10#1", "Ja"); stamper.AcroFields.SetField("Avmerkingsboks810", "Ja"); } else if (a == 2) { //string valuename = GetCheckBoxExportValue(af, "Avmerkingsboks1102"); stamper.AcroFields.SetField("Nedtrekk121", "kontroll"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow2", item.Service.Name); stamper.AcroFields.SetField("Nedtrekksliste24", DataSingleService.ServiceTypeId.ToString()); stamper.AcroFields.SetField("Avmerkingsboks1101", "Ja"); stamper.AcroFields.SetField("Avmerkingsboks110#10", "Ja"); } else if (a == 3) { stamper.AcroFields.SetField("NedtrekkslisteRow21", "kontroll"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow3", item.Service.Name); stamper.AcroFields.SetField("Nedtrekksliste25", DataSingleService.ServiceTypeId.ToString()); stamper.AcroFields.SetField("Avmerkingsboks1102", "Ja"); stamper.AcroFields.SetField("Avmerkingsboks1102#10", "Ja"); } else if (a == 4) { //stamper.AcroFields.SetField("NedtrekkslisteRow4", "kontroll"); stamper.AcroFields.SetField("NedtrekkslisteRow3", "kontroll"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow4", item.Service.Name); stamper.AcroFields.SetField("Nedtrekksliste26", DataSingleService.ServiceTypeId.ToString()); stamper.AcroFields.SetField("Avmerkingsboks1103", "Ja"); stamper.AcroFields.SetField("Avmerkingsboks8103", "Ja"); } else if (a == 5) { stamper.AcroFields.SetField("NedtrekkslisteRow5", "kontroll"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow5", item.Service.Name); stamper.AcroFields.SetField("Nedtrekksliste27", DataSingleService.ServiceTypeId.ToString()); stamper.AcroFields.SetField("Avmerkingsboks1104", "Ja"); stamper.AcroFields.SetField("Avmerkingsboks8104", "Ja"); } else if (a == 6) { stamper.AcroFields.SetField("NedtrekkslisteRow6", "kontroll"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow6", item.Service.Name); stamper.AcroFields.SetField("Nedtrekksliste28", DataSingleService.ServiceTypeId.ToString()); stamper.AcroFields.SetField("Avmerkingsboks1105", "Ja"); stamper.AcroFields.SetField("Avmerkingsboks8105", "Ja"); } else if (a == 7) { stamper.AcroFields.SetField("NedtrekkslisteRow7", "kontroll"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow7", item.Service.Name); stamper.AcroFields.SetField("Nedtrekksliste29", DataSingleService.ServiceTypeId.ToString()); stamper.AcroFields.SetField("Avmerkingsboks1106", "Ja"); stamper.AcroFields.SetField("Avmerkingsboks8106", "Ja"); } else if (a == 8) { stamper.AcroFields.SetField("NedtrekkslisteRow8", "kontroll"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow8", item.Service.Name); stamper.AcroFields.SetField("Nedtrekksliste30", DataSingleService.ServiceTypeId.ToString()); stamper.AcroFields.SetField("Avmerkingsboks1107", "Ja"); stamper.AcroFields.SetField("Avmerkingsboks8107", "Ja"); } else if (a == 9) { stamper.AcroFields.SetField("NedtrekkslisteRow9", "kontroll"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow9", item.Service.Name); stamper.AcroFields.SetField("Nedtrekksliste31", DataSingleService.ServiceTypeId.ToString()); stamper.AcroFields.SetField("Avmerkingsboks1108", "Ja"); stamper.AcroFields.SetField("Avmerkingsboks8108", "Ja"); } else if (a == 10) { stamper.AcroFields.SetField("NedtrekkslisteRow10", "kontroll"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow10", item.Service.Name); stamper.AcroFields.SetField("Nedtrekksliste32", DataSingleService.ServiceTypeId.ToString()); stamper.AcroFields.SetField("Avmerkingsboks1109", "Ja"); stamper.AcroFields.SetField("Avmerkingsboks8109", "Ja"); } else if (a == 11) { stamper.AcroFields.SetField("NedtrekkslisteRow109", "kontroll"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow109", item.Service.Name); stamper.AcroFields.SetField("Nedtrekksliste3131", DataSingleService.ServiceTypeId.ToString()); stamper.AcroFields.SetField("Avmerkingsboks11080", "Ja"); stamper.AcroFields.SetField("Avmerkingsboks81081", "Ja"); } else if (a == 12) { stamper.AcroFields.SetField("NedtrekkslisteRow1110", "kontroll"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow1010", item.Service.Name); stamper.AcroFields.SetField("Nedtrekksliste3232", DataSingleService.ServiceTypeId.ToString()); stamper.AcroFields.SetField("Avmerkingsboks11092", "Ja"); stamper.AcroFields.SetField("Avmerkingsboks81092", "Ja"); } #region commented //stamper.AcroFields.SetField("NedtrekkslisteRow1", "kontroll"); //stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow1", item.Service.Name); ////stamper.AcroFields.SetField("Responsible_ActionClass_" + a, item.Quantity.ToString()); //stamper.AcroFields.SetField("Nedtrekksliste23", item.Service.ServiceTypeID.ToString()); ////stamper.AcroFields.SetField("Responsible_FramePermit_" + a, "X"); ////stamper.AcroFields.SetField("Responsible_BuildingPermit_" + a, "X"); //stamper.AcroFields.SetField("Avmerkingsboks10#1", "47"); //stamper.AcroFields.SetField("Avmerkingsboks810", "78"); ////var aaa = stamper.AcroFields.Fields["Avmerkingsboks10#1"]; //stamper.AcroFields.SetField("Responsible_Function_" + a, "kontroll"); //stamper.AcroFields.SetField("Responsible_Description_" + a, item.Service.Name); ////stamper.AcroFields.SetField("Responsible_ActionClass_" + a, item.Quantity.ToString()); //stamper.AcroFields.SetField("Responsible_ActionClass_" + a, item.Service.ServiceTypeID.ToString()); //stamper.AcroFields.SetField("Responsible_FramePermit_" + a, "X"); //stamper.AcroFields.SetField("Responsible_BuildingPermit_" + a, "X"); //stamper.AcroFields.SetField("Responsible_TempUsePermit_" + a, "X"); //stamper.AcroFields.SetField("Responsible_Complete_" + a, "X"); #endregion a++; } } if (a == 1 && ListProjectServices.Count == 0) { stamper.AcroFields.SetField("NedtrekkslisteRow1", "-"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow1", ""); stamper.AcroFields.SetField("Nedtrekksliste23", "-"); stamper.AcroFields.SetField("Avmerkingsboks10#1", "Off"); stamper.AcroFields.SetField("Avmerkingsboks810", "Off"); a++; } if (a == 2 && ListProjectServices.Count == 1) { stamper.AcroFields.SetField("Nedtrekk121", "-"); stamper.AcroFields.SetField("Beskrivelse av ansvarsområdetRow2", ""); stamper.AcroFields.SetField("Nedtrekksliste24", "-"); stamper.AcroFields.SetField("Avmerkingsboks1101", "Off"); stamper.AcroFields.SetField("Avmerkingsboks110#10", "Off"); } ////Last Table //Changings done after clients feedback///////////////////////////////////////////////////////// //stamper.AcroFields.SetField("ResponsibleApp_Company", model.Contact.Name); //stamper.AcroFields.SetField("Date", DateTime.Now.ToString("dd.MM.yy")); //stamper.AcroFields.SetField("ResponsibleApp_Person_Cap", model.Customer.Name); //stamper.AcroFields.SetField("ResponsibleApp_Company", ""); stamper.AcroFields.SetField("Tekst98", DateTime.Now.ToString("dd.MM.yy")); stamper.AcroFields.SetField("Gjentas med blokkbokstaver", setings.ownerName); var pdfContentByte = stamper.GetOverContent(1); //var url = @"http://nbk.d.com.pk/Resources/global/images/RuneSignature.jpg"; var url = contentRootPath + "/Images/RuneSignature.jpg"; //var uri = new Uri(url); //var path = Path.GetFileName(uri.AbsolutePath); //HttpWebRequest imageRequest = (HttpWebRequest)WebRequest.Create(url); // below lines will be commented for azure //WebResponse imageResponse = imageRequest.GetResponse(); //Stream inputImageStream = imageResponse.GetResponseStream(); //////Stream inputImageStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read); //iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(inputImageStream); //image.SetAbsolutePosition(150, 60); //image.ScalePercent(40f); //pdfContentByte.AddImage(image); #region commented ////Add signature image code STARTS //AcroFields.FieldPosition fieldPosition = stamper.AcroFields.GetFieldPositions("Gjentas med blokkbokstaver")[0]; //PushbuttonField imageField = new PushbuttonField(stamper.Writer, fieldPosition.position, "Gjentas med blokkbokstaver"); //imageField.Layout = PushbuttonField.LAYOUT_ICON_ONLY; //string imageFile = "http://nbk.d.com.pk/Resources/global/images/RuneSignature.jpg"; //imageField.Image = iTextSharp.text.Image.GetInstance(imageFile); //imageField.ScaleIcon = PushbuttonField.SCALE_ICON_ALWAYS; //imageField.ProportionalIcon = false; //imageField.Options = BaseField.READ_ONLY; //stamper.AcroFields.RemoveField("Gjentas med blokkbokstaver"); //stamper.AddAnnotation(imageField.Field, fieldPosition.page); ////Add signature image code ENDS ////stamper.AcroFields.ReplacePushbuttonField("Gjentas med blokkbokstaver", imageField.Field); #endregion stamper.Close(); reader.Close(); }
public void AddProject(Project project) { ProjectCRUD projectCrud = new ProjectCRUD(); projectCrud.Addproject(project); }