// PUT: api/MovimientoCuenta/ verbo Put y {CxCMovimientoCuenta} en el header public HttpResponseMessage Put(FCCxCMovimientoCuenta MovimientoCuentaModif) { try { using (var negocio = new NEGOCIO_MovimientoCuenta()) { var resNegocios = negocio.NEGOCIO_update(MovimientoCuentaModif); //mensaje Http de respuesta del Api HttpResponseMessage res = null; if (resNegocios) { //crear respuesta de ok res = new HttpResponseMessage(HttpStatusCode.OK); } else { //crear respuesta de error res = new HttpResponseMessage(HttpStatusCode.InternalServerError); } return(res); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// POST: api/MovimientoCuenta public HttpResponseMessage Post([FromBody] FCCxCMovimientoCuenta nuevoMovimientoCuenta) { try { using (var negocio = new NEGOCIO_MovimientoCuenta()) { var resNegocios = negocio.NEGOCIO_insertar(nuevoMovimientoCuenta); //mensaje Http de respuesta del Api HttpResponseMessage res = null; if (resNegocios) { //crear respuesta de ok res = new HttpResponseMessage(HttpStatusCode.OK); //no se puede obtener el Id del nuevo registro pues retorna un bool //var message = Request.CreateResponse(HttpStatusCode.Created, nuevoMovimientoCuenta.IdMovimientoCuenta); //message.Headers.Location = new Uri(Request.RequestUri + // nuevoMovimientoCuenta.IdMovimientoCuenta.ToString()); } else { //crear respuesta de error res = new HttpResponseMessage(HttpStatusCode.InternalServerError); } return(res); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public void MovimientoCuenta_Put_DebeModificarCorretamente() { // arrange var MovimientoCuentaModif = new FCCxCMovimientoCuenta() { IdMovimiento = 1, IdCuenta = 5, Monto = 2, FechaRegistroMovimiento = DateTime.Now, IdFormaPago = 1, IdEstadoPago = 1, IdAuxiliar = 1, Dsc_Detalle = "Prueba Unit", UsrCreacion = "pruebasunit", UsrUltModif = "pruebasunit", FecUltModif = DateTime.Now }; var ctrl = new MovimientoCuentaController(); ctrl.Request = new HttpRequestMessage(); ctrl.Configuration = new HttpConfiguration(); // act //invocar el put del controlador Api HttpResponseMessage result = ctrl.Put(MovimientoCuentaModif); // assert Assert.AreNotEqual(result.StatusCode, System.Net.HttpStatusCode.InternalServerError, "Error en la inserción"); //TODO: validar que sea OK }
public bool NEGOCIO_update(FCCxCMovimientoCuenta obj) { try { var resultado = new DATOS_MovimientoCuenta().DATOS_update(obj); return(resultado); } catch (Exception ex) { var msgError = ex.Message; return(false); } }
public FCCxCMovimientoCuenta NEGOCIO_Select(int id) { try { FCCxCMovimientoCuenta res = null; //inicialmente es nulo var resTemp = new DATOS_MovimientoCuenta().DATOS_Select(id); //if (resTemp != null) //{ res = resTemp; return(res); //lo retorna, sea nulo o el valor retornado por DAL //} } catch (Exception ex) { throw ex; } }
public void MovimientoCuenta_Post_DebeInsertarCorretamente() { // arrange var MovimientoCuentaNuevo = new FCCxCMovimientoCuenta() { IdCuenta = 27, //verificar que exista Monto = 100, FechaRegistroMovimiento = DateTime.Now, IdFormaPago = 1, //indefinida IdEstadoPago = 1, //activo IdAuxiliar = 1, //Auxiliar1 Dsc_Detalle = "Prueba Unit", UsrCreacion = "pruebasunit", UsrUltModif = "pruebasunit", FecUltModif = DateTime.Now }; var ctrl = new MovimientoCuentaController(); ctrl.Request = new HttpRequestMessage(); ctrl.Configuration = new HttpConfiguration(); // act //invocar el post del controlador Api HttpResponseMessage result = ctrl.Post(MovimientoCuentaNuevo); //notas: 1. reporte de errores es pobre, negocios y datos solo retornan false si hubo error //en el api detecto error y genero un mensaje de tipo InternalServerError, pero no tengo más detalles, //no hay excepciones en las capas de datos y negocios, tuve que depurar para ver que era null exception //2. idealmente por buen diseño el api debería devolver un StatusCode.OK con el Id del nuevo registro creado, pero //la implementación de las capas no lo permiten // assert Assert.AreNotEqual(result.StatusCode, System.Net.HttpStatusCode.InternalServerError, "Error en la inserción"); //TODO: validar que sea OK }