public HttpResponseMessage CreatePdf(bool successfully, bool unsuccessfully, DateTime?fromDate, DateTime?toDate, string consumer = "", string provider = "") { var context = HttpContext.Current; var contextBase = new HttpContextWrapper(context); var routeData = new RouteData(); routeData.Values.Add("controller", "Template"); var controllerContext = new ControllerContext(contextBase, routeData, new EmptyController()); //var statistics = GetMessageLogs(successfully, unsuccessfully, fromDate, toDate, consumer, provider).ToList(); var resultData = PrepareDataForReports(successfully, unsuccessfully, fromDate, toDate, consumer, provider); var r = new Rotativa.ViewAsPdf("PrintStatistics", resultData); var binary = r.BuildPdf(controllerContext); var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(binary) }; result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf"); result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "testpdf" }; return(result); }
public ActionResult SendEmail(EmailViewModel vm) { try { OrdersTransfereeItineraryViewModel viewModel = BuildItineraryByOrderId(vm.id); viewModel.Id = vm.id; viewModel.IsPdf = true; var to = ParseAddress(vm.Email); if (to == null) { return(null); } Transferee ee = GetTransfereeByOrderId(vm.id); if (ee == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound, "Not found")); } viewModel.TransfereeName = ee.FullName; string filename = "Itinerary" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".pdf"; var pdf = new Rotativa.ViewAsPdf("~/Views/PDF/PDFItinerary.cshtml", viewModel); byte[] pdfBytes = pdf.BuildFile(ControllerContext); MemoryStream stream = new MemoryStream(pdfBytes); EmailHelper EH = new EmailHelper(); EH.SendEmail_FS(to, vm.Subject, vm.Message, SendGrid.MimeType.Html, filename, pdfBytes); viewModel.IsPdf = false; return(PartialView("~/views/orders/partials/_Itinerary.cshtml", viewModel)); } catch (Exception ex) { ModelState.Clear(); return(null); } }
public HttpResponseMessage CreatePdf(string filterConsumer, string filterProvider, string filterDir, string filterService, string filterMethod, DateTime?fromDate, DateTime?toDate, string sortDir, string sortCol) { var context = HttpContext.Current; var contextBase = new HttpContextWrapper(context); var routeData = new RouteData(); routeData.Values.Add("controller", "Template"); var controllerContext = new ControllerContext(contextBase, routeData, new EmptyController()); var messagelogs = _messageLogsRepository.GetFilteredMessageLogs(filterConsumer, filterProvider, filterDir, filterService, filterMethod, fromDate, toDate, sortDir, sortCol); var r = new Rotativa.ViewAsPdf("PrintMessageLogs", messagelogs) { //PageSize = Size.A4, //PageMargins = {Left = 0, Right = 0, Bottom = 30, Top = 20}, //FileName = "testpdf", }; var binary = r.BuildPdf(controllerContext); HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); result.Content = new ByteArrayContent(binary); result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf"); result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "testpdf" }; return(result); }
public ActionResult PrintTopContributorsReport(int projectId) { var project = _dataManager.FindProjectById(projectId); if (project == null) { return(HttpNotFound()); } TopContributorsReportBuilder builder = new TopContributorsReportBuilder(_dataManager); List <UserContribution> contributionList = builder.CalculateUserContributions(project); List <UserContributionViewModel> viewModels = new List <UserContributionViewModel>(); contributionList.ForEach(contribution => viewModels.Add(Mapper.Map <UserContributionViewModel>(contribution))); TopContributorsReportViewModel model = new TopContributorsReportViewModel() { ProjectName = project.Name, ProjectId = project.Id, UserContributionList = viewModels, HideGenerate = true }; var action = new Rotativa.ViewAsPdf("Reports/_partialTopContributorReport", model: model) { FileName = "Project Summary.pdf" }; return(action); }
public ActionResult Send() { var books = db.Books.ToList(); var pdfViewResult = new Rotativa.ViewAsPdf("Print", books) { FileName = "books.pdf" }; var pdfAttachment = new Gabs.Helpers.EmailUtil.EmailAttachment() { Data = pdfViewResult.BuildPdf(this.ControllerContext), ContentType = "application/pdf", FileName = pdfViewResult.FileName }; bool result = Gabs.Helpers.EmailUtil.SendEmail("*****@*****.**", "Sample PDF Email", "Hello! Attach is the pdf file.", pdfAttachment); if (result) { TempData["MessageBox"] = "PDF Email successfully sent."; } else { TempData["MessageBox"] = "Sending failed."; } return(RedirectToAction("Index")); }
public HttpResponseMessage CreatePdf(Guid?filterTransaction, DateTime?fromDateSoap, DateTime?toDateSoap, string sortDir, string sortCol) { var context = HttpContext.Current; var contextBase = new HttpContextWrapper(context); var routeData = new RouteData(); routeData.Values.Add("controller", "Template"); var controllerContext = new ControllerContext(contextBase, routeData, new EmptyController()); var soapfaults = _soapFaultRepository.GetFilteredSoapFaults(filterTransaction, fromDateSoap, toDateSoap, sortDir, sortCol); var r = new Rotativa.ViewAsPdf("PrintSoapFaults", soapfaults) { //PageSize = Size.A4, //PageMargins = {Left = 0, Right = 0, Bottom = 30, Top = 20}, //FileName = "testpdf", }; var binary = r.BuildPdf(controllerContext); HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); result.Content = new ByteArrayContent(binary); result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf"); result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "testpdf" }; return(result); }
public ActionResult PrintIndexAsPdf() { var products = db.Products.Include(p => p.Category).Include(p => p.Supplier).OrderBy(s => s.ProductName); var pp = new Rotativa.ViewAsPdf(products); pp.CustomSwitches = "--print-media-type"; pp.PageOrientation = Rotativa.Options.Orientation.Landscape; return pp; }
public ActionResult PrintIndexAsPdf() { var products = db.Products.Include(p => p.Category).Include(p => p.Supplier).OrderBy(s => s.ProductName); var pp = new Rotativa.ViewAsPdf(products); pp.CustomSwitches = "--print-media-type"; pp.PageOrientation = Rotativa.Options.Orientation.Landscape; return(pp); }
public ActionResult PrintIndexAsPdfPageList(int?page) { var products = db.Products.Include(p => p.Category).Include(p => p.Supplier).OrderBy(s => s.ProductName); int pageSize = 10; int pageNumber = (page ?? 1); var productsPaged = products.ToPagedList(pageNumber, pageSize); var pp = new Rotativa.ViewAsPdf(productsPaged); pp.CustomSwitches = "--print-media-type"; pp.PageOrientation = Rotativa.Options.Orientation.Landscape; return(pp); }
// GET: Invoices/PrintInvoice/5 public ActionResult PrintInvoice(Guid id) { var invoice = _invoiceRepository.GetWithItems(GetCurrentUserId(), id); var result = new Rotativa.ViewAsPdf("Invoice", invoice) { FileName = "invoice.pdf", PageSize = Size.A4 }; return(result); }
public Byte[] getPDF() { var actionPDF = new Rotativa.ViewAsPdf("YOUR_VIEW_NAME") ) { PageSize = Rotativa.Options.Size.A4, PageOrientation = Rotativa.Options.Orientation.Landscape, PageMargins = { Left = 1, Right = 1 } }; byte[] applicationPDFData = actionPDF.BuildPdf(this.ControllerContext); return applicationPDFData; }
private void CreatePdf(string fileName, object model, string actionName) { var pdf = new Rotativa.ViewAsPdf(actionName, model) { PageSize = Size.A4 }; byte[] bytePdf = pdf.BuildPdf(this.ControllerContext); var url = System.Web.HttpContext.Current.Server.MapPath("~") + "/RESOURCES/" + fileName + ".pdf"; var fileStream = new FileStream(url, FileMode.Create, FileAccess.Write); fileStream.Write(bytePdf, 0, bytePdf.Length); fileStream.Close(); }
public ErrorEmail enviarCorreo(string emailDestino, string clientName, Rotativa.ViewAsPdf rotativaFile, ControllerContext controllerContext, string aditionalBody) { var fileBytes = rotativaFile.BuildPdf(controllerContext); Stream stream = new MemoryStream(fileBytes); String fileName = rotativaFile.FileName; if (string.IsNullOrEmpty(fileName)) { fileName = "tempPDF.pdf"; } return(enviarCorreo(emailDestino, clientName, stream, fileName, aditionalBody)); }
public HttpResponseMessage CreatePdf(string filterConsumer, string filterProvider, string filterService, string filterMethod, DateTime?fromDate, DateTime?toDate, string sortDir, string sortCol, bool?filterTransactionSuccess = null) { var context = HttpContext.Current; var contextBase = new HttpContextWrapper(context); var routeData = new RouteData(); routeData.Values.Add("controller", "Template"); var controllerContext = new ControllerContext(contextBase, routeData, new EmptyController()); var messagelogs = _messageLogsRepository.GetFilteredMessageLogs(filterConsumer, filterProvider, filterService, filterMethod, filterTransactionSuccess, fromDate, toDate, sortDir, sortCol).ToList(); var splitter = new[] { "$$" }; var allParticipants = GetParticipants(); var allServices = GetServices(); foreach (var messageLogExcelDto in messagelogs) { string msgLogRoutingToken = messageLogExcelDto.RoutingToken.Contains("$$") ? messageLogExcelDto.RoutingToken.Split(splitter, StringSplitOptions.None).Last().ToLower() : messageLogExcelDto.RoutingToken.ToLower(); string msgLogConsumer = messageLogExcelDto.Consumer.Contains("$$") ? messageLogExcelDto.Consumer.Split(splitter, StringSplitOptions.None).Last().ToLower() : messageLogExcelDto.Consumer.ToLower(); if (allParticipants.Count > 0) { foreach (var participant in allParticipants) { string partKey = participant.Key.Contains("$$") ? participant.Key.Split(splitter, StringSplitOptions.None).Last().ToLower() : participant.Key.ToLower(); if (partKey == msgLogRoutingToken) { messageLogExcelDto.RoutingToken = participant.Value; } if (partKey == msgLogConsumer) { messageLogExcelDto.Consumer = participant.Value; } } } messageLogExcelDto.Service = allServices.FirstOrDefault(x => x.Key.ToLower() == messageLogExcelDto.Service.ToLower()).Value; } var r = new Rotativa.ViewAsPdf("PrintMessageLogs", messagelogs); var binary = r.BuildPdf(controllerContext); var result = new HttpResponseMessage(HttpStatusCode.OK); result.Content = new ByteArrayContent(binary); result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf"); result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment"); return(result); }
private string GeneratePDF(SolicitudViewModel solicitud) { var date = DateTime.Now.ToString("yyyyMMddHHmmss"); var id = solicitud.Id; var fileName = $"{id}_{date}"; var actionPDF = new Rotativa.ViewAsPdf("PDFView", solicitud) { PageSize = Rotativa.Options.Size.A4, PageOrientation = Rotativa.Options.Orientation.Portrait, PageMargins = new Margins(12, 25, 12, 25) }; byte[] pdf = actionPDF.BuildFile(ControllerContext); using (FileStream stream = new FileStream(Server.MapPath($"~/PDFs/{fileName}.pdf"), FileMode.Create, FileAccess.Write, FileShare.Read)) { stream.Write(pdf, 0, pdf.Length); } return($"{fileName}.pdf"); }
public ActionResult descargarReporte(int?id, string errorPagoMsg) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Evento reservacion = db.eventos.Find(id); if (reservacion == null) { return(HttpNotFound()); } var fileView = new Rotativa.ViewAsPdf("ReporteDeEvento", "BlankLayout", reservacion) { FileName = reservacion + ".pdf" }; //Code to get content return(fileView); }
public ActionResult SendEmail(EmailViewModel vm) { try { var to = ParseAddress(vm.Email); if (to == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Missing 'to' field!")); } var userId = User.Identity.GetUserId(); var order = _unitOfWork.Orders.GetOrderFor(userId, vm.id, User.GetUserRole()); if (order == null || order.Transferee == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound, "Not found")); } OrdersTransfereeItineraryViewModel viewModel = BuildItineraryFromOrder(order); viewModel.Id = vm.id; viewModel.IsPdf = true; viewModel.TransfereeName = order.Transferee.FullName; string filename = "Itinerary" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".pdf"; var pdf = new Rotativa.ViewAsPdf("~/Views/PDF/PDFItinerary.cshtml", viewModel); byte[] pdfBytes = pdf.BuildFile(ControllerContext); MemoryStream stream = new MemoryStream(pdfBytes); EmailHelper EH = new EmailHelper(); EH.SendEmail_FS(to, vm.Subject, vm.Message, SendGrid.MimeType.Html, filename, pdfBytes); viewModel.IsPdf = false; return(PartialView("~/views/PDF/PDFItinerary.cshtml", viewModel)); } catch (Exception ex) { ModelState.Clear(); return(null); } }
public ActionResult PrintSprintStatusReport(int sprintId) { SprintModel sprintModel = _dataManager.FindSprintById(sprintId); if (sprintModel == null) { HttpNotFound(); } SprintStatusReportBuilder statusReportBuilder = new SprintStatusReportBuilder(_dataManager); var sprintReport = statusReportBuilder.BuildSprintStatus(sprintModel.Id); SprintStatusReportViewModel model = Mapper.Map <SprintStatusReportViewModel>(sprintReport); model.HideGenerate = true; var action = new Rotativa.ViewAsPdf("Reports/_partialSprintStatusReport", model: model) { FileName = "Sprint status report.pdf" }; return(action); }
public ActionResult PrintIndexAsPdfPageList(int? page) { var products = db.Products.Include(p => p.Category).Include(p => p.Supplier).OrderBy(s => s.ProductName); int pageSize = 10; int pageNumber = (page ?? 1); var productsPaged = products.ToPagedList(pageNumber, pageSize); var pp = new Rotativa.ViewAsPdf(productsPaged); pp.CustomSwitches = "--print-media-type"; pp.PageOrientation = Rotativa.Options.Orientation.Landscape; return pp; }
public DataForRetiredDTO GetDataForRetired(string embg) { var retiredDto = new DataForRetiredDTO(); try { if (string.IsNullOrEmpty(embg)) { throw new ArgumentException("Невалиден ЕМБГ, внесениот ЕМБГ треба да содржи 13 цифри. ", embg); } if (embg.Any(x => (char.IsLetter(x) || char.IsSeparator(x) || char.IsPunctuation(x) || char.IsSymbol(x)))) { throw new ArgumentException("Невалиден ЕМБГ, внесениот ЕМБГ содржи карактери/симболи. ", embg); } var embgTemp = new String(embg.Where(Char.IsDigit).ToArray()); if (embgTemp.Length != 13) { throw new ArgumentException("Невалиден ЕМБГ, внесениот ЕМБГ треба да содржи 13 цифри. ", embg); } //Service with unseparated methods //var fpiomClient = new FPIOMInsuredRetiredAdapter.FPIOMServiceClient(); //var retired = fpiomClient.GetDataForRetired(embg); //Service with separated methods and separated services depend on enviroment var enviroment = AppSettings.Get <string>("Enviroment"); string result; if (enviroment == "Production") { var fpiomClient = new FPIOMPodatociPenzioner.DataForRetiredClient(); result = fpiomClient.GetDataForRetired(embg); } else { var fpiomClient = new FPIOMPodatociPenzionerTest.DataForRetiredClient(); result = fpiomClient.GetDataForRetired(embg); } var stringReader = new StringReader(result); var serializer = new XmlSerializer(typeof(DataForRetiredDTO)); retiredDto = (DataForRetiredDTO)serializer.Deserialize(stringReader); _logger.Info("Result from adapter: " + result); var context = HttpContext.Current; var contextBase = new HttpContextWrapper(context); var routeData = new RouteData(); routeData.Values.Add("controller", "Template"); var controllerContext = new ControllerContext(contextBase, routeData, new FPIOMController.EmptyController()); var dataforRetired = retiredDto; dataforRetired.FillBasicPrintInfo("Податоци за пензионер", InstitutionName); var r = new Rotativa.ViewAsPdf("PrintDataForRetired", dataforRetired); var binary = r.BuildPdf(controllerContext); var date = DateTime.Now.Day; var month = DateTime.Now.Month; var year = DateTime.Now.Year; var hour = DateTime.Now.Hour; var minutes = DateTime.Now.Minute; var secods = DateTime.Now.Second; var namepdfretired = "PIOM_GetDataForRetired_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".pdf"; var namexmlretired = "PIOM_GetDataForRetired_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".xml"; var path = WebConfigurationManager.AppSettings["PathToFile"]; retiredDto.FilePdfNameRetired = namepdfretired; retiredDto.FileXMLNameRetired = namexmlretired; var pathpdf = path + namepdfretired; File.WriteAllBytes(pathpdf, binary); var pathxml = path + namexmlretired; File.WriteAllText(pathxml, result); } catch (FaultException e) { _logger.Error(e.Message, "PIOM - GetDataForRetired() - Custom Interop fault exception"); throw; } catch (Exception e) { _logger.Error(e.Message, "PIOM - GetDataForRetired() - Exception Error"); throw e; } return(retiredDto); }
public DataForConstructionPermitDTO GetDataForConstructionPermit(string archiveNumber, string constructionTypeId, string municipalityId, string sendDate = null, string getDocuments = null) { ServicePointManager.ServerCertificateValidationCallback += (s, cert, chain, sslPolicyErrors) => true; int k; if (!int.TryParse(constructionTypeId, out k)) { throw new ArgumentException("Погрешен идентификационен број на тип на градба:", constructionTypeId); } if (!int.TryParse(municipalityId, out k)) { throw new ArgumentException("Погрешен идентификационен број на општина:", municipalityId); } if ((!string.IsNullOrEmpty(getDocuments) && getDocuments != "y") && (!string.IsNullOrEmpty(getDocuments) && getDocuments != "n")) { throw new ArgumentException("Погрешенo внесен параметар Преземи документ(y/n):", getDocuments); } var output = new DataForConstructionPermitDTO(); try { var MZTVClient = new MZTVConstructionPermitAdapter.MzTVAdapterClient(); _logger.Info("GetConstructionPermitData" + archiveNumber + "/" + constructionTypeId + "/" + municipalityId + "/" + sendDate); var outputMZTV = MZTVClient.ConsPerm(archiveNumber, constructionTypeId, municipalityId, sendDate, getDocuments); _logger.Info("outputMZTV"); List <MunicipalitiesViewModel> municipalities = new List <MunicipalitiesViewModel>(); List <string> investors = new List <string>(); List <DocumentsViewModel> documents = new List <DocumentsViewModel>(); if (outputMZTV != null) { if (outputMZTV.Investors.Count != 0) { foreach (string invest in outputMZTV.Investors) { investors.Add(invest); } } if (outputMZTV.Municipalities.Length != 0) { for (int i = 0; i < outputMZTV.Municipalities.Length; i++) { if (outputMZTV.Municipalities[i].CadastreMunicipalities.Length != 0) { List <CadastreMunicipalitiesViewModel> cadas = new List <CadastreMunicipalitiesViewModel>(); for (int j = 0; j < outputMZTV.Municipalities[i].CadastreMunicipalities.Length; j++) { CadastreMunicipalitiesViewModel cadM = new CadastreMunicipalitiesViewModel { Ko = outputMZTV.Municipalities[i].CadastreMunicipalities[j].Ko, Kp = outputMZTV.Municipalities[i].CadastreMunicipalities[j].Kp }; cadas.Add(cadM); } MunicipalitiesViewModel munM = new MunicipalitiesViewModel { CadastreMunicipalities = cadas, MunicipalityName = outputMZTV.Municipalities[i].MunicipalityName }; municipalities.Add(munM); } } } if (outputMZTV.Documents.Length != 0) { for (int i = 0; i < outputMZTV.Documents.Length; i++) { DocumentsViewModel doc = new DocumentsViewModel { ContentBytes = outputMZTV.Documents[i].ContentBytes, FileName = outputMZTV.Documents[i].FileName }; documents.Add(doc); } } output.Documents = documents; output.Investors = investors; output.Municipalities = municipalities; output.ArchiveDate = outputMZTV.ArchiveDate.ToString(); output.ConstructionAddress = outputMZTV.ConstructionAddress; output.ConstructionDescription = outputMZTV.ConstructionDescription; output.ConstructionTypeName = outputMZTV.ConstructionTypeName; output.EffectDate = outputMZTV.EffectDate.ToString(); output.SendDate = outputMZTV.SendDate.ToString(); output.Status = outputMZTV.Status; } _logger.Info("Povikot kon servisot e uspesen"); var context = HttpContext.Current; var contextBase = new HttpContextWrapper(context); var routeData = new RouteData(); routeData.Values.Add("controller", "Template"); var controllerContext = new ControllerContext(contextBase, routeData, new MZTVController.EmptyController()); var dataForConstructionPermit = output; dataForConstructionPermit.FillBasicPrintInfo("Одобрение за градба", InstitutionName); var r = new Rotativa.ViewAsPdf("PrintDataForConstructionPermit", dataForConstructionPermit); var binary = r.BuildPdf(controllerContext); var date = DateTime.Now.Day; var month = DateTime.Now.Month; var year = DateTime.Now.Year; var hour = DateTime.Now.Hour; var minutes = DateTime.Now.Minute; var secods = DateTime.Now.Second; var namepdf = "MZTV_GetDataForConstructionPermit_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".pdf"; var namexml = "MZTV_GetDataForConstructionPermit_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".xml"; var path = WebConfigurationManager.AppSettings["PathToFile"]; output.ConstructionPermitPDF = namepdf; var pathpdf = path + namepdf; File.WriteAllBytes(pathpdf, binary); output.ConstructionPermitXML = namexml; XmlDocument myXml = new XmlDocument(); XPathNavigator xNav = myXml.CreateNavigator(); XmlSerializer x = new XmlSerializer(output.GetType()); using (var xs = xNav.AppendChild()) { x.Serialize(xs, output); } var pathxml = path + namexml; File.WriteAllText(pathxml, myXml.OuterXml); } catch (Exception ex) { _logger.Error(ex.Message, "MzTV ERROR"); throw ex; } return(output); }
public string GenerateQuotationToPDF(BookingQuoteInfoModel bookingQuoteInfo) { int count = 0; string temp = ""; List <BookingVehicleInfoModel> tempVehicles = bookingQuoteInfo.BookingVehicleInfo; bookingQuoteInfo.BookingVehicleInfo = new List <BookingVehicleInfoModel>(); List <BookingVehicleInfoModel> vehicles = tempVehicles.AsEnumerable() .Select(row => row) .OrderBy(x => x.BusType) .ToList(); for (int i = 0; i < vehicles.Count; i++) { if (i != 0) { if (temp == vehicles[i].BusType) { count = count + 1; } else { bookingQuoteInfo.BookingVehicleInfo.Add(new BookingVehicleInfoModel() { BusType = vehicles[i].BusType, Quantity = count }); temp = vehicles[i].BusType; count = 1; } } else { temp = vehicles[i].BusType; count = count + 1; } } bookingQuoteInfo.BookingVehicleInfo.Add(new BookingVehicleInfoModel() { BusType = temp, Quantity = count }); if (bookingQuoteInfo.IsTrailerRequired) { count = 0; temp = ""; List <BookingTrailerInfoModel> tempTrailers = bookingQuoteInfo.BookingTrailerInfo; bookingQuoteInfo.BookingTrailerInfo = new List <BookingTrailerInfoModel>(); List <BookingTrailerInfoModel> trailers = tempTrailers.AsEnumerable() .Select(row => row) .OrderBy(x => x.TrailerType) .ToList(); for (int i = 0; i < trailers.Count; i++) { if (i != 0) { if (temp == trailers[i].TrailerType) { count = count + 1; } else { bookingQuoteInfo.BookingTrailerInfo.Add(new BookingTrailerInfoModel() { TrailerType = trailers[i].TrailerType, Quantity = count }); temp = trailers[i].TrailerType; count = 1; } } else { temp = trailers[i].TrailerType; count = count + 1; } } bookingQuoteInfo.BookingTrailerInfo.Add(new BookingTrailerInfoModel() { TrailerType = temp, Quantity = count }); } if (bookingQuoteInfo.CompTelephoneExtension != string.Empty) { bookingQuoteInfo.CompTelephoneNumber = string.Empty; bookingQuoteInfo.CompTelephoneNumber = bookingQuoteInfo.CompTelephoneNumber + bookingQuoteInfo.CompTelephoneExtension; } string extension = ".pdf"; string fileName = ConfigurationSettings.CompanyName + "_Quotation_" + bookingQuoteInfo.AlternateID.ToString() + "_" + DateTime.Now.ToString("dd_MM_yyyy_HH_mm_ss") + extension; try { Rotativa.ViewAsPdf actionResult = new Rotativa.ViewAsPdf("ExportQuotationToPDF", bookingQuoteInfo); byte[] byteArray = actionResult.BuildPdf(ControllerContext); FileStream fileStream = new FileStream(Server.MapPath("~/PDF/" + fileName), FileMode.Create, FileAccess.Write); fileStream.Write(byteArray, 0, byteArray.Length); fileStream.Close(); } catch (Exception ex) { throw ex; } bookingQuoteInfo.QuotationFileName = fileName; Models.CompanyConfigurationInfo settings = ConfigurationSettings; new Task(() => { DBHelper.UpdateQuotationFileName(fileName, bookingQuoteInfo.ID, settings.ConnectionKey); }).Start(); try { if (bookingQuoteInfo.EmailAddress != null && bookingQuoteInfo.EmailAddress != string.Empty) { new Task(() => { EmailHelper.SendQuotationConfirmation(bookingQuoteInfo, settings); }).Start(); } } catch (Exception) { //ignore } UriBuilder urlBuilder = new System.UriBuilder(Request.Url.AbsoluteUri) { Path = Url.Content("~/PDF/" + fileName), Query = null, }; string url = urlBuilder.ToString(); return(url); }
public DataForRegularStudentDTO GetDataForRegularStudent(string embg) { if (string.IsNullOrEmpty(embg)) { throw new ArgumentException("Невалиден ЕМБГ, внесениот ЕМБГ треба да содржи 13 цифри. ", embg); } if (embg.Any(x => (char.IsLetter(x) || char.IsSeparator(x) || char.IsPunctuation(x) || char.IsSymbol(x)))) { throw new ArgumentException("Невалиден ЕМБГ, внесениот ЕМБГ содржи карактери/симболи:", embg); } var embgTemp = new String(embg.Where(Char.IsDigit).ToArray()); if (embgTemp.Length != 13) { throw new ArgumentException("Невалиден ЕМБГ:", embg); } _logger.Info("start GetDataForRegularStudent"); //var monClient = new DRegStudentClient(); var studentDto = new DataForRegularStudentDTO(); var student = ""; try { _logger.Info("MONClient"); var production = ConfigurationManager.AppSettings["Enviroment"]; if (production == "Production") { //New corrected adapter var monClient = new MONPotvrdaZaRedovenUcenik.DRegStudentClient(); using (OperationContextScope scope = new OperationContextScope(monClient.InnerChannel)) { var httpRequestProperty = new HttpRequestMessageProperty(); httpRequestProperty.Headers[HttpRequestHeader.Authorization] = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(monClient.ClientCredentials.UserName.UserName + ":" + monClient.ClientCredentials.UserName.Password)); httpRequestProperty.Headers.Add("NekakovKod", "kodot"); OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty; student = monClient.GetStuD(embg); //dzgrObject = MONClient.GetPropertyList(username, password, municipality, cadastralMunicipality, noPropertyList); //PaymentResponse = AKNClient.Payment(PaymentRequest); } } else { //New corrected adapter var monClient = new MONPotvrdaZaRedovenUcenikTest.DRegStudentClient(); using (OperationContextScope scope = new OperationContextScope(monClient.InnerChannel)) { var httpRequestProperty = new HttpRequestMessageProperty(); httpRequestProperty.Headers[HttpRequestHeader.Authorization] = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(monClient.ClientCredentials.UserName.UserName + ":" + monClient.ClientCredentials.UserName.Password)); httpRequestProperty.Headers.Add("NekakovKod", "kodot"); OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty; student = monClient.GetStuD(embg); //dzgrObject = MONClient.GetPropertyList(username, password, municipality, cadastralMunicipality, noPropertyList); //PaymentResponse = AKNClient.Payment(PaymentRequest); } } //var student = MONClient.GetStuD(embg); if (student != null) { _logger.Info(student); var stringReader = new StringReader(student); var serializer = new XmlSerializer(typeof(DataForRegularStudentDTO)); try { studentDto = (DataForRegularStudentDTO)serializer.Deserialize(stringReader); var context = HttpContext.Current; var contextBase = new HttpContextWrapper(context); var routeData = new RouteData(); routeData.Values.Add("controller", "Template"); var controllerContext = new ControllerContext(contextBase, routeData, new MONController.EmptyController()); studentDto.FillBasicPrintInfo("Податоци за редовен ученик", InstitutionName); var r = new Rotativa.ViewAsPdf("PrintDataForRegularStudent", studentDto); var binary = r.BuildPdf(controllerContext); var date = DateTime.Now.Day; var month = DateTime.Now.Month; var year = DateTime.Now.Year; var hour = DateTime.Now.Hour; var minutes = DateTime.Now.Minute; var secods = DateTime.Now.Second; var namepdf = "MON_GetDataForStudent_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".pdf"; var namexml = "MON_GetDataForStudent_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".xml"; var path = WebConfigurationManager.AppSettings["PathToFile"]; studentDto.FilePdfName = namepdf; studentDto.FileXMLName = namexml; var pathpdf = path + namepdf; File.WriteAllBytes(pathpdf, binary); var pathxml = path + namexml; File.WriteAllText(pathxml, student); } catch { var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(student); var mes = xmlDoc.GetElementsByTagName("message")[0].InnerText; studentDto.Message = mes; } } } //catch (FaultException<MONPotvrdaZaRedovenUcenikTest.InteropFault> ex) //{ // _logger.Error(ex.Message, "MON - GetDataForRegularStudent() - Custom fault error."); // throw ex; //} catch (FaultException ex) { _logger.Error(ex.Message, "MON - GetDataForRegularStudent() - Fault exception error."); throw ex; } catch (Exception ex) { _logger.Error(ex.Message, "MON - GetDataForRegularStudent() - Exception error."); throw ex; } return(studentDto); }
public CadastralParcelDTO GetCadastralParcel(string municipality, string cadastralMunicipality, string noCadastralParcel) { if (String.IsNullOrEmpty(municipality)) { throw new ArgumentException("Параметарот 'Општина' е задолжителен."); } if (String.IsNullOrEmpty(cadastralMunicipality)) { throw new ArgumentException("Параметарот 'Катастарска Општина' е задолжителен."); } if (String.IsNullOrEmpty(noCadastralParcel)) { throw new ArgumentException("Параметарот 'Број на Катастарска парцела' е задолжителен."); } ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true);//sertifikatot ne im e u red za toa go stavam ova za da go ignorira // Read from web.config var username = WebConfigurationManager.AppSettings["AKNusername"]; var password = WebConfigurationManager.AppSettings["AKNpassword"]; var enviroment = ConfigurationManager.AppSettings["EnviromentAKN"]; if (enviroment == "Production") { #region production //Prod Kat. parcela //var cadastralParcel = new AKNKatastarskaParcela.ATRparceli(); //Test Kat. parcela var cadastralParcel = new AKNKatastarskaParcela.ATRparceli(); try { //Service without separated methods //var aknClient = new AKNPropertyListCadastralParcelAdapter.AKNServiceClient(); //Service with separated methods PROD //var aknClient = new AKNKatastarskaParcela.CadastrialParcelClient(); //cadastralParcel = aknClient.GetCadastrialParcel(username, password, municipality, cadastralMunicipality, noCadastralParcel); //_logger.Info(cadastralParcel.message); //Service with separated methods PROD var aknClient = new AKNKatastarskaParcela.CadastrialParcelClient(); cadastralParcel = aknClient.GetCParcel(username, password, municipality, cadastralMunicipality, noCadastralParcel); _logger.Info(cadastralParcel.message); } catch (Exception e) { _logger.Error(e); throw e; } var attributes = new List <ParcelAttributes>(); foreach (var parcel in cadastralParcel.nizpar) { var attribute = new ParcelAttributes() { Area = parcel.povrsina, Municipality = municipality, Location = parcel.mesto, Culture = parcel.kultura, Object = parcel.objekt, CadastralMunicipality = cadastralMunicipality, PartNumber = parcel.broj_del, PropertyList = parcel.ilist, Pravo = parcel.pravo }; attributes.Add(attribute); } var cadastralParcelDto = new CadastralParcelDTO { AttributesList = attributes, Message = cadastralParcel.message }; var context = HttpContext.Current; var contextBase = new HttpContextWrapper(context); var routeData = new RouteData(); routeData.Values.Add("controller", "Template"); var controllerContext = new ControllerContext(contextBase, routeData, new FPIOMController.EmptyController()); var dataforkatastar = cadastralParcelDto; dataforkatastar.FillBasicPrintInfo("Катастарска парцела", InstitutionName); var r = new Rotativa.ViewAsPdf("PrintCadastralParcel", dataforkatastar); var binary = r.BuildPdf(controllerContext); var date = DateTime.Now.Day; var month = DateTime.Now.Month; var year = DateTime.Now.Year; var hour = DateTime.Now.Hour; var minutes = DateTime.Now.Minute; var secods = DateTime.Now.Second; var namepdfkatastar = "AKN_GetCadastralParcel_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".pdf"; var namexmlkatastar = "AKN_GetCadastralParcel_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".xml"; cadastralParcelDto.CadastralParcelPDF = namepdfkatastar; var path = WebConfigurationManager.AppSettings["PathToFile"]; var pathpdf = path + namepdfkatastar; File.WriteAllBytes(pathpdf, binary); cadastralParcelDto.CadastralParcelXML = namexmlkatastar; var myXml = new XmlDocument(); var xNav = myXml.CreateNavigator(); var x = new XmlSerializer(cadastralParcelDto.GetType()); using (var xs = xNav.AppendChild()) { x.Serialize(xs, cadastralParcelDto); } var pathxml = path + namexmlkatastar; File.WriteAllText(pathxml, myXml.OuterXml); return(cadastralParcelDto); #endregion } else { #region test //Prod Kat. parcela //var cadastralParcel = new AKNKatastarskaParcela.ATRparceli(); //Test Kat. parcela var cadastralParcel = new AKNKatastarskaParcelaTest.ATRparceli(); try { //Service without separated methods //var aknClient = new AKNPropertyListCadastralParcelAdapter.AKNServiceClient(); //Service with separated methods PROD //var aknClient = new AKNKatastarskaParcela.CadastrialParcelClient(); //cadastralParcel = aknClient.GetCadastrialParcel(username, password, municipality, cadastralMunicipality, noCadastralParcel); //_logger.Info(cadastralParcel.message); //Service with separated methods TEST var aknClient = new AKNKatastarskaParcelaTest.CadastrialParcelClient(); cadastralParcel = aknClient.GetCParcel(username, password, municipality, cadastralMunicipality, noCadastralParcel); _logger.Info(cadastralParcel.message); } catch (Exception e) { _logger.Error(e); throw e; } var attributes = new List <ParcelAttributes>(); foreach (var parcel in cadastralParcel.nizpar) { var attribute = new ParcelAttributes() { Area = parcel.povrsina, Municipality = municipality, Location = parcel.mesto, Culture = parcel.kultura, Object = parcel.objekt, CadastralMunicipality = cadastralMunicipality, PartNumber = parcel.broj_del, PropertyList = parcel.ilist, Pravo = parcel.pravo }; attributes.Add(attribute); } var cadastralParcelDto = new CadastralParcelDTO { AttributesList = attributes, Message = cadastralParcel.message }; var context = HttpContext.Current; var contextBase = new HttpContextWrapper(context); var routeData = new RouteData(); routeData.Values.Add("controller", "Template"); var controllerContext = new ControllerContext(contextBase, routeData, new FPIOMController.EmptyController()); var dataforkatastar = cadastralParcelDto; dataforkatastar.FillBasicPrintInfo("Катастарска парцела", InstitutionName); var r = new Rotativa.ViewAsPdf("PrintCadastralParcel", dataforkatastar); var binary = r.BuildPdf(controllerContext); var date = DateTime.Now.Day; var month = DateTime.Now.Month; var year = DateTime.Now.Year; var hour = DateTime.Now.Hour; var minutes = DateTime.Now.Minute; var secods = DateTime.Now.Second; var namepdfkatastar = "AKN_GetCadastralParcel_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".pdf"; var namexmlkatastar = "AKN_GetCadastralParcel_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".xml"; cadastralParcelDto.CadastralParcelPDF = namepdfkatastar; var path = WebConfigurationManager.AppSettings["PathToFile"]; var pathpdf = path + namepdfkatastar; File.WriteAllBytes(pathpdf, binary); cadastralParcelDto.CadastralParcelXML = namexmlkatastar; var myXml = new XmlDocument(); var xNav = myXml.CreateNavigator(); var x = new XmlSerializer(cadastralParcelDto.GetType()); using (var xs = xNav.AppendChild()) { x.Serialize(xs, cadastralParcelDto); } var pathxml = path + namexmlkatastar; File.WriteAllText(pathxml, myXml.OuterXml); return(cadastralParcelDto); #endregion } }
/// <summary> /// Envia un correo electronico al cliente y admins con detalles de la reservacion en PDF /// </summary> /// <param name="Request">Request instance from controller</param> /// <param name="controllerContext">Controller context</param> /// <returns></returns> public async Task <string> send_eventReport(HttpRequestBase Request, ControllerContext controllerContext) { string errorMessage = string.Empty; string strDate = this.fechaEventoInicial.ToString("dd 'de' MMMM 'del' yyyy"); //Subject string subject = $"Detalles de evento del {strDate} del cliente {this.cliente.nombreCompleto}"; //URL To see Details string detailsURL = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port); detailsURL += $"/Evento/Details/{this.eventoID}"; //Email Body string businessEmail = ConfigurationManager.AppSettings["BussinessName"]; string emailMessage = $"<h2>{ businessEmail }</h2>"; emailMessage += $"<h3>Detalles e historial de pagos.</h3>"; emailMessage += $"<span>En este correo se encuentran adjuntos los detalles asociados a su evento del dia { strDate }"; emailMessage += $" a nombre de {this.cliente.nombreCompleto }"; //Generate attachments for email List <Attachment> attachments = null; //Add link to see report if its a visit that cause Impact of Rent /*emailMessage += $" <span>See attached PDF or click this link to go to your Impact of Rent status report for year {year}:</span>"; * emailMessage += " <a href='" + detailsURL + "'>Download Impact of Rent Report Year .</a>";*/ //Is mailer enabled bool emailEnabled = true; Boolean.TryParse(ConfigurationManager.AppSettings["enableEmail"], out emailEnabled); //Just send Impact of Rent report for paid visits marked as that. if (controllerContext != null && emailEnabled) { //Generate the report to be send //var fileView = this.generateRotativaPDF_RentsByYearReport(year, Request); var fileView = new Rotativa.ViewAsPdf("ReporteDeEvento", "BlankLayout", this) { FileName = "Estado de Cuenta " + this + " - " + DateTime.Today.ToString("dd-MMMM-yy") + ".pdf" }; //Converts report to PDF file var fileBytes = fileView.BuildPdf(controllerContext); //Add PDF file to attachments Attachment attach = new Attachment() { Filename = fileView.FileName, Content = Convert.ToBase64String(fileBytes), Type = "application/pdf" }; attachments = new List <Attachment>() { attach }; } //Async sending of email //Compose destination var ownerAdress = new List <SendGrid.Helpers.Mail.EmailAddress> { new SendGrid.Helpers.Mail.EmailAddress(this.cliente.email, this.cliente.nombreCompleto) }; /*var contacts = owner.condosInfoContact; * foreach (var con in contacts) //For each related contact, an email is added to receipts * { * if (MailerSendGrid.IsValid(con.email)) * ownerAdress.Add(new SendGrid.Helpers.Mail.EmailAddress(con.email, con.ownerName)); * }*/ //Email is sent just to the admin errorMessage = await MailerSendGrid.sendEmailToMultipleRecipients(subject, emailMessage, ownerAdress, attachments); return(errorMessage); }
public DataForExecutedExportDTO GetDataForExecutedExport(long edb, string amountOfExportFrom = null, string amountOfExportTo = null, string monthOfExportFrom = null, string monthOfExportTo = null, string yearOfExportFrom = null, string yearOfExportTo = null) { if (edb < 1000000 || edb > 10000000000000) { throw new ArgumentException("Вредноста на параметарот 'едб' не е во границите на дозволени вредности.", edb.ToString()); } if (monthOfExportFrom != null) { if (monthOfExportFrom.Any(m => (char.IsLetter(m) || char.IsSeparator(m) || char.IsPunctuation(m) || char.IsSymbol(m)))) { throw new ArgumentException("Параметарот 'Месец на извоз од' е невалиден. Внесената вредност содржи карактери/симболи:", monthOfExportFrom); } var tempMonthFrom = Convert.ToInt32(monthOfExportFrom); if (tempMonthFrom < 1 || tempMonthFrom > 12) { throw new ArgumentException("Параметарот 'Месец на извоз од' е невалиден. Дозволени вредности за внесување се помеѓу 1 и 12.", monthOfExportFrom); } } if (monthOfExportTo != null) { if (monthOfExportTo.Any(m => (char.IsLetter(m) || char.IsSeparator(m) || char.IsPunctuation(m) || char.IsSymbol(m)))) { throw new ArgumentException("Параметарот 'Месец на извоз до' е невалиден. Внесената вредност содржи карактери/симболи:", monthOfExportTo); } var tempMonthTo = Convert.ToInt32(monthOfExportTo); if (tempMonthTo < 1 || tempMonthTo > 12) { throw new ArgumentException("Параметарот 'Месец на извоз до' е невалиден. Дозволени вредности за внесување се помеѓу 1 и 12.", monthOfExportTo); } } if (yearOfExportFrom != null) { if (yearOfExportFrom.Any(y => (char.IsLetter(y) || char.IsSeparator(y) || char.IsPunctuation(y) || char.IsSymbol(y)))) { throw new ArgumentException("Параметарот 'Година на извоз од' е невалиден. Внесената вредност содржи карактери/симболи:", yearOfExportFrom); } var tempYearFrom = Convert.ToInt32(yearOfExportFrom); if (tempYearFrom < 1800 || tempYearFrom > 5000) { throw new ArgumentException("Параметарот 'Година на извоз од' е невалиден. Внесената вредност е надвор од дозволениот опсег.", yearOfExportFrom); } } if (yearOfExportTo != null) { if (yearOfExportTo.Any(y => (char.IsLetter(y) || char.IsSeparator(y) || char.IsPunctuation(y) || char.IsSymbol(y)))) { throw new ArgumentException("Параметарот 'Година на извоз до' е невалиден. Внесената вредност содржи карактери/симболи:", yearOfExportTo); } var tempYearTo = Convert.ToInt32(yearOfExportTo); if (tempYearTo < 1800 || tempYearTo > 5000) { throw new ArgumentException("Параметарот 'Година на извоз до' е невалиден. Внесената вредност е надвор од дозволениот опсег.", yearOfExportTo); } } var output = new DataForExecutedExportDTO(); double amountOfExportFromLocal = 1; double amountOfExportToLocal = 1; int monthOfExportFromLocal = 1; int monthOfExportToLocal = 1; int yearOfExportFromLocal = 1; int yearOfExportToLocal = 1; if (amountOfExportFrom != null) { amountOfExportFromLocal = Double.Parse(amountOfExportFrom); } if (amountOfExportTo != null) { amountOfExportToLocal = Double.Parse(amountOfExportTo); } if (monthOfExportFrom != null) { monthOfExportFromLocal = Int32.Parse(monthOfExportFrom); } if (monthOfExportTo != null) { monthOfExportToLocal = Int32.Parse(monthOfExportTo); } if (yearOfExportFrom != null) { yearOfExportFromLocal = Int32.Parse(yearOfExportFrom); } if (yearOfExportTo != null) { yearOfExportToLocal = Int32.Parse(yearOfExportTo); } var enviroment = ConfigurationManager.AppSettings["Enviroment"]; if (enviroment == "Test") { //var input = new CURMDataForExecutedExport.ExecutedExportInput(); //New corrected adapter var input = new CURMPodatociZaIzvozTest.ExecutedExportInput(); input.EDB = edb; if (amountOfExportFrom != null) { input.AmountOfExportFrom = amountOfExportFromLocal; } if (amountOfExportTo != null) { input.AmountOfExportTo = amountOfExportToLocal; } if (monthOfExportFrom != null) { input.MonthOfExportFrom = monthOfExportFromLocal; } if (monthOfExportTo != null) { input.MonthOfExportTo = monthOfExportToLocal; } if (yearOfExportFrom != null) { input.YearOfExportFrom = yearOfExportFromLocal; } if (yearOfExportTo != null) { input.YearOfExportTo = yearOfExportToLocal; } var list = new List <ExecutedExportDTO>(); try { //var curmClient = new CURMDataForExecutedExport.DataExeExpClient(); //New corrected adapter var curmClient = new CURMPodatociZaIzvozTest.DataExeExpClient(); var outputCURM = curmClient.GetDataExeExp(input); for (int i = 0; i < outputCURM.Length; i++) { var temp = new ExecutedExportDTO() { EDB = outputCURM[i].EDB, ExportAmount = outputCURM[i].ExportAmount, ExportMonth = outputCURM[i].ExportMonth, ExportYear = outputCURM[i].ExportYear }; list.Add(temp); } output.ExecutedExportList = list; _logger.Info("Povikot kon servisot e uspesen"); } catch (Exception ex) { output.Message = "ERROR!!!"; _logger.Error(ex.Message, "CURM - GetDataForExecutedExport() - ERROR"); throw ex; } } else { //var input = new CURMDataForExecutedExport.ExecutedExportInput(); //New corrected adapter var input = new CURMPodatociZaIzvoz.ExecutedExportInput(); input.EDB = edb; if (amountOfExportFrom != null) { input.AmountOfExportFrom = amountOfExportFromLocal; } if (amountOfExportTo != null) { input.AmountOfExportTo = amountOfExportToLocal; } if (monthOfExportFrom != null) { input.MonthOfExportFrom = monthOfExportFromLocal; } if (monthOfExportTo != null) { input.MonthOfExportTo = monthOfExportToLocal; } if (yearOfExportFrom != null) { input.YearOfExportFrom = yearOfExportFromLocal; } if (yearOfExportTo != null) { input.YearOfExportTo = yearOfExportToLocal; } var list = new List <ExecutedExportDTO>(); try { //var curmClient = new CURMDataForExecutedExport.DataExeExpClient(); //New corrected adapter var curmClient = new CURMPodatociZaIzvoz.DataExeExpClient(); var outputCURM = curmClient.GetDataExeExp(input); for (int i = 0; i < outputCURM.Length; i++) { var temp = new ExecutedExportDTO() { EDB = outputCURM[i].EDB, ExportAmount = outputCURM[i].ExportAmount, ExportMonth = outputCURM[i].ExportMonth, ExportYear = outputCURM[i].ExportYear }; list.Add(temp); } output.ExecutedExportList = list; _logger.Info("Povikot kon servisot e uspesen"); } catch (Exception ex) { output.Message = "ERROR!!!"; _logger.Error(ex.Message, "CURM - GetDataForExecutedExport() - ERROR"); throw ex; } //var temp1 = new ExecutedExportDTO() //{ // EDB = "111111", // ExportAmount = 9837428974, // ExportMonth = 2, // ExportYear = 2011 //}; //var temp2 = new ExecutedExportDTO() //{ // EDB = "222222", // ExportAmount = 2358, // ExportMonth = 3, // ExportYear = 2012 //}; //var list1 = new List<ExecutedExportDTO>(); //list1.Add(temp1); //list1.Add(temp2); //output.ExecutedExportList = list1; } var context = HttpContext.Current; var contextBase = new HttpContextWrapper(context); var routeData = new RouteData(); routeData.Values.Add("controller", "Template"); var controllerContext = new ControllerContext(contextBase, routeData, new FPIOMController.EmptyController()); var dataforexport = output; dataforexport.FillBasicPrintInfo("Податоци за извршен извоз", InstitutionName); var r = new Rotativa.ViewAsPdf("PrintDataExport", dataforexport); var binary = r.BuildPdf(controllerContext); var date = DateTime.Now.Day; var month = DateTime.Now.Month; var year = DateTime.Now.Year; var hour = DateTime.Now.Hour; var minutes = DateTime.Now.Minute; var secods = DateTime.Now.Second; var namepdfexport = "CURM_GetDataForExecutedExport_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".pdf"; var namexmlexport = "CURM_GetDataForExecutedExport_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".xml"; output.FilePDFName = namepdfexport; var path = WebConfigurationManager.AppSettings["PathToFile"]; var pathpdf = path + namepdfexport; File.WriteAllBytes(pathpdf, binary); output.FileXMLName = namexmlexport; var myXml = new XmlDocument(); var xNav = myXml.CreateNavigator(); var x = new XmlSerializer(dataforexport.GetType()); using (var xs = xNav.AppendChild()) { x.Serialize(xs, dataforexport); } var pathxml = path + namexmlexport; File.WriteAllText(pathxml, myXml.OuterXml); return(output); }
public SingleCustomsDocumentDTO GetSingleCustomsDocument(int year, long edbOfShippingCompany, int numberOfCustomsOffice, int regNumber) { if (year < 1800 || year > 5000) { throw new ArgumentException("Параметарот 'Година' е невалиден. Вредноста на параметарот 'година' е надвор од дозволениот опсег.", year.ToString()); } if (edbOfShippingCompany < 1000000 || edbOfShippingCompany > 10000000000000) { throw new ArgumentException("Вредноста на параметарот 'ЕДБ на фирмата испраќач' не е во границите на дозволени вредности.", edbOfShippingCompany.ToString()); } var output = new SingleCustomsDocumentDTO(); var enviroment = ConfigurationManager.AppSettings["Enviroment"]; if (enviroment == "Test") { try { //var curmClient = new CURMSingleCustomsDocument.SingleCustDocClient(); //New corrected adapter var curmClient = new CURMEdinstvenCarinskiDokumentTest.SingleCustDocClient(); var outputCURM = curmClient.GetSingleCustDoc(year, edbOfShippingCompany, numberOfCustomsOffice, regNumber); var generalData = new SCDGeneralDataDTO() { ExciseStoreCode = outputCURM.GeneralData.ExciseStoreCode, DeclarantCode = outputCURM.GeneralData.DeclarantCode, ReferentNumber = outputCURM.GeneralData.ReferentNumber, ImportExport = outputCURM.GeneralData.ImportExport, DeclatarionType = outputCURM.GeneralData.DeclatarionType, ProcedureType = outputCURM.GeneralData.ProcedureType, SenderEDB = outputCURM.GeneralData.SenderEDB, RegistrationSeries = outputCURM.GeneralData.RegistrationSeries, RegistrationNumber = outputCURM.GeneralData.RegistrationNumber, RegistrationDate = outputCURM.GeneralData.RegistrationDate, ItemNumber = outputCURM.GeneralData.ItemNumber, ImporterEDB = outputCURM.GeneralData.ImporterEDB, ValueData = outputCURM.GeneralData.ValueData, ExportingCountry = outputCURM.GeneralData.ExportingCountry, OriginCountry = outputCURM.GeneralData.OriginCountry, DestinationCountry = outputCURM.GeneralData.DestinationCountry, ExportingConditionCode = outputCURM.GeneralData.ExportingConditionCode, ExportingConditionPlace = outputCURM.GeneralData.ExportingConditionPlace, DeliveryTermsSituationCode = outputCURM.GeneralData.DeliveryTermsSituationCode, RegistrationOfVehicle = outputCURM.GeneralData.RegistrationOfVehicle, NationalityOfVehicle = outputCURM.GeneralData.NationalityOfVehicle, CurrencyCode = outputCURM.GeneralData.CurrencyCode, TotalInvoiceAmount = outputCURM.GeneralData.TotalInvoiceAmount }; var itemDataList = new List <SCDItemDataDTO>(); for (int i = 0; i < outputCURM.ItemData.Length; i++) { var temp = new SCDItemDataDTO() { TariffTagPart1 = outputCURM.ItemData[i].TariffTagPart1, TariffTagPart2 = outputCURM.ItemData[i].TariffTagPart2, DescriptionOfGoodsPart1 = outputCURM.ItemData[i].DescriptionOfGoodsPart1, DescriptionOfGoodsPart2 = outputCURM.ItemData[i].DescriptionOfGoodsPart2, DescriptionOfGoodsPart3 = outputCURM.ItemData[i].DescriptionOfGoodsPart3, CountryOfOrigin = outputCURM.ItemData[i].CountryOfOrigin, GrossMass = outputCURM.ItemData[i].GrossMass, Preference = outputCURM.ItemData[i].Preference, StatisticalValue = outputCURM.ItemData[i].StatisticalValue }; itemDataList.Add(temp); } var exporterData = new SCDExporterDataDTO() { SenderName = outputCURM.ExporterData.SenderName, SenderAddressPart1 = outputCURM.ExporterData.SenderAddressPart1, SenderAddressPart2 = outputCURM.ExporterData.SenderAddressPart2, SenderPlace = outputCURM.ExporterData.SenderPlace, SenderPostalCode = outputCURM.ExporterData.SenderPostalCode }; var importerData = new SCDImporterDataDTO() { ImporterName = outputCURM.ImporterData.ImporterName, ImporterAddressPart1 = outputCURM.ImporterData.ImporterAddressPart1, ImporterAddressPart2 = outputCURM.ImporterData.ImporterAddressPart2, ImporterPlace = outputCURM.ImporterData.ImporterPlace, ImporterPostalCode = outputCURM.ImporterData.ImporterPostalCode }; output.GeneralData = generalData; output.ItemData = itemDataList; output.ExporterData = exporterData; output.ImporterData = importerData; _logger.Info("Povikot kon servisot e uspesen"); } catch (Exception ex) { output.Message = "ERROR"; _logger.Error(ex.Message, "CURM ERROR"); throw ex; } } else { try { //var curmClient = new CURMSingleCustomsDocument.SingleCustDocClient(); //New corrected adapter var curmClient = new CURMEdinstvenCarinskiDokument.SingleCustDocClient(); var outputCURM = curmClient.GetSingleCustDoc(year, edbOfShippingCompany, numberOfCustomsOffice, regNumber); var generalData = new SCDGeneralDataDTO() { ExciseStoreCode = outputCURM.GeneralData.ExciseStoreCode, DeclarantCode = outputCURM.GeneralData.DeclarantCode, ReferentNumber = outputCURM.GeneralData.ReferentNumber, ImportExport = outputCURM.GeneralData.ImportExport, DeclatarionType = outputCURM.GeneralData.DeclatarionType, ProcedureType = outputCURM.GeneralData.ProcedureType, SenderEDB = outputCURM.GeneralData.SenderEDB, RegistrationSeries = outputCURM.GeneralData.RegistrationSeries, RegistrationNumber = outputCURM.GeneralData.RegistrationNumber, RegistrationDate = outputCURM.GeneralData.RegistrationDate, ItemNumber = outputCURM.GeneralData.ItemNumber, ImporterEDB = outputCURM.GeneralData.ImporterEDB, ValueData = outputCURM.GeneralData.ValueData, ExportingCountry = outputCURM.GeneralData.ExportingCountry, OriginCountry = outputCURM.GeneralData.OriginCountry, DestinationCountry = outputCURM.GeneralData.DestinationCountry, ExportingConditionCode = outputCURM.GeneralData.ExportingConditionCode, ExportingConditionPlace = outputCURM.GeneralData.ExportingConditionPlace, DeliveryTermsSituationCode = outputCURM.GeneralData.DeliveryTermsSituationCode, RegistrationOfVehicle = outputCURM.GeneralData.RegistrationOfVehicle, NationalityOfVehicle = outputCURM.GeneralData.NationalityOfVehicle, CurrencyCode = outputCURM.GeneralData.CurrencyCode, TotalInvoiceAmount = outputCURM.GeneralData.TotalInvoiceAmount }; var itemDataList = new List <SCDItemDataDTO>(); for (int i = 0; i < outputCURM.ItemData.Length; i++) { var temp = new SCDItemDataDTO() { TariffTagPart1 = outputCURM.ItemData[i].TariffTagPart1, TariffTagPart2 = outputCURM.ItemData[i].TariffTagPart2, DescriptionOfGoodsPart1 = outputCURM.ItemData[i].DescriptionOfGoodsPart1, DescriptionOfGoodsPart2 = outputCURM.ItemData[i].DescriptionOfGoodsPart2, DescriptionOfGoodsPart3 = outputCURM.ItemData[i].DescriptionOfGoodsPart3, CountryOfOrigin = outputCURM.ItemData[i].CountryOfOrigin, GrossMass = outputCURM.ItemData[i].GrossMass, Preference = outputCURM.ItemData[i].Preference, StatisticalValue = outputCURM.ItemData[i].StatisticalValue }; itemDataList.Add(temp); } var exporterData = new SCDExporterDataDTO() { SenderName = outputCURM.ExporterData.SenderName, SenderAddressPart1 = outputCURM.ExporterData.SenderAddressPart1, SenderAddressPart2 = outputCURM.ExporterData.SenderAddressPart2, SenderPlace = outputCURM.ExporterData.SenderPlace, SenderPostalCode = outputCURM.ExporterData.SenderPostalCode }; var importerData = new SCDImporterDataDTO() { ImporterName = outputCURM.ImporterData.ImporterName, ImporterAddressPart1 = outputCURM.ImporterData.ImporterAddressPart1, ImporterAddressPart2 = outputCURM.ImporterData.ImporterAddressPart2, ImporterPlace = outputCURM.ImporterData.ImporterPlace, ImporterPostalCode = outputCURM.ImporterData.ImporterPostalCode }; output.GeneralData = generalData; output.ItemData = itemDataList; output.ExporterData = exporterData; output.ImporterData = importerData; _logger.Info("Povikot kon servisot e uspesen"); } catch (Exception ex) { output.Message = "ERROR"; _logger.Error(ex.Message, "CURM ERROR"); throw ex; } //var temp = new SCDItemDataDTO() //{ // TariffTagPart1 = "1", // TariffTagPart2 = "2", // DescriptionOfGoodsPart1 = "3", // DescriptionOfGoodsPart2 = "4", // DescriptionOfGoodsPart3 = "5", // CountryOfOrigin = "6", // GrossMass = "7", // Preference = "8", // StatisticalValue = "9" //}; //var temp1 = new SCDItemDataDTO() //{ // TariffTagPart1 = "11", // TariffTagPart2 = "22", // DescriptionOfGoodsPart1 = "33", // DescriptionOfGoodsPart2 = "44", // DescriptionOfGoodsPart3 = "55", // CountryOfOrigin = "66", // GrossMass = "77", // Preference = "88", // StatisticalValue = "99" //}; //var temp2 = new SCDItemDataDTO() //{ // TariffTagPart1 = "111", // TariffTagPart2 = "222", // DescriptionOfGoodsPart1 = "333", // DescriptionOfGoodsPart2 = "444", // DescriptionOfGoodsPart3 = "555", // CountryOfOrigin = "666", // GrossMass = "777", // Preference = "888", // StatisticalValue = "999" //}; //var itemData = new List<SCDItemDataDTO>(); //itemData.Add(temp); //itemData.Add(temp1); //itemData.Add(temp2); //output = new SingleCustomsDocumentDTO() //{ // GeneralData = new SCDGeneralDataDTO() // { // ExciseStoreCode = "a", // DeclarantCode = "b", // ReferentNumber = "c", // ImportExport = "d", // DeclatarionType = "e", // SenderEDB = "f", // RegistrationDate = "g", // ImporterEDB = "123456", // OriginCountry = "h", // ExportingConditionCode = "g", // NationalityOfVehicle = "h", // TotalInvoiceAmount = "i" // }, // ExporterData = new SCDExporterDataDTO() // { // SenderName = "aa", // SenderAddressPart1 = "bb", // SenderAddressPart2 = "cc", // SenderPlace = "dd", // SenderPostalCode = "ee" // }, // ImporterData = new SCDImporterDataDTO() // { // ImporterName = "aaа", // ImporterAddressPart1 = "bbb", // ImporterAddressPart2 = "ccc", // ImporterPlace = "ddd", // ImporterPostalCode = "eee" // }, // ItemData = itemData //}; } var context = HttpContext.Current; var contextBase = new HttpContextWrapper(context); var routeData = new RouteData(); routeData.Values.Add("controller", "Template"); var controllerContext = new ControllerContext(contextBase, routeData, new FPIOMController.EmptyController()); var dataforsingledocument = output; dataforsingledocument.FillBasicPrintInfo("Единствен царински документ", InstitutionName); var r = new Rotativa.ViewAsPdf("PrintSingleDocument", dataforsingledocument); var binary = r.BuildPdf(controllerContext); var date = DateTime.Now.Day; var month = DateTime.Now.Month; var year1 = DateTime.Now.Year; var hour = DateTime.Now.Hour; var minutes = DateTime.Now.Minute; var secods = DateTime.Now.Second; var namepdfdocument = "CURM_GetSingleCustomsDocument_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year1 + ".pdf"; var namexmldocument = "CURM_GetSingleCustomsDocument_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year1 + ".xml"; output.FilePDFNameDocument = namepdfdocument; var path = WebConfigurationManager.AppSettings["PathToFile"]; var pathpdf = path + namepdfdocument; File.WriteAllBytes(pathpdf, binary); output.FileXMLNameDocument = namexmldocument; var myXml = new XmlDocument(); var xNav = myXml.CreateNavigator(); var x = new XmlSerializer(dataforsingledocument.GetType()); using (var xs = xNav.AppendChild()) { x.Serialize(xs, dataforsingledocument); } var pathxml = path + namexmldocument; File.WriteAllText(pathxml, myXml.OuterXml); return(output); }
public YearsOfWorkExperienceDTO GetYearsOfWorkExperience(string embg) { if (string.IsNullOrEmpty(embg)) { throw new ArgumentException("Невалиден ЕМБГ, внесениот ЕМБГ треба да содржи 13 цифри. ", embg); } if (embg.Any(y => (char.IsLetter(y) || char.IsSeparator(y) || char.IsPunctuation(y) || char.IsSymbol(y)))) { throw new ArgumentException("Невалиден ЕМБГ, внесениот ЕМБГ содржи карактери/симболи. ", embg); } var embgTemp = new String(embg.Where(Char.IsDigit).ToArray()); if (embgTemp.Length != 13) { throw new ArgumentException("Невалиден ЕМБГ, внесениот ЕМБГ треба да содржи 13 цифри. ", embg); } var enviroment = AppSettings.Get <string>("Enviroment"); try { //Service with separated methods and separated services depend on enviroment YearsOfWorkExperienceDTO yearsOfWorkExperience = null; string resultDataXml; var sww = new StringWriter(); if (enviroment == "Production") { //star adapter //var fpiomClient = new YearsOfWorkExperienceClient(); var fpiomClient = new FPIOMRabotnoIskustvo.YearsOfWorkExperienceClient(); YearsOfWorkExperienceOutput resultProduction = fpiomClient.GetYWExpXML(embg); _logger.Info("Result from production adapter: " + resultProduction); var serializer = new XmlSerializer(typeof(YearsOfWorkExperienceOutput)); using (XmlWriter writer = XmlWriter.Create(sww)) { serializer.Serialize(writer, resultProduction); resultDataXml = sww.ToString(); } // _logger.Info("resultDataXml from production adapter: " + resultDataXml); } else { var fpiomClient = new FPIOMRabotnoIskustvoTest.YearsOfWorkExperienceClient(); FPIOMRabotnoIskustvoTest.YearsOfWorkExperienceOutput resultTest = fpiomClient.GetYWExpXML(embg); _logger.Info("Result from test adapter: " + resultTest); var serializer = new XmlSerializer(typeof(FPIOMRabotnoIskustvoTest.YearsOfWorkExperienceOutput)); using (XmlWriter writer = XmlWriter.Create(sww)) { serializer.Serialize(writer, resultTest); resultDataXml = sww.ToString(); } // _logger.Info("resultDataXml from test adapter: " + resultDataXml); } var serializerToDto = new XmlSerializer(typeof(YearsOfWorkExperienceDTO)); yearsOfWorkExperience = (YearsOfWorkExperienceDTO)serializerToDto.Deserialize(new StringReader(resultDataXml)); yearsOfWorkExperience.Embg = embg; var context = HttpContext.Current; var contextBase = new HttpContextWrapper(context); var routeData = new RouteData(); routeData.Values.Add("controller", "Template"); var controllerContext = new ControllerContext(contextBase, routeData, new FPIOMController.EmptyController()); var dataforyearsofexperience = yearsOfWorkExperience; dataforyearsofexperience.FillBasicPrintInfo("Години работен стаж", InstitutionName); var r = new Rotativa.ViewAsPdf("PrintYearsOfExperience", dataforyearsofexperience); var binary = r.BuildPdf(controllerContext); var date = DateTime.Now.Day; var month = DateTime.Now.Month; var year = DateTime.Now.Year; var hour = DateTime.Now.Hour; var minutes = DateTime.Now.Minute; var secods = DateTime.Now.Second; var namepdf = "PIOM_GetYearsOfWorkExperience_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".pdf"; var namexml = "PIOM_GetYearsOfWorkExperience_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".xml"; var path = WebConfigurationManager.AppSettings["PathToFile"]; yearsOfWorkExperience.YearsOfWorkPDF = namepdf; var pathpdf = path + namepdf; File.WriteAllBytes(pathpdf, binary); yearsOfWorkExperience.YearsOfWorkXML = namexml; var myXml = new XmlDocument(); var xNav = myXml.CreateNavigator(); var x = new XmlSerializer(yearsOfWorkExperience.GetType()); using (var xs = xNav.AppendChild()) { x.Serialize(xs, yearsOfWorkExperience); } var pathxml = path + namexml; File.WriteAllText(pathxml, myXml.OuterXml); return(yearsOfWorkExperience); } catch (FaultException e) { _logger.Error(e.Message, "PIOM - YearsOfWorkExperience - Custom Interop fault exception"); throw; } catch (Exception e) { _logger.Error(e.Message, "PIOM - YearsOfWorkExperience - Exception Error"); throw e; } }
public DataForPropertyListDTO GetPropertyList(string municipality, string cadastralMunicipality, string noPropertyList) { if (String.IsNullOrEmpty(municipality)) { throw new ArgumentException("Параметарот 'Општина' е задолжителен."); } if (String.IsNullOrEmpty(cadastralMunicipality)) { throw new ArgumentException("Параметарот 'Катастарска Општина' е задолжителен."); } if (String.IsNullOrEmpty(noPropertyList)) { throw new ArgumentException("Параметарот 'Број на имотен лист' е задолжителен."); } ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true);//sertifikatot ne im e u red za toa go stavam ova za da go ignorira // Read from web.config var username = WebConfigurationManager.AppSettings["AKNusername"]; var password = WebConfigurationManager.AppSettings["AKNpassword"]; var enviroment = ConfigurationManager.AppSettings["EnviromentAKN"]; if (enviroment == "Production") { #region production //var dzgrObject = new AKNImotenList.dzgr(); //Test ImotenList var dzgrObject = new AKNImotenList.dzgr(); try { //Service without separated methods //var aknClient = new AKNPropertyListCadastralParcelAdapter.AKNServiceClient(); //Service with separated methods PROD //var aknClient = new AKNImotenList.PropertyListClient(); //dzgrObject = aknClient.GetPropertyList(username, password, municipality, cadastralMunicipality, noPropertyList); //_logger.Info(dzgrObject.message); //Service with separated methods PROD var aknClient = new AKNImotenList.PropertyListClient(); dzgrObject = aknClient.GetPropertyList(username, password, municipality, cadastralMunicipality, noPropertyList); _logger.Info(dzgrObject.message); } catch (Exception e) { _logger.Error(e); throw e; } var loads = new List <Loads>(); if (dzgrObject.niztov != null) { foreach (var tovar in dzgrObject.niztov) { var load = new Loads { Text = tovar.text }; loads.Add(load); } } var objects = new List <Objects>(); if (dzgrObject.nizobj != null) { foreach (var objekt in dzgrObject.nizobj) { var objectItem = new Objects { Apartment = objekt.stan, Grounds = objekt.povrsina, Entry = objekt.vlez, Floor = objekt.kat, Location = objekt.mesto, Number = objekt.broj, Object = objekt.objekt, Pravo = objekt.pravo, Purpose = objekt.namena, YearBuilt = objekt.godinagradba, OsnovGradba = objekt.osnov }; objects.Add(objectItem); } } var owners = new List <Owner>(); if (dzgrObject.nizsop != null) { foreach (var sopstvenik in dzgrObject.nizsop) { var owner = new Owner() { PersonalNumber = sopstvenik.embg, Name = sopstvenik.ime, Location = sopstvenik.mesto, Number = sopstvenik.broj, Street = sopstvenik.ulica, Part = sopstvenik.del }; owners.Add(owner); } } var parcels = new List <Parcel>(); if (dzgrObject.nizpar != null) { foreach (var parcela in dzgrObject.nizpar) { var parcel = new Parcel { PartNumber = parcela.broj_del, Culture = parcela.kultura, Grounds = parcela.povrsina, Location = parcela.mesto, ObjectParcel = parcela.objekt, Pravo = parcela.pravo }; parcels.Add(parcel); } } var propertyList = new DataForPropertyListDTO { Municipality = municipality, CadastralMunicipality = cadastralMunicipality, PropertyList = dzgrObject.ilist, LoadsList = loads, ObjectsList = objects, OwnersList = owners, ParcelsList = parcels, Date = dzgrObject.data, Message = dzgrObject.message, }; var context = HttpContext.Current; var contextBase = new HttpContextWrapper(context); var routeData = new RouteData(); routeData.Values.Add("controller", "Template"); var controllerContext = new ControllerContext(contextBase, routeData, new FPIOMController.EmptyController()); var dataforpropertylist = propertyList; dataforpropertylist.FillBasicPrintInfo("Имотен лист", InstitutionName); var r = new Rotativa.ViewAsPdf("PrintPropertyList", dataforpropertylist); var binary = r.BuildPdf(controllerContext); var date = DateTime.Now.Day; var month = DateTime.Now.Month; var year = DateTime.Now.Year; var hour = DateTime.Now.Hour; var minutes = DateTime.Now.Minute; var secods = DateTime.Now.Second; var namepdfpropertylist = "AKN_GetPropertyList_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".pdf"; var namexmlpropertylist = "AKN_GetPropertyList_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".xml"; propertyList.PropertylistPDF = namepdfpropertylist; var path = WebConfigurationManager.AppSettings["PathToFile"]; var pathpdf = path + namepdfpropertylist; File.WriteAllBytes(pathpdf, binary); propertyList.PropertylistXML = namexmlpropertylist; var myXml = new XmlDocument(); var xNav = myXml.CreateNavigator(); var x = new XmlSerializer(dataforpropertylist.GetType()); using (var xs = xNav.AppendChild()) { x.Serialize(xs, dataforpropertylist); } var pathxml = path + namexmlpropertylist; File.WriteAllText(pathxml, myXml.OuterXml); return(propertyList); #endregion } else { #region test var dzgrObject = new AKNImotenListTest.dzgr(); try { //Service with separated methods TEST var aknClient = new AKNImotenListTest.PropertyListClient(); dzgrObject = aknClient.GetPropertyList(username, password, municipality, cadastralMunicipality, noPropertyList); _logger.Info(dzgrObject.message); } catch (Exception e) { _logger.Error(e); throw e; } var loads = new List <Loads>(); if (dzgrObject.niztov != null) { foreach (var tovar in dzgrObject.niztov) { var load = new Loads { Text = tovar.text }; loads.Add(load); } } var objects = new List <Objects>(); if (dzgrObject.nizobj != null) { foreach (var objekt in dzgrObject.nizobj) { var objectItem = new Objects { Apartment = objekt.stan, Grounds = objekt.povrsina, Entry = objekt.vlez, Floor = objekt.kat, Location = objekt.mesto, Number = objekt.broj, Object = objekt.objekt, Pravo = objekt.pravo, Purpose = objekt.namena, YearBuilt = objekt.godinagradba, OsnovGradba = objekt.osnov }; objects.Add(objectItem); } } var owners = new List <Owner>(); if (dzgrObject.nizsop != null) { foreach (var sopstvenik in dzgrObject.nizsop) { var owner = new Owner() { PersonalNumber = sopstvenik.embg, Name = sopstvenik.ime, Location = sopstvenik.mesto, Number = sopstvenik.broj, Street = sopstvenik.ulica, Part = sopstvenik.del }; owners.Add(owner); } } var parcels = new List <Parcel>(); if (dzgrObject.nizpar != null) { foreach (var parcela in dzgrObject.nizpar) { var parcel = new Parcel { PartNumber = parcela.broj_del, Culture = parcela.kultura, Grounds = parcela.povrsina, Location = parcela.mesto, ObjectParcel = parcela.objekt, Pravo = parcela.pravo }; parcels.Add(parcel); } } var propertyList = new DataForPropertyListDTO { Municipality = municipality, CadastralMunicipality = cadastralMunicipality, PropertyList = dzgrObject.ilist, LoadsList = loads, ObjectsList = objects, OwnersList = owners, ParcelsList = parcels, Date = dzgrObject.data, Message = dzgrObject.message, }; var context = HttpContext.Current; var contextBase = new HttpContextWrapper(context); var routeData = new RouteData(); routeData.Values.Add("controller", "Template"); var controllerContext = new ControllerContext(contextBase, routeData, new FPIOMController.EmptyController()); var dataforpropertylist = propertyList; dataforpropertylist.FillBasicPrintInfo("Имотен лист", InstitutionName); var r = new Rotativa.ViewAsPdf("PrintPropertyList", dataforpropertylist); var binary = r.BuildPdf(controllerContext); var date = DateTime.Now.Day; var month = DateTime.Now.Month; var year = DateTime.Now.Year; var hour = DateTime.Now.Hour; var minutes = DateTime.Now.Minute; var secods = DateTime.Now.Second; var namepdfpropertylist = "AKN_GetPropertyList_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".pdf"; var namexmlpropertylist = "AKN_GetPropertyList_" + secods + "_" + minutes + "_" + hour + "_" + date + "_" + month + "_" + year + ".xml"; propertyList.PropertylistPDF = namepdfpropertylist; var path = WebConfigurationManager.AppSettings["PathToFile"]; var pathpdf = path + namepdfpropertylist; File.WriteAllBytes(pathpdf, binary); propertyList.PropertylistXML = namexmlpropertylist; var myXml = new XmlDocument(); var xNav = myXml.CreateNavigator(); var x = new XmlSerializer(dataforpropertylist.GetType()); using (var xs = xNav.AppendChild()) { x.Serialize(xs, dataforpropertylist); } var pathxml = path + namexmlpropertylist; File.WriteAllText(pathxml, myXml.OuterXml); return(propertyList); #endregion } }