public ActionResult Editar(int compraId) { Compra cp = _compraService.Find(compraId); CompraNovoModel cnm = new CompraNovoModel(); cnm.EmpresaId = cp.Empresa.Id; cnm.Entrega = cp.Data; cnm.CategoriaId = cp.Categoria.Id; cnm.FornecedorId = cp.Fornecedor.Id; cnm.Fornecedor = cp.Fornecedor.RazaoSocial; cnm.Id = cp.Id; cnm.TipoPagamentoId = cp.TipoPagamento; cnm.NumeroNota = cp.NotaFiscal; cnm.Valor = cp.ValorTotal; cnm.ValorDespesaAdministrativa = cp.ValorDespesaAdministrativa; cnm.ValorFrete = cp.ValorFrete; cnm.ValorSeguro = cp.ValorSeguro; cnm.Desconto = cp.Desconto; cnm.ValorICMSNota = cp.ValorICMSNota; cnm.ValorIPINota = cp.ValorIPINota; cnm.ValorTotalNota = cp.ValorTotalNota; IList <ProdutoCompra> pros = _compraService.GetProdutos(compraId); cnm.Produtos = new List <ProdutosModel>(); foreach (ProdutoCompra pro in pros) { ProdutosModel pm = new ProdutosModel(); pm.Id = pro.Id; pm.ProdutoId = pro.Produto.Id; pm.Quantidade = Convert.ToInt32(pro.Quantidade); pm.Valor = pro.Valor; pm.TipoQuantidade = pro.TipoQuantidade; pm.Descricao = pro.Produto.Nome; pm.ValorTotal = pro.Valor * pro.Quantidade; pm.ValorICMS = pm.ValorTotal * (pro.ICMS / 100); pm.ValorIPI = pm.ValorTotal * (pro.IPI / 100); pm.ValorTotalComImposto = pm.ValorTotal + pm.ValorICMS + pm.ValorIPI; pm.IPI = pro.IPI; pm.ICMS = pro.ICMS; ((IList <ProdutosModel>)cnm.Produtos).Add(pm); } IList <Boleto> bols = _compraService.GetBoletos(compraId); cnm.Boletos = new List <BoletosModel>(); foreach (Boleto bol in bols) { BoletosModel b = new BoletosModel(); b.Id = bol.Id; b.Numero = bol.Numero; b.Valor = bol.Valor; b.Vencimento = bol.DataVencimento.ToShortDateString(); ((IList <BoletosModel>)cnm.Boletos).Add(b); } cnm.TipoPagamentos = new List <SelectListItem>(); GetCategoriasETipoPagamento(cnm.EmpresaId, cnm); return(View("Novo", cnm)); }
public ActionResult Incluir(CompraNovoModel model, string produtosJson, string boletosJson) { IList <ProdutosModel> prods = new JavaScriptSerializer().Deserialize <IList <ProdutosModel> >(produtosJson); model.Produtos = prods; IList <BoletosModel> bols = new JavaScriptSerializer().Deserialize <IList <BoletosModel> >(boletosJson); model.Boletos = bols; if (!ModelState.IsValid) { model.ValorIPINota = prods.Sum(p => ((p.Valor * p.Quantidade) * (p.IPI / 100))); model.ValorICMSNota = prods.Sum(p => ((p.Valor * p.Quantidade) * (p.ICMS / 100))); model.ValorTotalNota = (model.Valor + model.ValorIPINota + model.ValorICMSNota + model.ValorFrete + model.ValorSeguro) - model.Desconto; GetCategoriasETipoPagamento(model.EmpresaId, model); return(View("Novo", model)); } model.Valor = model.Produtos.Sum(p => p.ValorTotal); Compra cp = new Compra() { Id = model.Id }; cp.Empresa = new Empresa() { Id = model.EmpresaId }; cp.Fornecedor = new Fornecedor() { Id = model.FornecedorId, RazaoSocial = model.Fornecedor }; cp.ValorTotal = model.Valor; cp.Data = model.Entrega.Value; cp.Usuario = _iUsuarioService.GetUsuario(User.Identity.Name); cp.Categoria = new Categoria() { Id = model.CategoriaId }; cp.NotaFiscal = model.NumeroNota; cp.TipoPagamento = model.TipoPagamentoId; cp.ValorDespesaAdministrativa = model.ValorDespesaAdministrativa; cp.ValorFrete = model.ValorFrete; cp.ValorSeguro = model.ValorSeguro; cp.Desconto = model.Desconto; IList <ProdutoCompra> lpc = CapturarProdutoCompra(model, cp); cp.ValorIPINota = lpc.Sum(p => ((p.Valor * p.Quantidade) * (p.IPI / 100))); cp.ValorICMSNota = lpc.Sum(p => ((p.Valor * p.Quantidade) * (p.ICMS / 100))); cp.ValorTotalNota = (cp.ValorTotal + cp.ValorIPINota + cp.ValorICMSNota + cp.ValorFrete + cp.ValorSeguro) - cp.Desconto; IList <Boleto> lb = CapturarBoletos(model, cp); InserirCompra(cp, lpc, lb); return(View("Index", model.EmpresaId)); }