82 lines
2.6 KiB
C#
82 lines
2.6 KiB
C#
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<string, object> 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<string, object>();
|
|
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;
|
|
}
|
|
}
|
|
} |