public void ValidaExistencia(Mesa itemGravar) { if (itemGravar == null) { serviceResult = new ServiceResult(); serviceResult.Success = false; serviceResult.Messages.Add(new ServiceResultMessage() { Message = MensagemBusiness.RetornaMensagens("Mesa_NaoEncontrada") }); } }
public void SalvaMesa(Mesa itemGravar) { LimpaValidacao(); ValidateService(itemGravar); ValidaRegrasSalvar(itemGravar); if (IsValid()) { using (MesaData data = new MesaData()) { data.SalvaMesa(itemGravar); serviceResult = new ServiceResult(); serviceResult.Success = true; serviceResult.Messages.Add(new ServiceResultMessage() { Message = MensagemBusiness.RetornaMensagens("Mesa_SalvaMesaOK") }); } } }
public void SalvaMesa(Mesa itemGravar) { Mesa itemBase = Context.Mesas.Include("Pedidos").Include("Pedidos.PedidoPratos").Where(f => f.Id == itemGravar.Id).FirstOrDefault(); if (itemBase == null) { itemBase = Context.Mesas.Create(); Context.Entry<Mesa>(itemBase).State = System.Data.Entity.EntityState.Added; } AtualizaPropriedades<Mesa>(itemBase, itemGravar); foreach (Pedido itemPedido in new List<Pedido>(itemBase.Pedidos)) { if (!itemGravar.Pedidos.Where(f => f.Id == itemPedido.Id).Any()) { foreach (PedidoPrato itemPedidoPrato in new List<PedidoPrato>(itemPedido.PedidoPratos)) { Context.Entry<PedidoPrato>(itemPedidoPrato).State = System.Data.Entity.EntityState.Deleted; } Context.Entry<Pedido>(itemPedido).State = System.Data.Entity.EntityState.Deleted; } } foreach (Pedido itemPedido in new List<Pedido>(itemGravar.Pedidos)) { Pedido itemBasePedido = !itemPedido.Id.HasValue ? null : itemBase.Pedidos.Where(f => f.Id == itemPedido.Id).FirstOrDefault(); if (itemBasePedido == null) { itemBasePedido = Context.Pedidos.Create(); itemBase.Pedidos.Add(itemBasePedido); } AtualizaPropriedades<Pedido>(itemBasePedido, itemPedido); foreach (PedidoPrato itemPedidoPrato in new List<PedidoPrato>(itemPedido.PedidoPratos)) { PedidoPrato itemBasePedidoPrato = !itemPedidoPrato.Id.HasValue ? null : itemBase.Pedidos.Select(f => f.PedidoPratos.Where(g => g.Id == itemPedidoPrato.Id).FirstOrDefault()).FirstOrDefault(); if (itemBasePedidoPrato == null) { itemBasePedidoPrato = Context.PedidoPratos.Create(); itemBase.Pedidos.FirstOrDefault().PedidoPratos.Add(itemBasePedidoPrato); } AtualizaPropriedades<PedidoPrato>(itemBasePedidoPrato, itemPedidoPrato); } } Context.SaveChanges(); itemGravar.Id = itemBase.Id; }
/// <summary> /// Retorna a mesa com id solicidado /// </summary> /// <param name="id"></param> /// <returns></returns> public Mesa Get(int id) { Mesa ResultadoBusca = new Mesa(); try { //API ResultadoBusca = biz.RetornaMesa_Id(id); if (!biz.IsValid()) throw new InvalidDataException(); } catch (InvalidDataException) { GeraErro(HttpStatusCode.InternalServerError, biz.serviceResult); } catch (Exception ex) { GeraErro(HttpStatusCode.BadRequest, ex); } return ResultadoBusca; }
public void ValidaRegrasSalvar(Mesa itemGravar) { if (itemGravar.Situacao == (int)enumSituacaoMesa.Fechada) itemGravar.Pedidos.FirstOrDefault().ValorTotal = itemGravar.Pedidos.FirstOrDefault().PedidoPratos.Where(a => a.Situacao != (int)enumSituacaoPedidoPrato.Cancelado).Sum(a => a.Prato.Preco); }