public void SetEntries_single_condition()
        {
            ARLoginContext context = null;

            try
            {
                context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd);
                ARProxy <NRemedy_Test_Regular_Form> proxy = new ARProxy <NRemedy_Test_Regular_Form>(context);
                ARSet <NRemedy_Test_Regular_Form>   set   = new ARSet <NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        where s.CharacterField == TestCharacterFieldValue
                        select s.IntegerField;
                Assert.AreEqual(7, q.Count());

                NRemedy_Test_Regular_Form model = new NRemedy_Test_Regular_Form();
                model.IntegerField = 10;//original is 1

                proxy.SetEntryList("'Character Field' = \"" + TestCharacterFieldValue + "\"", model, new string[] { "IntegerField" });

                foreach (var i in q)
                {
                    Assert.AreEqual(10, i);
                }
            }
            finally
            {
                if (context != null)
                {
                    context.Dispose();
                }
            }
        }
Beispiel #2
0
        public void LinqParse_select_anouymous_object_clause()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        select new
                {
                    s.RealNumberField,
                    s.DateTimeField
                };
                Assert.IsTrue(q.Provider is ARQueryProvider <NRemedy_Test_Regular_Form>);
                TranslateResult tr = q.Translate <NRemedy_Test_Regular_Form>();
                Assert.IsTrue(tr.SelectResult != null);

                DateTime dt = DateTime.Now;
                NRemedy_Test_Regular_Form tmp = new NRemedy_Test_Regular_Form();
                tmp.RealNumberField = 3.14;
                tmp.DateTimeField   = dt;

                var     fun   = tr.SelectResult.SelectExpression.Compile();
                dynamic dymic = fun.DynamicInvoke(tmp);
                Assert.AreEqual(3.14, dymic.RealNumberField);
                Assert.AreEqual(dt, dymic.DateTimeField);

                Assert.IsTrue(tr.SelectResult.SelectedProperties.First(m => m == "RealNumberField") != null);
                Assert.IsTrue(tr.SelectResult.SelectedProperties.First(m => m == "DateTimeField") != null);
            }
        }
Beispiel #3
0
        public void LinqParse_select_another_object_clause()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        select new Temp
                {
                    Str = s.CharacterField,
                    dt  = (DateTime)s.DateTimeField,
                    de  = (Decimal)s.DecimalNumberField
                };
                Assert.IsTrue(q.Provider is ARQueryProvider <NRemedy_Test_Regular_Form>);
                //var tr2 = ((ARQueryProvider<NRemedy_Test_Regular_Form>)q.Provider).ExecuteOnlyTranslate(q.Expression);
                TranslateResult tr = q.Translate <NRemedy_Test_Regular_Form>();
                Assert.IsTrue(tr.SelectResult != null);

                DateTime dt = DateTime.Now;
                NRemedy_Test_Regular_Form tmp = new NRemedy_Test_Regular_Form();
                tmp.CharacterField     = "3.14";
                tmp.DateTimeField      = dt;
                tmp.DecimalNumberField = 3.14m;

                var  fun  = tr.SelectResult.SelectExpression.Compile();
                Temp temp = (Temp)fun.DynamicInvoke(tmp);
                Assert.AreEqual("3.14", temp.Str);
                Assert.AreEqual(dt, temp.dt);
                Assert.AreEqual(3.14m, temp.de);

                Assert.IsTrue(tr.SelectResult.SelectedProperties.First(m => m == "CharacterField") != null);
                Assert.IsTrue(tr.SelectResult.SelectedProperties.First(m => m == "DateTimeField") != null);
                Assert.IsTrue(tr.SelectResult.SelectedProperties.First(m => m == "DecimalNumberField") != null);
            }
        }
Beispiel #4
0
 public void LinqQuery_select_anouymous_object_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         var q = from s in set
                 select new
         {
             s.CharacterField,
             s.IntegerField
         };
         int count = 0;
         foreach (var g in q)
         {
             if (g.IntegerField == 1)
             {
                 Assert.AreEqual(TestCharacterFieldValue, g.CharacterField);
             }
             if (g.IntegerField == 2)
             {
                 Assert.AreEqual(TestCharacterFieldValueChinese, g.CharacterField);
             }
             if (g.IntegerField == 3)
             {
                 Assert.AreEqual(TestCharacterFieldValueChinese + "Set Something", g.CharacterField);
             }
             count++;
         }
         Assert.AreEqual(18, count);
     }
 }
        public void DeleteEntries_string_contains_condition()
        {
            ARLoginContext context = null;

            try
            {
                context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd);
                ARProxy <NRemedy_Test_Regular_Form> proxy = new ARProxy <NRemedy_Test_Regular_Form>(context);
                ARSet <NRemedy_Test_Regular_Form>   set   = new ARSet <NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        where s.CharacterField.Contains(TestCharacterFieldValueChinese + "%") && s.IntegerField == 3
                        select s.RequestID;
                Assert.AreEqual(2, q.Count());

                proxy.DeleteEntryList("'Character Field' LIKE \"" + TestCharacterFieldValueChinese + "%\" AND 'Integer Field' = 3");

                //after delete the count should be 0
                Assert.AreEqual(0, q.Count());
            }
            finally
            {
                if (context != null)
                {
                    context.Dispose();
                }
            }
        }
        public void DeleteEntries_single_condition()
        {
            ARLoginContext context = null;

            try
            {
                context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd);
                ARProxy <NRemedy_Test_Regular_Form> proxy = new ARProxy <NRemedy_Test_Regular_Form>(context);
                ARSet <NRemedy_Test_Regular_Form>   set   = new ARSet <NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        where s.CharacterField == TestCharacterFieldValue
                        select s.RequestID;
                Assert.AreEqual(7, q.Count());

                proxy.DeleteEntryList(m => m.CharacterField == TestCharacterFieldValue);

                //after delete the count should be 0
                Assert.AreEqual(0, q.Count());
            }
            finally {
                if (context != null)
                {
                    context.Dispose();
                }
            }
        }
        public void SetEntries_All()
        {
            ARLoginContext context = null;

            try
            {
                context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd);
                ARProxy <NRemedy_Test_Regular_Form> proxy = new ARProxy <NRemedy_Test_Regular_Form>(context);

                NRemedy_Test_Regular_Form newentry = new NRemedy_Test_Regular_Form();
                newentry.CharacterField     = TestCharacterFieldValue;
                newentry.Radio_Button_Field = null;
                newentry.IntegerField       = 1;
                for (int i = 0; i < 7; i++)
                {
                    proxy.CreateEntry(newentry);
                }

                newentry.CharacterField = TestCharacterFieldValueChinese;
                newentry.IntegerField   = 2;
                for (int i = 0; i < 9; i++)
                {
                    proxy.CreateEntry(newentry);
                }

                ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        select s.IntegerField;

                int count = q.Count();
                Assert.IsTrue(count > 0);

                NRemedy_Test_Regular_Form model = new NRemedy_Test_Regular_Form();
                model.IntegerField = 110;//original is 1

                proxy.SetEntryList(null, model, new string[] { "IntegerField" });

                //after delete the count should be 0
                foreach (var i in q)
                {
                    Assert.AreEqual(110, i);
                }
            }
            finally
            {
                if (context != null)
                {
                    context.Dispose();
                }
            }
        }
Beispiel #8
0
 public void LinqParse_Take_Skip_Combine_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         var q = from s in set.Take(10).Skip(2)
                 select s;
         TranslateResult tr = q.Translate <NRemedy_Test_Regular_Form>();
         Assert.IsTrue(tr.NoQueryableResult.HasTake);
         Assert.IsTrue(tr.NoQueryableResult.HasSkip);
         Assert.AreEqual(10, tr.NoQueryableResult.Take);
         Assert.AreEqual(2, tr.NoQueryableResult.Skip);
     }
 }
Beispiel #9
0
 public void LinqParse_Take_const_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         var q = from s in set.Take(11)
                 select s;
         Assert.IsTrue(q.Provider is ARQueryProvider <NRemedy_Test_Regular_Form>);
         TranslateResult tr = q.Translate <NRemedy_Test_Regular_Form>();
         Assert.IsTrue(tr.NoQueryableResult.HasTake);
         Assert.IsNotNull(tr.NoQueryableResult.Take);
         Assert.AreEqual(11, tr.NoQueryableResult.Take);
     }
 }
Beispiel #10
0
 public void LinqParse_where_gt_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         var q = from s in set
                 where s.IntegerField > 1
                 select s;
         Assert.IsTrue(q.Provider is ARQueryProvider <NRemedy_Test_Regular_Form>);
         TranslateResult tr = q.Translate <NRemedy_Test_Regular_Form>();
         Assert.IsTrue(tr.ConditionResult != null);
         Assert.AreEqual("('20000002' > 1)", tr.ConditionResult.Qulification.ToString());
     }
 }
Beispiel #11
0
 public void LinqParse_OrderByDescending_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         var q = from s in set
                 orderby s.CharacterField descending
                 select s;
         TranslateResult tr = q.Translate <NRemedy_Test_Regular_Form>();
         Assert.IsTrue(tr.OrderByResult != null);
         Assert.AreEqual("CharacterField", tr.OrderByResult.OrderByList.First().Property);
         Assert.AreEqual("OrderByDescending", tr.OrderByResult.OrderByList.First().Method);
     }
 }
Beispiel #12
0
 public void LinqParse_Skip_var_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         string i = "10";
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         var q = from s in set.Skip(Convert.ToInt32(i))
                 select s;
         Assert.IsTrue(q.Provider is ARQueryProvider <NRemedy_Test_Regular_Form>);
         TranslateResult tr = q.Translate <NRemedy_Test_Regular_Form>();
         Assert.IsTrue(tr.NoQueryableResult.HasSkip);
         Assert.IsNotNull(tr.NoQueryableResult.Skip);
         Assert.AreEqual(10, tr.NoQueryableResult.Skip);
     }
 }
Beispiel #13
0
        public void LinqParse_OrderByDescending_clause()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        orderby s.CharacterField descending
                        select s;
                TranslateResult tr = q.Translate<NRemedy_Test_Regular_Form>();
                Assert.IsTrue(tr.OrderByResult != null);
                Assert.AreEqual("CharacterField", tr.OrderByResult.OrderByList.First().Property);
                Assert.AreEqual("OrderByDescending", tr.OrderByResult.OrderByList.First().Method);

            }
        }
Beispiel #14
0
 public void LinqParse_where_mixed_clause_02()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         var q = from s in set
                 where s.CharacterField.Contains("%Hello world%") && (s.IntegerField == 65535 || s.IntegerField > 65535)
                 select s;
         Assert.IsTrue(q.Provider is ARQueryProvider <NRemedy_Test_Regular_Form>);
         TranslateResult tr = q.Translate <NRemedy_Test_Regular_Form>();
         Assert.IsTrue(tr.ConditionResult != null);
         Assert.AreEqual("(('20000001' LIKE \"%Hello world%\") AND (('20000002' = 65535) OR ('20000002' > 65535)))"
                         , tr.ConditionResult.Qulification.ToString());
     }
 }
Beispiel #15
0
 public void LinqQuery_select_oneproperty_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         var q = from s in set
                 select s.CharacterField;
         int count = 0;
         foreach (var g in q)
         {
             Assert.IsTrue(g.Contains("Remedy"));
             count++;
         }
         Assert.AreEqual(18, count);
     }
 }
Beispiel #16
0
 public void LinqQuery_Skip_const_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         var q = from s in set.Skip(7)
                 select s;
         int count = 0;
         foreach (var g in q)
         {
             Assert.IsTrue(g.CharacterField.Contains("你好"));
             count++;
         }
         Assert.AreEqual(11, count);
     }
 }
Beispiel #17
0
 public void LinqQuery_Take_Skip_Combine_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         var q = from s in set.Take(9).Skip(7)
                 select s;
         int count = 0;
         foreach (var g in q)
         {
             Assert.AreEqual(TestCharacterFieldValueChinese, g.CharacterField);
             count++;
         }
         Assert.AreEqual(9, count);
     }
 }
Beispiel #18
0
 public void LinqParse_where_lteq_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         DateTime dt  = DateTime.Now;
         string   str = dt.ToString();
         var      q   = from s in set
                        where s.RealNumberField <= 3.14
                        select s;
         Assert.IsTrue(q.Provider is ARQueryProvider <NRemedy_Test_Regular_Form>);
         TranslateResult tr = q.Translate <NRemedy_Test_Regular_Form>();
         Assert.IsTrue(tr.ConditionResult != null);
         Assert.AreEqual("('20000006' <= 3.14)"
                         , tr.ConditionResult.Qulification.ToString());
     }
 }
Beispiel #19
0
 public void LinqQuery_where_gteq_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         var q = from s in set
                 where s.IntegerField >= 2
                 select s;
         int count = 0;
         foreach (var entry in q)
         {
             Assert.IsTrue(entry.IntegerField >= 2);
             count++;
         }
         Assert.AreEqual(11, count);
     }
 }
Beispiel #20
0
 public void LinqQuery_where_equal_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         var q = from s in set
                 where s.CharacterField == TestCharacterFieldValue
                 select s;
         int count = 0;
         foreach (var entry in q)
         {
             Assert.AreEqual(TestCharacterFieldValue, entry.CharacterField);
             Assert.AreEqual(null, entry.Radio_Button_Field);
             count++;
         }
         Assert.AreEqual(7, count);
     }
 }
Beispiel #21
0
 public void LinqQuery_where_mixed_count_clause_01()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         var q = from s in set
                 where s.CharacterField.Contains("%Remedy%") && s.IntegerField == 3
                 select s;
         int count = q.Count();
         //foreach (var entry in q)
         //{
         //    Assert.IsTrue(entry.CharacterField.Contains("Remedy"));
         //    Assert.AreEqual(3, entry.IntegerField);
         //    count++;
         //}
         Assert.AreEqual(2, count);
     }
 }
        public void DeleteEntries_constant_condition_true()
        {
            ARLoginContext context = null;

            try
            {
                context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd);
                ARProxy <NRemedy_Test_Regular_Form> proxy = new ARProxy <NRemedy_Test_Regular_Form>(context);

                NRemedy_Test_Regular_Form newentry = new NRemedy_Test_Regular_Form();
                newentry.CharacterField     = TestCharacterFieldValue;
                newentry.Radio_Button_Field = null;
                newentry.IntegerField       = 1;
                for (int i = 0; i < 7; i++)
                {
                    proxy.CreateEntry(newentry);
                }

                newentry.CharacterField = TestCharacterFieldValueChinese;
                newentry.IntegerField   = 2;
                for (int i = 0; i < 9; i++)
                {
                    proxy.CreateEntry(newentry);
                }

                ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        select s.RequestID;
                int count = q.Count();
                Assert.IsTrue(count > 0);

                proxy.DeleteEntryList(null);

                //after delete the count should be 0
                Assert.AreEqual(0, q.Count());
            }
            finally
            {
                if (context != null)
                {
                    context.Dispose();
                }
            }
        }
Beispiel #23
0
        public void LinqParse_select_oneproperty_clause()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        select s.CharacterField;
                Assert.IsTrue(q.Provider is ARQueryProvider <NRemedy_Test_Regular_Form>);
                TranslateResult tr = q.Translate <NRemedy_Test_Regular_Form>();
                Assert.IsTrue(tr.SelectResult != null);

                NRemedy_Test_Regular_Form tmp = new NRemedy_Test_Regular_Form();
                tmp.CharacterField = "tmp";

                var fun = tr.SelectResult.SelectExpression.Compile();
                Assert.AreEqual("tmp", (string)fun.DynamicInvoke(tmp));
                Assert.IsTrue(tr.SelectResult.SelectedProperties.First(m => m == "CharacterField") != null);
            }
        }
Beispiel #24
0
 public void LinqParse_Take_muti_exception_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         string i = "10";
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         var q = from s in set.Take(Convert.ToInt32(i)).Take(1)
                 select s;
         Assert.IsTrue(q.Provider is ARQueryProvider <NRemedy_Test_Regular_Form>);
         try
         {
             TranslateResult tr = q.Translate <NRemedy_Test_Regular_Form>();
         }
         catch (Exception ex)
         {
             Assert.AreEqual(typeof(NotSupportedException), ex.GetType());
         }
     }
 }
Beispiel #25
0
 public void LinqQuery_OrderBy_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet <NRemedy_Test_Regular_Form> set = new ARSet <NRemedy_Test_Regular_Form>(context);
         var q = from s in set
                 orderby s.RequestID
                 select s;
         var q2 = from s in set
                  orderby s.RequestID descending
                  select s;
         var q2list = q2.ToList();
         int count  = 17;
         foreach (var g in q)
         {
             Assert.AreEqual(g.RequestID, q2list[count].RequestID);
             count--;
         }
         Assert.AreEqual(-1, count);
     }
 }
Beispiel #26
0
        public void ARProxy_GetEntry_JoinForm()
        {
            List <Guid> guid = new List <Guid>();

            for (int i = 0; i < 10; i++)
            {
                guid.Add(Guid.NewGuid());
            }

            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARProxy <NRemedy_Test_Join_Form> proxy = new ARProxy <NRemedy_Test_Join_Form>(context);
                foreach (var g in guid)
                {
                    proxy.CreateEntry(new NRemedy_Test_Join_Form
                    {
                        GUID              = g.ToString(),
                        ShortDescription  = "shortdescription1",
                        ShortDescription2 = "shortdescription2",
                        CharacterField    = "CharacterField",
                        CharacterField2   = "CharacterField2"
                    });
                }

                ARSet <NRemedy_Test_Join_Form> set = new ARSet <NRemedy_Test_Join_Form>(context);

                foreach (var g in guid)
                {
                    var q = from s in set
                            where s.GUID == g.ToString()
                            select s;

                    foreach (var r in q)
                    {
                        Assert.AreEqual(g.ToString(), r.GUID);
                    }
                }
            }
        }
        public void ARProxy_GetEntryStatictisc_JoinForm()
        {
            List<Guid> guid = new List<Guid>();
            for (int i = 0; i < 10; i++)
            {
                guid.Add(Guid.NewGuid());

            }

            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARProxy<NRemedy_Test_Join_Form> proxy = new ARProxy<NRemedy_Test_Join_Form>(context);
                foreach (var g in guid)
                {
                    proxy.CreateEntry(new NRemedy_Test_Join_Form
                    {
                        GUID = g.ToString(),
                        ShortDescription = "shortdescription1",
                        ShortDescription2 = "shortdescription2",
                        CharacterField = "CharacterField",
                        CharacterField2 = "CharacterField2"
                    });
                }

                ARSet<NRemedy_Test_Join_Form> set = new ARSet<NRemedy_Test_Join_Form>(context);

                foreach (var g in guid)
                {
                    var q = from s in set
                            where s.GUID == g.ToString()
                            select s;

                    Assert.AreEqual(1, q.Count());
                }

            }
        }
Beispiel #28
0
        public void LinqParse_Skip_const_clause()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set.Skip(10)
                        select s;
                Assert.IsTrue(q.Provider is ARQueryProvider<NRemedy_Test_Regular_Form>);
                TranslateResult tr = q.Translate<NRemedy_Test_Regular_Form>();
                Assert.IsTrue(tr.NoQueryableResult.HasSkip);
                Assert.IsNotNull(tr.NoQueryableResult.Skip);
                Assert.AreEqual(10, tr.NoQueryableResult.Skip);

            }
        }
Beispiel #29
0
        public void LinqParse_Take_Skip_Combine_clause()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set.Take(10).Skip(2)
                        select s;
                TranslateResult tr = q.Translate<NRemedy_Test_Regular_Form>();
                Assert.IsTrue(tr.NoQueryableResult.HasTake);
                Assert.IsTrue(tr.NoQueryableResult.HasSkip);
                Assert.AreEqual(10, tr.NoQueryableResult.Take);
                Assert.AreEqual(2, tr.NoQueryableResult.Skip);

            }
        }
        public void DeleteEntries_single_condition()
        {
            ARLoginContext context = null;
            try
            {
                context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd);
                ARProxy<NRemedy_Test_Regular_Form> proxy = new ARProxy<NRemedy_Test_Regular_Form>(context);
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        where s.CharacterField == TestCharacterFieldValue
                        select s.RequestID;
                Assert.AreEqual(7, q.Count());

                proxy.DeleteEntryList(m => m.CharacterField == TestCharacterFieldValue);

                //after delete the count should be 0
                Assert.AreEqual(0, q.Count());
            }
            finally {
                if (context != null)
                    context.Dispose();
            }
        }
Beispiel #31
0
 public void LinqQuery_select_oneproperty_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
         var q = from s in set
                 select s.CharacterField;
         int count = 0;
         foreach (var g in q)
         {
             Assert.IsTrue(g.Contains("Remedy"));
             count++;
         }
         Assert.AreEqual(18, count);
     }
 }
Beispiel #32
0
        public void LinqQuery_Skip_const_clause()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set.Skip(7)
                        select s;
                int count = 0;
                foreach (var g in q)
                {
                    Assert.IsTrue(g.CharacterField.Contains("你好"));
                    count++;
                }
                Assert.AreEqual(11, count);

            }
        }
Beispiel #33
0
        public void LinqParse_select_another_object_clause()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        select new Temp
                        {
                            Str = s.CharacterField,
                            dt = (DateTime)s.DateTimeField,
                            de = (Decimal)s.DecimalNumberField
                        };
                Assert.IsTrue(q.Provider is ARQueryProvider<NRemedy_Test_Regular_Form>);
                //var tr2 = ((ARQueryProvider<NRemedy_Test_Regular_Form>)q.Provider).ExecuteOnlyTranslate(q.Expression);
                TranslateResult tr = q.Translate<NRemedy_Test_Regular_Form>();
                Assert.IsTrue(tr.SelectResult != null);

                DateTime dt = DateTime.Now;
                NRemedy_Test_Regular_Form tmp = new NRemedy_Test_Regular_Form();
                tmp.CharacterField = "3.14";
                tmp.DateTimeField = dt;
                tmp.DecimalNumberField = 3.14m;

                var fun = tr.SelectResult.SelectExpression.Compile();
                Temp temp = (Temp)fun.DynamicInvoke(tmp);
                Assert.AreEqual("3.14", temp.Str);
                Assert.AreEqual(dt, temp.dt);
                Assert.AreEqual(3.14m, temp.de);

                Assert.IsTrue(tr.SelectResult.SelectedProperties.First(m => m == "CharacterField") != null);
                Assert.IsTrue(tr.SelectResult.SelectedProperties.First(m => m == "DateTimeField") != null);
                Assert.IsTrue(tr.SelectResult.SelectedProperties.First(m => m == "DecimalNumberField") != null);
            }
        }
Beispiel #34
0
 public void LinqQuery_where_gteq_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
         var q = from s in set
                 where s.IntegerField >= 2
                 select s;
         int count = 0;
         foreach (var entry in q)
         {
             Assert.IsTrue(entry.IntegerField >= 2);
             count++;
         }
         Assert.AreEqual(11, count);
     }
 }
        public void DeleteEntries_string_contains_condition()
        {
            ARLoginContext context = null;
            try
            {
                context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd);
                ARProxy<NRemedy_Test_Regular_Form> proxy = new ARProxy<NRemedy_Test_Regular_Form>(context);
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        where s.CharacterField.Contains(TestCharacterFieldValueChinese + "%") && s.IntegerField == 3
                        select s.RequestID;
                Assert.AreEqual(2, q.Count());

                proxy.DeleteEntryList("'Character Field' LIKE \"" + TestCharacterFieldValueChinese + "%\" AND 'Integer Field' = 3");

                //after delete the count should be 0
                Assert.AreEqual(0, q.Count());
            }
            finally
            {
                if (context != null)
                    context.Dispose();
            }
        }
Beispiel #36
0
        public void LinqParse_Take_muti_exception_clause()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                string i = "10";
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set.Take(Convert.ToInt32(i)).Take(1)
                        select s;
                Assert.IsTrue(q.Provider is ARQueryProvider<NRemedy_Test_Regular_Form>);
                try
                {
                    TranslateResult tr = q.Translate<NRemedy_Test_Regular_Form>();
                }
                catch (Exception ex)
                {
                    Assert.AreEqual(typeof(NotSupportedException), ex.GetType());
                }

            }
        }
Beispiel #37
0
        public void LinqQuery_OrderBy_clause()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        orderby s.RequestID
                        select s;
                var q2 = from s in set
                         orderby s.RequestID descending
                         select s;
                var q2list = q2.ToList();
                int count = 17;
                foreach (var g in q)
                {
                    Assert.AreEqual(g.RequestID, q2list[count].RequestID);
                    count--;
                }
                Assert.AreEqual(-1, count);

            }
        }
Beispiel #38
0
 public void LinqQuery_select_anouymous_object_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
         var q = from s in set
                 select new
                 {
                     s.CharacterField,
                     s.IntegerField
                 };
         int count = 0;
         foreach (var g in q)
         {
             if (g.IntegerField == 1)
                 Assert.AreEqual(TestCharacterFieldValue, g.CharacterField);
             if (g.IntegerField == 2)
                 Assert.AreEqual(TestCharacterFieldValueChinese, g.CharacterField);
             if (g.IntegerField == 3)
                 Assert.AreEqual(TestCharacterFieldValueChinese + "Set Something", g.CharacterField);
             count++;
         }
         Assert.AreEqual(18, count);
     }
 }
Beispiel #39
0
 public void LinqParse_where_gteq_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
         DateTime dt = DateTime.Now;
         string str = dt.ToString();
         var q = from s in set
                 where s.DateTimeField >= dt
                 select s;
         Assert.IsTrue(q.Provider is ARQueryProvider<NRemedy_Test_Regular_Form>);
         TranslateResult tr = q.Translate<NRemedy_Test_Regular_Form>();
         Assert.IsTrue(tr.ConditionResult != null);
         Assert.AreEqual(string.Format("('20000003' >= \"{0}\")", str)
             , tr.ConditionResult.Qulification.ToString());
     }
 }
        public void SetEntries_single_condition()
        {
            ARLoginContext context = null;
            try
            {
                context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd);
                ARProxy<NRemedy_Test_Regular_Form> proxy = new ARProxy<NRemedy_Test_Regular_Form>(context);
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        where s.CharacterField == TestCharacterFieldValue
                        select s.IntegerField;
                Assert.AreEqual(7, q.Count());

                NRemedy_Test_Regular_Form model = new NRemedy_Test_Regular_Form();
                model.IntegerField = 10;//original is 1

                proxy.SetEntryList("'Character Field' = \"" + TestCharacterFieldValue + "\"", model, new string[] { "IntegerField" });

                foreach (var i in q)
                {
                    Assert.AreEqual(10, i);
                }
            }
            finally
            {
                if (context != null)
                    context.Dispose();
            }
        }
Beispiel #41
0
        public void LinqParse_select_anouymous_object_clause()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        select new
                        {
                            s.RealNumberField,
                            s.DateTimeField
                        };
                Assert.IsTrue(q.Provider is ARQueryProvider<NRemedy_Test_Regular_Form>);
                TranslateResult tr = q.Translate<NRemedy_Test_Regular_Form>();
                Assert.IsTrue(tr.SelectResult != null);

                DateTime dt = DateTime.Now;
                NRemedy_Test_Regular_Form tmp = new NRemedy_Test_Regular_Form();
                tmp.RealNumberField = 3.14;
                tmp.DateTimeField = dt;

                var fun = tr.SelectResult.SelectExpression.Compile();
                dynamic dymic = fun.DynamicInvoke(tmp);
                Assert.AreEqual(3.14, dymic.RealNumberField);
                Assert.AreEqual(dt, dymic.DateTimeField);

                Assert.IsTrue(tr.SelectResult.SelectedProperties.First(m => m == "RealNumberField") != null);
                Assert.IsTrue(tr.SelectResult.SelectedProperties.First(m => m == "DateTimeField") != null);
            }
        }
Beispiel #42
0
        public void LinqParse_select_oneproperty_clause()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        select s.CharacterField;
                Assert.IsTrue(q.Provider is ARQueryProvider<NRemedy_Test_Regular_Form>);
                TranslateResult tr = q.Translate<NRemedy_Test_Regular_Form>();
                Assert.IsTrue(tr.SelectResult != null);

                NRemedy_Test_Regular_Form tmp = new NRemedy_Test_Regular_Form();
                tmp.CharacterField = "tmp";

                var fun = tr.SelectResult.SelectExpression.Compile();
                Assert.AreEqual("tmp", (string)fun.DynamicInvoke(tmp));
                Assert.IsTrue(tr.SelectResult.SelectedProperties.First(m => m == "CharacterField") != null);
            }
        }
Beispiel #43
0
 public void LinqParse_where_mixed_clause_02()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
         var q = from s in set
                 where s.CharacterField.Contains("%Hello world%") && (s.IntegerField == 65535 || s.IntegerField > 65535)
                 select s;
         Assert.IsTrue(q.Provider is ARQueryProvider<NRemedy_Test_Regular_Form>);
         TranslateResult tr = q.Translate<NRemedy_Test_Regular_Form>();
         Assert.IsTrue(tr.ConditionResult != null);
         Assert.AreEqual("(('20000001' LIKE \"%Hello world%\") AND (('20000002' = 65535) OR ('20000002' > 65535)))"
             , tr.ConditionResult.Qulification.ToString());
     }
 }
Beispiel #44
0
        public void LinqQuery_where_equal_clause()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        where s.CharacterField == TestCharacterFieldValue
                        select s;
                int count = 0;
                foreach (var entry in q)
                {
                    Assert.AreEqual(TestCharacterFieldValue, entry.CharacterField);
                    Assert.AreEqual(null, entry.Radio_Button_Field);
                    count++;
                }
                Assert.AreEqual(7, count);

            }
        }
Beispiel #45
0
 public void LinqParse_where_lt_clause()
 {
     using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
     {
         ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
         var q = from s in set
                 where s.DecimalNumberField < 2m
                 select s;
         Assert.IsTrue(q.Provider is ARQueryProvider<NRemedy_Test_Regular_Form>);
         TranslateResult tr = q.Translate<NRemedy_Test_Regular_Form>();
         Assert.IsTrue(tr.ConditionResult != null);
         Assert.AreEqual("('20000007' < 2)", tr.ConditionResult.Qulification.ToString());
     }
 }
Beispiel #46
0
        public void LinqQuery_Take_Skip_Combine_clause()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set.Take(9).Skip(7)
                        select s;
                int count = 0;
                foreach (var g in q)
                {
                    Assert.AreEqual(TestCharacterFieldValueChinese, g.CharacterField);
                    count++;
                }
                Assert.AreEqual(9, count);

            }
        }
        public void DeleteEntries_constant_condition_true()
        {
            ARLoginContext context = null;
            try
            {
                context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd);
                ARProxy<NRemedy_Test_Regular_Form> proxy = new ARProxy<NRemedy_Test_Regular_Form>(context);

                NRemedy_Test_Regular_Form newentry = new NRemedy_Test_Regular_Form();
                newentry.CharacterField = TestCharacterFieldValue;
                newentry.Radio_Button_Field = null;
                newentry.IntegerField = 1;
                for (int i = 0; i < 7; i++)
                {
                    proxy.CreateEntry(newentry);
                }

                newentry.CharacterField = TestCharacterFieldValueChinese;
                newentry.IntegerField = 2;
                for (int i = 0; i < 9; i++)
                {
                    proxy.CreateEntry(newentry);
                }

                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        select s.RequestID;
                int count = q.Count();
                Assert.IsTrue(count > 0);

                proxy.DeleteEntryList(null);

                //after delete the count should be 0
                Assert.AreEqual(0, q.Count());
            }
            finally
            {
                if (context != null)
                    context.Dispose();
            }
        }
Beispiel #48
0
        public void LinqQuery_where_mixed_count_clause_01()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        where s.CharacterField.Contains("%Remedy%") && s.IntegerField == 3
                        select s;
                int count = q.Count();
                //foreach (var entry in q)
                //{
                //    Assert.IsTrue(entry.CharacterField.Contains("Remedy"));
                //    Assert.AreEqual(3, entry.IntegerField);
                //    count++;
                //}
                Assert.AreEqual(2, count);

            }
        }
        public void SetEntries_All()
        {
            ARLoginContext context = null;
            try
            {
                context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd);
                ARProxy<NRemedy_Test_Regular_Form> proxy = new ARProxy<NRemedy_Test_Regular_Form>(context);

                NRemedy_Test_Regular_Form newentry = new NRemedy_Test_Regular_Form();
                newentry.CharacterField = TestCharacterFieldValue;
                newentry.Radio_Button_Field = null;
                newentry.IntegerField = 1;
                for (int i = 0; i < 7; i++)
                {
                    proxy.CreateEntry(newentry);
                }

                newentry.CharacterField = TestCharacterFieldValueChinese;
                newentry.IntegerField = 2;
                for (int i = 0; i < 9; i++)
                {
                    proxy.CreateEntry(newentry);
                }

                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set
                        select s.IntegerField;

                int count = q.Count();
                Assert.IsTrue(count > 0);

                NRemedy_Test_Regular_Form model = new NRemedy_Test_Regular_Form();
                model.IntegerField = 110;//original is 1

                proxy.SetEntryList(null,model,new string[] { "IntegerField" });

                //after delete the count should be 0
                foreach(var i in q)
                {
                    Assert.AreEqual(110, i);
                }
            }
            finally
            {
                if (context != null)
                    context.Dispose();
            }
        }
Beispiel #50
0
        public void LinqParse_Take_var_clause()
        {
            using (ARLoginContext context = new ARLoginContext(TestServer, TestAdmin, TestAdminPwd))
            {
                string i = "10";
                ARSet<NRemedy_Test_Regular_Form> set = new ARSet<NRemedy_Test_Regular_Form>(context);
                var q = from s in set.Take(Convert.ToInt32(i))
                        select s;
                Assert.IsTrue(q.Provider is ARQueryProvider<NRemedy_Test_Regular_Form>);
                TranslateResult tr = q.Translate<NRemedy_Test_Regular_Form>();
                Assert.IsTrue(tr.NoQueryableResult.HasTake);
                Assert.IsNotNull(tr.NoQueryableResult.Take);
                Assert.AreEqual(10, tr.NoQueryableResult.Take);

            }
        }