public BaseResponseDTO AnalyzeRisk([FromBody] RiskAnalysisParameterDTO parameter) { BaseResponseDTO result = new BaseResponseDTO(); try { result = _riskAnalysisService.AnalyzeRisk(parameter); } catch (Exception exception) { _logger.LogError(exception, ""); } return(result); }
public BaseResponseDTO AnalyzeRisk(RiskAnalysisParameterDTO parameter) { try { int year = Convert.ToInt32(parameter.Year); int priority = Convert.ToInt32(parameter.Priority); priority = (priority == 0 ? 25 : priority); int veryHigh = 0, high = 0, medium = 0, low = 0; switch (parameter.Confidence) { case "2": veryHigh = 1; break; case "3": high = 1; break; case "4": medium = 1; break; case "5": low = 1; break; } var param1 = new Npgsql.NpgsqlParameter("I_ANALYSISYEAR", NpgsqlTypes.NpgsqlDbType.Integer); param1.Value = year; var param2 = new Npgsql.NpgsqlParameter("I_PRIORIRY", NpgsqlTypes.NpgsqlDbType.Integer); param2.Value = priority; var param3 = new Npgsql.NpgsqlParameter("I_VERY_HIGH", NpgsqlTypes.NpgsqlDbType.Integer); param3.Value = veryHigh; var param4 = new Npgsql.NpgsqlParameter("I_HIGH", NpgsqlTypes.NpgsqlDbType.Integer); param4.Value = high; var param5 = new Npgsql.NpgsqlParameter("I_MEDIUM", NpgsqlTypes.NpgsqlDbType.Integer); param5.Value = medium; var param6 = new Npgsql.NpgsqlParameter("I_LOW", NpgsqlTypes.NpgsqlDbType.Integer); param6.Value = low; var parameters = new[] { param1, param2, param3, param4, param5, param6 }; _context.Database.ExecuteSqlRaw("call USP_WhatIfAnalysis(@I_ANALYSISYEAR, @I_PRIORIRY, @I_VERY_HIGH, @I_HIGH, @I_MEDIUM, @I_LOW);", parameters); return(new BaseResponseDTO() { Status = true, StatusMessage = "Success", StatusCode = 200 }); } catch (Exception ex) { return(new BaseResponseDTO() { Status = false, StatusMessage = ex.Message, StatusCode = 200 }); } }