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; }