public ActionResult Create(Models.PedidoViewModel Pedido) { Model.Entities.User usuario = new Model.Entities.User(); context = new DALContext(); usuario = context.Users.All().SingleOrDefault(p => p.UserName == User.Identity.Name); if (usuario.UserName == "*****@*****.**") { ViewBag.NomeLogado = "Vilo"; } else { ViewBag.NomeLogado = "Uriel Silva"; } return(View(Pedido)); }
public ActionResult Save(Models.PedidoViewModel Pedido, string itensPedido) { try { context = new DALContext(); if (ModelState.IsValid) { var arrayItensPedido = JArray.Parse(itensPedido); Pedido.Order.Items = ((JArray)arrayItensPedido).Select(x => new Model.Entities.OrderProduct { Id = (int)x["Id"], OrderId = (int)x["IdPedido"], SequencialItem = (int)x["SequencialItem"], QuantityOrder = Convert.ToDecimal(x["QuantityOrder"].ToString()), ProductID = (int)x["ProductID"], ProductItem = context.Products.Find((int)x["ProductID"]), UnitPrice = Convert.ToDecimal(x["UnitPrice"].ToString()), DeadlineItem = (int)x["DeadlineItem"], ItemDiscount = 0, TotalPrice = Convert.ToDecimal(x["TotalPrice"].ToString()), TypeUnitID = 1, }).ToList(); Pedido.Order.OrderTypeID = 1; Pedido.Order.Status = "PROPOSTA"; Pedido.Order.ShippingId = Pedido.Order.ShippingId.HasValue && Pedido.Order.ShippingId.Value == 0 ? null : Pedido.Order.ShippingId; foreach (var item in Pedido.Order.Items.Where(p => p.OrderId > 0)) { context.OrdersProducts.Update(item); } foreach (var item in Pedido.Order.Items.Where(p => p.OrderId == 0)) { item.OrderId = Pedido.Order.Id; context.OrdersProducts.Create(item); } Pedido.Order.ShippingId = null; if (Pedido.Order.Id > 0) { context.Orders.Update(Pedido.Order); } else { context.Orders.Create(Pedido.Order); } bool pedidoExiste = Pedido.Order.Id > 0; Pedido.Order.Items.ForEach(p => { p.ProductItem.QuantityCurrentStock -= p.QuantityOrder; context.Products.Update(p.ProductItem); Storage EstoqueProduto = context.Storages.Find(q => q.ProductID == p.ProductID); if (EstoqueProduto != null) { EstoqueProduto.Quantity -= p.QuantityOrder; context.Storages.Update(EstoqueProduto); } else { EstoqueProduto = new Storage { ProductID = p.ProductID, Quantity = p.QuantityOrder, UpdateDate = DateTime.Now, }; context.Storages.Create(EstoqueProduto); } }); if (context.SaveChanges() > 0) { Pedido.Order = Pedido.Order; Pedido.Order.CustomerOrder = Pedido.Customers.Where(p => p.Id == Pedido.Order.CustomerID).FirstOrDefault(); if (pedidoExiste) { return(Content(String.Format("<b>Proposta {0}</br> Alterada com Sucesso!</b>;{1}", Pedido.Order.Id, Pedido.Order.Id))); } else { return(Content(String.Format("<b>Proposta {0}</br> IncluĂda com Sucesso!</b>;{1}", Pedido.Order.Id, Pedido.Order.Id))); } } } else { return(View("Create", Pedido)); } return(View("Create", Pedido)); } catch (Exception ex) { return(Content(ex.Message)); } }