public static List <Block> GetBlocksCreatedByUserBranches(ApplicationDbContext db, Guid appUserId) { List <Branch> userBranches = BranchHelpers.GetBranchesForUser(db, appUserId); List <Block> list = (from ub in userBranches join b in db.Blocks on ub.BranchId equals b.BlockedById select b).Distinct().ToList(); return(list); }
public static List <Friend> GetFriendsCreatedByUserBranches(ApplicationDbContext db, Guid appUserId) { List <Branch> userBranches = BranchHelpers.GetBranchesForUser(db, appUserId); List <Friend> list = (from ub in userBranches join f in db.Friends on ub.BranchId equals f.RequestedById select f).Distinct().ToList(); return(list); }
public static List <Branch> GetAllBranchesForGroupForUser(ApplicationDbContext db, Guid appUserId) { List <Branch> allBranches = GetAllBranches(db); //Remove branches for current user List <Branch> userBranches = BranchHelpers.GetBranchesForUser(db, appUserId); allBranches.RemoveAll(x => userBranches.Any(y => y.BranchId == x.BranchId)); return(allBranches); }
public static SelectList AllBranchesForUserListDropDown(Guid appUserId, Guid branchId) { return(new SelectList(BranchHelpers.GetBranchesForUser(appUserId), "BranchId", "BranchName", branchId)); }
public static List <GroupListView> GetGroupListViewsRelevantToUser(ApplicationDbContext db, Guid appUserId) { List <GroupListView> list = new List <GroupListView>(); List <Group> allGroupsRelevantUser = new List <Group>(); //Get user groups containing this user allGroupsRelevantUser = GroupHelpers.GetGroupsForUser(db, appUserId); //Get branch groups containing this users branches List <Branch> usersBranches = BranchHelpers.GetBranchesForUser(db, appUserId); foreach (Branch branch in usersBranches) { List <Group> groups = GroupHelpers.GetGroupsForTypeAndReferenceId(db, LevelEnum.Branch, branch.BranchId); foreach (Group group in groups) { allGroupsRelevantUser.Add(group); } } //Get company groups containing this users company List <Group> companyGroups = GroupHelpers.GetGroupsForTypeAndReferenceId(db, LevelEnum.Company, CompanyHelpers.GetCompanyForUser(db, appUserId).CompanyId); foreach (Group group in companyGroups) { allGroupsRelevantUser.Add(group); } foreach (Group group in allGroupsRelevantUser) { //Get members of the group List <GroupMember> groupMembers = GroupMemberHelpers.GetMembersForGroup(db, group.GroupId); List <GroupMemberListView> groupMembersView = new List <GroupMemberListView>(); foreach (GroupMember member in groupMembers) { string memberName = null; switch (member.Type) { case LevelEnum.User: memberName = AppUserHelpers.GetAppUserName(db, member.ReferenceId); break; case LevelEnum.Branch: memberName = BranchHelpers.GetBranchNameTownPostCode(db, member.ReferenceId); break; case LevelEnum.Company: memberName = CompanyHelpers.GetCompanyNameTownPostCode(db, member.ReferenceId); break; } GroupMemberListView groupMemberListView = new GroupMemberListView() { GroupMember = member, GroupMemberName = memberName }; groupMembersView.Add(groupMemberListView); } //create view record to add to list of view records GroupListView view = new GroupListView(); view.Group = group; view.GroupOriginatorName = AppUserHelpers.GetAppUserName(db, view.Group.GroupOriginatorAppUserId); view.Members = groupMembersView; list.Add(view); } return(list); }