prettify CalculationController and ManagerResult

This commit is contained in:
Chika 2021-02-26 16:26:35 +03:00
parent 04358f6a61
commit 1be80f1c20
4 changed files with 24 additions and 50 deletions

View File

@ -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)
{

View File

@ -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)
{

View File

@ -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; }
}
}

View File

@ -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;
switch (requestCalculation.preparedValues.CalcType)
var result = requestCalculation.preparedValues.CalcType switch
{
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;
}
}
100000002 => CalculateManager.CalculateByTotalExpected(requestCalculation),
_ => CalculateManager.CalculateDefault(requestCalculation)
};
if (errors != null && errors.Count > 0)
{
return StatusCode(500, JsonConvert.SerializeObject(
new
{
errors
},
new JsonSerializerSettings
{
Formatting = Formatting.Indented
}));
}
return Ok(JsonConvert.SerializeObject(
res,
var hasErrors = result.Errors != null && result.Errors.Count > 0;
var statusCode = hasErrors ? 500 : 200;
return StatusCode(statusCode, JsonConvert.SerializeObject(
result,
new JsonSerializerSettings
{
Formatting = Formatting.Indented,