public IActionResult Cadastrar(CadastroVm dadosCadastro)
        {
            if (!ModelState.IsValid)
            {
                return(View("Cadastro", dadosCadastro));
            }

            Cliente clienteExistente = _context.Clientes.FirstOrDefault(c => c.Email == dadosCadastro.Email);

            if (clienteExistente != null)
            {
                ModelState.AddModelError(string.Empty, "Já existe um usuário cadastrado com esse email");
                return(View("Cadastro", dadosCadastro));
            }

            Cliente cliente = new Cliente
            {
                Nome     = dadosCadastro.Nome,
                Email    = dadosCadastro.Email,
                Senha    = UtilSenha.GerarHashSenha(dadosCadastro.Senha),
                Cidade   = dadosCadastro.Cidade,
                Estado   = dadosCadastro.Estado,
                Telefone = dadosCadastro.Telefone,
                CPF      = dadosCadastro.CPF
            };

            _context.Clientes.Add(cliente);
            _context.SaveChanges();

            return(RedirectToAction("Login"));
        }
예제 #2
0
        public IActionResult Cadastrar(Models.ViewModels.Anuncio.CadastroVm dadosCadastro)
        {
            string clienteId = Request.Cookies["ClienteId"];

            if (clienteId == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            Cliente anunciante = _context.Clientes.Find(Convert.ToInt32(clienteId));
            Modelo  modelo     = _context.Modelos.Find(dadosCadastro.ModeloId);

            if (modelo == null)
            {
                ModelState.AddModelError(string.Empty, "Selecione um modelo de carro da lista");
                dadosCadastro.ListaModelos = ObterListaModelos();
                return(View("Cadastro", dadosCadastro));
            }

            Anuncio anuncio = new Anuncio
            {
                Anunciante     = anunciante,
                Ano            = dadosCadastro.Ano,
                DataPublicacao = DateTime.Now,
                Descricao      = dadosCadastro.Descricao,
                Preco          = dadosCadastro.Preco,
                Modelo         = modelo
            };

            if (dadosCadastro.Imagem != null)
            {
                using var memoryStream = new MemoryStream();
                dadosCadastro.Imagem.CopyTo(memoryStream);
                if (memoryStream.Length < 2097152) //2097152 = 2Mb
                {
                    anuncio.Imagem = Convert.ToBase64String(memoryStream.ToArray());
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Imagem muito grande (máx. 2Mb)");
                    dadosCadastro.ListaModelos = ObterListaModelos();
                    return(View("Cadastro", dadosCadastro));
                }
            }

            _context.Anuncios.Add(anuncio);
            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
예제 #3
0
 public void Add(Cliente newCliente)
 {
     _context.Add(newCliente);
     _context.SaveChanges();
 }