Example #1
0
        public ActionResult Create(Input model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    //// TODO: Add insert logic here
                    var client = new PIOMApplicationMVC.AKNServiceReference.AKNServiceClient();
                    var output = client.GetCadastrialParcel(model.UserName, model.Password, model.Municipality, model.CadastralMunicipality, model.PropertyList);
                    CadastralParcelDTO parcela = new CadastralParcelDTO();
                    parcela.Message = output.messageField;
                    List <ParcelAttributes> attributes = new List <ParcelAttributes>();
                    foreach (var parcel in output.nizparField)
                    {
                        var attribute = new ParcelAttributes()
                        {
                            Area         = parcel.povrsinaField,
                            Location     = parcel.mestoField,
                            Culture      = parcel.kulturaField,
                            Object       = parcel.objektField,
                            PartNumber   = parcel.broj_delField,
                            PropertyList = parcel.ilistField,
                            Pravo        = parcel.pravoField
                        };
                        attributes.Add(attribute);
                    }
                    parcela.AttributesList = attributes;
                    var k = parcela;

                    return(View("Details", parcela));
                }
                else
                {
                    return(View("Create"));
                }
            }
            catch
            {
                return(RedirectToAction("Index"));
            }
        }
Example #2
0
        public CadastralParcelDTO GetCadastralParcel(string username, string password, string municipality, string cadastralMunicipality, string noCadastralParcel)
        {
            System.Net.ServicePointManager.ServerCertificateValidationCallback =
                ((sender, certificate, chain, sslPolicyErrors) => true);//sertifikatot ne im e u red za toa go stavam ova za da go ignorira
            var AKNClient       = new AKNServiceClient();
            var cadastralParcel = new ATRparceli();


            cadastralParcel = AKNClient.GetCadastrialParcel(username, password, municipality, cadastralMunicipality, noCadastralParcel);



            List <ParcelAttributes> attributes = new List <ParcelAttributes>();

            foreach (var parcel in cadastralParcel.nizparField)
            {
                var attribute = new ParcelAttributes()
                {
                    Area         = parcel.povrsinaField,
                    Location     = parcel.mestoField,
                    Culture      = parcel.kulturaField,
                    Object       = parcel.objektField,
                    PartNumber   = parcel.broj_delField,
                    PropertyList = parcel.ilistField,
                    Pravo        = parcel.pravoField
                };
                attributes.Add(attribute);
            }

            var cadastralParcelDto = new CadastralParcelDTO
            {
                AttributesList = attributes,
                Message        = cadastralParcel.messageField
            };

            return(cadastralParcelDto);
        }
Example #3
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
            }
        }