public BaseResponseDTO AnalyzeRisk([FromBody] RiskAnalysisParameterDTO parameter)
        {
            BaseResponseDTO result = new BaseResponseDTO();

            try
            {
                result = _riskAnalysisService.AnalyzeRisk(parameter);
            }
            catch (Exception exception)
            {
                _logger.LogError(exception, "");
            }
            return(result);
        }
Ejemplo n.º 2
0
        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
                });
            }
        }