using System; using System.Collections.Generic; using System.Linq; using ELT.Models; using ELTKasko; namespace ELT.Client.Kasko { public class KaskoManager { private readonly EltSoap _eltKaskoSoap; public KaskoManager() { _eltKaskoSoap = new EltSoapClient(); } public Dictionary CalculateKasko(CalculateKaskoRequest calculateKaskoRequest) { var authInfo = new AuthInfo { Login = "dmitrienko", Password = "12345" }; var eltParams = calculateKaskoRequest.ELTParams; //KLADR var kladr = "0"; var eltRegions = _eltKaskoSoap.GetRegionsExt(new GetRegionsExtRequest()); var eltRegion = eltRegions.GetRegionsExtResult.FirstOrDefault(x => x.Name.Contains(calculateKaskoRequest.Preparams.RegionName.Split(" ")[0]) ); if (eltRegion != null) { if (eltRegion.Kladr != null) { kladr = eltRegion.Kladr; } else { if (eltRegion.Id != null) { var eltCities = _eltKaskoSoap.GetCitiesExt(new GetCitiesExtRequest {RegionId = eltRegion.Id}); var eltCity = eltCities.GetCitiesExtResult.FirstOrDefault(x => x.Name.Contains(calculateKaskoRequest.Preparams.CityName.Split(" ")[0])); if (eltCity != null) kladr = eltCity.Kladr; } } } eltParams.UsageCityKLADR = kladr; //KLADR //CAR var mappedCars = _eltKaskoSoap.MappedCars(new MappedCarsRequest { Marka = calculateKaskoRequest.Preparams.BrandId, Model = calculateKaskoRequest.Preparams.ModelId }); eltParams.Mark = mappedCars.Mark; eltParams.Model = mappedCars.Model; //CAR var result = new Dictionary(); foreach (var companyId in calculateKaskoRequest.CompanyIds) try { var res = _eltKaskoSoap.PreliminaryKASKOCalculation(authInfo, null, companyId, null, null, null, "15", null, false, null, null, eltParams); result.Add(companyId, res); } catch (Exception e) { } return result; } } }