/// <summary> /// This method used for get active user email list. - an /// </summary> /// <returns>list of active user email list</returns> public async Task <List <string> > GetActiveUserEmailListAsync() { UserEmailListAc userEmailListAc = await _oauthCallsRepository.GetUserEmailListBasedOnRoleAsync(); List <string> listOfEmails = new List <string>(); listOfEmails.AddRange(userEmailListAc.Management); listOfEmails.AddRange(userEmailListAc.TamMemeber); listOfEmails.AddRange(userEmailListAc.TeamLeader); return(listOfEmails.Distinct().ToList()); }
/// <summary> /// This method used for get list of user emails based on role. -an /// </summary> /// <returns>list of teamleader ,managment and employee email</returns> public async Task <UserEmailListAc> GetUserEmailListBasedOnRoleAsync() { var accessToken = await GetCurrentUserAcceesToken(); UserEmailListAc userEmailListAc = new UserEmailListAc(); var response = await _httpClientService.GetAsync(_stringConstant.ProjectUserUrl, _stringConstant.Email, accessToken, _stringConstant.Bearer); if (response != null) { userEmailListAc = JsonConvert.DeserializeObject <UserEmailListAc>(response); } return(userEmailListAc); }
/// <summary> /// This method used for added dynamic group. -an /// </summary> /// <returns></returns> public async Task AddDynamicGroupAsync() { UserEmailListAc userEmailListAc = await _oauthCallsRepository.GetUserEmailListBasedOnRoleAsync(); if (userEmailListAc != null) { //create team leader group await InsertDynamicGroupAsync(_stringConstantRepository.TeamLeaderGroup, userEmailListAc.TeamLeader); //create team member group await InsertDynamicGroupAsync(_stringConstantRepository.TeamMembersGroup, userEmailListAc.TamMemeber); //create managment group await InsertDynamicGroupAsync(_stringConstantRepository.ManagementGroup, userEmailListAc.Management); } }
/// <summary> /// This method used for get list of user emails based on role. /// </summary> /// <returns>list of teamleader ,managment and employee email</returns> public async Task <UserEmailListAc> GetUserEmailListBasedOnRoleAsync() { UserEmailListAc userEmailListAC = new UserEmailListAc(); //Get all managment email list var roleIds = await _roleManager.Roles.Where(x => !x.Name.Equals(_stringConstant.Employee)).Select(x => x.Id).ToListAsync(); userEmailListAC.Management = await _userManager.Users.Where(x => x.Roles.Any(y => roleIds.Contains(y.RoleId)) && x.IsActive).Select(x => x.Email).Distinct().ToListAsync(); //Get all teamLeader list var teamLeadersIds = await _projectDataRepository.GetAll().Select(x => x.TeamLeaderId).Distinct().ToListAsync(); userEmailListAC.TeamLeader = await _userManager.Users.Where(x => teamLeadersIds.Contains(x.Id) && x.IsActive).Select(x => x.Email).Distinct().ToListAsync(); //Get all teamMember list userEmailListAC.TamMemeber = await _projectUserDataRepository.Fetch(x => x.User.IsActive).Select(x => x.User.Email).Distinct().ToListAsync(); return(userEmailListAC); }