示例#1
0
        public async Task <IUserRecommendationResponse> ReceiveAllRecommendationAsync(int recipientUserId)
        {
            try
            {
                logger.Info($"{ GetType().Name}  {  ExtensionUtility.GetCurrentMethod() } UserIPAddress: { _userIPAddress.GetUserIP().Result }");

                var data = await _appDbContext.UserRecommendations.Where(x => x.RecipientUserID == recipientUserId && x.isAccepted != true).ToListAsync();

                var recommendDetails = _mapper.Map <List <UserRecommendView> >(data);



                foreach (var item in recommendDetails)
                {
                    var profile = await _appDbContext.Profiles.FirstOrDefaultAsync(k => k.Id == item.SenderUserID);

                    var workExperience = await _appDbContext.ProfileWorkExperiences.Include(k => k.Title)
                                         .Where(k => k.ProfileId == item.SenderUserID).OrderByDescending(y => y.DateFrom).FirstOrDefaultAsync();

                    var user = await _appDbContext.Users.FirstOrDefaultAsync(k => k.Id == item.SenderUserID);

                    item.UserInfo = new PublicProfileView()
                    {
                        Id              = profile.Id,
                        FirstNameAr     = profile.FirstNameAr ?? "",
                        FirstNameEn     = profile.FirstNameEn ?? "",
                        LastNameAr      = profile.LastNameAr ?? "",
                        LastNameEn      = profile.LastNameEn ?? "",
                        SecondNameAr    = profile.SecondNameAr ?? "",
                        SecondNameEn    = profile.SecondNameEn ?? "",
                        ThirdNameAr     = profile.ThirdNameAr ?? "",
                        ThirdNameEn     = profile.ThirdNameEn ?? "",
                        Designation     = workExperience?.Title?.TitleEn ?? "",
                        DesignationAr   = workExperience?.Title?.TitleAr ?? "",
                        UserImageFileId = user?.OriginalImageFileId ?? 0,
                        About           = ""
                    };
                }
                var recommendInfo = new UserRecommendationDetails()
                {
                    RecommendationInfo = recommendDetails
                };


                return(new UserRecommendationResponse(recommendInfo));
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                return(new UserRecommendationResponse(ex));
            }
        }
 public UserRecommendationResponse(UserRecommendationDetails ReceiveAllRecommendations) : this(true, ClientMessageConstant.Success, ReceiveAllRecommendations)
 {
 }
 private UserRecommendationResponse(bool success, string message, UserRecommendationDetails receiveAllRecommendations) : base(success, message)
 {
     ReceiveAllRecommendations = receiveAllRecommendations;
 }