using System; using System.Collections.Generic; using ELT.Client.Models.Insurance; using ELT.Client.Models.Insurance.Request; using ELTOsago; namespace ELT.Client.Managers.Insurance { public class OsagoManager : BaseManager { private readonly EltSoap _eltOsagoSoap; public OsagoManager() { _eltOsagoSoap = new EltSoapClient(); } public Dictionary CalculateOsago( CalculateOsagoRequest calculateOsagoRequest, ELTPreData preRequestData) { var result = new Dictionary(); var osagoParams = calculateOsagoRequest.ELTParams; osagoParams.UsagePlace = preRequestData.Kladr; osagoParams.CarInfo.Mark = preRequestData.Brand; osagoParams.CarInfo.Model = preRequestData.Model; osagoParams.AuthInfo = new ELTOsago.AuthInfo { Login = AuthInfo.Login, Password = AuthInfo.Password }; foreach (var companyId in calculateOsagoRequest.CompanyIds) { try { var res = _eltOsagoSoap.OSAGOFullCalculation(osagoParams); if (string.IsNullOrEmpty(res.Error)) result.Add(companyId, res); } catch (Exception) { // ignored } } return result; } } }