public ResultadoOperacionDto BorrarGruposYRolesNoAsociadosAEmpresaUsuario(long idUsuario, long idUsuarioExec)
        {
            ResultadoOperacionDto resultado = new ResultadoOperacionDto();
            //Obtener las empresas actuales del usuario
            IList <long> idEmpresas = UsuarioEmpresaRepository.Get(x => x.IdUsuario == idUsuario).ToList().Select(it => it.IdEmpresa).ToList();
            //Obtener los roles del usuario
            IList <long> idRolesEmpresa = RolRepository.Get(x => !idEmpresas.Contains(x.IdEmpresa)).Select(it => it.IdRol).ToList();
            //Obtener los roles del usuario
            IList <long> idRolesUsuarioEmpresa = UsuarioRolRepository.Get(x => x.IdUsuario == idUsuario && idRolesEmpresa.Contains(x.IdRol)).Select(it => it.IdUsuarioRol).ToList();

            //grupos : eliminar los grupos que no están en las empresas

            UsuarioGrupoRepository.DeleteByCondition(x => x.IdUsuario == idUsuario && !idEmpresas.Contains(x.GrupoUsuarios.IdEmpresa));

            //roles: eleminar los roles que no estén en las empresas

            foreach (var idRolUsuarioEmpresa in idRolesUsuarioEmpresa)
            {
                UsuarioRolRepository.BorrarUsuarioRol(idRolUsuarioEmpresa);
            }

            resultado.Resultado = true;

            resultado.InformacionAuditoria = new InformacionAuditoriaDto(idUsuario, ConstantsAccionAuditable.Borrar,
                                                                         ConstantsModulo.Grupos, "Eliminar los roles y grupos que ya no pertenecen a las empresas asignadas al usuario",
                                                                         null);

            return(resultado);
        }
Example #2
0
 public UsuarioBusiness(IUnitOfWork _unitOfWork)
 {
     unitOfWork           = _unitOfWork;
     usuarioRepository    = new UsuarioRepository(unitOfWork);
     usuarioRolRepository = new UsuarioRolRepository(unitOfWork);
     //inyectamos la dependencia del movilizador
     movilizadoRepository = new MovilizadoRepository(unitOfWork);
 }
        public ResultadoOperacionDto ObtenerUsuariosRolPorUsuarioRol(long?idUsuario, long?idRol)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                resultado.InformacionExtra = UsuarioRolRepository.ObtenerUsuariosRolPorUsuarioRol(idUsuario, idRol);
                resultado.Resultado        = true;
            }
            catch (Exception exception)
            {
                resultado.Resultado        = false;
                resultado.Mensaje          = exception.Message;
                resultado.InformacionExtra = exception;
            }
            return(resultado);
        }
        public ResultadoOperacionDto BorrarRolesUsuario(long idUsuarioRol, long idUsuarioExec)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                var param = new List <object>()
                {
                    Repository.ObtenerUsuarioPorId(idUsuarioRol).CorreoElectronico
                };
                UsuarioRolRepository.BorrarRolesUsuario(idUsuarioRol);

                resultado.InformacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, ConstantsAccionAuditable.Borrar, ConstantsModulo.Usuarios, MensajesServicios.BorrarUsuarioRol, param);
                resultado.Resultado            = true;
            }
            catch (Exception exception)
            {
                resultado.Resultado        = false;
                resultado.Mensaje          = exception.Message;
                resultado.InformacionExtra = exception;
            }
            return(resultado);
        }
        public ResultadoOperacionDto GuardarUsuarioRol(UsuarioRol usuarioRol, long idUsuarioExec)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                resultado.InformacionExtra = UsuarioRolRepository.GuardarUsuarioRol(usuarioRol);

                var param = new List <object>()
                {
                    Repository.ObtenerUsuarioPorId(usuarioRol.IdUsuario).CorreoElectronico
                };
                resultado.InformacionAuditoria = new InformacionAuditoriaDto(idUsuarioExec, usuarioRol.IdUsuarioRol == 0 ? ConstantsAccionAuditable.Insertar : ConstantsAccionAuditable.Actualizar, ConstantsModulo.Usuarios, MensajesServicios.InsertarUsuarioRol, param);

                resultado.Resultado = true;
            }
            catch (Exception exception)
            {
                resultado.Resultado        = false;
                resultado.Mensaje          = exception.Message;
                resultado.InformacionExtra = exception;
            }
            return(resultado);
        }
Example #6
0
 public UsuarioBusiness(IUnitOfWork _unitOfWork)
 {
     unitOfWork           = _unitOfWork;
     usuarioRepository    = new UsuarioRepository(unitOfWork);
     usuarioRolRepository = new UsuarioRolRepository(unitOfWork);
 }