50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
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<string, OSAGOFullCalculationResponse> CalculateOsago(
|
|
CalculateOsagoRequest calculateOsagoRequest, ELTPreData preRequestData)
|
|
{
|
|
var result = new Dictionary<string, OSAGOFullCalculationResponse>();
|
|
|
|
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;
|
|
}
|
|
}
|
|
} |