Пример #1
0
        public IActionResult CancelarPedido([FromBody] PedidoDetalles listPed)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            var lista = listPed.DetallePedido;

            Console.WriteLine(lista);
            foreach (var item in listPed.DetallePedido)
            {
                if (item.ArticuloId != null)
                {
                    var id       = "" + item.ArticuloId;
                    var articulo = _unitOfWork.Articulo.GetById(int.Parse(id));
                    articulo.StockActual += item.Cantidad;
                    _unitOfWork.Articulo.Update(articulo);
                }
                else if (item.ArticuloManufacturadoId != null)
                {
                    var listaArticulos      = new List <Articulo>();
                    var listaDetallesArtman = _unitOfWork.ArticuloManufacturadoDetalle.GetList().Where(a => a.ArticuloManufacturadoId == item.ArticuloManufacturadoId).ToList();
                    // seguir aqui.
                    foreach (var detalle in listaDetallesArtman)
                    {
                        var artAux = _unitOfWork.Articulo.GetById(detalle.ArticuloId);
                        artAux.StockActual += item.Cantidad * detalle.Cantidad;
                        _unitOfWork.Articulo.Update(artAux);
                    }
                }
            }
            return(Ok(true));
        }
Пример #2
0
 public IActionResult Put([FromBody] PedidoDetalles pedidoDetalles)
 {
     if (ModelState.IsValid)
     {
         foreach (var item in pedidoDetalles.DetallePedido)
         {
             _unitOfWork.DetallePedido.Update(item);
         }
         if (_unitOfWork.Pedido.Update(pedidoDetalles.Pedido))
         {
             return(Ok(new { pedidoDetalles.Pedido.Id }));
         }
     }
     return(BadRequest());
 }
Пример #3
0
 public IActionResult Delete([FromBody] PedidoDetalles pedidoDetalles)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest());
     }
     if (pedidoDetalles.Pedido.Id > 0)
     {
         foreach (var item in pedidoDetalles.DetallePedido)
         {
             _unitOfWork.DetallePedido.Delete(item);
         }
         return(Ok(_unitOfWork.Pedido.Delete(pedidoDetalles.Pedido)));
     }
     return(BadRequest());
 }
Пример #4
0
        public IActionResult Post([FromBody] PedidoDetalles pedidoDetalles)
        {
            //Console.Write( pedidoDetalles);
            //return Ok(pedidoDetalles);
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            pedidoDetalles.Pedido.Fecha = DateTime.Now;
            Console.WriteLine(pedidoDetalles.Pedido.HoraEstimadaFin.ToString());
            //pedidoDetalles.Pedido.HoraEstimadaFin = CalcularHoraFin(DateTime.Now,pedidoDetalles.DetallePedido);
            int fk    = _unitOfWork.Pedido.Insert(pedidoDetalles.Pedido);
            var lista = new List <DetallePedido>();

            foreach (var item in pedidoDetalles.DetallePedido)
            {
                if (item.ArticuloId != null)
                {
                    var id       = "" + item.ArticuloId;
                    var articulo = _unitOfWork.Articulo.GetById(int.Parse(id));
                    articulo.StockActual -= item.Cantidad;
                    _unitOfWork.Articulo.Update(articulo);
                }
                else if (item.ArticuloManufacturadoId != null)
                {
                    var listaArticulos      = new List <Articulo>();
                    var listaDetallesArtman = _unitOfWork.ArticuloManufacturadoDetalle.GetList().Where(a => a.ArticuloManufacturadoId == item.ArticuloManufacturadoId).ToList();
                    // seguir aqui.
                    foreach (var detalle in listaDetallesArtman)
                    {
                        var artAux = _unitOfWork.Articulo.GetById(detalle.ArticuloId);
                        artAux.StockActual -= item.Cantidad * detalle.Cantidad;
                        _unitOfWork.Articulo.Update(artAux);
                    }
                }
                item.PedidoId = fk;
                lista.Add(item);
            }
            _unitOfWork.DetallePedido.InsertList(lista);
            return(Ok(fk));
        }