public async Task FetchChannelAsync()
        {
            await _slackChannelRepository.AddSlackChannelAsync(slackChannelDetails);

            IEnumerable <SlackChannelDetails> slackChannels = await _slackChannelRepository.FetchChannelAsync();

            Assert.NotEmpty(slackChannels);
        }
Esempio n. 2
0
        /// <summary>
        /// Used to fetch list of Active OAuth projects in which the user is team leader and their linked slack channels - JJ
        /// </summary>
        /// <param name="slackUserId">UserId of slack user</param>
        /// <returns>List of Active OAuth projects in which the user is team leader and their linked slack channels</returns>
        private async Task <string> ListLinkAsync(string slackUserId)
        {
            string reply       = string.Empty;
            var    accessToken = await GetAccessToken(slackUserId);

            if (accessToken != null)
            {
                ApplicationUser appUser = await _applicationUser.FirstAsync(x => x.SlackUserId == slackUserId);

                List <ProjectAc> projectList = await _oauthCallsRepository.GetListOfProjectsEnrollmentOfUserByUserIdAsync(appUser.Id, accessToken);

                IEnumerable <SlackChannelDetails> slackChannelList = await _slackChannelRepository.FetchChannelAsync();

                projectList.Where(y => y.IsActive && y.TeamLeader != null && y.TeamLeader.IsActive && y.TeamLeaderId == appUser.Id)
                .Select(proj => new
                {
                    SlackChannel = slackChannelList.FirstOrDefault(x => x.ProjectId == proj.Id),
                    ProjectName  = proj.Name
                }).ToList().ForEach(x =>
                {
                    reply += Environment.NewLine + "*" + x.ProjectName + (x.SlackChannel != null ? "* - `" + x.SlackChannel.Name + "`" : "* - none") + Environment.NewLine;
                });

                _logger.Debug("\nproject channel list :" + reply);

                if (string.IsNullOrEmpty(reply))
                {
                    reply = _stringConstant.NoLinks;
                }

                else
                {
                    reply = _stringConstant.Links + Environment.NewLine + reply;
                }
            }
            else
            {
                // if user doesn't exist then this message will be shown to user
                reply = _stringConstant.YouAreNotInExistInOAuthServer;
            }
            return(reply);
        }