コード例 #1
0
        public ActionResult RegistrarCompra(int idVeiculo, string placaVeiculo, Models.CompraModel model)
        {
            var Veiculo = Session["Veiculo"] as Models.VeiculoModel;

            if (!ModelState.IsValid || model.Id == -1)
            {
                if (model.Id == -1)
                {
                    ModelState.AddModelError("", "Erro ao salvar!");
                }
                if (model.Preco <= 0)
                {
                    ModelState.AddModelError("", "Informe um preço!");
                }

                this.FormaPagamento();

                return(View(model));
            }

            Ioc.Core.Data.Compra compra = new Ioc.Core.Data.Compra()
            {
                Data      = model.Data,
                Preco     = model.Preco,
                IdVeiculo = idVeiculo,
                Obs       = model.Obs,
            };

            Veiculos.Ioc.Service.Service <Ioc.Core.Data.Compra> servicoCompra = new Ioc.Service.Service <Ioc.Core.Data.Compra>();
            compra = servicoCompra.Inserir(compra);

            if (compra.Id > 0)
            {
                Ioc.Core.Data.PartePagamento pp = new Ioc.Core.Data.PartePagamento()
                {
                    Quantia          = model.Preco,
                    IdFormaPagamento = model.IdFormaPagamento,
                    IdCompra         = compra.Id
                };

                Veiculos.Ioc.Service.Service <Ioc.Core.Data.PartePagamento> servicoPP = new Ioc.Service.Service <Ioc.Core.Data.PartePagamento>();
                servicoPP.Inserir(pp);

                StatusAtualizacao.VeiculoAtualizar(new Ioc.Core.Data.Veiculo()
                {
                    Id = compra.IdVeiculo
                }, StatusAtualizacao.StatusVeiculo.DisponivelParaVenda);
                return(RedirectToAction("Home").WithSuccess("Compra salva com sucesso!"));
            }
            else
            {
                model.Id = -1;
                return(this.RegistrarCompra(idVeiculo, placaVeiculo, model));
            }
        }
コード例 #2
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);
        }