public ResponseDtoContainer ChangeUserPermissons(List <PermissionDto> permissions, long userId) { ResponseDtoContainer container = new ResponseDtoContainer(); List <PermissionToUserDto> updateList = new List <PermissionToUserDto>(); PermissionToUserTDataAccess puDa = new PermissionToUserTDataAccess(); foreach (var item in permissions) { var pu = puDa.GetSingle(it => it.PermissionId == item.PermissionId && it.UserId == userId); if (pu != null) { if (item.AccessType == Common.Enums.AccessType.None) { puDa.Delete(pu); } else { pu.PermissionAccess = (short)item.AccessType; updateList.Add(pu); } ResponseDto response = new ResponseDto(pu.Response); container.ResponseDtoList.Add(response); } else if (pu == null && (item.AccessType == Common.Enums.AccessType.Access || item.AccessType == Common.Enums.AccessType.Deny)) { PermissionToUserDto newPermission = new PermissionToUserDto() { PermissionId = item.PermissionId, UserId = userId, PermissionAccess = (short)item.AccessType }; puDa.Insert(newPermission); ResponseDto response = new ResponseDto(newPermission.Response); container.ResponseDtoList.Add(response); } else { item.Response.AddBusinessException("موجود نیست", BusinessExceptionEnum.Operational); } } puDa.Update(updateList); return(container); }
public Framework.Common.Service.Message.ResponseDto RevokeUserPermission(Common.DTO.UserDto user, int permissionId) { ResponseDto response = new ResponseDto(); var permission = this.GetSingle(it => it.PermissionId == permissionId); if (permission != null) { PermissionToUserTDataAccess perToUserDa = new PermissionToUserTDataAccess(); var permissionList = perToUserDa.GetAll(it => it.PermissionId == permissionId && it.UserId == user.UserId).ToList(); if (permissionList != null && permissionList.Count > 0) { perToUserDa.Delete(permissionList); } } else { response.Response.AddBusinessException("چنین دسترسی وجود ندارد", BusinessExceptionEnum.Operational); } return(response); }
public Framework.Common.Service.Message.ResponseDto GrantUserPermission(Common.DTO.UserDto user, int permissionId) { ResponseDto response = new ResponseDto(); var permission = this.GetSingle(it => it.PermissionId == permissionId); if (permission != null) { PermissionToUserTDataAccess perToUserDa = new PermissionToUserTDataAccess(); PermissionToUserDto perToUser = new PermissionToUserDto() { UserId = user.UserId, PermissionId = permissionId }; perToUserDa.Insert(perToUser); } else { response.Response.AddBusinessException("چنین دسترسی وجود ندارد", BusinessExceptionEnum.Operational); } return(response); }