From 1be80f1c20b354e833a5ad897ce9f524877f8baa Mon Sep 17 00:00:00 2001 From: Chika Date: Fri, 26 Feb 2021 16:26:35 +0300 Subject: [PATCH] prettify CalculationController and ManagerResult --- .../Calculate/CalculateByTotalExpected.cs | 10 ++-- .../v1/Managers/Calculate/CalculateDefault.cs | 10 ++-- .../Calculation/Models/ManagerResult.cs | 5 +- .../Controllers/v1/CalculationController.cs | 49 +++++-------------- 4 files changed, 24 insertions(+), 50 deletions(-) diff --git a/EvoCalculator.Core.Calculation/v1/Managers/Calculate/CalculateByTotalExpected.cs b/EvoCalculator.Core.Calculation/v1/Managers/Calculate/CalculateByTotalExpected.cs index 1d441d7..a0eaa29 100644 --- a/EvoCalculator.Core.Calculation/v1/Managers/Calculate/CalculateByTotalExpected.cs +++ b/EvoCalculator.Core.Calculation/v1/Managers/Calculate/CalculateByTotalExpected.cs @@ -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) { diff --git a/EvoCalculator.Core.Calculation/v1/Managers/Calculate/CalculateDefault.cs b/EvoCalculator.Core.Calculation/v1/Managers/Calculate/CalculateDefault.cs index bfb03ab..5e65b6c 100644 --- a/EvoCalculator.Core.Calculation/v1/Managers/Calculate/CalculateDefault.cs +++ b/EvoCalculator.Core.Calculation/v1/Managers/Calculate/CalculateDefault.cs @@ -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) { diff --git a/EvoCalculator.Core.Models/Calculation/Models/ManagerResult.cs b/EvoCalculator.Core.Models/Calculation/Models/ManagerResult.cs index f932e83..bf8ddf9 100644 --- a/EvoCalculator.Core.Models/Calculation/Models/ManagerResult.cs +++ b/EvoCalculator.Core.Models/Calculation/Models/ManagerResult.cs @@ -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 Errors { get; set; } } } \ No newline at end of file diff --git a/EvoCalculator.Core/Controllers/v1/CalculationController.cs b/EvoCalculator.Core/Controllers/v1/CalculationController.cs index 9677d03..80a3fcd 100644 --- a/EvoCalculator.Core/Controllers/v1/CalculationController.cs +++ b/EvoCalculator.Core/Controllers/v1/CalculationController.cs @@ -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 Calculate([FromBody] RequestCalculation requestCalculation) { - List 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,