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")); } }
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); }
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 } }