public DatabaseViewModel(string path) { try { databaseModel = DatabaseFactory.GetFactory(path); if (databaseModel == null) { Message = "Invalid database file."; return; } Message = "Database has been loaded."; agdsModel = new AGDSModel(databaseModel); } catch (Exception ex) { Message = ex.Message; } }
public static BoolExpr Make(ref List <Token> .Enumerator polishNotationTokensEnumerator, AGDSModel agdsModel) { if (polishNotationTokensEnumerator.Current.type == Token.TokenType.LITERAL) { BoolExpr lit = BoolExpr.CreateBoolVar(agdsModel.GetItemsByExpr(polishNotationTokensEnumerator.Current.value)); polishNotationTokensEnumerator.MoveNext(); return(lit); } else { if (polishNotationTokensEnumerator.Current.value == "AND") { polishNotationTokensEnumerator.MoveNext(); BoolExpr left = Make(ref polishNotationTokensEnumerator, agdsModel); BoolExpr right = Make(ref polishNotationTokensEnumerator, agdsModel); return(BoolExpr.CreateAnd(left, right)); } else if (polishNotationTokensEnumerator.Current.value == "OR") { polishNotationTokensEnumerator.MoveNext(); BoolExpr left = Make(ref polishNotationTokensEnumerator, agdsModel); BoolExpr right = Make(ref polishNotationTokensEnumerator, agdsModel); return(BoolExpr.CreateOr(left, right)); } } return(null); }