public async Task <List <User> > GetUsersBasedOnRoleAsync(UserBranches userBranches)
        {
            List <User> userList  = new List <User>();
            var         userRoles = await userRolesRepository.GetUserRolesAsync(userBranches.BranchId, userBranches.UserId);

            foreach (var item in userRoles)
            {
                if (item.RoleId == ConstRoles.Admin)
                {
                    UserFilter userFilter = new UserFilter();
                    var        users      = await userRepository.GetByPredicateAsync(X => X.ID != userBranches.UserId);

                    userList = users.ToList();
                    return(userList);
                }
                else if (item.RoleId == ConstRoles.SuperViser)
                {
                    var branch = await branchRepository.GetBranchAsync(userBranches.BranchId);

                    var zone = await zoneRepository.GetZoneInfoByZoneIDAsync(branch.ZoneID);

                    var branches = await zoneRepository.GetProvinceBranchesByProvinceCode(zone.OSTANCode);

                    var users = await userRepository.GetUsereOfBranches(branches);

                    users = users.Where(X => X.ID != userBranches.UserId);

                    userList = users.ToList();
                    return(userList);
                }
                else
                {
                    // var users = await userRepository.GetUsereOfBranche(userBranches.BranchId);

                    //users = users.Where(X => X.ID != userBranches.UserId);

                    //userList = users.ToList();
                }
            }
            return(null);
        }
예제 #2
0
 public async Task <Zone> GetZoneInfoByZoneIDAsync(int zoneID)
 {
     return(await _zoneRepository.GetZoneInfoByZoneIDAsync(zoneID));
 }