public ActionResult AddItem(ItemPedidoModel itemPedido)
        {
            PedidosService servicio = new PedidosService();

            servicio.AddItem(itemPedido);
            return(Json(true));
        }
        public IActionResult Inserir(ItemPedidoModel itemPedido)
        {
            try
            {
                int _idItemPedido = 0;
                var retorno       = _IItemPedido.Inserir(itemPedido);
                if (retorno.Count() > 0)
                {
                    foreach (var itemRetorno in retorno)
                    {
                        _idItemPedido = itemRetorno.idItemPedido;
                    }

                    foreach (var item in itemPedido.ingrediente)
                    {
                        if (item.quantidade > 0)
                        {
                            item.idItemPedido = _idItemPedido;
                            new Util().verificaStatus(_IItemPedido.InserirIngrediente(item));
                        }
                    }
                }

                return(Ok("OK"));
            }
            catch (Exception ex)
            {
                return(BadRequest(new Error(HttpStatusCode.InternalServerError, "ItemPedido.Inserir()", ex.Message)));
            }
        }
        public async Task <IActionResult> Create([FromForm] ItemPedidoModel itemPedido)
        {
            if (ModelState.IsValid)
            {
                if (itemPedido.IdPedido > 0)
                {
                    var produto = await _context.Produtos.FindAsync(itemPedido.IdProduto);

                    itemPedido.ValorUnitario = produto.Valor;
                    if (ItemPedidoExiste(itemPedido.IdPedido, itemPedido.IdProduto))
                    {
                        _context.ItensPedidos.Update(itemPedido);
                        if (await _context.SaveChangesAsync() > 0)
                        {
                            TempData["mensagem"] = MensagemModel.Serializar("Item de pedido alterado com sucesso.");
                        }
                        else
                        {
                            TempData["mensagem"] = MensagemModel.Serializar("Erro ao alterar item de pedido.", TipoMensagem.Erro);
                        }
                    }
                    else
                    {
                        _context.ItensPedidos.Add(itemPedido);
                        if (await _context.SaveChangesAsync() > 0)
                        {
                            TempData["mensagem"] = MensagemModel.Serializar("Item de pedido cadastrado com sucesso.");
                        }
                        else
                        {
                            TempData["mensagem"] = MensagemModel.Serializar("Erro ao cadastrar item de pedido.", TipoMensagem.Erro);
                        }
                    }
                    var pedido = await _context.Pedidos.FindAsync(itemPedido.IdPedido);

                    pedido.ValorTotal = _context.ItensPedidos
                                        .Where(i => i.IdPedido == itemPedido.IdPedido)
                                        .Sum(i => i.ValorUnitario * i.Quantidade);
                    await _context.SaveChangesAsync();

                    return(RedirectToAction("Index", new { ped = itemPedido.IdPedido }));
                }
                else
                {
                    TempData["mensagem"] = MensagemModel.Serializar("Pedido não informado.", TipoMensagem.Erro);
                    return(RedirectToAction("Index", "Cliente"));
                }
            }
            else
            {
                var produtos = _context.Produtos
                               .OrderBy(x => x.Nome)
                               .Select(p => new { p.IdProduto, NomePreco = $"{p.Nome} ({p.Valor:C})" })
                               .AsNoTracking().ToList();
                var produtosSelectList = new SelectList(produtos, "IdProduto", "NomePreco");
                ViewBag.Produtos = produtosSelectList;

                return(View(itemPedido));
            }
        }
Esempio n. 4
0
        public string Salvar(ItemPedidoModel model)
        {
            if (!ValidaItemPedido(model))
            {
                return("AVISO");
            }

            bool salvou = false;

            try
            {
                if (model.Id == 0)
                {
                    salvou = itemPedidoRepository.Salvar(model);
                }
                else
                {
                    salvou = itemPedidoRepository.Atualizar(model);
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
            return("OK");
        }
        public async Task <IActionResult> InserirItemPedido([FromBody] ItemPedidoModel itemPedido)
        {
            try
            {
                var httpClient = _HttpClientFactory.CreateClient("MyHttpClient");
                httpClient.BaseAddress = new Uri("http://localhost:5100/v1/itempedido");

                var jsonContent   = JsonConvert.SerializeObject(itemPedido);
                var contentString = new StringContent(jsonContent, Encoding.UTF8, "application/json");
                contentString.Headers.ContentType = new MediaTypeHeaderValue("application/json");

                return(await _retryPolicy.ExecuteAsync(async() =>
                {
                    HttpResponseMessage response = await httpClient.PostAsync("", contentString);

                    if (response.StatusCode != HttpStatusCode.OK)
                    {
                        throw (new Exception(response.StatusCode.ToString()));
                    }
                    else
                    {
                        var content = await response.Content.ReadAsStringAsync();
                        return Ok(content);
                    }
                }));
            }
            catch (HttpRequestException ex)
            {
                throw (ex);
            }
        }
Esempio n. 6
0
 public ItemAdicionalPage(ItemPedidoModel item)
 {
     BindingContext = itemViewModel = new ItemAdicionalViewModel();
     itemPedido     = item;
     InitializeComponent();
     itemViewModel.LstFicha              = item.lstFicha;
     itemViewModel.LstFichaOrifinal      = item.lstFicha;
     itemViewModel.LstAdicionais         = new ObservableCollection <CardapioProd>(CardapioPage.current.cardapioViewModel.GetAdicional());
     itemViewModel.LstAdicionaisOriginal = new ObservableCollection <CardapioProd>(CardapioPage.current.cardapioViewModel.GetAdicional());
 }
Esempio n. 7
0
        public ItemPedidoModel GetItemPedidoById(String _idItemPedido)
        {
            ItemPedidoModel _item = null;

            foreach (var item in Global.ItensPedidos)
            {
                if (item.IdItemPedido.Equals(_idItemPedido))
                {
                    _item = item;
                }
            }
            return(_item);
        }
Esempio n. 8
0
        public ItemPedidoModel AddItem(ItemPedidoModel ItemPedidoModel)
        {
            List <ItemPedidoModel> items = GetSessionItems(ItemPedidoModel.CodigoPedido);

            ItemPedidoModel.CodigoItem = (items.Count == 0?0:items.Max(i => i.CodigoItem)) + 1;
            items.Add(ItemPedidoModel);
            Dictionary <int, List <ItemPedidoModel> > pedidos = ((Dictionary <int, List <ItemPedidoModel> >)System.Web.HttpContext.Current.Session["Pedidos"]);

            pedidos.Remove(ItemPedidoModel.CodigoPedido);
            pedidos.Add(ItemPedidoModel.CodigoPedido, items);
            System.Web.HttpContext.Current.Session["Pedidos"] = pedidos;

            return(ItemPedidoModel);
        }
Esempio n. 9
0
        public string Remover(ItemPedidoModel model)
        {
            bool excluiu = false;

            try
            {
                excluiu = itemPedidoRepository.Remover(model);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
            return("OK");
        }
Esempio n. 10
0
        public Pedido AdicionarItem(Guid id, ItemPedidoModel viewModel)
        {
            var pedido = _pedidoRepository.Get(id);

            var produto = new Produto(viewModel.produto.Nome, viewModel.produto.Valor);

            var item = new ItemPedido(produto, viewModel.quantidade);

            pedido.AdicionarItem(item);

            pedido = _pedidoRepository.Update(pedido);

            return(pedido);
        }
Esempio n. 11
0
 public IEnumerable <ItemPedidoModel> Inserir(ItemPedidoModel itemPedido)
 {
     try
     {
         DynamicParameters parameters = new DynamicParameters();
         parameters.Add("@IDPEDIDO", itemPedido.idPedido, DbType.Int32, ParameterDirection.Input);
         parameters.Add("@IDLANCHE", itemPedido.idLanche, DbType.Int32, ParameterDirection.Input);
         return(ExecutarComRetorno <ItemPedidoModel>("SP_ITEMPEDIDO_INSERIR", parameters, CommandType.StoredProcedure));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
     finally
     {
         Dispose();
     }
 }
Esempio n. 12
0
        protected bool ValidaItemPedido(ItemPedidoModel model)
        {
            if (string.IsNullOrEmpty(model.Produto))
            {
                return(false);
            }

            if (model.Quantidade <= 0)
            {
                return(false);
            }

            if (model.PercDesconto < 0)
            {
                return(false);
            }

            return(true);
        }
Esempio n. 13
0
        public ItensDetailViewModel()
        {
            var _itens = new ItemPedidoBusiness().GetAllItemPedido(Global.Pedido.IdPedido);

            foreach (var item in _itens)
            {
                ItemPedidoModel _item = new ItemPedidoModel();
                _item.ItemPedido    = item;
                _item.Pedido        = Global.Pedido;
                _item.Ticket        = new TicketBusiness().GetTicketById(item.IdTicket);
                _item.Ticket.Setor  = new SetorBusiness().GetSetorById(_item.Ticket.IdSetor);
                _item.TitularTicket = new TitularTicketBusiness().GetTitularTicketById(item.IdTitularTicket);

                _lista.Add(_item);
            }

            Pedido     = Global.Pedido;
            ListaItens = _lista;
        }
        public void CriarPedido()
        {
            PedidoRepositorio      repositorio      = new PedidoRepositorio();
            ItensPedidoRepositorio repositorioItens = new ItensPedidoRepositorio();

            ItemPedidoModel[] listaItens = new ItemPedidoModel[3];
            var item1 = new ItemPedidoModel();

            item1.idProduto = 2; item1.Quantidade = 1;
            var item2 = new ItemPedidoModel();

            item2.idProduto = 5; item2.Quantidade = 1;
            var item3 = new ItemPedidoModel();

            item3.idProduto = 8; item3.Quantidade = 3;
            listaItens[0]   = item1;
            listaItens[1]   = item2;
            listaItens[2]   = item3;

            EnviarPedidoModel model = new EnviarPedidoModel();

            model.DiariasAlugadas = 2;
            model.idCliente       = 11;
            model.Itens           = listaItens;

            var idPedido = repositorio.Adicionar(model.idCliente, DateTime.Now, model.DiariasAlugadas);

            //Adicionar
            foreach (ItemPedidoModel item in model.Itens)
            {
                repositorioItens.Adicionar(item.idProduto, item.Quantidade, idPedido);
            }

            repositorio.SetValorTotal(idPedido, model.DiariasAlugadas);

            Assert.IsNull(null);
        }
Esempio n. 15
0
 public Pedido Put(Guid id, [FromBody] ItemPedidoModel item)
 {
     return(_pedidoService.AdicionarItem(id, item));
 }
Esempio n. 16
0
 public ActionResult RecuperaItemPedido([Bind(Include = "Id,Produto,IdVenda,Quantidade,PrecoUnitario,PercDesconto,TotalItem")] ItemPedidoModel itemPedidoModel)
 {
     return(Json(itemPedidoService.ListarPorId(itemPedidoModel)));
 }
Esempio n. 17
0
        public ActionResult RemoverItemPedido([Bind(Include = "Id,Produto,IdVenda,Quantidade,PrecoUnitario,PercDesconto,TotalItemo")] ItemPedidoModel itemPedidoModel)
        {
            var retorno = itemPedidoService.Remover(itemPedidoModel);

            return(Json(retorno));
        }
Esempio n. 18
0
        //[ValidateAntiForgeryToken]
        public ActionResult PersisteItemPedido([Bind(Include = "Id,Produto,IdVenda,Quantidade,PrecoUnitario,PercDesconto,TotalItem")] ItemPedidoModel itemPedidoModel)
        {
            var retorno = itemPedidoService.Salvar(itemPedidoModel);

            return(Json(new { Resultado = retorno }));
        }
Esempio n. 19
0
 public ItemPedidoModel ListarPorId(ItemPedidoModel model)
 {
     return(itemPedidoRepository.LocalizarPorId(model));
 }