public IQueryable <AssignmentCategory> GetCategoriesOfOwnerIdQuery(OwnerLevel ownerLevel, string ownerId) { var query = _assignmentsDb.AssignmentCategories.AsNoTracking() .Where(c => (c.OwnerLevel == ownerLevel) && (c.OwnerId == ownerId)); return(query); }
public async Task <ActionResult> Index(OwnerLevel ownerLevel, string ownerId) { ViewData["ownerLevel"] = ownerLevel; ViewData["ownerId"] = ownerId; return(View("Index")); }
public IQueryable <Assignment> GetAssignmentsOfOwnerAndCategoryQuery(OwnerLevel ownerLevel, string ownerId, string categoryId) { return(_assignmentsDb.Assignments.AsNoTracking() .Where(x => (x.OwnerLevel == ownerLevel) && (x.OwnerId == ownerId)) .Join(_assignmentsDb.AssignmentCategoryLinks.Where(l => l.CategoryId == categoryId), a => a.Id, l => l.AssignmentId, (a, l) => a )); }
public async Task <ICollection <AssignmentListItemViewModel> > GetCategoriesAndAssignmentsOfOwnerQueryAsync(OwnerLevel ownerLevel, string ownerId) { var categoryLinks = await _assignmentsDb.AssignmentCategories.AsNoTracking() .Where(l => (l.OwnerLevel == ownerLevel) && (l.OwnerId == ownerId)) .Join(_assignmentsDb.AssignmentCategoryLinks, c => c.Id, l => l.CategoryId, (c, l) => new { l.AssignmentId, l.CategoryId, CategoryName = c.Title }) .ToListAsync(); var assignments = await _assignmentsDb.Assignments.AsNoTracking() .Where(x => (x.OwnerLevel == ownerLevel) && (x.OwnerId == ownerId)) .ToListAsync(); var items = assignments .Join(categoryLinks, a => a.Id, c => c.AssignmentId, (a, c) => new { c.AssignmentId, a.CreatedUTC, a.DueUTC, a.TimeZoneId, a.Status, a.Title, c.CategoryId, c.CategoryName }) .ToList(); var list = new List <AssignmentListItemViewModel>(); foreach (var item in items) { list.Add(new UI.ViewModels.AssignmentListItemViewModel() { Id = item.AssignmentId, TimeZoneId = item.TimeZoneId, CreatedDT = TimeZoneHelper.ConvertFromUTC(item.CreatedUTC, item.TimeZoneId), DueDT = TimeZoneHelper.ConvertFromUTC(item.DueUTC, item.TimeZoneId), Title = item.Title, Status = item.Status, CategoryId = item.CategoryId, CategoryName = item.CategoryName }); } return(list); }
public IQueryable <Assignment> GetAssignmentsOfOwnerQuery(OwnerLevel ownerLevel, string ownerId) { return(_assignmentsDb.Assignments.Where(x => (x.OwnerLevel == ownerLevel) && (x.OwnerId == ownerId))); }
private IEnumerable <UserGroup> GetUserGroupsOfUserContributor(DataSourceRequest request, UserGroupType userGroupType, UserContext userContext, OwnerLevel viewLevel) { var siteContext = _siteContextAccessor.GetContext(); var accessLevels = new AccessLevel[] { AccessLevel.Contributor, AccessLevel.FullAccess }; var list = new List <UserGroup>(); // Get the client and site groups that the user has a membership to. var userQuery = _userGroupManager.GetUserGroupsAssignedToUserWithAccessLevelQuery(userContext.UserId, accessLevels, userGroupType); var userResults = userQuery.ToDataSourceResult(request); list.AddRange(userResults.Data.Cast <UserGroup>()); // Get the groups that have been created by this user var ownerQuery = _userGroupManager.GetUserGroupsOfOwnerAndTypeQuery(OwnerLevel.User, userContext.UserId, userGroupType); var ownerResults = ownerQuery.ToDataSourceResult(request); list.AddRange(ownerResults.Data.Cast <UserGroup>()); var corpId = new CorpGlobalClaimValueResolver().Resolve(); if (viewLevel.Equals(OwnerLevel.Client)) { // Get the client groups if the user has that claim if (userContext.SecurityClaims.Find(ClientClaimTypes.AppNotificationsSend, siteContext.Client.Id) || userContext.SecurityClaims.Find(ClientClaimTypes.AppNotificationsSend, corpId) || userContext.SecurityClaims.Find(ClientClaimTypes.PrimaryAdmin, siteContext.Client.Id) || userContext.SecurityClaims.Find(ClientClaimTypes.PrimaryAdmin, corpId) || userContext.SecurityClaims.Find(CorpClaimTypes.CorpPrimaryAdmin, corpId)) { var clientQuery = _userGroupManager.GetUserGroupsOfOwnerAndTypeQuery(OwnerLevel.Client, siteContext.Client.Id, userGroupType); var clientResults = clientQuery.ToDataSourceResult(request); list.AddRange(clientResults.Data.Cast <UserGroup>()); } } if (viewLevel.Equals(OwnerLevel.Site)) { // Get the site groups if the user has that claim if (userContext.SecurityClaims.Find(SiteClaimTypes.SiteNotificationsSend, siteContext.Client.Id) || userContext.SecurityClaims.Find(SiteClaimTypes.SiteNotificationsSend, siteContext.SiteId) || userContext.SecurityClaims.Find(SiteClaimTypes.SiteNotificationsSend, corpId) || userContext.SecurityClaims.Find(SiteClaimTypes.SitePrimaryAdmin, siteContext.Client.Id) || userContext.SecurityClaims.Find(SiteClaimTypes.SitePrimaryAdmin, siteContext.SiteId) || userContext.SecurityClaims.Find(SiteClaimTypes.SitePrimaryAdmin, corpId) || userContext.SecurityClaims.Find(CorpClaimTypes.CorpPrimaryAdmin, corpId)) { var siteQuery = _userGroupManager.GetUserGroupsOfOwnerAndTypeQuery(OwnerLevel.Site, siteContext.SiteId, userGroupType); var siteResults = siteQuery.ToDataSourceResult(request); list.AddRange(siteResults.Data.Cast <UserGroup>()); } } var list2 = list.GroupBy(x => x.Id).Select(x => x.First()); return(list2.OrderBy(x => x.Name).ToList()); }
public JsonResult GetSendToNotificationGroups([DataSourceRequest] DataSourceRequest request, OwnerLevel ownerLevel) { var userContext = _userContextAccessor.GetContext(); var groups = GetUserGroupsOfUserContributor(request, UserGroupType.NotificationGroup, userContext, ownerLevel); var result = groups.ToDataSourceResult(request); return(Json(result)); }
public IQueryable <UserGroup> GetUserGroupsOfOwnerAndTypeQuery(OwnerLevel ownerLevel, string ownerId, UserGroupType userGroupType) { var query = _connectDb.UserGroups.Where(x => (x.OwnerLevel == ownerLevel) && (x.OwnerId == ownerId) && (x.UserGroupType == userGroupType)); return(query); }
public IQueryable <Notification> GetNotificationsOfOwnerQuery(OwnerLevel ownerLevel, string ownerId) { var query = _connectDb.Notifications.Where(x => (x.OwnerLevel == ownerLevel) && (x.OwnerId == ownerId)); return(query); }