public IHttpActionResult GetUsuarioCapturador() { List <AspNetUserModel> listCapturador = new List <AspNetUserModel>(); string rolCapturador = WebConfigurationManager.AppSettings["capturador_parametros"]; var rolCapturadorParametros = rolService.GetSingle(x => x.Name == rolCapturador); if (rolCapturadorParametros == null) { return(BadRequest("No se encuentra el rol CAPTURADOR PARAMETRO")); } var objUsrRole = AspNetUserRolesService.GetAll(r => r.RoleId == rolCapturadorParametros.Id, null, includes: c => c.AspNetUsers).Select(s => s.UserId).ToList(); if (objUsrRole != null) { listCapturador = userService.GetAll(x => objUsrRole.Contains(x.Id)).ToList(); } var lisUsr = userService.GetAll(c => c.Estatus == 1); if (listCapturador != null) { return(Ok(listCapturador.Select(c => new { Id = c.Id, FirstName = c.FirstName, LastName = c.LastName, UserName = c.UserName, Email = c.Email }))); } return(BadRequest("No se encontró ningún usuario con el rol de Capturador.")); }
public IHttpActionResult Get() { var ue = objInj.GetAll(null, null, includes: c => c.AspNetRoles); if (ue == null) { return(NotFound()); } return(Ok(ue)); }
public IHttpActionResult CreateRolesForUser([FromBody] RolesToUser model) { objInj = objInj ?? new AspNetUserRolesService(); var currentAreas = objInj.GetAll(c => c.UserId == model.id, null, includes: c => c.AspNetRoles); var denoms = new List <int>(currentAreas.Select(c => c.IDAspNetUserRol)); objInj.CreateAndRemove(model.EnrolledRoles, denoms); return(Ok()); }
public async Task <IHttpActionResult> SoftDeleteRole(string Id) { var role = await RoleManager.FindByIdAsync(Id); if (role != null) { ApplicationRole rol = ((ApplicationRole)role); rol.Estatus = 0; IdentityResult result = await RoleManager.UpdateAsync(rol); if (result.Succeeded) { var currentRoles = objInj.GetAll(c => c.RoleId == Id, null, includes: c => c.AspNetRoles); var denoms = new List <int>(currentRoles.Select(c => c.IDAspNetUserRol)); objInj.CreateAndRemove(null, denoms); } else { return(InternalServerError()); } return(Ok()); } return(NotFound()); }
public async Task <IHttpActionResult> GetSupervisorList(int IdEmpresa, int IdArea) { IdentityUser user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); //Se obtiene el ID del ROL del tipo de ROL Aprobador List <ExistingRole> existingRoles = new List <ExistingRole>(); var roles = RoleManager.Roles; string roleAprobadorID = string.Empty; foreach (var role in roles) { var casting = role as ApplicationRole; if (casting.Name.Equals("APROBADOR")) { roleAprobadorID = casting.Id; } } // Se obtiene la lista de todos los usuarios que tengan el ROL APROBADOR var objUsrRole = objInj.GetAll(c => c.AspNetRoles.Id == roleAprobadorID, null, includes: c => c.AspNetUsers); var lisUsr = userService.GetAll(c => c.Estatus == 1); List <AspNetUserModel> listAprobador = new List <AspNetUserModel>(); foreach (var usrRole in objUsrRole) { foreach (AspNetUserModel usr in lisUsr) { if (usrRole.UserId == usr.Id) { listAprobador.Add(usr); } } } string[] listIdAprobador = new string[listAprobador.Count()]; for (int i = 0; i < listAprobador.Count(); i++) { listIdAprobador[i] = listAprobador[i].Id; } //Se obtienen todas las empresas del usuario capturador var objUsuarioEmpresa = usuarioEmpresaService.GetAll(c => c.US_ID_USUARIO == user.Id, null, includes: c => c.SAX_EMPRESA); string[] listEmpresa = new string[objUsuarioEmpresa.Count()]; for (int i = 0; i < objUsuarioEmpresa.Count(); i++) { listEmpresa[i] = objUsuarioEmpresa[i].CE_ID_EMPRESA.ToString(); } //Se obtienen todas las areas del usuario capturador var objUsuarioArea = usuarioAreaService.GetAll(c => c.US_ID_USUARIO == user.Id, null, includes: c => c.SAX_AREA_OPERATIVA); string[] listArea = new string[objUsuarioArea.Count()]; for (int i = 0; i < objUsuarioEmpresa.Count(); i++) { listEmpresa[i] = objUsuarioEmpresa[i].CE_ID_EMPRESA.ToString(); } //Se obtiene todas las empresas por los APROBADORES var objUsuarioEmpresaAprobador = usuarioEmpresaService.GetAll(c => listIdAprobador.Contains(c.US_ID_USUARIO) && c.CE_ID_EMPRESA == IdEmpresa, null, includes: c => c.SAX_EMPRESA); //Se obtiene todas las areas por los APROBADORES var objUsuarioAreaAprobador = usuarioAreaService.GetAll(c => listIdAprobador.Contains(c.US_ID_USUARIO) && c.CA_ID_AREA == IdArea, null, includes: c => c.SAX_AREA_OPERATIVA); //Se crea la lista de definitiva de usuarios supervisores List <AspNetUserModel> listSupervisor = new List <AspNetUserModel>(); // Se recorren las empresas y areas de los usuarios aprobadores y se comparan con las areas y empresas del usuario capturador for (int e = 0; e < objUsuarioEmpresaAprobador.Count; e++) { for (int a = 0; a < objUsuarioAreaAprobador.Count; a++) { if (objUsuarioEmpresaAprobador[e].US_ID_USUARIO == objUsuarioAreaAprobador[a].US_ID_USUARIO) { for (int ec = 0; ec < objUsuarioEmpresa.Count; ec++) { for (int ac = 0; ac < objUsuarioArea.Count; ac++) { if (objUsuarioEmpresa[ec].US_ID_USUARIO == objUsuarioArea[ac].US_ID_USUARIO) { if (objUsuarioEmpresa[ec].CE_ID_EMPRESA == objUsuarioEmpresaAprobador[e].CE_ID_EMPRESA && objUsuarioArea[ac].CA_ID_AREA == objUsuarioAreaAprobador[a].CA_ID_AREA) { listSupervisor.Add(objUsuarioEmpresaAprobador[e].AspNetUsers); } } } } } } } if (listSupervisor != null && listSupervisor.Count() > 0) { return(Ok(listSupervisor.Select(c => new { //SV_COD_SUPERVISOR = c.Id, //SV_COD_SUPERVISOR_DESC = c.FirstName Id = c.Id, FirstName = c.FirstName }).Distinct())); } //SV_COD_SUPERVISOR //SV_COD_SUPERVISOR_DESC return(BadRequest("No se encontraron supervisores que coincidan con su empresa y área")); }