示例#1
0
        public void Post([FromBody] Comment value)
        {
            var yc = new YummyContext();
            int k  = yc.Comments.Max(coms => coms.id);

            value.id = k + 1;
            yc.Comments.Add(value);
            yc.SaveChanges();
        }
        public IActionResult CurrentYum(int id)
        {
            var Yc  = new YummyContext();
            var yum = (from u in Yc.Yummies
                       where u.ID == id
                       select u).First();

            return(View(yum));
        }
        public IActionResult Comments(int id)
        {
            List <Comment> allComs;

            using (var Yc = new YummyContext())
            {
                allComs = (from x in Yc.Comments
                           where (x.id <= id * 5) && (x.id > (id - 1) * 5)
                           select x).ToList();
            }
            return(View(allComs));
        }
示例#4
0
        public void Can_trace_commands()
        {
            using (var context = new YummyContext())
            {
                context.Products.Add(
                    new YummyProduct
                        {
                            Name = "Pineapple Lumps"
                        });

                using (var commandTracer = new CommandTracer())
                {
                    context.SaveChanges();

                    var interceptedCommand = commandTracer.Commands.Single();

                    Assert.Equal(
                        "insert [dbo].[YummyProducts]([Id], [Name])\r\nvalues (@0, @1)\r\n",
                        interceptedCommand.CommandText);
                    Assert.Equal(2, interceptedCommand.Parameters.Count());
                }
            }
        }
示例#5
0
        public void Can_trace_commands()
        {
            using (var context = new YummyContext())
            {
                context.Products.Add(
                    new YummyProduct
                {
                    Name = "Pineapple Lumps"
                });

                using (var commandTracer = new CommandTracer())
                {
                    context.SaveChanges();

                    var interceptedCommand = commandTracer.Commands.Single();

                    Assert.Equal(
                        "insert [dbo].[YummyProducts]([Id], [Name])\r\nvalues (@0, @1)\r\n",
                        interceptedCommand.CommandText);
                    Assert.Equal(2, interceptedCommand.Parameters.Count());
                }
            }
        }
示例#6
0
 public ProductController(YummyContext context, IWebHostEnvironment hostEnvironment)
 {
     _context         = context;
     _hostEnvironment = hostEnvironment;
 }
        public async Task RunLikeABitch()
        {
            int currentPage = 0;

            using var context = new YummyContext();
            while (true)
            {
                var httpRequestHelper = HttpRequestHelper.GetIntance();
                var baseUrl           = "https://www.foody.vn";
                var endpoint          = "__get/Place/HomeListPlace";
                var headers           = new Dictionary <string, string>()
                {
                    { "host", "www.foody.vn" },
                    { "User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36" },
                    { "X-Requested-With", "XMLHttpRequest" }
                };

                // cateId: 12 Sang trong
                // cateId: 39 Buffet
                // cateId: 1 Nha hang
                // cateId: 11 An vat via he
                // cateId: 56 An chay
                // cateId: 3 Quan an
                // cateId: 54 Quan nhau

                int cateId     = 1;
                var parameters = new Dictionary <string, string>()
                {
                    { "page", currentPage.ToString() },
                    { "lat", "21.033333" },
                    { "lon", "105.85" },
                    { "count", "300" },
                    { "type", "1" },
                    { "cateId", cateId.ToString() }
                };
                var result = await httpRequestHelper.GetAsync <PlaceRoot>(baseUrl, endpoint, headers, parameters);

                if (result.Items.Count == 0)
                {
                    break;
                }
                var count = 0;

                using (var transaction = context.Database.BeginTransaction())
                {
                    foreach (var i in result.Items)
                    {
                        if (!context.RestaurantItems.Any(o => o.Id == i.Id))
                        {
                            count++;
                            i.CateId = cateId;
                            await context.RestaurantItems.AddAsync(i);
                        }
                    }

                    await context.Database.ExecuteSqlInterpolatedAsync($"SET IDENTITY_INSERT RestaurantItems ON;");

                    await context.SaveChangesAsync();

                    await context.Database.ExecuteSqlInterpolatedAsync($"SET IDENTITY_INSERT RestaurantItems OFF");

                    transaction.Commit();
                }
                Console.WriteLine("Page " + currentPage++ + " crawled. Size: " + count);
            }
        }
示例#8
0
 public RecipesController(YummyContext context)
 {
     _context = context;
 }