public List <string> GetAvailableRoles(GetAvailableRolesQuery q) { var result = new List <string>(); var group = GroupBLO.Current.GetByKeys(new Group { GroupCode = q.GroupCode }); if (group == null) { return(result); } var groupUsers = AccountBLO.Current.GetAccountsByGroup(q.GroupCode); if (groupUsers.Count(x => x.Role == Constants.Role.SHIFT_HEAD) < 1) { result.Add(Constants.Role.SHIFT_HEAD); } if (groupUsers.Count(x => x.Role == Constants.Role.STAFF) < 2) { result.Add(Constants.Role.STAFF); } var account = groupUsers.Where(x => x.Username == q.UserName).FirstOrDefault(); if (account != null) { result.Add(account.Role); } return(result); }
public List<string> GetAvailableRoles(GetAvailableRolesQuery q) { var result = new List<string>(); var group = GroupBLO.Current.GetByKeys(new Group {GroupCode = q.GroupCode}); if (group == null) { return result; } var groupUsers = AccountBLO.Current.GetAccountsByGroup(q.GroupCode); if (groupUsers.Count(x => x.Role == Constants.Role.SHIFT_HEAD) < 1) { result.Add(Constants.Role.SHIFT_HEAD); } if (groupUsers.Count(x => x.Role == Constants.Role.STAFF) < 2) { result.Add(Constants.Role.STAFF); } var account = groupUsers.Where(x => x.Username == q.UserName).FirstOrDefault(); if (account != null) { result.Add(account.Role); } return result; }