public byte[] GetDemoPDFUpdate(SDK.DTO.GreenCard.Car.GreenCardRequestInfo request) { string pdfSourcePath = System.Web.Hosting.HostingEnvironment.MapPath("~/Content/cartevertetemplate.pdf"); using (var pdfReader = new PdfReader(pdfSourcePath)) { var memoryStream = new MemoryStream(); var pdfStamper = new PdfStamper(pdfReader, memoryStream); var pdfFormFields = pdfStamper.AcroFields; pdfFormFields.SetField(CarteVerteSimulationFields.LicencePlate, request.LicencePlate); pdfFormFields.SetField(CarteVerteSimulationFields.VIN, request.VIN); string infos = $@" UPDATE Généré le {DateTime.UtcNow} (UTC) "; pdfFormFields.SetField(CarteVerteSimulationFields.infos, infos); pdfStamper.FormFlattening = false; pdfStamper.Close(); return(memoryStream.ToArray()); } }
/// <summary> /// We use a temp dir for demo purpose /// </summary> /// <param name="request"></param> private static void SaveFilesInTempDir(SDK.DTO.GreenCard.Car.GreenCardRequestInfo request) { string tempdir = System.Web.Hosting.HostingEnvironment.MapPath("~/tempdir/"); Directory.CreateDirectory(tempdir); if (request.Attachments != null && request.Attachments.Any()) { foreach (var attachement in request.Attachments) { string filename = GetFileName(request, attachement); var filepath = Path.Combine(tempdir, filename); System.IO.File.WriteAllBytes(filepath, Convert.FromBase64String(attachement.Content)); } } }
/// <summary> /// Simulates a green card /// </summary> /// <param name="request"></param> /// <returns></returns> public byte[] GetDemoPDF(SDK.DTO.GreenCard.Car.GreenCardRequestInfo request) { string pdfSourcePath = System.Web.Hosting.HostingEnvironment.MapPath("~/Content/cartevertetemplate.pdf"); using (var pdfReader = new PdfReader(pdfSourcePath)) { var memoryStream = new MemoryStream(); var pdfStamper = new PdfStamper(pdfReader, memoryStream); var pdfFormFields = pdfStamper.AcroFields; pdfFormFields.SetField(CarteVerteSimulationFields.LicencePlate, request.LicencePlate); pdfFormFields.SetField(CarteVerteSimulationFields.VIN, request.VIN); string infos = ""; if (request.RequestDetails.VehicleOwner.IsCompany) { infos = $@"CREATION Client COMPANY : {request.RequestDetails.VehicleOwner.Company.Name} Vehicule : {request.RequestDetails.CarDetails.Make} {request.RequestDetails.CarDetails.Model} Généré le {DateTime.UtcNow} (UTC) "; } else { infos = $@"CREATION Client : {request.RequestDetails.VehicleOwner.Person.FirstName} {request.RequestDetails.VehicleOwner.Person.LastName} Vehicule : {request.RequestDetails.CarDetails.Make} {request.RequestDetails.CarDetails.Model} Généré le {DateTime.UtcNow} (UTC) "; } pdfFormFields.SetField(CarteVerteSimulationFields.infos, infos);//infos pdfStamper.FormFlattening = false; pdfStamper.Close(); return(memoryStream.ToArray()); } }
// for demo purpose: files are saved with a convention private static string GetFileName(SDK.DTO.GreenCard.Car.GreenCardRequestInfo request, SDK.Attachment attachement) { return($"{request.CorrelationId}{attachement.Filename}"); }