public virtual IProjectableQuery <TItem> Execute <TItem>(SituationModel situationModel) where TItem : Item { var items = from item in DbSets.Set <TItem>() where item.AppliesToContexts.Any(c => situationModel.Contexts.Contains(c.Id)) && item.AppliesToLosses.Any(c => situationModel.Losses.Contains(c.Id)) && item.AppliesToRelationships.Any(c => situationModel.Relationships.Contains(c.Id)) select item; return(items.AsProjectable(Mapper)); }
public void can_type_convert_from_string() { var expected = new SituationModel() { Contexts = { 1, 2, 3 }, Losses = { 4, 5, 6 }, Relationships = { 7, 8, 9 } }; var serialized = expected.ToString(); var converter = TypeDescriptor.GetConverter(typeof(SituationModel)); var actual = converter.ConvertFrom(serialized); actual.ShouldBeEquivalentTo(expected); }
public void can_round_trip() { var expected = new SituationModel() { Contexts = { 1, 2, 3 }, Losses = { 4, 5, 6 }, Relationships = { 7, 8, 9 } }; var serialized = expected.ToString(); Console.WriteLine(serialized); var actual = new SituationModel(serialized); actual.ShouldBeEquivalentTo(expected); }
public List <BrowsingItemModel> ToDoBySituation(SituationModel situation) => _queryFactory.Create <ItemBySituationQuery>() .Execute <ToDo>(situation) .ProjectTo <BrowsingItemModel>() .ToList();