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)); } }
public ActionResult Veiculo(Veiculos.Web.Models.VeiculoModel veiculo, string origemFormulario) { if (!ModelState.IsValid) { this.CarregaComboModelo(); this.CarregaComboFabricante(); return(View("Veiculo", veiculo)); } var serviceVeiculo = new Ioc.Service.Service <Ioc.Core.Data.Veiculo>(); var v = serviceVeiculo.Buscar(f => f.Placa == veiculo.Placa); if (v != null) { this.CarregaComboModelo(); this.CarregaComboFabricante(); return(View("Veiculo", veiculo).WithInfo("O veículo está cadastrado no sistema!")); } serviceVeiculo.Inserir(new Ioc.Core.Data.Veiculo() { AnoFabricacao = veiculo.Ano, Chassi = veiculo.Chassi, Cilindradas = veiculo.Cilindradas, IdModelo = veiculo.IdModelo, IdStatusVeiculo = 3, Placa = veiculo.Placa, Foto = ImagemParaByte(veiculo.Imagem) }); if (!string.IsNullOrEmpty(origemFormulario)) { var comprarController = DependencyResolver.Current.GetService <ComprarController>(); comprarController.ControllerContext = new ControllerContext(this.Request.RequestContext, comprarController); var result = comprarController.PesquisarVeiculo(veiculo.Placa, "../Comprar"); return(result); } else { return(RedirectToAction("Veiculo").WithSuccess("Compra salva com sucesso!")); } }
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); }