Пример #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Cliente_Cpf,Funcionario_Cpf")] Cotacao cotacao_Produto)
        {
            if (id != idEdit)
            {
                return(NotFound());
            }


            if (listaProduto.Count == 0)
            {
                return(RedirectToAction("ErroListaEdit"));
            }

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

                string cultureName = "pt-BR";

                var culture = new CultureInfo(cultureName);

                string local = localDate.ToString(culture);

                var cotacao = _context.Cotacao.First(a => a.Id_cotacao == idEdit);
                cotacao.Cliente_Cpf     = cotacao_Produto.Cliente_Cpf;
                cotacao.Data_venda      = Convert.ToDateTime(local);
                cotacao.Funcionario_Cpf = cotacao_Produto.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>();

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

                _context.Update(cotacao);
                _context.RemoveRange(_context.CotacaoProduto.Where(x => x.Cotacao_Id_cotacao == id));
                _context.UpdateRange(lista);

                await _context.SaveChangesAsync();

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

            return(View(cotacao_Produto));
        }