public ResponseModel ValidateTestInsData(TestInsQueryFilter testInsQueryFilter) { try { TestValidator validator = new TestValidator(); var validationResult = validator.Validate(testInsQueryFilter); return(MainValidator.IterationValidationResult(validationResult)); } catch (Exception err) { throw new Exception(err.Message); } }
public async Task <ResponsePost> InsTestAsync(TestInsQueryFilter testInsQueryFilter) { #region Test Validator var responseModel = _testRepositoryVal.ValidateTestInsData(testInsQueryFilter); if (!responseModel.IsValid) { return(new ResponsePost() { Messages = responseModel.ValidationMessages.ToArray(), StatusCode = HttpStatusCode.BadRequest }); } #endregion #region Reglas de Negocio //Si existe un registro con VALOR igual en la tabla Test2 no permitir el insert en Test var test2 = await _testRepository.GetDataBDTest2Async(testInsQueryFilter); if (test2.Count() > 0) { return(new ResponsePost() { Messages = new Message[] { new Message() { Type = TypeMessage.warning.ToString(), Description = "El valor que se intenta registrar en Test1 ya existe en Test2" } }, StatusCode = HttpStatusCode.BadRequest }); } #endregion var testIns = await _testRepository.InsTestAsync(testInsQueryFilter); if (testIns.AffectedRows > 0) { return(new ResponsePost() { Response = testIns, StatusCode = HttpStatusCode.OK }); } else { return(new ResponsePost() { Response = testIns, StatusCode = HttpStatusCode.NoContent }); } }
public async Task <IEnumerable <Test> > GetDataBDTest2Async(TestInsQueryFilter testInsQueryFilter) { try { var dyParam = new OracleDynamicParameters(); dyParam.Add("TESTCURSOR2", OracleDbType.RefCursor, ParameterDirection.Output); dyParam.Add("p_valor", OracleDbType.Varchar2, ParameterDirection.Input, testInsQueryFilter.Valor); return(await _coneccion.GetData <Test>(dyParam, "TestAcad.SP_GETTEST2")); } catch (Exception err) { throw new Exception(err.Message); } }
public async Task <IActionResult> PostPersona(TestInsQueryFilter testInsQueryFilter) { try { var per = await _testService.InsTestAsync(testInsQueryFilter); return(StatusCode((int)per.StatusCode, per)); } catch (Exception err) { _logger.LogError(err, "Error inesperado"); var responsePost = new ResponsePost() { Messages = new Message[] { new Message() { Type = TypeMessage.error.ToString(), Description = err.Message } }, }; return(StatusCode(500, responsePost)); } }
public async Task <ResponsePostDetail> InsTestAsync(TestInsQueryFilter testInsQueryFilter) { try { var affectedRows = 0; var dyParam = new OracleDynamicParameters(); dyParam.Add("valor", OracleDbType.Varchar2, ParameterDirection.Input, testInsQueryFilter.Valor); dyParam.Add("affected_rows", OracleDbType.Int32, ParameterDirection.Output, 0); await _coneccion.InsData(dyParam, "TestAcad.SP_INSERTTEST"); affectedRows = dyParam.Get("affected_rows"); return(new ResponsePostDetail() { Process = "Test", AffectedRows = affectedRows }); } catch (Exception err) { throw new Exception(err.Message); } }