prettify CalculationController and ManagerResult
This commit is contained in:
parent
04358f6a61
commit
1be80f1c20
@ -243,11 +243,11 @@ namespace EvoCalculator.Core.Calculation.v1.Managers
|
||||
postValues.BonusResult.ComputeValue(preparedValues, npvBonusExpensesColumn);
|
||||
|
||||
|
||||
var res = new
|
||||
return new ManagerResult
|
||||
{
|
||||
postValues = postValues.GetValues(),
|
||||
preparedValues,
|
||||
columns = new
|
||||
PostValues = postValues.GetValues(),
|
||||
PreparedValues = preparedValues,
|
||||
Columns = new
|
||||
{
|
||||
dateColumn,
|
||||
dateTempColumn,
|
||||
@ -306,8 +306,6 @@ namespace EvoCalculator.Core.Calculation.v1.Managers
|
||||
npvFinal2Column
|
||||
}
|
||||
};
|
||||
|
||||
return new ManagerResult {Res = res};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@ -242,11 +242,11 @@ namespace EvoCalculator.Core.Calculation.v1.Managers
|
||||
postValues.BonusResult.ComputeValue(preparedValues, npvBonusExpensesColumn);
|
||||
|
||||
|
||||
var res = new
|
||||
return new ManagerResult
|
||||
{
|
||||
postValues = postValues.GetValues(),
|
||||
preparedValues,
|
||||
columns = new
|
||||
PostValues = postValues.GetValues(),
|
||||
PreparedValues = preparedValues,
|
||||
Columns = new
|
||||
{
|
||||
dateColumn,
|
||||
dateTempColumn,
|
||||
@ -305,8 +305,6 @@ namespace EvoCalculator.Core.Calculation.v1.Managers
|
||||
npvFinal2Column
|
||||
}
|
||||
};
|
||||
|
||||
return new ManagerResult {Res = res};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
using System.Collections.Generic;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Prepared;
|
||||
|
||||
namespace EvoCalculator.Core.Models.Calculation.Models
|
||||
{
|
||||
public class ManagerResult
|
||||
{
|
||||
public object Res { get; set; }
|
||||
public PreparedValues PreparedValues { get; set; }
|
||||
public object PostValues { get; set; }
|
||||
public object Columns { get; set; }
|
||||
public List<string> Errors { get; set; }
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using EvoCalculator.Core.Calculation.v1.Managers;
|
||||
using EvoCalculator.Core.Models.Calculation.Models;
|
||||
using EvoCalculator.Core.Models.Calculation.Models.Request;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json;
|
||||
@ -19,45 +20,19 @@ namespace EvoCalculator.Core.Controllers.V1
|
||||
}
|
||||
|
||||
[HttpPost("[action]")]
|
||||
public IActionResult Calculate([FromBody] RequestCalculation requestCalculation)
|
||||
public ActionResult<ManagerResult> Calculate([FromBody] RequestCalculation requestCalculation)
|
||||
{
|
||||
List<string> errors;
|
||||
object res;
|
||||
var result = requestCalculation.preparedValues.CalcType switch
|
||||
{
|
||||
100000002 => CalculateManager.CalculateByTotalExpected(requestCalculation),
|
||||
_ => CalculateManager.CalculateDefault(requestCalculation)
|
||||
};
|
||||
|
||||
switch (requestCalculation.preparedValues.CalcType)
|
||||
{
|
||||
case 100000002:
|
||||
{
|
||||
var result = Calculation.v1.Managers.CalculateManager.CalculateByTotalExpected(requestCalculation);
|
||||
errors = result.Errors;
|
||||
res = result.Res;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
var result = Calculation.v1.Managers.CalculateManager.CalculateDefault(requestCalculation);
|
||||
errors = result.Errors;
|
||||
res = result.Res;
|
||||
break;
|
||||
}
|
||||
}
|
||||
var hasErrors = result.Errors != null && result.Errors.Count > 0;
|
||||
var statusCode = hasErrors ? 500 : 200;
|
||||
|
||||
|
||||
if (errors != null && errors.Count > 0)
|
||||
{
|
||||
return StatusCode(500, JsonConvert.SerializeObject(
|
||||
new
|
||||
{
|
||||
errors
|
||||
},
|
||||
new JsonSerializerSettings
|
||||
{
|
||||
Formatting = Formatting.Indented
|
||||
}));
|
||||
}
|
||||
|
||||
return Ok(JsonConvert.SerializeObject(
|
||||
res,
|
||||
return StatusCode(statusCode, JsonConvert.SerializeObject(
|
||||
result,
|
||||
new JsonSerializerSettings
|
||||
{
|
||||
Formatting = Formatting.Indented,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user