// serviços
        private async Task <bool> ValidarUsuarioEOcorrencia(Guid usuarioId, Guid ocorrenciaId, DateTime dataHoraTramite)
        {
            UsuarioViewDto viewDto = await _usuarioRepository.PesquisarUsuarioPorIdAsync(usuarioId);

            if (viewDto == null)
            {
                Notificar("Usuário informado não foi encontrado!");
                return(false);
            }

            OcorrenciaResultDto ocorrenciaResultDto = await _ocorrenciaRepository.PesquisarOcorrenciaPorId(ocorrenciaId);

            if (ocorrenciaResultDto.Equals(null))
            {
                Notificar("Ocorrência informada não foi encontrada!");
                return(false);
            }

            if (dataHoraTramite < DateTime.Parse(ocorrenciaResultDto.DataHoraInicio))
            {
                Notificar("Data/Hota do trâmite informada é menor que Data/Hora inicio da ocorrência!");
                return(false);
            }
            if (!DateTime.Parse(ocorrenciaResultDto.DataHoraFim).Equals(null))
            {
                if (dataHoraTramite > DateTime.Parse(ocorrenciaResultDto.DataHoraFim))
                {
                    Notificar("Data/Hota do trâmite informada é maior que Data/Hora fim da ocorrência!");
                    return(false);
                }
            }

            return(true);
        }
        public async Task <UsuarioViewDto> PesquisarUsuarioPorMatriculaAsync(string matricula)
        {
            try
            {
                UsuarioViewDto viewDto = new UsuarioViewDto();
                viewDto = await _context.Users
                          .Include(p => p.ListaUsuarioPerfil)
                          .Where(mat => mat.UserName.Equals(matricula))
                          .Select(item => new UsuarioViewDto
                {
                    Id                     = item.Id,
                    Matricula              = item.UserName,
                    NomeCompleto           = item.NomeCompleto,
                    Email                  = item.Email,
                    StatusUsuario          = item.StatusUsuario,
                    DescricaoStatusUsuario = viewDto.descricaoStatusUsuarioEnum(item.StatusUsuario.ToString()),
                    DataHoraCadastro       = item.DataHoraCadastro,
                    ListaPerfis            = item.ListaUsuarioPerfil.Select(x => x.Perfil.Name).ToList(),
                }).SingleAsync();

                return(viewDto);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <ActionResult> ExcluirUsuario(Guid usuarioId)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            UsuarioViewDto viewDto = await _usuarioService.PesquisarUsuarioPorIdAsync(usuarioId);

            if (viewDto == null)
            {
                return(NotFound(new
                {
                    success = false,
                    status = 404,
                    mensagem = "O usuário informado não foi encontrado!",
                }));
            }

            await _usuarioService.ExcluirUsuarioAsync(usuarioId);

            return(CustomResponse(new
            {
                mensagem = "O usuário foi excluído com sucesso!",
            }));
        }
        // serviços
        private async Task <bool> EhUsuarioValido(Guid usuarioId)
        {
            UsuarioViewDto viewDto = await _usuarioRepository.PesquisarUsuarioPorIdAsync(usuarioId);

            if (viewDto == null)
            {
                Notificar("Nenhum usuário foi encontrado com Id informado!");
                return(false);
            }

            return(true);
        }
        public async Task <ICollection <TramiteResultDto> > PesquisarTramitePorUsuario(Guid usuarioId)
        {
            UsuarioViewDto viewDto = await _usuarioRepository.PesquisarUsuarioPorIdAsync(usuarioId);

            if (viewDto == null)
            {
                Notificar("Nenhum usuário foi encontrado com Id informado!");
                return(null);
            }

            return(await _tramiteRepository.PesquisarTramitesPorUsuario(usuarioId));
        }
Ejemplo n.º 6
0
        public async Task <IdentityResult> EditarUsuarioAsync(UsuarioPutDto putDto, UsuarioViewDto viewDto)
        {
            // validação domínio
            if (!ExecutarValidacao(new UsuarioPutDtoValidation(), putDto))
            {
                return(null);
            }


            Usuario usuario = new Usuario(putDto, viewDto);

            return(await _usuarioRepository.EditarUsuarioAsync(usuario));
        }
Ejemplo n.º 7
0
        public Usuario(UsuarioPutDto putDto, UsuarioViewDto viewDto)
        {
            Id               = viewDto.Id;
            UserName         = putDto.Matricula;
            NomeCompleto     = putDto.Nome;
            Email            = putDto.Email;
            StatusUsuario    = putDto.StatusUsuario;
            EmailConfirmed   = true;
            DataHoraCadastro = viewDto.DataHoraCadastro;

            if (viewDto.StatusUsuario == StatusUsuarioEnum.BLOQUEADO && (putDto.StatusUsuario == StatusUsuarioEnum.ATIVO || putDto.StatusUsuario == StatusUsuarioEnum.INATIVO))
            {
                LockoutEnd = null;
            }
        }
        public async Task <ActionResult> EditarUsuario(Guid usuarioId, [FromBody] UsuarioPutDto putDto)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            if (usuarioId != putDto.Id)
            {
                NotificarErro("Id da request diferente do Id da Entidade!");
                return(CustomResponse(putDto));
            }

            UsuarioViewDto viewDto = await _usuarioService.PesquisarUsuarioPorIdAsync(usuarioId);

            if (viewDto == null)
            {
                return(NotFound(new
                {
                    success = false,
                    status = 404,
                    mensagem = "O usuário informado não foi encontrado!",
                }));
            }


            var result = await _usuarioService.EditarUsuarioAsync(putDto, viewDto);

            if (result == null)
            {
                return(CustomResponse(putDto));
            }

            if (!result.Succeeded)
            {
                foreach (var item in result.Errors)
                {
                    NotificarErro(item.Description);
                    return(CustomResponse(putDto));
                }
            }

            return(CustomResponse(new
            {
                matricula = putDto.Matricula,
                mensagem = "O usuário foi editado com sucesso!",
            }));
        }
        public async Task <ActionResult> PesquisarUsuarioPorMatricula(string matricula)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            UsuarioViewDto viewDto = await _usuarioService.PesquisarUsuarioPorMatriculaAsync(matricula);

            if (viewDto == null)
            {
                return(NotFound(new
                {
                    success = false,
                    status = 404,
                    mensagem = "O usuário informado não foi encontrado!",
                }));
            }

            return(CustomResponse(viewDto));
        }
Ejemplo n.º 10
0
        public ActionResult Create(UsuarioViewDto UserPersona)
        {
            if (Session["Usuario"] == null)
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        if (UserPersona.Password == UserPersona.PasswordRep)
                        {
                            if (!_personaServicio.ValidarCuil(UserPersona.Cuil))
                            {
                                if (!_personaServicio.ValidarMail(UserPersona.Mail))
                                {
                                    if (!_personaServicio.ValidarTelefono(UserPersona.Telefono))
                                    {
                                        if (!_usuarioServicio.ValidarUser(UserPersona.User))
                                        {
                                            if (!_usuarioServicio.ValidarPass(UserPersona.Password))
                                            {
                                                var Persona = new PersonaDto()
                                                {
                                                    Id              = UserPersona.Id,
                                                    Apellido        = UserPersona.Apellido,
                                                    Nombre          = UserPersona.Nombre,
                                                    Domicilio       = UserPersona.Domicilio,
                                                    Cuil            = UserPersona.Cuil,
                                                    FechaNacimiento = UserPersona.FechaNacimiento,
                                                    Mail            = UserPersona.Mail,
                                                    Telefono        = UserPersona.Telefono
                                                };

                                                var Usuario = new UsuarioDto()
                                                {
                                                    User     = UserPersona.User,
                                                    Password = UserPersona.Password,
                                                };

                                                //Verificar por el momento el insert en DB

                                                var persona = _personaServicio.Insertar(Persona);
                                                Usuario.PersonaId     = persona.Id;
                                                Usuario.FechaCreacion = DateTime.Now;
                                                _usuarioServicio.Insertar(Usuario);

                                                return(RedirectToAction("Login", "Usuario"));
                                            }
                                            else
                                            {
                                                ViewBag.Error = "El Password ya esta siendo Utilizado ingreso otro.";
                                                return(View());
                                            }
                                        }
                                        else
                                        {
                                            ViewBag.Error = "El Usuario ya esta siendo Utilizado ingreso otro.";
                                            return(View());
                                        }
                                    }
                                    else
                                    {
                                        ViewBag.Error = "El Telefono ya esta siendo Utilizado ingreso otro.";
                                        return(View());
                                    }
                                }
                                else
                                {
                                    ViewBag.Error = "El Mail ya esta siendo Utilizado ingreso otro.";
                                    return(View());
                                }
                            }
                            else
                            {
                                ViewBag.Error = "El Cuil ya esta siendo Utilizado ingreso otro.";
                                return(View());
                            }
                        }
                        else
                        {
                            //expecion no funciona

                            ViewBag.Error = "Repita la contraseña de manera correcta";
                            return(View());
                        }
                    }
                    catch (Exception e)
                    {
                        ViewBag.ErrorUsuario = "Error inesperado en el sistema , reintentar";
                        return(View());
                    }
                }
                else
                {
                    return(View());
                }
            }
            else
            {
                return(RedirectToAction("Perfil", "Persona"));
            }
        }