public ExecuteResult<ShowCustomerInfoResponse> GetShowCustomer(ShowCustomerRequest request) { if (request == null) { throw new ArgumentNullException("request"); } var entity = _customerRepository.GetItem(request.UserId); if (entity == null) { return new ExecuteResult<ShowCustomerInfoResponse>(null); } var userModel = MappingManager.UserModelMapping(entity); var response = MappingManager.ShowCustomerInfoResponseMapping(userModel); if (request.CurrentAuthUser != null) { //取是否关注当前 var likeEntity = _likeService.Get(request.CurrentAuthUser.Id, request.UserId); response.IsLiked = likeEntity != null; } return new ExecuteResult<ShowCustomerInfoResponse>(response); }
public RestfulResult Daren(ShowCustomerRequest request, [FetchRestfulAuthUser(IsCanMissing = true, KeyName = Define.Token)]UserModel currentAuthUser) { request.CurrentAuthUser = currentAuthUser; var linq = _customerRepo.Get(u => u.Id == request.UserId) .GroupJoin(_resourceRepo.Get(r => r.SourceType == (int)SourceType.CustomerThumbBackground), o => o.Id, i => i.SourceId, (o, i) => new { C = o, RB = i }) .GroupJoin(_useraccountRepo.Get(ua => ua.Status != (int)DataStatus.Deleted), o => o.C.Id, i => i.User_Id, (o, i) => new { C = o.C, RB = o.RB, UA = i }); var response = from l in linq.ToList() select new ShowCustomerInfoResponse().FromEntity<ShowCustomerInfoResponse>(l.C , c => { var bgThum = l.RB.FirstOrDefault(); if (bgThum != null) { c.BackgroundLogo_r = new ResourceInfoResponse().FromEntity<ResourceInfoResponse>(bgThum); } c.CountsFromEntity(l.UA); c.IsLiked = false; if (request.CurrentAuthUser != null) { var likeEntity = _likeRepo.Get(like=>like.LikeUserId==request.CurrentAuthUser.Id &&like.LikedUserId==request.UserId).FirstOrDefault(); c.IsLiked = likeEntity != null; } }); ; return new RestfulResult { Data = new ExecuteResult<ShowCustomerInfoResponse>(response.FirstOrDefault()) }; }
public RestfulResult Show(ShowCustomerRequest request, [FetchRestfulAuthUser(IsCanMissing = true, KeyName = Define.Token)]UserModel currentAuthUser) { return Daren(request, currentAuthUser); }