Exemple #1
0
        static void Main()
        {
            //IQueryBuilder queryBuilder = new QueryBuilder();
            //queryBuilder.Select<Phone>(p => p.Model, p => p.Name)
            //    .Where(p => p.Year <= 2016 && p.Name == "LG V20")
            //    .OrderBy(p => p.Model);
            //Console.WriteLine(queryBuilder);
            //queryBuilder.Clear();
            //queryBuilder.DeleteFrom<Phone>().Where(p => p.Name == "LG V20").Limit(20);
            //Console.WriteLine(queryBuilder);
            //queryBuilder.Clear();
            //queryBuilder.Update<Phone>().Set(new { Year = 2019 }).Where(p => p.Name == "LG V20");
            //Console.WriteLine(queryBuilder);
            //System.Data.Common.DbConnection dbConnection = new System.Data.SqlClient.SqlConnection();
            //System.Data.Common.DbParameterCollection dbParameterCollection = dbConnection.CreateCommand()
            //    .CreateParameters(new { Year = 2019 });
            //queryBuilder.Clear();
            //queryBuilder.Select<Phone>()
            //    .InnerJoin<PhoneManufacturer>("m").On((p, m) => p.ManufacturerId == m.Id)
            //    //.InnerJoin<Phone>().On((p1, m1, p2) => p1.ManufacturerId == m1.Id)
            //    //.InnerJoin<PhoneManufacturer>().On((p1, m1, p2, m2) => p2.ManufacturerId == m1.Id)
            //    .Where((p, m) => p.ManufacturerId == m.Id);
            //Console.WriteLine(queryBuilder);

            //var obj = new[]
            //{
            //    new {
            //        name = "LG V20",
            //        model = "F800L",
            //        year = 2017,
            //        manufacturer_id = 1,
            //        id = 1
            //    }
            //};
            //try
            //{
            //    var o = ObjectMapper.ToCompositeObjectCollection<Phone, PhoneManufacturer>(obj);
            //    Console.WriteLine(o);
            //} catch
            //{
            //    Console.WriteLine("Cannot Cast!");
            //}

            //Console.WriteLine($"Today is {DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")}");

            //queryBuilder.Clear();
            //queryBuilder.InsertInto<Phone>().Values(new Phone[]
            //{
            //    new Phone
            //    {
            //        Name = "VSmart Live",
            //        Model = "VSL'212",
            //        Year = 2019
            //    },
            //    new Phone
            //    {
            //        Name = "LG V50",
            //        Model = "F960L",
            //        Year = 2019
            //    }
            //});
            //Console.WriteLine(queryBuilder);
            string       connectionStr = "Server=localhost;Port=3306;Database=final_project_test_database;User Id=aspnet;Password=aspnet123;";
            DbConnection connection    = new MySqlConnection(connectionStr);

            connection.Open();
            var builder = connection.CreateQueryBuilder();
            var result  = builder.Select <Course>()
                          .InnerJoin <CourseClass>("cc").On((c, cc) => c.CourseId == cc.CourseId)
                          .Where((c, cc) => c.Required == true)
                          .ExecuteQuery();

            Console.WriteLine(result);

            builder.Clear();

            //var affectedRows = builder.InsertInto<Semester>()
            //                        .Values(new Semester[]
            //                        {
            //                            new Semester
            //                            {
            //                                SemesterId = 0,
            //                                SemesterName = "Học kì 3 - 2019-2020",
            //                                StartDate = DateTime.Today,
            //                                EndDate = DateTime.Today + TimeSpan.FromDays(365)
            //                            }
            //                        })
            //                        .ExecuteNonQuery();
            //var affectedRows = builder.DeleteFrom<Semester>().Where(s => s.SemesterId == 6).ExecuteNonQuery();

            //var affectedRows = builder.Update<Semester>()
            //    .Set(new
            //    {
            //        SemesterName = "Học kì 3 - Unknown"
            //    })
            //    .Where(s => s.SemesterId == 6)
            //    .ExecuteNonQuery();

            //Console.WriteLine($"Query finished, {affectedRows} row(s) affected.");
        }