Exemple #1
0
        private static async Task <IEnumerable <SelectedTestReport> > HandleUserReports(int period)
        {
            var testReports = (await DalZeroActivity.SelectChosenUserReportsAsync(period)).ToList();

            if (testReports != null && testReports.Any())
            {
                IEnumerable <User> users = new List <User>();
                using (var uClient = new UserAccountClient())
                {
                    var result = await uClient.GetUsersByIdsAsync(testReports.Select(tr => tr.UserId).Distinct().ToList());

                    if (result.Success && result.Result != null && result.Result.Any())
                    {
                        users = result.Result;
                    }
                }
                if (users.Any())
                {
                    foreach (var tr in testReports)
                    {
                        var singleUser = users.FirstOrDefault(ur => Equals(ur.UserId, tr.UserId));
                        if (singleUser?.Profile != null)
                        {
                            if (!string.IsNullOrWhiteSpace(singleUser.Profile.HeadUrl))
                            {
                                tr.HeadImage = ImageHelper.GetImageUrl(singleUser.Profile.HeadUrl);
                            }
                            tr.UserName = string.IsNullOrWhiteSpace(singleUser.Profile.UserName) ? singleUser.Profile.NickName : singleUser.Profile.UserName;
                            tr.Gender   = Convert.ToInt32(singleUser.Profile.Gender);
                        }
                    }
                }
                return(testReports);
            }
            return(new List <SelectedTestReport>());
        }