Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
 public static SelectList AllBranchesForUserListDropDown(Guid appUserId, Guid branchId)
 {
     return(new SelectList(BranchHelpers.GetBranchesForUser(appUserId), "BranchId", "BranchName", branchId));
 }
Example #5
0
        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);
        }