Ejemplo n.º 1
0
        public ActionResult CadUsuario(CadUsuarioViewModel cad)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var retorno = CadastroUsuarioModel.InserirNewUsuario(cad.Login, cad.Senha, cad.Nome);

            if (retorno > 0)
            {
                ViewBag.Mensagem = " # Usuário inserido com sucesso !!";
                return(View(cad));
            }
            else
            {
                ModelState.AddModelError("", " # Erro ao Inserir Verifique!");
            }
            return(View(cad));
        }
        public async Task <ActionResult <Usuario> > Post([FromForm] CadUsuarioViewModel usuario)
        {
            Usuario usosExistente = await repositorio.verificacaoDeUso(usuario.email, usuario.loginUsuario);

            if (usosExistente != null)
            {
                return(BadRequest("Desculpe, mas parece que este email ou o userName já está em uso"));
            }
            try
            {
                Usuario newUsuario = new Usuario();

                var hashSenha = new HashSenha(SHA256.Create());

                if (Request.Form.Files.Count > 0)
                {
                    var arquivo      = Request.Form.Files[0];
                    var caminhoPasta = @"Resources\Usuario\";

                    newUsuario.LoginUsuario = usuario.loginUsuario;
                    newUsuario.Senha        = hashSenha.HasheandoSenha(usuario.senha);
                    newUsuario.NomeCompleto = usuario.nomeCompleto;

                    string tituloEmail = "Aguardando aprovação!";
                    string corpoEmail  = System.IO.File.ReadAllText(path: @"emails\parabens.html");
                    _emailController.Email(usuario.email, corpoEmail, tituloEmail);
                    newUsuario.Email = usuario.email;

                    newUsuario.FotoUsuario     = _uploadController.Upload(arquivo, caminhoPasta);
                    newUsuario.Departamento    = usuario.departamento;
                    newUsuario.TipoDeUsuario   = "Funcionario";
                    newUsuario.StatusAprovacao = "Aguardo";
                }
                else
                {
                    var arquivo = string.Empty;

                    if (Request.Form.Files.Count == 0)
                    {
                        arquivo = "semfoto.jpg";
                    }

                    newUsuario.LoginUsuario = usuario.loginUsuario;
                    newUsuario.Senha        = hashSenha.HasheandoSenha(usuario.senha);
                    newUsuario.NomeCompleto = usuario.nomeCompleto;

                    string tituloEmail = "Aguardando aprovação!";
                    string corpoEmail  = System.IO.File.ReadAllText(path: @"emails\parabens.html");
                    _emailController.Email(usuario.email, corpoEmail, tituloEmail);
                    newUsuario.Email = usuario.email;

                    newUsuario.FotoUsuario     = arquivo;
                    newUsuario.Departamento    = usuario.departamento;
                    newUsuario.TipoDeUsuario   = "Funcionario";
                    newUsuario.StatusAprovacao = "Aguardo";
                }
                await repositorio.Post(newUsuario);

                return(newUsuario);
            }catch (Exception)
            {
                throw;
            }
        }