示例#1
0
        public ActionResult EditarVenda(int id)
        {
            this.FormaPagamento();
            
            Veiculos.Ioc.Service.Service<Ioc.Core.Data.Venda> servico = new Ioc.Service.Service<Ioc.Core.Data.Venda>();

            Ioc.Core.Data.Venda venda = servico.Buscar(id);
            
            Models.VendaModel model = new Models.VendaModel()
            {
                Id =  venda.Id,
                Comissao = venda.Comissao,
                Data = venda.Data,
                Desconto = venda.Desconto,
                Obs = venda.Obs,
                Veiculo = new Models.VeiculoModel()
                {
                    Id = venda.Veiculo.Id,
                    Ano = venda.Veiculo.AnoFabricacao,
                    Chassi = venda.Veiculo.Chassi,
                    Cilindradas = venda.Veiculo.Cilindradas,
                    DescricaoFabricante = venda.Veiculo.Modelo.Fabricante.Descricao,
                    DescricaoModelo = venda.Veiculo.Modelo.Descricao,
                    IdFabricante = venda.Veiculo.Modelo.IdFabricante,
                    IdModelo = venda.Veiculo.Modelo.Id,
                    Placa = venda.Veiculo.Placa,                    
                }
            };

            model.Pagamentos = new List<Models.PagamentoModel>();
            int index = 1;
            foreach (var pp in new Ioc.Service.Service<Ioc.Core.Data.PartePagamento>().BuscarTodos(f => f.IdVenda == id))
            {
                if(pp.IdCompra != null)
                {
                    pp.Compra = new Ioc.Service.Service<Ioc.Core.Data.Compra>().Buscar(pp.IdCompra.Value);
                }

                pp.FormaPagamento = new Ioc.Service.Service<Ioc.Core.Data.FormaPagamento>().Buscar(pp.IdFormaPagamento);

                model.Pagamentos.Add(
                    new Models.PagamentoModel()
                    {
                        Id = pp.Id,
                        IdCompra = pp.IdCompra != null? pp.IdCompra.Value : 0,
                        IdFormaPagamento = pp.IdFormaPagamento,
                        Quantia = pp.Quantia,
                        Index = index,
                        DescricaoFormaPagamento = pp.IdCompra == null ? pp.FormaPagamento.Descricao : pp.Compra.Veiculo.Placa + "/" + pp.Compra.Veiculo.Modelo.Descricao + "/" + pp.Compra.Veiculo.Modelo.Fabricante.Descricao + "/" + pp.Compra.Veiculo.AnoFabricacao.ToString(),
                    }
                    );
            }

          return View("Index", model);
        }
示例#2
0
        // GET: Vender
        public ActionResult Index()
        {
            this.FormaPagamento();

            Models.VendaModel venda = new Models.VendaModel();

            Models.VeiculoModel veiculo = (Models.VeiculoModel)Session["Veiculo"];
            venda.Veiculo = veiculo;

            return View(venda);
        }
示例#3
0
        public ActionResult RegistrarVenda(Models.VendaModel model)
        {
            foreach (var erro in ModelState.Where(e => e.Key.StartsWith("Veiculo")))
            {
                erro.Value.Errors.Clear();
            }

            if (!ModelState.IsValid)
            {
                this.FormaPagamento();

                Models.VeiculoModel veiculo = (Models.VeiculoModel)Session["Veiculo"];
                model.Veiculo = veiculo;

                return View("Index", model);
            }

            Ioc.Core.Data.Venda venda = new Ioc.Core.Data.Venda()
            {
                Data = model.Data,
                Comissao = model.Comissao,
                Desconto = model.Desconto,
                IdStatusVenda = 3,
                IdUsuario = int.Parse(User.Identity.GetUserId().ToString()),
                ValorTotal = model.Pagamentos.Sum(f => f.Quantia),
                IdVeiculo = model.Veiculo.Id,
                Obs = model.Obs,
            };

            Veiculos.Ioc.Service.Service<Ioc.Core.Data.Venda> servicoVenda = new Ioc.Service.Service<Ioc.Core.Data.Venda>();
            venda = servicoVenda.Inserir(venda);

            if (venda.Id > 0)
            {
                Veiculos.Ioc.Service.Service<Ioc.Core.Data.PartePagamento> servicoPP = new Ioc.Service.Service<Ioc.Core.Data.PartePagamento>();

                foreach (var pag in model.Pagamentos)
                {
                    Ioc.Core.Data.PartePagamento pp = new Ioc.Core.Data.PartePagamento()
                    {
                        Quantia = pag.Quantia,
                        IdFormaPagamento = pag.IdFormaPagamento,
                        IdVenda = venda.Id
                    };

                    if (pag.IdCompra > 0)
                        pp.IdCompra = pag.IdCompra;

                    servicoPP.Inserir(pp);
                }

                if (User.IsInRole("Gerente"))
                {
                    StatusAtualizacao.VeiculoAtualizar(new Ioc.Core.Data.Veiculo() { Id = model.Veiculo.Id }, StatusAtualizacao.StatusVeiculo.NaoPertenceLoja);
                    
                    foreach (var pag in model.Pagamentos.Where(f => f.IdCompra > 0))
                    {
                        Veiculos.Ioc.Service.Service<Ioc.Core.Data.Compra> servicoCompra = new Ioc.Service.Service<Ioc.Core.Data.Compra>();

                        var compra = servicoCompra.Buscar(pag.IdCompra);

                        StatusAtualizacao.VeiculoAtualizar(new Ioc.Core.Data.Veiculo() { Id = compra.IdVeiculo }, StatusAtualizacao.StatusVeiculo.NaoPertenceLoja);
                    }
                    StatusAtualizacao.VendaAtualizar(venda, StatusAtualizacao.StatusVenda.Autorizada);
                    return RedirectToAction("Home").WithSuccess("Venda salva com sucesso!");
                }
                else
                {
                    StatusAtualizacao.VeiculoAtualizar(new Ioc.Core.Data.Veiculo() { Id = model.Veiculo.Id }, StatusAtualizacao.StatusVeiculo.EmProcessoVenda);
                    
                    foreach (var pag in model.Pagamentos.Where(f => f.IdCompra > 0))
                    {
                        Veiculos.Ioc.Service.Service<Ioc.Core.Data.Compra> servicoCompra = new Ioc.Service.Service<Ioc.Core.Data.Compra>();

                        var compra = servicoCompra.Buscar(pag.IdCompra);

                        StatusAtualizacao.VeiculoAtualizar(new Ioc.Core.Data.Veiculo() { Id = compra.IdVeiculo }, StatusAtualizacao.StatusVeiculo.EmProcessoVenda);
                    }
                    StatusAtualizacao.VendaAtualizar(venda, StatusAtualizacao.StatusVenda.AguardandoAutorizacao);
                    return RedirectToAction("Home").WithInfo("Aguardando autorização do gerente.");
                }
            }

            return View("Index", model);
        }