protected virtual List<OutDoorIndexEntity> GetOutDoors(DateTime? lastIndexTime) { List<OutDoorIndexEntity> result = new List<OutDoorIndexEntity>(); var context = new EntitiesContext(); var OutDoors = context.Set<OutDoor>() .Include(x => x.Area) .Include(x => x.Area.PCategory) .Include(x => x.OutDoorMediaCate) .Include(x => x.OutDoorMediaCate.PCategory) .Include(x => x.AreaAtt) .Include(x => x.PeriodCate) .Include(x => x.FormatCate) .Include(x => x.MediaImg); if (lastIndexTime != null) { OutDoors = OutDoors.Where(x => x.LastTime > lastIndexTime); } OutDoors = OutDoors.OrderByDescending(x => x.LastTime); foreach (var x in OutDoors.ToList()) { OutDoorIndexEntity item = new OutDoorIndexEntity() { City = x.Area.ID, FormatCode = x.FormatCode, ImgUrl = x.MediaImg.FocusImgUrl, MediaCode = x.MeidaCode, OwnerCode = x.OwnerCode, PeriodCode = x.PeriodCode, PMediaCode = x.OutDoorMediaCate.PCategory.ID, Province = x.Area.PCategory.ID, Status = x.Status, MediaID = x.MediaID, ProvinceName = x.Area.PCategory.CateName, CityName = x.Area.CateName, AreaAtt = String.Join(",", x.AreaAtt.Select(y => y.AttName)), Description = x.Description, FormatName = x.FormatCate.CateName, Hit = x.Hit, MediaCateName = x.OutDoorMediaCate.CateName, PMediaCateName = x.OutDoorMediaCate.PCategory.CateName, OwnerCateName = x.OwnerCate.CateName, PeriodName = x.PeriodCate.CateName, Price = Convert.ToInt32(x.Price), Published = x.LastTime, Title = x.Name }; result.Add(item); } return result; }
protected internal virtual List<OutDoorIndexEntity> GetOutDoors(EntitiesContext context, DateTime? lastIndexTime) { if (context == null) { context = new EntitiesContext(); } List<OutDoorIndexEntity> result = new List<OutDoorIndexEntity>(); var query = context.Set<OutDoor>() .Include(x => x.Area) .Include(x => x.Area.PCategory) .Include(x => x.OutDoorMediaCate) .Include(x => x.OutDoorMediaCate.PCategory) .Include(x => x.AreaAtt) .Include(x => x.PeriodCate) .Include(x => x.FormatCate) .Include(x => x.MediaImg) .Include(x => x.Member) .Include(x => x.Member.Member_CreditIndex) .Include(x => x.Member.SelfCompany); if (lastIndexTime.HasValue) { query = query.Where(x => x.LastTime > lastIndexTime.Value); } foreach (var x in query.ToList()) { OutDoorIndexEntity item = new OutDoorIndexEntity(); item.City = x.Area.ID; item.FormatCode = x.FormatCode; item.ImgUrl = x.MediaImg == null ? string.Empty : x.MediaImg.FocusImgUrl; item.MediaCode = x.MeidaCode; item.OwnerCode = x.OwnerCode; item.PeriodCode = x.PeriodCode; item.PMediaCode = x.OutDoorMediaCate.PCategory.ID; item.Province = x.Area.PCategory.ID; item.Status = x.Status; item.AuthStatus = x.AuthStatus; item.MediaID = x.MediaID; item.ProvinceName = x.Area.PCategory.CateName; item.CityName = x.Area.CateName; item.AreaAtt = String.Join(",", x.AreaAtt.Select(y => y.AttName)); item.Description = x.Description; item.FormatName = x.FormatCate.CateName; item.Hit = x.Hit; item.MediaCateName = x.OutDoorMediaCate.CateName; item.PMediaCateName = x.OutDoorMediaCate.PCategory.CateName; item.OwnerCateName = x.OwnerCate.CateName; item.PeriodName = x.PeriodCate.CateName; item.Price = x.Price; item.Published = x.LastTime; item.Title = x.Name; item.Height = x.Height; item.TotalFaces = x.TotalFaces; item.Width = x.Wdith; item.CompanyName = x.Member.SelfCompany.Name; item.Lat = x.Lat; item.Lng = x.Lng; item.MemberCreditIndex = x.Member.Member_CreditIndex == null ? 0 : x.Member.Member_CreditIndex.TotalCreditIndex; item.VideoUrl = x.VideoUrl; item.MemberStatus = x.Member.Status; item.MemberID = x.MemberID; result.Add(item); } return result; }
public LuceneIndexingService(Func<DbContext> contextFuc) { _entitiesContext = (EntitiesContext)contextFuc(); }
public void UpdateIndex(List<int> keys) { EnsureIndexWriter(false); var context = new EntitiesContext(); List<OutDoorIndexEntity> result = new List<OutDoorIndexEntity>(); var query = context.Set<OutDoor>() .Include(x => x.Area) .Include(x => x.Area.PCategory) .Include(x => x.OutDoorMediaCate) .Include(x => x.OutDoorMediaCate.PCategory) .Include(x => x.AreaAtt) .Include(x => x.PeriodCate) .Include(x => x.FormatCate) .Include(x => x.MediaImg) .Include(x => x.Member) .Include(x => x.Member.Member_CreditIndex) .Include(x => x.Member.SelfCompany) .Where(x => keys.Contains(x.MediaID)); foreach (var x in query.ToList()) { OutDoorIndexEntity item = new OutDoorIndexEntity() { City = x.Area.ID, FormatCode = x.FormatCode, ImgUrl = x.MediaImg == null ? string.Empty : x.MediaImg.FocusImgUrl, MediaCode = x.MeidaCode, OwnerCode = x.OwnerCode, PeriodCode = x.PeriodCode, PMediaCode = x.OutDoorMediaCate.PCategory.ID, Province = x.Area.PCategory.ID, Status = x.Status, AuthStatus = x.AuthStatus, MediaID = x.MediaID, ProvinceName = x.Area.PCategory.CateName, CityName = x.Area.CateName, AreaAtt = String.Join(",", x.AreaAtt.Select(y => y.AttName)), Description = x.Description, FormatName = x.FormatCate.CateName, Hit = x.Hit, MediaCateName = x.OutDoorMediaCate.CateName, PMediaCateName = x.OutDoorMediaCate.PCategory.CateName, OwnerCateName = x.OwnerCate.CateName, PeriodName = x.PeriodCate.CateName, VideoUrl = x.VideoUrl, Price = x.Price, Published = x.LastTime, Title = x.Name, Height = x.Height, TotalFaces = x.TotalFaces, Width = x.Wdith, CompanyName = x.Member.SelfCompany.Name, Lat = x.Lat, Lng = x.Lng, MemberCreditIndex = x.Member.Member_CreditIndex == null ? 0 : x.Member.Member_CreditIndex.TotalCreditIndex, MemberStatus = x.Member.Status, MemberID = x.MemberID }; result.Add(item); } AddOutDoors(result, false); }