/// <summary> /// 获取联络列表 /// </summary> /// <param name="queryDto"></param> /// <returns></returns> public PagedList <ContactListDto> Search(ContactQueryDto queryDto) { if (queryDto.StatItemType == Dto.Report.StatItemTypeEnum.Telephone) { return(SearchByOutCall(queryDto)); } else { return(SearchByInCall(queryDto)); } }
/// <summary> /// 来电 /// </summary> /// <param name="queryDto"></param> /// <returns></returns> private PagedList <ContactListDto> SearchByInCall(ContactQueryDto queryDto) { var userQuery = db.GetUserQuery(); var query = from contact in db.MlsContactRecordLogQuery join housenew in db.ChineseHouseNewQuery on contact.ResourcesId equals housenew.Id into h from housenew in h.DefaultIfEmpty() join communities in db.ChineseCommunitiesQuery on housenew.CommunityId equals communities.Id into c from communities in c.DefaultIfEmpty() join user in userQuery on contact.UserId equals user.UserId into aa from user in aa.DefaultIfEmpty() where (contact.CreateTime >= queryDto.DateS && contact.CreateTime <= queryDto.DateE) //&& contact.HouseSourceType == 2 && user.ShopId > 0 orderby contact.CreateTime descending select new { contact, user, extInfo = new { housenew.HouseNewId, housenew.Areas, housenew.TotalPrice, housenew.CommissionPartner, housenew.CommissionPartnerType, housenew.CommissionPartnerPercent, housenew.BedRoomsCount, housenew.TingRoomsCount, housenew.BathRoomsCount, housenew.HouseSource, housenew.RentPrice, MainPhotoUrl = housenew.MainPhoto, IsMls = housenew.ShareToFdb == 2, CommunityName = communities.Name, communities.CityName, communities.AreaName } }; var phoneNumber = db.CurrentCorpUserList.FirstOrDefault(x => x.UserId == queryDto.UserId)?.PhoneNumber; query = query.Where(x => x.contact.Contacter == phoneNumber); var list = query.GetPagedList(queryDto.PageIndex, queryDto.PageSize); var data = new PagedList <ContactListDto>(list.CurrentPageIndex, list.PageSize, list.TotalItemCount); var userInfoList = db.CurrentCorpUserInfoList; list.ForEach(item => data.Add(ToDto(item.contact, item.user, item.extInfo))); return(data); }
public async Task <IHttpActionResult> GetAllAsync([FromUri] ContactQueryDto model, CancellationToken cancellationToken) { if (model == null || !ModelState.IsValid) { return(BadRequest()); } var project = await _projectManager.FindByIdAsync(model.ProjectId, cancellationToken); await ApiSecurity.AuthorizeAsync(project, AccessPermission.CanView, cancellationToken); return(Ok(await _projectManager.GetContactsAsync( project, model.Name, model.IncludeWithTags, model.ExcludeWithTags, model.OrderBy, model.Page, model.Limit, model.Fields, cancellationToken))); }