Пример #1
0
        public async Task AdicionarUsuario_DeveInserirComSucesso_RetornarTrue()
        {
            // Arrange
            var usuarioViewModel = new AdicionarUsuarioViewModel {
                Nome  = "Guilherme",
                Email = "*****@*****.**",
                Senha = "ASGFJS"
            };
            var usuario = new Usuario(Guid.NewGuid(), "Guilherme", "*****@*****.**", "ASGFJS");

            // Act
            var mock   = new Mock <IUsuarioRepository>();
            var mapper = new Mock <IMapper>();

            mock.Setup(c => c.Adicionar(usuario));
            mock.Setup(c => c.UnitOfWork.Commit()).Returns(Task.FromResult(true));
            mapper.Setup(c => c.Map <Usuario>(usuarioViewModel)).Returns(usuario);

            var service   = new UsuarioService(mapper.Object, mock.Object, _mockSecurity.Object);
            var adicionar = await service.Adicionar(usuarioViewModel);

            // Assert
            Assert.True(usuarioViewModel.EhValido());
            Assert.True(adicionar);
        }
Пример #2
0
        public ActionResult Editar(int id)
        {
            var perfils =
                _perfilRepositorio.ObterTodos().Select(t => new { t.Codigo, t.Nome, CodigoDoGrupo = t.Grupo.Codigo });
            var grupoIntegra  = _grupoRepositorio.ObterGrupoIntegra();
            var grupos        = _grupoRepositorio.ObterTodos().Select(t => new { t.Codigo, t.Descricao });
            var tipos         = _tipoDeCrmRepositorio.ObterTodos().ToList();
            var departamentos = _departamentoRepositorio.ObterTodos().ToList();
            var cargos        = _cargoRepositorio.ObterTodos().ToList();
            var programas     = _programaRepositorio.ObterTodos().ToList();
            var novoUsuario   = new AdicionarUsuarioViewModel
            {
                Perfils       = perfils,
                Grupos        = grupos,
                TiposDeCrm    = tipos,
                Cargos        = cargos,
                Departamentos = departamentos,
                GrupoIntegra  = grupoIntegra,
                Programas     = programas
            };

            var cliente = _clienteRepositorio.ObterPor(id);

            if (cliente == null)
            {
                var funcionario = _funcionarioRepositorio.ObterPor(id);
                novoUsuario.Codigo               = funcionario.Codigo;
                novoUsuario.PerfilSelecionado    = funcionario.Usuario.Perfil.Codigo;
                novoUsuario.NomeDeUsuario        = funcionario.Usuario.NomeDeUsuario;
                novoUsuario.GrupoSelecionado     = funcionario.Usuario.Perfil.Grupo.Codigo;
                novoUsuario.CodigoDoCargo        = funcionario.Cargo != null ? funcionario.Cargo.Codigo : 1;
                novoUsuario.CodigoDoDepartamento = funcionario.Departamento != null ? funcionario.Departamento.Codigo : 1;
                novoUsuario.Nome                = funcionario.Nome;
                novoUsuario.Telefone            = funcionario.Telefone;
                novoUsuario.Status              = funcionario.Inativo;
                novoUsuario.CodigosDosProgramas = funcionario.ProgramasPermitidos.Select(it => it.Codigo).ToList();
                novoUsuario.DescricaoDoCargo    = funcionario.Descricao;
            }
            else
            {
                novoUsuario.Codigo            = cliente.Codigo;
                novoUsuario.PerfilSelecionado = cliente.Usuario.Perfil.Codigo;
                novoUsuario.NomeDeUsuario     = cliente.Usuario.NomeDeUsuario;
                novoUsuario.GrupoSelecionado  = cliente.Usuario.Perfil.Grupo.Codigo;
                novoUsuario.Nome = cliente.Nome;
                if (cliente.Crm != null)
                {
                    novoUsuario.NumeroDoCrm          = cliente.Crm.NumeroDoCRM;
                    novoUsuario.TipoDeCrmSelecionado = cliente.Crm.Tipo.Codigo;
                    novoUsuario.NomeDoCrm            = cliente.Crm.NomeDoCRM;
                }
                novoUsuario.Telefone            = cliente.Telefone;
                novoUsuario.Status              = cliente.Inativo;
                novoUsuario.CodigosDosProgramas = cliente.ProgramasPermitidos.Select(it => it.Codigo).ToList();
            }

            return(View("NovoUsuario", novoUsuario));
        }
Пример #3
0
        public async Task <IActionResult> AdicionarUsuario(AdicionarUsuarioViewModel ViewModel)
        {
            if (ModelState.IsValid)
            {
                var emailJaUtilizado = Usuario.Users.Any(x => x.Email == ViewModel.Email);

                if (emailJaUtilizado)
                {
                    ModelState.AddModelError("Email", "Email já cadastrado");
                }

                var cpfJaUtilizado = Usuario.Users.Any(x => x.Cpf == ViewModel.Cpf);

                if (cpfJaUtilizado)
                {
                    ModelState.AddModelError("Cpf", "Cpf já cadastrado");
                }

                if (!emailJaUtilizado && !cpfJaUtilizado)
                {
                    var usuario = new Usuario()
                    {
                        UserName = ViewModel.Email,
                        Nome     = ViewModel.Nome,
                        Cpf      = ViewModel.Cpf,
                        Email    = ViewModel.Email,
                    };
                    try
                    {
                        var resultado = await Usuario.CreateAsync(usuario, ViewModel.Password);

                        if (resultado.Succeeded)
                        {
                            ViewBag.Mensagem = "Usuario Adicionado Com Sucesso";
                        }
                        else
                        {
                            ViewBag.Mensagem = "Ocorreu um erro";
                        }
                        return(RedirectToAction("Index"));
                    }
                    catch (Exception ex)
                    {
                        ViewBag.Mensagem = ex.Message;
                        return(RedirectToAction("Index"));
                    }
                }
                else
                {
                    ViewBag.Mensagem = "Insira os campos obrigatórios";
                }
            }

            return(View(ViewModel));
        }
Пример #4
0
        public async Task <bool> Adicionar(AdicionarUsuarioViewModel usuario)
        {
            if (!usuario.EhValido())
            {
                return(false);
            }

            await usuarioRepository.Adicionar(mapper.Map <Usuario>(usuario));

            return(await usuarioRepository.UnitOfWork.Commit());
        }
Пример #5
0
        public async Task AdicionarUsuario_Validar_DeveRetornarErroEmTodosOsCampos(string email)
        {
            // Arrange
            var usuario = new AdicionarUsuarioViewModel {
                Email = email
            };

            // Act
            var service   = new UsuarioService(_mapper.Object, _mockusuario.Object, _mockSecurity.Object);
            var adicionar = await service.Adicionar(usuario);

            // Assert
            Assert.False(adicionar);
            Assert.False(usuario.ValidationResult.IsValid);
        }
Пример #6
0
        public async Task <IActionResult> Registrar(AdicionarUsuarioViewModel dados)
        {
            try
            {
                var result = await usuarioService.Adicionar(dados);

                if (dados.ValidationResult.Errors.Count > 0)
                {
                    return(CreateValidationErrorResponse(dados.ValidationResult.Errors));
                }
            }
            catch (Exception ex)
            {
                CreateServerErrorResponse(ex, null);
            }

            return(NoContent());
        }
Пример #7
0
        private object EditarPessoa(AdicionarUsuarioViewModel viewModel)
        {
            var novoUsuarioRequisicao = new AlterarUmaPessoaRequisicao
            {
                Codigo               = viewModel.Codigo,
                CodigoDoPerfil       = viewModel.PerfilSelecionado,
                CodigoDoTipoDeCrm    = viewModel.TipoDeCrmSelecionado,
                NumeroDoCrm          = viewModel.NumeroDoCrm,
                CodigoDoDepartamento = viewModel.CodigoDoDepartamento,
                CodigoDoCargo        = viewModel.CodigoDoCargo,
                Nome                = viewModel.Nome,
                Telefone            = viewModel.Telefone,
                Inativo             = viewModel.Status,
                NomeDeUsuario       = viewModel.NomeDeUsuario,
                Descricao           = viewModel.DescricaoDoCargo,
                CodigosDosProgramas = viewModel.CodigosDosProgramas,
                NomeDoCrm           = viewModel.NomeDoCrm
            };
            var resposta = _pessoaServicoDeAplicacao.AlterarUmaPessoa(novoUsuarioRequisicao);

            return(resposta);
        }
Пример #8
0
        public ActionResult NovoUsuario()
        {
            var perfils       = _perfilRepositorio.ObterTodos().Select(t => new { t.Codigo, t.Nome, CodigoDoGrupo = t.Grupo.Codigo });
            var grupoIntegra  = _grupoRepositorio.ObterGrupoIntegra();
            var grupos        = _grupoRepositorio.ObterTodos().Select(t => new { t.Codigo, t.Descricao });
            var tipos         = _tipoDeCrmRepositorio.ObterTodos().ToList();
            var departamentos = _departamentoRepositorio.ObterTodos().ToList();
            var cargos        = _cargoRepositorio.ObterTodos().ToList();
            var programas     = _programaRepositorio.ObterTodos().ToList();
            var novoUsuario   = new AdicionarUsuarioViewModel
            {
                Perfils       = perfils,
                Grupos        = grupos,
                TiposDeCrm    = tipos,
                Cargos        = cargos,
                Departamentos = departamentos,
                GrupoIntegra  = grupoIntegra,
                Programas     = programas
            };

            return(View(novoUsuario));
        }
Пример #9
0
        private AdicionarUmaPessoaResposta AdicionarPessoa(AdicionarUsuarioViewModel novoUsuarioModel)
        {
            var novoUsuarioRequisicao = new AdicionarUmaPessoaRequisicao
            {
                CodigoDoPerfil       = novoUsuarioModel.PerfilSelecionado,
                NomeDeUsuario        = novoUsuarioModel.NomeDeUsuario,
                CodigoDoGrupo        = novoUsuarioModel.GrupoSelecionado,
                CodigoDoTipoDeCrm    = novoUsuarioModel.TipoDeCrmSelecionado,
                NumeroDoCrm          = novoUsuarioModel.NumeroDoCrm,
                CodigoDoDepartamento = novoUsuarioModel.CodigoDoDepartamento,
                CodigoDoCargo        = novoUsuarioModel.CodigoDoCargo,
                Nome                = novoUsuarioModel.Nome,
                Telefone            = novoUsuarioModel.Telefone,
                Inativo             = novoUsuarioModel.Status,
                Descricao           = novoUsuarioModel.DescricaoDoCargo,
                CodigosDosProgramas = novoUsuarioModel.CodigosDosProgramas,
                NomeDoCrm           = novoUsuarioModel.NomeDoCrm
            };

            var resposta = _pessoaServicoDeAplicacao.AdicionarUmaPessoa(novoUsuarioRequisicao, Session.ProgramaAtivo().CodPrograma);

            return(resposta);
        }
Пример #10
0
 public JsonResult NovoUsuario(AdicionarUsuarioViewModel novoUsuarioModel)
 {
     return(Json(novoUsuarioModel.Codigo == 0 ? AdicionarPessoa(novoUsuarioModel) : EditarPessoa(novoUsuarioModel)));
 }
Пример #11
0
        public IActionResult AdicionarUsuario()
        {
            var ViewModel = new AdicionarUsuarioViewModel();

            return(View(ViewModel));
        }
Пример #12
0
 public async Task <IActionResult> Post([FromBody] AdicionarUsuarioViewModel viewModel)
 => await Execute <AdicionarUsuarioCommand, AdicionarUsuarioViewModel>(viewModel);