示例#1
0
        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));
        }
示例#2
0
        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));
        }