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); }
public static int VendaAtualizar(Ioc.Core.Data.Venda venda, StatusVenda status) { Veiculos.Ioc.Service.Service <Ioc.Core.Data.Venda> service = new Ioc.Service.Service <Ioc.Core.Data.Venda>(); if (venda.Id > 0) { venda = service.Buscar(f => f.Id == venda.Id); } venda.IdStatusVenda = (int)status; return(service.Atualizar(venda)); }
public ActionResult AutorizarVenda(int id) { 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); if (venda != null && venda.Id > 0) { StatusAtualizacao.VendaAtualizar(venda, StatusAtualizacao.StatusVenda.Autorizada); StatusAtualizacao.VeiculoAtualizar(venda.Veiculo, StatusAtualizacao.StatusVeiculo.NaoPertenceLoja); return RedirectToAction("Autorizar").WithSuccess("Venda autorizada com sucesso!"); } else { return RedirectToAction("Autorizar").WithInfo("Venda não encontrada!"); } }
public ActionResult ExcluirVenda(int id) { 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); if (venda != null && venda.Id > 0) { StatusAtualizacao.VeiculoAtualizar(venda.Veiculo, StatusAtualizacao.StatusVeiculo.DisponivelParaVenda); servico.Apagar(venda); return RedirectToAction("Autorizar").WithInfo("Venda excluída com sucesso!"); } else { return RedirectToAction("Autorizar").WithInfo("Venda não encontrada!"); } }
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); }