// 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
        }
Beispiel #4
0
 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);
     }
 }
Beispiel #5
0
 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
        }