public IActionResult Post([FromBody] ProductoInput input)
        {
            try
            {
                CheckStatus checkStatus = null;
                if (ModelState.IsValid)
                {
                    checkStatus = _manager.Create(input);

                    if (checkStatus.apiEstado.Equals(Status.Error))
                    {
                        return(StatusCode(422, checkStatus));
                    }
                    return(StatusCode(201, checkStatus));
                }
                else
                {
                    checkStatus = new CheckStatus(Status.Error, Mensaje.InputInvalido);
                    return(StatusCode(422, checkStatus));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(LoggingEvents.SERVICE_ERROR, ex, ex.Message);
                return(new EmptyResult());
            }
        }
        public CheckStatus Create(BaseInputEntity entity)
        {
            CheckStatus   checkstatus = null;
            ProductoInput input       = (ProductoInput)entity;

            Producto producto = new Producto();

            producto.CodigoProducto    = input.codigoproducto;
            producto.NombreProducto    = input.nombreproducto;
            producto.Fabricante        = input.fabricante;
            producto.AnioFabricacion   = input.aniofabricacion;
            producto.Descuento         = input.descuento;
            producto.Stock             = input.stock;
            producto.IdCategoria       = input.idcategoria;
            producto.IdSubCategoria    = input.idsubcategoria;
            producto.IdSubSubCategoria = input.idsubsubcategoria;

            try
            {
                _repository.Create <Producto>(producto);
                SaveChanges();

                checkstatus = new CheckStatus(producto.IdProducto, producto.NombreProducto, Status.Ok,
                                              string.Format(Mensaje.Guardar, Mensaje.Producto));
            }
            catch (Exception ex)
            {
                checkstatus = new CheckStatus(Status.Error, ex.Message);
            }
            return(checkstatus);
        }
예제 #3
0
        public async Task AgregarEditarProductoAsync(ProductoInput producto)
        {
            if (producto.Codigo.GetValueOrDefault(0) > 0)
            {
                Producto producto1 = await _productoRepository.GetProducotById(producto.Codigo.Value, trackear : true);

                _mapper.Map <ProductoInput, Producto>(producto, producto1);
            }
            else
            {
                Producto producto1 = _mapper.Map <Producto>(producto);
                await _productoRepository.AgregarEditarProductoAsync(producto1);
            }
            await _productoRepository.SaveChangesAsync();
        }
        public CheckStatus Update(BaseInputEntity entity)
        {
            CheckStatus   checkstatus = null;
            ProductoInput input       = (ProductoInput)entity;

            Producto producto = _repository.Single <Producto>(p => p.IdProducto == input.idProducto);

            if (producto != null)
            {
                producto.CodigoProducto    = input.codigoproducto;
                producto.NombreProducto    = input.nombreproducto;
                producto.Fabricante        = input.fabricante;
                producto.AnioFabricacion   = input.aniofabricacion;
                producto.Descuento         = input.descuento;
                producto.Stock             = input.stock;
                producto.IdCategoria       = input.idcategoria;
                producto.IdSubCategoria    = input.idsubcategoria;
                producto.IdSubSubCategoria = input.idsubsubcategoria;
                producto.Estado            = input.estado;
                producto.Eliminado         = false;

                try
                {
                    _repository.Update <Producto>(producto);
                    SaveChanges();

                    checkstatus = new CheckStatus(Status.Ok,
                                                  string.Format(Mensaje.Guardar, Mensaje.Producto));
                }

                catch (Exception ex)
                {
                    checkstatus = new CheckStatus(Status.Error, ex.Message);
                }
            }
            else
            {
                checkstatus = new CheckStatus(Status.Error,
                                              String.Format(Mensaje.NoExiste, Mensaje.Producto));
            }

            return(checkstatus);
        }