public ActionResult Create1(Input model) { try { if (ModelState.IsValid) { //// TODO: Add insert logic here var client = new PIOMApplicationMVC.AKNServiceReference.AKNServiceClient(); var dzgrObject = client.GetPropertyList(model.UserName, model.Password, model.Municipality, model.CadastralMunicipality, model.PropertyList); List <Loads> loads = new List <Loads>(); foreach (var tovar in dzgrObject.niztovField) { var load = new Loads { Text = tovar.textField }; loads.Add(load); } List <Objects> objects = new List <Objects>(); foreach (var objekt in dzgrObject.nizobjField) { var objectItem = new Objects { Apartment = objekt.stanField, Grounds = objekt.povrsinaField, Entry = objekt.vlezField, Floor = objekt.katField, Location = objekt.mestoField, Number = objekt.brojField, Object = objekt.objektField, Pravo = objekt.pravoField, Purpose = objekt.namenaField }; objects.Add(objectItem); } List <Owner> owners = new List <Owner>(); foreach (var sopstvenik in dzgrObject.nizsopField) { var owner = new Owner() { Name = sopstvenik.imeField, Location = sopstvenik.mestoField, Number = sopstvenik.brojField, Street = sopstvenik.ulicaField, Part = sopstvenik.delField }; owners.Add(owner); } List <Parcel> parcels = new List <Parcel>(); foreach (var parcela in dzgrObject.nizparField) { var parcel = new Parcel { PartNumber = parcela.broj_delField, Culture = parcela.kulturaField, Grounds = parcela.povrsinaField, Location = parcela.mestoField, ObjectParcel = parcela.objektField, Pravo = parcela.pravoField }; parcels.Add(parcel); } var propertyList = new DataForPropertyListDTO { PropertyList = dzgrObject.ilistField, LoadsList = loads, ObjectsList = objects, OwnersList = owners, ParcelsList = parcels, Date = Convert.ToString(DateTime.Now), Message = dzgrObject.messageField, }; return(View("Details1", propertyList)); } else { return(View("Create1")); } } catch { return(RedirectToAction("Index")); } }
public DataForPropertyListDTO GetPropertyList(string username, string password, string municipality, string cadastralMunicipality, string noPropertyList) { 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 dzgrObject = AKNClient.GetPropertyList(username, password, municipality, cadastralMunicipality, noPropertyList); List <Loads> loads = new List <Loads>(); foreach (var tovar in dzgrObject.niztovField) { var load = new Loads { Text = tovar.textField }; loads.Add(load); } List <Objects> objects = new List <Objects>(); foreach (var objekt in dzgrObject.nizobjField) { var objectItem = new Objects { Apartment = objekt.stanField, Grounds = objekt.povrsinaField, Entry = objekt.vlezField, Floor = objekt.katField, Location = objekt.mestoField, Number = objekt.brojField, Object = objekt.objektField, Pravo = objekt.pravoField, Purpose = objekt.namenaField }; objects.Add(objectItem); } List <Owner> owners = new List <Owner>(); foreach (var sopstvenik in dzgrObject.nizsopField) { var owner = new Owner() { Name = sopstvenik.imeField, Location = sopstvenik.mestoField, Number = sopstvenik.brojField, Street = sopstvenik.ulicaField, Part = sopstvenik.delField }; owners.Add(owner); } List <Parcel> parcels = new List <Parcel>(); foreach (var parcela in dzgrObject.nizparField) { var parcel = new Parcel { PartNumber = parcela.broj_delField, Culture = parcela.kulturaField, Grounds = parcela.povrsinaField, Location = parcela.mestoField, ObjectParcel = parcela.objektField, Pravo = parcela.pravoField }; parcels.Add(parcel); } var propertyList = new DataForPropertyListDTO { Municipality = municipality, CadastralMunicipality = cadastralMunicipality, PropertyList = dzgrObject.ilistField, LoadsList = loads, ObjectsList = objects, OwnersList = owners, ParcelsList = parcels, Date = Convert.ToString(DateTime.Now), Message = dzgrObject.messageField, }; return(propertyList); }
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 } }