public ActionResult Save(Models.PedidoCompraViewModel Pedido, string itensPedido) { try { if (ModelState.IsValid) { context = new DALContext(); Pedido.PurchaseOrder.InsertDate = DateTime.Now; Pedido.PurchaseOrder.Status = "PEDIDO_ABERTO"; if (Pedido.PurchaseOrder.Id > 0) { context.PurchaseOrders.Update(Pedido.PurchaseOrder); } else { context.PurchaseOrders.Create(Pedido.PurchaseOrder); } if (context.SaveChanges() > 0) { var arrayItensPedido = JArray.Parse(itensPedido); Pedido.PurchaseOrder.Items = ((JArray)arrayItensPedido).Select(x => new Model.Entities.PurchaseOrderItem { Id = (int)x["Id"], PurchaseOrderId = (int)x["IdPedido"], SequencialItem = (int)x["SequencialItem"], QuantityOrder = Convert.ToDecimal(x["QuantityOrder"].ToString()), QuantityDeliver = 0, ProductID = (int)x["ProductID"], UnitPrice = Convert.ToDecimal(x["UnitPrice"].ToString()), ItemDiscount = Convert.ToDecimal(x["ItemDiscount"].ToString()), TotalPrice = Convert.ToDecimal(x["TotalPrice"].ToString()) }).ToList(); foreach (var item in Pedido.PurchaseOrder.Items.Where(p => p.Id > 0)) { context.PurchaseOrderItem.Update(item); } foreach (var item in Pedido.PurchaseOrder.Items.Where(p => p.Id == 0)) { item.PurchaseOrderId = Pedido.PurchaseOrder.Id; context.PurchaseOrderItem.Create(item); } context.SaveChanges(); } } else { return(Content("Ordem de Compra inválida;0")); } return(Content("Ordem de Compra salva <br>com Sucesso!;" + Pedido.PurchaseOrder.Id.ToString())); } catch (Exception ex) { return(Content(ex.Message)); } }
public ActionResult SaveConferencia(Models.PedidoCompraViewModel Pedido, string itensPedido) { try { if (ModelState.IsValid) { context = new DALContext(); if (Pedido.PurchaseOrder.Id > 0) { Pedido.PurchaseOrder.Status = "PEDIDO_ENTREGUE"; Pedido.PurchaseOrder.ProviderID = Pedido.PurchaseOrder.ProviderPurchaseOrder.Id; context.PurchaseOrders.Update(Pedido.PurchaseOrder); } if (context.SaveChanges() > 0) { var arrayItensPedido = JArray.Parse(itensPedido); Pedido.PurchaseOrder.Items = ((JArray)arrayItensPedido).Select(x => new Model.Entities.PurchaseOrderItem { Id = (int)x["Id"], PurchaseOrderId = (int)x["IdPedido"], SequencialItem = (int)x["SequencialItem"], QuantityOrder = Convert.ToDecimal(x["QuantityOrder"].ToString()), QuantityDeliver = Convert.ToDecimal(x["QuantityDeliver"].ToString()), ProductID = (int)x["ProductID"], ProductItem = context.Products.Find((int)x["ProductID"]), UnitPrice = Convert.ToDecimal(x["UnitPrice"].ToString()), ItemDiscount = Convert.ToDecimal(x["ItemDiscount"].ToString()), TotalPrice = Convert.ToDecimal(x["TotalPrice"].ToString()) }).ToList(); foreach (var item in Pedido.PurchaseOrder.Items) { context.PurchaseOrderItem.Update(item); Storage EstoqueProduto = context.Storages.Find(p => p.ProductID == item.ProductID); if (EstoqueProduto != null) { EstoqueProduto.Quantity += item.QuantityDeliver; context.Storages.Update(EstoqueProduto); } else { EstoqueProduto = new Storage { ProductID = item.ProductID, Quantity = item.QuantityDeliver, UpdateDate = DateTime.Now, }; context.Storages.Create(EstoqueProduto); } context.SaveChanges(); } Pedido.PurchaseOrder.Items.ForEach(p => { p.ProductItem.QuantityCurrentStock += p.QuantityDeliver; context.Products.Update(p.ProductItem); }); context.SaveChanges(); } } else { return(Content("Ordem de compra inválida;0")); } return(Content("Ordem de compra recebida com<br> Sucesso ! <br> Estoque Atualizado!;" + Pedido.PurchaseOrder.Id.ToString())); } catch (Exception ex) { return(Content(ex.Message)); } }
public ActionResult Create(Models.PedidoCompraViewModel Pedido) { return(View(Pedido)); }