Example #1
0
        public async Task <IActionResult> Cadastro(UsuarioCadastroViewModel cadastroViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("Cadastro", cadastroViewModel));
            }

            List <string> resultadoValidacao = Usuario.ValidarCadastro(cadastroViewModel);

            if (resultadoValidacao.Count == 0)
            {
                Usuario usuarioExistente = _contexto.Usuarios.FirstOrDefault(u => u.Nome == cadastroViewModel.Nome);
                if (usuarioExistente != null)
                {
                    ModelState.AddModelError(string.Empty, "Já existe um usuário cadastrado com esse nome.");
                    return(View("Cadastro", cadastroViewModel));
                }

                Usuario novoUsuario = new Usuario(cadastroViewModel);

                _contexto.Usuarios.Add(novoUsuario);
                await _contexto.SaveChangesAsync();
            }
            else
            {
                foreach (string resultado in resultadoValidacao)
                {
                    ModelState.AddModelError(string.Empty, resultado);
                }

                return(View("Cadastro", cadastroViewModel));
            }

            return(RedirectToAction("Login"));
        }
        public async Task <Usuario> Post([FromBody] UsuarioCadastroViewModel model)
        {
            Usuario user = default(Usuario);

            switch (model.Discriminator)
            {
            case nameof(Instituicao):
                user = new Instituicao(model.BeginDate);
                break;

            case nameof(Gestor):
                user = new Gestor(model.BeginDate);
                break;

            case nameof(RecursosHumano):
                user = new RecursosHumano(model.BeginDate);
                break;

            default:
                throw new HttpException(422);
                //break;
            }

            user.Email = model.Email;
            user.SetPassword(model.Password);
            user.UserName  = model.Username;
            user.Nome      = model.Nome;
            user.Sobrenome = model.Sobrenome;

            db.Usuarios.Add(user);
            await db.SaveChangesAsync();

            return(user);
        }
Example #3
0
        public void CadastrarMedicoComCpfSemMascara()
        {
            // given
            var usuarioCadastro  = new UsuarioCadastroViewModel("*****@*****.**", "25d55ad283aa400af464c76d713c07ad", "Médico");
            var enderecoCadastro = new EnderecoViewModel("29500-000", "Rua nova", "123", "Casa", "Centro", "Alegre", "ES");
            var medicoCadastro   = new MedicoCadastroViewModel("Marcos", "12345678912", "12.345.678-1", "1234567", new DateTime(1980, 2, 5), "M", "(34)98543-3241", "*****@*****.**", enderecoCadastro, usuarioCadastro);

            var endereco      = new Endereco(new Guid("1EF2F5CB-A04B-4761-3C44-08D78CC135ED"), "29500-000", "Rua nova", "123", "Casa", "Centro", "Alegre", "ES");
            var medico        = new Medico(new Guid("16E16A8D-469F-4286-A470-08D78CC0F920"), "Marcos", "12345678912", "12.345.678-1", 1234567, new DateTime(1980, 2, 5), "M", "(34)98543-3241", "*****@*****.**", endereco.IdEndereco);
            var usuarioMedico = new Usuario(new Guid("1A7C25A0-896F-49DF-A75E-EE7DD53AECB9"), "*****@*****.**", "25d55ad283aa400af464c76d713c07ad", "Médico", medico, null);

            this.medicoRepositoryMock.Setup(m => m.BuscarMedicoPorCpf(medicoCadastro.Cpf)).Returns((Medico)null);
            this.medicoRepositoryMock.Setup(m => m.BuscarMedicoPorRg(medicoCadastro.Rg)).Returns((Medico)null);
            this.medicoRepositoryMock.SetupSequence(m => m.BuscarMedicoPorCrm(int.Parse(medicoCadastro.Crm))).Returns((Medico)null).Returns(medico);
            this.usuarioRepositoryMock.Setup(u => u.ObterUsuarioPorEmail(medicoCadastro.Usuario.Email)).Returns((Usuario)null);
            this.enderecoRepositoryMock.Setup(e => e.BuscaIdEndereco(It.IsAny <Endereco>())).Returns(Guid.NewGuid());
            this.enderecoRepositoryMock.Setup(e => e.CadastrarEndereco(It.IsAny <Endereco>())).Returns(true);
            this.medicoRepositoryMock.Setup(m => m.CadastrarMedico(It.IsAny <Medico>())).Returns(true);
            this.usuarioRepositoryMock.Setup(u => u.CadastrarUsuario(It.IsAny <Usuario>())).Returns(true);

            var medicoService = new MedicoService(this.medicoRepositoryMock.Object, this.usuarioRepositoryMock.Object, this.enderecoRepositoryMock.Object);

            // when
            var resultado = medicoService.CadastrarMedico(medicoCadastro);

            // then
            Assert.NotNull(resultado);
            Assert.True(resultado.Id == 1);
        }
        [ResponseType(typeof(string))] //conteúdo retornado pelo serviço
        public HttpResponseMessage Cadastrar(UsuarioCadastroViewModel model)
        {
            //verificar se os dados da model estão corretos
            if (ModelState.IsValid)
            {
                try
                {
                    Usuario usuario = Mapper.Map <Usuario>(model);
                    usuarioBusiness.Cadastrar(usuario);

                    //retornar um status de sucesso...
                    return(Request.CreateResponse(HttpStatusCode.OK, $"Usuário {model.Nome} cadastrado com sucesso."));
                }
                catch (Exception e)
                {
                    //retorna um status de erro...
                    return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e.Message));
                }
            }
            else
            {
                //retornar um status de erro...
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelStationValidation.GetErrors(ModelState)));
            }
        }
Example #5
0
        public void CadastrarAtendenteComCpfSemMascaraTest()
        {
            // given
            var usuarioCadastro   = new UsuarioCadastroViewModel("*****@*****.**", "25d55ad283aa400af464c76d713c07ad", "Atendente");
            var enderecoCadastro  = new EnderecoViewModel("29500-000", "Rua nova", "123", "Casa", "Centro", "Alegre", "ES");
            var atendenteCadastro = new AtendenteCadastroViewModel("Joana", new DateTime(1980, 2, 5), "F", "12245778912", "12.345.678-1", "*****@*****.**", "(34)98543-3241", enderecoCadastro, usuarioCadastro);

            var endereco         = new Endereco(new Guid("1EF2F5CB-A04B-4761-3C44-08D78CC135ED"), "29500-000", "Rua nova", "123", "Casa", "Centro", "Alegre", "ES");
            var atendente        = new Atendente(new Guid("16E16A8D-469F-4286-A470-08D78CC0F920"), "Joana", new DateTime(1980, 2, 5), "F", "12245778912", "12.345.678-1", "*****@*****.**", "(34)98543-3241", endereco.IdEndereco);
            var usuarioAtendente = new Usuario(new Guid("1A7C25A0-896F-49DF-A75E-EE7DD53AECB9"), "*****@*****.**", "25d55ad283aa400af464c76d713c07ad", "Atendente", null, atendente);

            this.atendenteRepositoryMock.SetupSequence(a => a.BuscarAtendentePorCpf("122.457.789-12")).Returns((Atendente)null).Returns(atendente);
            this.atendenteRepositoryMock.Setup(a => a.BuscarAtendentePorRg(atendenteCadastro.Rg)).Returns((Atendente)null);
            this.usuarioRepositoryMock.Setup(u => u.ObterUsuarioPorEmail(atendenteCadastro.Usuario.Email)).Returns((Usuario)null);
            this.enderecoRepositoryMock.Setup(e => e.BuscaIdEndereco(It.IsAny <Endereco>())).Returns(Guid.NewGuid());
            this.enderecoRepositoryMock.Setup(e => e.CadastrarEndereco(It.IsAny <Endereco>())).Returns(true);
            this.atendenteRepositoryMock.Setup(a => a.CadastrarAtendente(It.IsAny <Atendente>())).Returns(true);
            this.usuarioRepositoryMock.Setup(u => u.CadastrarUsuario(It.IsAny <Usuario>())).Returns(true);

            var atendenteService = new AtendenteService(this.atendenteRepositoryMock.Object, this.enderecoRepositoryMock.Object, this.usuarioRepositoryMock.Object);

            // when
            var resultado = atendenteService.CadastrarAtendente(atendenteCadastro);

            // then
            Assert.NotNull(resultado);
            Assert.True(resultado.Id == 1);
        }
        // POST: Auth/Register
        public ActionResult Register(UsuarioCadastroViewModel viewModel)
        {
            if (User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            if (db.Usuarios.Any(u => u.Login == viewModel.Login))
            {
                ModelState.AddModelError(nameof(UsuarioCadastroViewModel.Login), "Esse login já está em uso.");
                return(View(viewModel));
            }

            var usuario = new Usuario
            {
                Nome  = viewModel.Nome,
                Login = viewModel.Login,
                Senha = Hash.Generate(viewModel.Senha)
            };

            db.Usuarios.Add(usuario);
            db.SaveChanges();

            TempData["message"] = "Cadastro realizado com sucesso. Efetue o login.";

            return(RedirectToActionPermanent("Login"));
        }
Example #7
0
        public async Task Adicionar(UsuarioCadastroViewModel usuarioCadastro)
        {
            _context.Usuarios.Add(usuarioCadastro.Usuario);
            await _context.SaveChangesAsync();

            usuarioCadastro.Endereco.Usuario = await UsuarioPorEmail(usuarioCadastro.Usuario.Email, true);

            _context.EnderecoEntrega.Add(usuarioCadastro.Endereco);
            await _context.SaveChangesAsync();
        }
Example #8
0
 public AtendenteCadastroViewModel(string nome, DateTime dataNascimento, string sexo, string cpf, string rg, string email, string telefone, EnderecoViewModel endereco, UsuarioCadastroViewModel usuario)
 {
     this.Nome           = nome;
     this.DataNascimento = dataNascimento;
     this.Sexo           = sexo;
     this.Cpf            = cpf;
     this.Rg             = rg;
     this.Email          = email;
     this.Telefone       = telefone;
     this.Endereco       = endereco;
     this.Usuario        = usuario;
 }
Example #9
0
        public Usuario Post([FromBody] UsuarioCadastroViewModel model)
        {
            Usuario usuario = new Usuario();

            usuario.active   = true;
            usuario.password = model.password;
            usuario.username = model.username;

            _Db.Usuarios.Add(usuario);
            _Db.SaveChanges();

            return(usuario);
        }
        public ActionResult Cadastro(UsuarioCadastroViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (repository.HasLogin(model.Login))
                    {
                        ViewBag.Mensagem = $"O login {model.Login} já foi cadastrado. Tente outro.";
                    }
                    else
                    {
                        Usuario u = new Usuario();

                        u.Nome  = model.Nome;
                        u.Email = model.Email;
                        u.Login = model.Login;
                        u.Senha = Criptografia.EncriptarSenhaMD5(model.Senha);
                        if (model.Foto != null)
                        {
                            u.Foto = Guid.NewGuid().ToString() + Path.GetExtension(model.Foto.FileName);
                        }
                        else
                        {
                            u.Foto = "anonimous.jpg";
                        }
                        u.IdPerfil = 2;

                        repository.Insert(u);

                        if (model.Foto != null)
                        {
                            //upload da foto..
                            string path = Server.MapPath("/images/users/");
                            model.Foto.SaveAs(path + u.Foto);
                        }

                        ViewBag.Mensagem = $"Usuário {u.Nome}, cadastrado com sucesso.";
                        ModelState.Clear(); //limpar os campos do formulário..
                        return(RedirectToAction("Login", "Usuario"));
                    }
                }
                catch (Exception e)
                {
                    ViewBag.Mensagem = $"Ocorreu um erro:{e.Message}";
                }
            }

            return(View());
        }
Example #11
0
        public HttpResponseMessage Post(UsuarioCadastroViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (repository.hasLogin(model.Login))
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, $"Já existe o login: {model.Login} cadastrado."));
                    }
                    else
                    {
                        Usuario u = new Usuario();

                        u.Nome     = model.Nome;
                        u.Login    = model.Login;
                        u.Senha    = Criptografia.EncriptarSenhaMD5(model.Senha);
                        u.IdPerfil = model.IdPerfil;

                        repository.Insert(u);

                        return(Request.CreateResponse(HttpStatusCode.OK, "Usuário cadastrado com sucesso!"));
                    }
                }
                else
                {
                    Hashtable erros = new Hashtable();

                    foreach (var m in ModelState)
                    {
                        if (m.Value.Errors.Count > 0)
                        {
                            erros[m.Key] = m.Value.Errors.Select(e => e.ErrorMessage);
                        }
                    }

                    return(Request.CreateResponse(HttpStatusCode.BadRequest, erros));
                }
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, e.Message));
            }
        }
Example #12
0
        //método para receber a requisição
        //AJAX realizada pelo JQuery..
        public JsonResult CadastrarUsuario(UsuarioCadastroViewModel model)
        {
            Usuario result = repositorio.ObterPermissaoUsuario(EmailUsuario());

            if (result.Permissao == "Administrador")
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        if (repositorio.ObterPorEmail(model.Email))
                        {
                            return(Json($"Este email já foi cadastrado, por favor tente outro."));
                        }
                        else
                        {
                            Usuario u = new Usuario();
                            u.Nome      = model.Nome;
                            u.Email     = model.Email;
                            u.Permissao = model.Permissao;
                            u.Senha     = Criptografia.MD5Encrypti(model.Senha);

                            repositorio.Inserir(u);

                            return(Json($"Usuário {u.Nome}, cadastrado com sucesso."));
                        }
                    }
                    catch (Exception e)
                    {
                        return(Json("Ocorreu um erro: " + e.Message));
                    }
                }
                else
                {
                    Response.StatusCode = 400; //BAD REQUEST
                    return(Json(ValidacaoUtil.ObterErros(ModelState)));
                }
            }
            else
            {
                return(Json($"Usuário não possui permissão."));
            }
        }
Example #13
0
        public IActionResult Post([FromBody] UsuarioCadastroViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var usuario = Mapper.Map <Usuario>(model);
                    business.Cadastrar(usuario);

                    return(Ok($"Usuário {usuario.Nome}, cadastrado com sucesso"));
                }
                catch (Exception e)
                {
                    return(StatusCode(500, e.Message));
                }
            }
            else
            {
                return(BadRequest("Ocorrem erros de validação"));
            }
        }
Example #14
0
        public async Task <IActionResult> CriarUsuario([FromBody] UsuarioCadastroViewModel usuario)
        {
            IdentityResult result = null;

            if (ModelState.IsValid)
            {
                var user = new User {
                    UserName = usuario.Usuario.Email, Email = usuario.Usuario.Email
                };
                result = await _userManager.CreateAsync(user, usuario.Usuario.Senha);

                if (!result.Succeeded)
                {
                    await _usuarioRepository.Adicionar(usuario);

                    var errors = result.Errors.Select(e => e.Description);
                    return(BadRequest(errors));
                }
                await _userManager.AddToRoleAsync(user, "Administrator");
            }
            return(Ok(result.Succeeded));
        }
Example #15
0
        public ActionResult Cadastro(UsuarioCadastroViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Usuario usuario = new Usuario();

                    usuario.Login = model.Login;
                    usuario.Nome  = model.Nome;
                    usuario.Senha = Criptografia.EncriptarSenha(model.Senha);

                    UsuarioRepositorio rep = new UsuarioRepositorio();

                    if (!rep.HasLogin(usuario.Login))
                    {
                        rep.Insert(usuario);
                        ViewBag.Mensagem = $"Usuário {usuario.Login}, foi cadastrado com sucesso !";
                    }
                    else
                    {
                        throw new Exception($"Usuário {usuario.Login} já existe no sistema, por favor selecione outro !");
                    }



                    ModelState.Clear();
                }
                catch (Exception ex)
                {
                    ViewBag.Mensagem = "Erro:" + ex.Message;
                }
            }


            return(View());
        }
Example #16
0
        public IActionResult Post([FromBody] UsuarioCadastroViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var u = Mapper.Map <Usuario>(model);

                    u.Senha = Criptografia.EncriptarSenhaMD5(u.Senha);

                    repository.Insert(u);

                    return(Ok("Usuário cadastrado com sucesso."));
                }
                catch (Exception e)
                {
                    return(StatusCode(500, e.Message));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
 public ActionResult Index(UsuarioCadastroViewModel model)
 {
     return(View());
 }