public async Task <ActionResult> Put(CotacaoProduto cotacaoProduto)
        {
            _db.Entry(cotacaoProduto).State = EntityState.Modified;
            await _db.SaveChangesAsync();

            return(NoContent());
        }
        public async Task <ActionResult> Post(CotacaoProduto cotacaoProduto)
        {
            _db.Add(cotacaoProduto);
            await _db.SaveChangesAsync();

            return(new CreatedAtRouteResult(nameof(GetByCotacaoProduto), new { cotacaoProduto.Id_vendaProduto }, cotacaoProduto));
        }
Exemple #3
0
        public async Task <IActionResult> Create([Bind("Id_cotacaoProduto, Cotacao")] CotacaoProduto cotacao_Produto)
        {
            if (listaProduto.Count == 0)
            {
                return(RedirectToAction("ErroLista"));
            }

            if (ModelState.IsValid)
            {
                DateTime localDate = DateTime.Now;

                string cultureName = "pt-BR";

                var culture = new CultureInfo(cultureName);

                string local = localDate.ToString(culture);

                Cotacao cotacao = new Cotacao();

                cotacao.Cliente_Cpf     = cotacao_Produto.Cotacao.Cliente_Cpf;
                cotacao.Data_venda      = Convert.ToDateTime(local);
                cotacao.Funcionario_Cpf = cotacao_Produto.Cotacao.Funcionario_Cpf;

                decimal total = 0;
                foreach (CotacaoProduto vendaProduto1 in listaProduto)
                {
                    total = decimal.Add(total, vendaProduto1.Valor);
                }
                cotacao.Valor_total = total;

                List <CotacaoProduto> lista     = new List <CotacaoProduto>();
                List <Produto>        listaProd = new List <Produto>();

                foreach (CotacaoProduto vendaProduto in listaProduto)
                {
                    lista.Add(new CotacaoProduto
                    {
                        Produto_Id_produto = vendaProduto.Produto_Id_produto,
                        Quantidade         = vendaProduto.Quantidade,
                        Valor_unitario     = vendaProduto.Valor_unitario,
                        Valor   = vendaProduto.Valor,
                        Cotacao = cotacao
                    });

                    var produto = _context.Produto.First(a => a.Id_produto == vendaProduto.Produto_Id_produto);
                    produto.Estoque_atual = produto.Estoque_atual - vendaProduto.Quantidade;
                    listaProd.Add(produto);
                }

                _context.AddRange(lista);
                _context.Produto.UpdateRange(listaProd);

                await _context.SaveChangesAsync();

                listaProduto.Clear();
                return(RedirectToAction(nameof(Index)));
            }

            return(View(cotacao_Produto));
        }
Exemple #4
0
        public ActionResult EditHistorico(AddProdutoView view)
        {
            var produto = _context.Produto.First(a => a.Id_produto == produtoView.ProductId);

            var pesquisa      = listaProduto.Exists(x => x.Produto.Id_produto == produtoView.ProductId);
            var pesquisaPreco = _context.Historico.Where(x => x.Id_historico == view.Id_historico).FirstOrDefault();

            if (pesquisa)
            {
                listaProduto.RemoveAll(x => x.Produto_Id_produto == produtoView.ProductId);
            }

            if (produtoView.Quantity > produto.Estoque_atual)
            {
                return(RedirectToAction("ErroEditProd", new { produto = produto.Nome, quantidade = produto.Estoque_atual }));
            }


            CotacaoProduto vendaProduto = new CotacaoProduto();

            vendaProduto.Valor_unitario     = Convert.ToString(pesquisaPreco.Valor);
            vendaProduto.Produto            = produto;
            vendaProduto.Produto_Id_produto = produto.Id_produto;
            vendaProduto.Quantidade         = Convert.ToInt32(produtoView.Quantity);
            vendaProduto.Valor = decimal.Multiply(Convert.ToDecimal(pesquisaPreco.Valor), Convert.ToDecimal(produtoView.Quantity));

            produto.Estoque_atual = produto.Estoque_atual - Convert.ToInt32(produtoView.Quantity);
            _context.Produto.Update(produto);
            _context.SaveChanges();

            listaProduto.Add(vendaProduto);

            return(RedirectToAction("Edit", new { id = idEdit }));
        }
Exemple #5
0
        public ActionResult AddHistorico(AddProdutoView view)
        {
            var produto       = _context.Produto.First(a => a.Id_produto == produtoView.ProductId);
            var pesquisaPreco = _context.Historico.Where(x => x.Id_historico == view.Id_historico).FirstOrDefault();

            var pesquisa = listaProduto.Exists(x => x.Produto.Id_produto == produtoView.ProductId);

            if (pesquisa)
            {
                listaProduto.RemoveAll(x => x.Produto_Id_produto == produtoView.ProductId);
            }

            CotacaoProduto vendaProduto = new CotacaoProduto();

            vendaProduto.Valor_unitario     = Convert.ToString(pesquisaPreco.Valor);
            vendaProduto.Produto            = produto;
            vendaProduto.Produto_Id_produto = produto.Id_produto;
            vendaProduto.Quantidade         = Convert.ToInt32(produtoView.Quantity);
            vendaProduto.Valor = decimal.Multiply(Convert.ToDecimal(pesquisaPreco.Valor), Convert.ToDecimal(produtoView.Quantity));
            listaProduto.Add(vendaProduto);

            return(RedirectToAction("Create"));
        }
        //[OutputCache(Duration = 60, VaryByCustom = "Location", VaryByParam = "*", Location = OutputCacheLocation.ServerAndClient)]
        public ActionResult CotacoesProduto(string tipo, string produto)
        {
            CotacaoTipo              objCotacaoTipo       = GetCotacaoTipoBySlug(tipo);
            CotacaoProduto           objCotacaoProduto    = GetCotacaoProdutoBySlug(produto);
            Cotacao                  objCotacao           = GetCotacao(objCotacaoTipo.Id, objCotacaoProduto.Id).FirstOrDefault();
            List <Cotacao>           objCotacoes          = GetCotacao(objCotacaoTipo.Id).ToList();
            List <CotacaoPorEstado>  objCotacoesPorEstado = new List <CotacaoPorEstado>();
            List <CotacoesPorCidade> objCotacoesPorCidade = new List <CotacoesPorCidade>();
            List <decimal>           mediasEstaduas       = GetMediaEstadual(tipo == "parana" ? 1 : 2, objCotacao.Id, 60);

            if (objCotacao != null)
            {
                objCotacoesPorEstado = GetCotacaoPorEstado(objCotacao.Id, 10).ToList();
                objCotacoesPorCidade = GetCotacoesPorCidadeAndProduto(objCotacao.Id, 10).ToList();
            }

            var model = new CotacoesCidadeProdutoViewModel();

            /* base model defaults */
            model.Title       = "Cotações de " + objCotacaoProduto.Nome + " - Negócios da Terra";
            model.Description = "Confira as cotações do produto '" + objCotacaoProduto.Nome + "' no estado de " + objCotacaoTipo.Tipo + " - Negócios da Terra";
            model.Robots      = "index, follow";
            model.Canonical   = $"{Constants.UrlWeb}/" + tipo + "/produto/" + produto + "/";

            //
            model.Tipo    = objCotacaoTipo;
            model.Produto = objCotacaoProduto;

            model.Cotacoes          = objCotacoes;
            model.CotacoesPorEstado = objCotacoesPorEstado;
            model.CotacoesPorCidade = objCotacoesPorCidade;

            if (tipo == "parana")
            {
                model.ProdutoSlugOutro = GetCotacao(5, objCotacaoProduto.Id).FirstOrDefault();
            }
            else
            {
                model.ProdutoSlugOutro = GetCotacao(4, objCotacaoProduto.Id).FirstOrDefault();
            }

            //Set viewbag's
            //ViewBag.Pagina = "cotacoes-produto";
            ViewBag.ActiveNav     = "Negócios da Terra";
            ViewBag.Editorial     = Service.Models.Editorial.Load(EditorialEnum.NegociosDaTerra.GetHashCode());
            ViewBag.ExibirLogo    = true;
            ViewBag.LinkActiveNav = "/negocios-da-terra";

            //model.GraficoLabels = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,29,29,30";
            int count = 1;

            foreach (var item in mediasEstaduas)
            {
                if (count <= 30)
                {
                    model.GraficoData30 = model.GraficoData30 + item.ToString().Replace(",", ".") + ",";
                }

                if (count <= 60)
                {
                    model.GraficoData60 = model.GraficoData60 + item.ToString().Replace(",", ".") + ",";
                }

                count++;
            }

            for (int i = 1; i < mediasEstaduas.Count + 1; i++)
            {
                if (i <= 30)
                {
                    model.GraficoLabels30 = model.GraficoLabels30 + i + ",";
                }

                if (i <= 60)
                {
                    model.GraficoLabels60 = model.GraficoLabels60 + i + ",";
                }
            }
            //model.GraficoLabels60 = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,29,29,30,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,29,29,30";
            //model.GraficoData60 = "1.40,142.00,16.00,20.99,4.30,20,55,10.5,10,25,25,25,12,13,14,17,18,18,18,18,10,25,25,25,12,13,14,17,18,18,18,18,10,25,25,25,12,13,14,17,18,18,18,18";

            //return the model to the view
            return(View(model));
        }