static void Main(string[] args) { var a = 8; var appContext = Trident.Initialize(new TridentOptions() { TargetAssemblies = new Assembly[] { typeof(OrganisationManager).Assembly, typeof(TestRepository).Assembly, typeof(Program).Assembly }, ValidateInitialization = true, EnableTransactions = true, ModuleTypes = new Type[] { typeof(AppModule), typeof(BizModule) }, AutoDetectConfigFiles = true, }, (builder) => { //add additional configs here, must be using json config style builder.AddEnvironmentVariables(); }); var x = AxiomFilterBuilder.CreateFilter() .StartGroup() .AddAxiom(new Axiom() { Key = "x", Field = "Name", Operator = CompareOperators.eq, Value = "safasd" }) .Or() .StartGroup() .AddAxiom(new Axiom() { Field = "Name", Operator = CompareOperators.eq, Value = "safasd" }).And().AddAxiom(new Axiom() { Field = "Name", Key = "Name2", Operator = CompareOperators.eq, Value = "safasd" }) .EndGroup() .EndGroup() .Build(); var testRepo = appContext.ServiceLocator.Get <ISearchRepository <Organisation> >(); var criteria = new SearchCriteria(); // var converter = new GenericEnumValueConverter<OrganisationTypes>(nameof(Organisation.Status)) as Microsoft.EntityFrameworkCore.Storage.ValueConversion.ValueConverter; //criteria.Filters[nameof(Organisation.Id)] = Guid.Parse("bf682b2a-3e50-4165-b432-c64ed57851ec"); criteria.Filters[nameof(Organisation.Name)] = new Compare() { Value = "bla", Operator = CompareOperators.contains }; criteria.Filters[nameof(Organisation)] = x; criteria.Filters[nameof(Organisation.Age)] = 10; var result = testRepo.SearchSync(criteria, new string[] { nameof(Organisation.Status), nameof(Organisation.Departments) }); var org = result.Results.First(); org.Departments.Add(new Department() { Id = Guid.NewGuid(), Name = "dept1" }); testRepo.UpdateSync(org); result = testRepo.SearchSync(criteria, new string[] { nameof(Organisation.Status), nameof(Organisation.Departments) }); org = result.Results.First(); //criteria.Filters[nameof(Organisation.Id)] = temp.Id; //result = testRepo.Search(criteria, new string[] { nameof(Organisation.Status) }).Result; var myEntity = result; }
public static AxiomTokenizer AddAxiom(this AxiomFilterBuilder left, Axiom axiom) { return(new AxiomTokenizer(null, axiom)); }
public static GroupStart StartGroup(this AxiomFilterBuilder left) { return(new GroupStart()); }
public static Not Not(this AxiomFilterBuilder parent) { return(new Not(null)); }