예제 #1
0
        /// <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());
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
        /// <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);
            }
        }
예제 #4
0
        /// <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);
        }