예제 #1
0
        public ActionResult PesquisarVeiculo(string placa, string controlador = null)
        {
            if (string.IsNullOrWhiteSpace(placa))
            {
                ModelState.AddModelError(string.Empty, "Informe a placa do veículo!");
                return(controlador == null?View("Index") : View($"{controlador}/Index"));
            }
            else if (!Veiculos.Util.Validacao.EPlacaValidar(placa))
            {
                ModelState.AddModelError(string.Empty, "Placa do veículo informada está em formato incorreto!");
                return(controlador == null?View("Index") : View($"{controlador}/Index"));
            }

            Veiculos.Ioc.Service.Service <Ioc.Core.Data.Veiculo> serviceVeiculo = new Ioc.Service.Service <Ioc.Core.Data.Veiculo>();

            Ioc.Core.Data.Veiculo veiculo = serviceVeiculo.Buscar(m => m.Placa == placa);

            if (veiculo == null || veiculo.Id == 0)
            {
                var cadastrarController = DependencyResolver.Current.GetService <CadastrarController>();
                cadastrarController.ControllerContext = new ControllerContext(this.Request.RequestContext, cadastrarController);

                var result = cadastrarController.BuscarVeiculoPorPlaca(placa, "Comprar");

                return(result);
            }

            var v = new Models.VeiculoModel()
            {
                Id                  = veiculo.Id,
                Ano                 = veiculo.AnoFabricacao,
                Chassi              = veiculo.Chassi,
                Cilindradas         = veiculo.Cilindradas,
                Placa               = veiculo.Placa,
                IdModelo            = veiculo.Modelo.Id,
                DescricaoModelo     = veiculo.Modelo.Descricao,
                IdFabricante        = veiculo.Modelo.Fabricante.Id,
                DescricaoFabricante = veiculo.Modelo.Fabricante.Descricao
            };


            Models.CompraModel compra = new Models.CompraModel();
            compra.Veiculo = v;

            this.FormaPagamento();

            Session.Remove("Veiculo");
            Session["Veiculo"] = v;
            return(controlador == null?View() : View($"{controlador}/Index", compra));
        }
예제 #2
0
        public static int VeiculoAtualizar(Ioc.Core.Data.Veiculo veiculo, StatusVeiculo status)
        {
            Veiculos.Ioc.Service.Service <Ioc.Core.Data.Veiculo> service = new Ioc.Service.Service <Ioc.Core.Data.Veiculo>();

            if (veiculo.Id > 0)
            {
                veiculo = service.Buscar(f => f.Id == veiculo.Id);
            }
            else if (!string.IsNullOrEmpty(veiculo.Placa))
            {
                veiculo = service.Buscar(f => f.Placa == veiculo.Placa);
            }

            veiculo.IdStatusVeiculo = (int)status;

            return(service.Atualizar(veiculo));
        }
예제 #3
0
        public ActionResult Pesquisar(string placa, string controlador, string acao)
        {
            if (string.IsNullOrWhiteSpace(placa))
            {
                ModelState.AddModelError(string.Empty, "Informe a placa do veículo!");
                return(View("Placa"));
            }
            else if (!Veiculos.Util.Validacao.EPlacaValidar(placa))
            {
                ModelState.AddModelError(string.Empty, "Placa do veículo informada está em formato incorreto!");
                return(View("Placa"));
            }

            Veiculos.Ioc.Service.Service <Ioc.Core.Data.Veiculo> service = new Ioc.Service.Service <Ioc.Core.Data.Veiculo>();

            Ioc.Core.Data.Veiculo veiculo = veiculo = service.Buscar(m => m.Placa == placa);

            if (veiculo == null || veiculo.Id == 0)
            {
                if (controlador.Equals("Vender"))
                {
                    return(View("Placa").WithInfo("Veículo não localizado!"));
                }
                var cadastrarController = DependencyResolver.Current.GetService <CadastrarController>();
                cadastrarController.ControllerContext = new ControllerContext(this.Request.RequestContext, cadastrarController);

                var result = cadastrarController.BuscarVeiculoPorPlaca(placa, controlador);

                return(result);
            }
            //Registrar Compra: Fluxo Alternativo (2): o veículo está cadastrado no sistema e está com status diferente de NÃO PERTENCE À LOJA.
            else if (veiculo != null && veiculo.Id > 0 && controlador.Equals("Comprar") && veiculo.IdStatusVeiculo != 3)
            {
                return(View("Placa").WithInfo("Operação não é permitida, pois o veículo já pertence à loja!"));
            }
            //Registrar venda: Fluxo Alternativo (2): veículo não está cadastrado no sistema ou seu status é NÃO PERTENCE À LOJA.
            else if (veiculo != null && veiculo.Id > 0 && controlador.Equals("Vender") && veiculo.IdStatusVeiculo == 3)
            {
                return(View("Placa").WithInfo("Operação não é permitida, pois o veículo não pertence à loja!"));
            }
            //Registrar venda: Fluxo Alternativo (2): veículo está com status EM PROCESSO DE VENDA.
            else if (veiculo != null && veiculo.Id > 0 && controlador.Equals("Vender") && veiculo.IdStatusVeiculo == 2)
            {
                return(View("Placa").WithInfo("Veículo está sendo negociado em outra transação!"));
            }

            var v = new Models.VeiculoModel()
            {
                Id                  = veiculo.Id,
                Ano                 = veiculo.AnoFabricacao,
                Chassi              = veiculo.Chassi,
                Cilindradas         = veiculo.Cilindradas,
                Placa               = veiculo.Placa,
                IdModelo            = veiculo.Modelo.Id,
                DescricaoModelo     = veiculo.Modelo.Descricao,
                IdFabricante        = veiculo.Modelo.Fabricante.Id,
                DescricaoFabricante = veiculo.Modelo.Fabricante.Descricao,
                Imagem              = (HttpPostedFileBase) new MemoryPostedFile(veiculo.Foto)
            };

            Session.Remove("Veiculo");
            Session["Veiculo"] = v;
            return(RedirectToAction(acao, controlador));
        }