예제 #1
0
        public EstruturaVenda InserirProduto([FromBody] EstruturaEntradaCriarVenda entrada, int idVenda)
        {
            EstruturaVenda estruturaVenda = new EstruturaVenda();

            try
            {
                BaseVendas baseProdutos = new BaseVendas();

                if (entrada == null)
                {
                    throw new Exception("o produto a ser inserido não pode ser nulo");
                }


                if (idVenda == 0)
                {
                    throw new Exception("Favor selecionar uma venda!");
                }

                string ListaVendasSession = HttpContext.Session.GetString("Vendas");
                if (string.IsNullOrEmpty(ListaVendasSession))
                {
                    throw new Exception("Não há vendas Registradas");
                }
                else
                {
                    estruturaVenda.Vendas = JsonConvert.DeserializeObject <List <Models.Vendas> >(ListaVendasSession);
                }

                Models.Vendas VendaAlterada = estruturaVenda.Vendas.Where(x => x.idVenda == idVenda).SingleOrDefault();

                if (VendaAlterada == null)
                {
                    throw new Exception("A venda selecionada não existe");
                }

                foreach (var item in entrada.EntradaCriarVenda)
                {
                    EstruturaProduto estruturaProduto = APIListarProdutoPorID(item.idProduto);

                    Models.Produto produto = new Models.Produto();

                    produto.idProduct   = item.idProduto;
                    produto.productName = estruturaProduto.Produtos[0].productName;
                    produto.description = estruturaProduto.Produtos[0].description;
                    produto.cathegory   = estruturaProduto.Produtos[0].cathegory;
                    produto.price       = estruturaProduto.Produtos[0].price;
                    produto.quantidade  = item.quantidadeProdutos;

                    VendaAlterada.produtos.Add(produto);

                    VendaAlterada.valorTotal = VendaAlterada.valorTotal + estruturaProduto.Produtos[0].price * item.quantidadeProdutos;
                }

                string listaVendas = JsonConvert.SerializeObject(estruturaVenda.Vendas);

                HttpContext.Session.SetString("Vendas", listaVendas);

                return(estruturaVenda);
            }
            catch (Exception ex)
            {
                estruturaVenda.isError       = true;
                estruturaVenda.descricaoErro = ex.Message;

                return(estruturaVenda);
            }
        }
예제 #2
0
        public EstruturaVenda Post(EstruturaEntradaCriarVenda entrada)
        {
            EstruturaVenda estruturaVenda = new EstruturaVenda();

            string ListaVendasSession = HttpContext.Session.GetString("Vendas");

            if (!string.IsNullOrEmpty(ListaVendasSession))
            {
                estruturaVenda.Vendas = JsonConvert.DeserializeObject <List <Models.Vendas> >(ListaVendasSession);
            }

            List <Models.Vendas> listVendas = new List <Models.Vendas>();

            try
            {
                if (entrada == null)
                {
                    //Erro
                    throw new Exception("A venda a ser criada não pode ser nula");
                }
                //Realizar outras validações

                Models.Vendas venda = new Models.Vendas();
                venda.produtos = new List <Models.Produto>();

                foreach (var item in entrada.EntradaCriarVenda)
                {
                    EstruturaProduto estruturaProduto = APIListarProdutoPorID(item.idProduto);

                    Models.Produto produto = new Models.Produto();

                    produto.idProduct   = item.idProduto;
                    produto.productName = estruturaProduto.Produtos[0].productName;
                    produto.description = estruturaProduto.Produtos[0].description;
                    produto.cathegory   = estruturaProduto.Produtos[0].cathegory;
                    produto.price       = estruturaProduto.Produtos[0].price;
                    produto.quantidade  = item.quantidadeProdutos;

                    venda.produtos.Add(produto);

                    venda.valorTotal = venda.valorTotal + estruturaProduto.Produtos[0].price * item.quantidadeProdutos;

                    if (!string.IsNullOrEmpty(ListaVendasSession))
                    {
                        List <Models.Vendas> Vendas = JsonConvert.DeserializeObject <List <Models.Vendas> >(ListaVendasSession);

                        venda.idVenda = 0;

                        foreach (var sale in Vendas)
                        {
                            if (sale.idVenda > venda.idVenda)
                            {
                                venda.idVenda = sale.idVenda;
                            }
                        }

                        venda.idVenda++;
                    }
                    else
                    {
                        venda.idVenda = 1;
                    }
                }

                estruturaVenda.Vendas.Add(venda);

                string listaVendas = JsonConvert.SerializeObject(estruturaVenda.Vendas);

                HttpContext.Session.SetString("Vendas", listaVendas);

                return(estruturaVenda);
            }
            catch (Exception ex)
            {
                estruturaVenda.isError       = true;
                estruturaVenda.descricaoErro = ex.Message;

                return(estruturaVenda);
            }
        }