예제 #1
0
        private static void SelectTest()
        {
            IDbProvider provider = new SqlDataProvider();

            provider.ConnectionString = $@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog={Settings.Instance.Database};Data Source={Settings.Instance.ServerName}";
            var repository = new Repository <Customer>(provider);

            string[] fields = { "Id", "Name" };

            var name      = new StringVariable("Name");
            var value     = new StringConstant("o");
            var condition = new ComparativeOperator <string>(ComparativeOperatorType.Like, name, value);
            List <DataProperty[]> result = repository.Select(condition, fields);

            //List<Customer2> allCustomers = repository.LoadAll();
            //List<Customer2> customersById = repository.LoadById(1,2,3);
            //List<Customer2> customersByFilter = repository.LoadByFilter(condition);

            if (result.Count != 0)
            {
                Console.WriteLine(result.Select(record => "{" + record.Select(p => p.Name + ": " + p.Value).Aggregate((p1, p2) => p1 + ", " + p2) + "}")
                                  .Aggregate((r1, r2) => r1 + "\n" + r2));
            }
            else
            {
                Console.WriteLine("No record has been found for this condition!");
            }
        }
        internal void RegisterOperator(FidelyOperator op)
        {
            FidelyOperator instance = op.Clone();
            instance.WarningNotifier = this;
            this.operators.Add(instance);
            Logger.Verbose("Registered an operator '{0}' (symbol = {1}, independency = {2}).", instance.GetType().FullName, instance.Symbol, instance.Independency);

            if (this.defaultComparativeOperator == null && instance is ComparativeOperator)
            {
                this.defaultComparativeOperator = (ComparativeOperator)instance;
                Logger.Verbose("Registered an operator '{0}' as the default comparative operator.", instance.Symbol);
            }
        }
예제 #3
0
        private static void DeleteTest()
        {
            IDbProvider provider = new SqlDataProvider();

            provider.ConnectionString = $@"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog={Settings.Instance.Database};Data Source={Settings.Instance.ServerName}";
            var repository = new Repository <Customer>(provider);

            repository.Delete("832");

            var name      = new StringVariable("FirstName");
            var value     = new StringConstant("Alex");
            var condition = new ComparativeOperator <string>(ComparativeOperatorType.Equal, name, value);

            repository.Delete(condition);
            var customer = new Customer(4, "Lucy", "Bronze", 0);

            repository.Delete(customer);
        }
예제 #4
0
    public bool GetArgument(Animator anim)
    {
        bool eval = false;

        switch (myAnimParam)
        {
        case AnimatorParameter.enemyDetected:
        case AnimatorParameter.meleeRange:
            myCompOp = ComparativeOperator.NA;
            eval     = GetBoolAnim(anim);
            break;

        case AnimatorParameter.speed:
        case AnimatorParameter.vertSpeed:
            eval = GetNumberAnim(anim);
            break;

        default:
            break;
        }
        return(eval);
    }
예제 #5
0
 internal ComparativeOperatorToken(ComparativeOperator op)
     : base(op.Symbol, 1, 0)
 {
     Operator = op;
 }
예제 #6
0
 internal SyntacticAnalyzer(ComparativeOperator defaultOperator)
 {
     this.defaultOperator = defaultOperator;
 }