public EditarItemInsumoViewModel EditarCabecalho(ItemInsumo itemInsumo)
 {
     return(new EditarItemInsumoViewModel()
     {
         Id = itemInsumo.Id,
         DescricaoItemInsumo = itemInsumo.DescricaoItemInsumo,
         Quantidade = itemInsumo.Quantidade,
         TipoDeUnidadeDeMedida = itemInsumo.TipoDeUnidadeDeMedida,
         CustoUnitario = itemInsumo.CustoUnitario,
         CustoTotal = itemInsumo.CustoTotal
     });
 }
        public async Task Executar(CadastrarItemInsumosViewModel cadastrarItemInsumoVm)
        {
            var itemInsumo = new ItemInsumo(
                0,
                cadastrarItemInsumoVm.DescricaoItemInsumo,
                cadastrarItemInsumoVm.Quantidade,
                cadastrarItemInsumoVm.TipoDeUnidadeDeMedida,
                cadastrarItemInsumoVm.CustoUnitario,
                cadastrarItemInsumoVm.CustoTotal
                );
            await contexto.AddAsync(itemInsumo);

            await contexto.SaveChangesAsync();
        }
Esempio n. 3
0
        /// <summary>
        /// Inclusão de Pedido recebido em JSON pelo ATM
        /// </summary>
        /// <param name="comanda"></param>
        /// <returns></returns>
        public Comanda InserePedido(Comanda comanda, string canaldeEntrada)
        {
            //Grava a Comanda
            Comanda gravaComanda = new Comanda();

            try
            {
                gravaComanda.numeroComanda    = comanda.numeroComanda;
                gravaComanda.dataHoraInclusao = DateTime.Now;
                db.Comanda.Add(gravaComanda);
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                comanda.success = false;
            }

            //Gravando Pedido vinculado ao Item
            Pedido gravaPedido = new Pedido();

            try
            {
                gravaPedido.idComanda               = gravaComanda.idComanda;
                gravaPedido.canalAtendimento        = canaldeEntrada;
                gravaPedido.codigoPedido            = 4;
                gravaPedido.statusAtualPedido       = "PREPARAR";
                gravaPedido.codigoStatusAtualPedido = (int)CodStatusPedido.Preparar;
                gravaPedido.dataHoraInclusao        = DateTime.Now;
                db.Pedido.Add(gravaPedido);
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                comanda.success = false;
            }


            //Gravando Item do Pedido vinculado ao Pedido
            foreach (var item in comanda.pedidos.FirstOrDefault().itensDoPedido)
            {
                Item gravaItem = new Item();
                try
                {
                    gravaItem.idPedido = gravaPedido.idPedido;
                    gravaItem.objectId = item.objectId;
                    gravaItem.codigoStatusAtualItem         = (int)CodStatusPedido.Preparar;
                    gravaItem.statusAtualItem               = "PREPARAR";
                    gravaItem.descricao                     = item.descricao;
                    gravaItem.observacao                    = item.observacao;
                    gravaItem.tempoMedioPreparacaoEmMinutos = item.tempoMedioPreparacaoEmMinutos;
                    gravaItem.dataHoraInclusao              = DateTime.Now;
                    db.Item.Add(gravaItem);
                    db.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    comanda.success = false;
                }

                //Gravando Item Adicional vinculado ao Item
                foreach (var itemIa in item.adicionaisItem)
                {
                    ItemAdicional gravaItemAdicional = new ItemAdicional();
                    try
                    {
                        gravaItemAdicional.idItem    = gravaItem.idItem;
                        gravaItemAdicional.descricao = itemIa.descricao;
                        db.ItemAdicional.Add(gravaItemAdicional);
                        db.SaveChanges();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        comanda.success = false;
                    }
                }

                //Gravando Item Insumo vinculado ao Item
                foreach (var itemI in item.insumoItem)
                {
                    ItemInsumo gravaItemInsumo = new ItemInsumo();
                    try
                    {
                        gravaItemInsumo.idItem     = gravaItem.idItem;
                        gravaItemInsumo.objectId   = itemI.objectId;
                        gravaItemInsumo.descricao  = itemI.descricao;
                        gravaItemInsumo.remover    = itemI.remover;
                        gravaItemInsumo.quantidade = itemI.quantidade;
                        db.ItemInsumo.Add(gravaItemInsumo);
                        db.SaveChanges();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        comanda.success = false;
                    }
                }
            }
            db.Dispose();
            comanda.success = true;
            return(comanda);
        }