Example #1
0
        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);
     }
 }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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"));
        }
Example #6
0
        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;
 }
Example #8
0
        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);
        }
Example #9
0
        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;
 }
Example #12
0
        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();
        }
Example #13
0
        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));
        }
Example #14
0
        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);
        }
Example #15
0
        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");
        }
Example #16
0
        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);
            }
        }
Example #18
0
        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;
 }
Example #20
0
        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);
        }
Example #21
0
        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);
        }
Example #22
0
        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);
        }
Example #23
0
        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);
        }
Example #24
0
        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
            }
        }
Example #25
0
        /// <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);
        }
Example #26
0
        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);
        }
Example #27
0
        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);
        }
Example #28
0
        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;
            }
        }
Example #29
0
        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
            }
        }