Beispiel #1
0
        public ActionResult Create(Itens itens)
        {
            var cli = new SelectList(db.Clientes.Select(x => new { x.CodigoDoCliente, Cliente = x.NomeCFC + " (" + x.Cidades.NomeDaCidade + "/" + x.Estados.NomeDoEstado + ")" }), "CodigoDoCliente", "Cliente", itens.CodigoDocliente);

            if (itens.CodigoDocliente == 0)
            {
                TempData["erro"]        = "Selecione o Cliente!";
                ViewBag.CodigoDocliente = cli;
                ViewBag.CodigoDoTipo    = new SelectList(db.Tipos, "CodigoDoTipo", "NomeDoTipo", itens.CodigoDoTipo);
                return(View(itens));
            }

            if (db.Itens.Any(x => x.Placa1DoVeiculo.Contains(itens.Placa1DoVeiculo)))
            {
                TempData["erro"]        = "Placa já Cadastrada!";
                ViewBag.CodigoDocliente = cli;
                ViewBag.CodigoDoTipo    = new SelectList(db.Tipos, "CodigoDoTipo", "NomeDoTipo", itens.CodigoDoTipo);
                return(View(itens));
            }

            if (itens.DataDoCadastro > itens.DataDaAtivacao)
            {
                TempData["erro"]        = "A Data de Ativação não pode ser MENOR que a Data do Cadastro!";
                ViewBag.CodigoDocliente = cli;
                ViewBag.CodigoDoTipo    = new SelectList(db.Tipos, "CodigoDoTipo", "NomeDoTipo", itens.CodigoDoTipo);
                return(View(itens));
            }

            var datacli = db.Clientes.Find(itens.CodigoDocliente).DataDoCadastro;

            if (itens.DataDaAtivacao < datacli || itens.DataDoCadastro < datacli)
            {
                TempData["erro"]        = "A Data de Ativação/Cadastro não pode ser MENOR que a Data de cadastro do CLIENTE!";
                ViewBag.CodigoDocliente = cli;
                ViewBag.CodigoDoTipo    = new SelectList(db.Tipos, "CodigoDoTipo", "NomeDoTipo", itens.CodigoDoTipo);
                return(View(itens));
            }

            if (itens.AnoDeFabricacao == null)
            {
                TempData["erro"]        = "Preencha o Ano de Fabricação!";
                ViewBag.CodigoDocliente = cli;
                ViewBag.CodigoDoTipo    = new SelectList(db.Tipos, "CodigoDoTipo", "NomeDoTipo", itens.CodigoDoTipo);
                return(View(itens));
            }

            if (itens.DescricaoDaMarca == null)
            {
                TempData["erro"]        = "Preencha a Marca!";
                ViewBag.CodigoDocliente = cli;
                ViewBag.CodigoDoTipo    = new SelectList(db.Tipos, "CodigoDoTipo", "NomeDoTipo", itens.CodigoDoTipo);
                return(View(itens));
            }

            if (itens.DescricaoDoModelo == null)
            {
                TempData["erro"]        = "Preencha o Modelo!";
                ViewBag.CodigoDocliente = cli;
                ViewBag.CodigoDoTipo    = new SelectList(db.Tipos, "CodigoDoTipo", "NomeDoTipo", itens.CodigoDoTipo);
                return(View(itens));
            }

            itens.AnoDeFabricacao = itens.AnoDeFabricacao.Substring(0, 4);
            itens.Foto1           = UploadImagens.UploadRename(Request.Files["f1"], "Foto1", null);
            itens.Foto2           = UploadImagens.UploadRename(Request.Files["f2"], "Foto2", null);
            itens.Foto3           = UploadImagens.UploadRename(Request.Files["f3"], "Foto3", null);
            itens.Foto4           = UploadImagens.UploadRename(Request.Files["f4"], "Foto4", null);

            if (ModelState.IsValid)
            {
                itens.Placa1DoVeiculo   = itens.Placa1DoVeiculo.ToUpper();
                itens.Placa2DoVeiculo   = itens.Placa2DoVeiculo?.ToUpper();
                itens.DescricaoDoModelo = itens.DescricaoDoModelo.ToUpper();
                itens.DescricaoDaMarca  = itens.DescricaoDaMarca.ToUpper();
                db.Itens.Add(itens);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.CodigoDocliente = cli;
            ViewBag.CodigoDoTipo    = new SelectList(db.Tipos, "CodigoDoTipo", "NomeDoTipo", itens.CodigoDoTipo);
            return(View(itens));
        }