public List <Schedule> FindByBreakIds(IEnumerable <Guid> breakIds) { var schedules = new List <Schedule>(); var groups = RavenRepositoryHelper.GroupElementsForInClause(breakIds); foreach (var itemGroup in groups) { schedules.AddRange(_session.GetAll <Schedule>(x => x.Breaks.Any(b => b.Id.In(itemGroup.ToList())), indexName: Schedules_ByIdAndBreakIdAndSalesAreaAndDate.DefaultIndexName, isMapReduce: false)); } return(schedules.Distinct(new ScheduleByIdComparer()).ToList()); }
public void Delete(IEnumerable <Guid> ids) { lock (_session) { var spots = new List <Spot>(); var groups = RavenRepositoryHelper.GroupElementsForInClause(ids.Distinct()); foreach (var group in groups) { spots.AddRange(_session.GetAll <Spot>(s => s.Uid.In(group.ToList()))); } foreach (var spot in spots) { _session.Delete(spot); } } }
public IEnumerable <Spot> FindByExternalBreakNumbers(IEnumerable <string> externalBreakNumbers) { var spots = new List <Spot>(); var groups = RavenRepositoryHelper.GroupElementsForInClause(externalBreakNumbers); foreach (var itemGroup in groups) { spots.AddRange( _session.GetAll <Spot>(s => s.ExternalBreakNo.In(itemGroup.ToList() ), Spots_ByManyFields.DefaultIndexName, isMapReduce: false ) ); } return(spots); }