abstract managers

This commit is contained in:
Chika 2021-02-25 13:36:34 +03:00
parent 1e31668294
commit ce96fca3c8
4 changed files with 25 additions and 10 deletions

View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using ELT.Client.Models.Insurance;
namespace ELT.Client.Managers.Insurance
{
public abstract class InsuranceManager<T1, T2>
{
protected AuthInfo AuthInfo =>
new AuthInfo
{
Login = Environment.GetEnvironmentVariable("eltLogin"),
Password = Environment.GetEnvironmentVariable("eltPassword")
};
public abstract Dictionary<string, T2> Calculate(T1 calculateRequest, ELTPreData preRequestData);
}
}

View File

@ -6,16 +6,16 @@ using ELTKasko;
namespace ELT.Client.Managers.Insurance
{
public class KaskoManager : BaseManager
public class KaskoManager : InsuranceManager<CalculateKaskoRequest, KASKOCalculationResult>
{
private readonly EltSoap _eltKaskoSoap;
public KaskoManager()
{
_eltKaskoSoap = new EltSoapClient();
}
public Dictionary<string, KASKOCalculationResult> CalculateKasko(CalculateKaskoRequest calculateKaskoRequest,
public override Dictionary<string, KASKOCalculationResult> Calculate(
CalculateKaskoRequest calculateKaskoRequest,
ELTPreData preRequestData)
{
var kaskoParams = calculateKaskoRequest.ELTParams;

View File

@ -6,16 +6,15 @@ using ELTOsago;
namespace ELT.Client.Managers.Insurance
{
public class OsagoManager : BaseManager
public class OsagoManager : InsuranceManager<CalculateOsagoRequest, OSAGOFullCalculationResponse>
{
private readonly EltSoap _eltOsagoSoap;
public OsagoManager()
{
_eltOsagoSoap = new EltSoapClient();
}
public Dictionary<string, OSAGOFullCalculationResponse> CalculateOsago(
public override Dictionary<string, OSAGOFullCalculationResponse> Calculate(
CalculateOsagoRequest calculateOsagoRequest, ELTPreData preRequestData)
{
var result = new Dictionary<string, OSAGOFullCalculationResponse>();
@ -31,7 +30,6 @@ namespace ELT.Client.Managers.Insurance
};
foreach (var companyId in calculateOsagoRequest.CompanyIds)
{
try
{
var res = _eltOsagoSoap.OSAGOFullCalculation(osagoParams);
@ -42,7 +40,6 @@ namespace ELT.Client.Managers.Insurance
{
// ignored
}
}
return result;
}

View File

@ -19,7 +19,7 @@ namespace ELT.Controllers
var preRequestData = preRequestManager.GetPreRequestData(calculateKaskoRequest.Preparams);
var kaskoManager = new KaskoManager();
return kaskoManager.CalculateKasko(calculateKaskoRequest, preRequestData);
return kaskoManager.Calculate(calculateKaskoRequest, preRequestData);
}
[HttpPost("[action]")]
@ -30,7 +30,7 @@ namespace ELT.Controllers
var preRequestData = preRequestManager.GetPreRequestData(calculateOsagoRequest.Preparams);
var osagoManager = new OsagoManager();
return osagoManager.CalculateOsago(calculateOsagoRequest, preRequestData);
return osagoManager.Calculate(calculateOsagoRequest, preRequestData);
}
}
}