public IHttpActionResult ProductoCreate(ProductoModel productoModel)
        {
            try
            {
                if (UsuarioModel.Instance.rol != Rol.ADMINISTRADOR && UsuarioModel.Instance.rol != Rol.DEV)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "No esta autorizado para realizar esta operacion", Constants.NO_AUTH)));
                }

                if (productoModel.Producto == null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.PRODUCTO_FAIL)));
                }

                if (productoModel._repository.FindBy(x => x.PrecioVenta == productoModel.Producto.PrecioVenta && x.Nombre == productoModel.Producto.Nombre).Count() > 0)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "Producto ya existe", Constants.PRODUCTO_FAIL)));
                }

                var producto = productoModel.Create(BuilderFactories.Producto(productoModel.Producto.Nombre, productoModel.Producto.Descripción, productoModel.Producto.Imagen, productoModel.Producto.PrecioCompra, productoModel.Producto.PrecioVenta, productoModel.Producto.CantidadProducto, productoModel.Producto.Categoria_Id));
                if (producto == null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "Producto no pudo crearse", Constants.PRODUCTO_FAIL)));
                }
                return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.NO_ERROR, "Producto Creado con exito", Constants.PRODUCTO_SUCCES)));
            }
            catch (Exception e)
            {
                return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, e.Message, Constants.PRODUCTO_FAIL)));
            }
        }
        public IHttpActionResult ProductoEdit(ProductoModel productoModel)
        {
            try
            {
                if (UsuarioModel.Instance.rol != Rol.ADMINISTRADOR && UsuarioModel.Instance.rol != Rol.DEV)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "No esta autorizado para realizar esta operacion", Constants.NO_AUTH)));
                }

                if (productoModel.Producto == null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "Objecto no puede estar vacio", Constants.PRODUCTO_FAIL)));
                }

                if (productoModel.Producto.PrecioCompra > productoModel.Producto.PrecioVenta)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "Precio de compra no puede mayor al precio de venta", Constants.PRODUCTO_FAIL)));
                }

                var producto = productoModel._repository.FindBy(x => x.Id == productoModel.Producto.Id).FirstOrDefault();

                if (producto == null)
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "Producto no existe", Constants.PRODUCTO_FAIL)));
                }


                var factoryProducto = BuilderFactories.Producto(productoModel.Producto.Nombre, productoModel.Producto.Descripción, productoModel.Producto.Imagen, productoModel.Producto.PrecioCompra, productoModel.Producto.PrecioVenta, productoModel.Producto.CantidadProducto, productoModel.Producto.Categoria_Id);

                producto.Nombre           = factoryProducto.Nombre;
                producto.Descripción      = factoryProducto.Descripción;
                producto.Imagen           = factoryProducto.Imagen;
                producto.PrecioCompra     = factoryProducto.PrecioCompra;
                producto.PrecioVenta      = factoryProducto.PrecioVenta;
                producto.CantidadProducto = factoryProducto.CantidadProducto;
                producto.Categoria_Id     = factoryProducto.Categoria_Id;

                if (!productoModel.Update(producto))
                {
                    return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, "Producto no pudo Modificarse", Constants.PRODUCTO_FAIL)));
                }
                return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.NO_ERROR, "Producto Modificado con exito", Constants.PRODUCTO_SUCCES)));
            }
            catch (Exception e)
            {
                return(Json(Mensaje <Domain.Entities.Producto.Producto> .MensajeJson(Constants.IS_ERROR, e.Message, Constants.PRODUCTO_FAIL)));
            }
        }
Beispiel #3
0
 public void Initialize()
 {
     producto           = BuilderFactories.Producto("ejemplo", "ejemplo", "", 1000, 1200, 10, 1);
     producto.Id        = 1;
     producto.Categoria = new CategoriaTest().categoria;
 }