Esempio n. 1
0
        private void Load_Hot_recipe() //點選切換跳轉
        {
            PageControl.SelectedIndex = 1;

            var q = ((from l in dbcontext.LikeRecipe_Table.AsEnumerable()
                      group l by new
            {
                l.Recipe_Table.RecipeName,
                l.RecipeID,
                l.Recipe_Table.PostTime.Year,
                l.Recipe_Table.DisVisible,
                l.Recipe_Table.DeleteOrNot,
                l.Member_Table.Nickname,
                l.Recipe_Table.Picture,
                l.Recipe_Table.Views,
                season = SeasonSort(l.Recipe_Table.PostTime.Month)
            } into g
                      where g.Key.season == "第二季" && g.Key.Year == DateTime.Now.Year && g.Key.DisVisible == false && g.Key.DeleteOrNot == false
                      select new
            {
                g.Key.RecipeName,
                g.Key.RecipeID,
                g.Key.Nickname,
                g.Key.Picture,
                g.Key.Views,
                LikeCount = g.Count(),
            }).OrderByDescending(r => r.LikeCount).Take(5)).ToList();

            foreach (var item in q)
            {
                RecipeControl recipe = new RecipeControl(item.RecipeID);
                recipe.setAll(item.Picture, item.RecipeName, item.Nickname, item.Views, item.LikeCount);
                flp_HotRecipe.Controls.Add(recipe);
            }
        }
Esempio n. 2
0
        private void LoadRecipe()
        {
            flp_LikeRecipe.Controls.Clear();
            int result;

            if (int.TryParse(lbox_FolderID.Text, out result))
            {
                var q = (from c in dbcontext.Collection_Table.AsEnumerable()
                         let like = (from r2 in dbcontext.LikeRecipe_Table.AsEnumerable() where r2.RecipeID == c.ReicipeID select r2).Count()
                                    where c.CollectionFolderID == result
                                    select new
                {
                    c.ReicipeID,
                    c.Recipe_Table.RecipeName,
                    c.Recipe_Table.Member_Table.Nickname,
                    c.Recipe_Table.Picture,
                    c.Recipe_Table.Views,
                    like = like
                }).ToList();
                foreach (var item in q)
                {
                    RecipeControl recipe = new RecipeControl(item.ReicipeID);
                    recipe.setAll(item.Picture, item.RecipeName, item.Nickname, item.Views, item.like);
                    recipe.ContextMenuStrip = contextMenuStrip1;
                    flp_LikeRecipe.Controls.Add(recipe);
                }

                //foreach (var item in q)
                //{
                //    Panel p = new Panel();
                //    Label l = new Label();
                //    PictureBox pb = new PictureBox();
                //    MemoryStream ms = new MemoryStream(item.Picture);
                //    pb.Image = Image.FromStream(ms);
                //    l.Text = item.RecipeName;
                //    pb.BackColor = Color.AliceBlue;
                //    p.Controls.Add(l);
                //    p.Controls.Add(pb);
                //    p.ContextMenuStrip = contextMenuStrip1;
                //    p.Name = item.ReicipeID.ToString();
                //    flp_LikeRecipe.Controls.Add(p);
                //}
            }
            else
            {
                return;
            }
        }
Esempio n. 3
0
        private void Load_All_recipe()
        {
            var q = (from r in dbcontext.Recipe_Table.AsEnumerable()
                     let like = (from r2 in dbcontext.LikeRecipe_Table.AsEnumerable() where r2.RecipeID == r.RecipeID select r2).Count()
                                select new
            {
                r.RecipeID,
                r.Picture,
                r.RecipeName,
                r.Member_Table.Nickname,
                r.Views,
                like = like
            }).ToList();

            foreach (var item in q)
            {
                RecipeControl recipe = new RecipeControl(item.RecipeID);
                recipe.setAll(item.Picture, item.RecipeName, item.Nickname, item.Views, item.like);
                flp_AllRecipe.Controls.Add(recipe);
            }
        }
Esempio n. 4
0
        private void LoadMyRecipe()
        {
            var q = (from r in dbcontext.Recipe_Table
                     let like = (from r2 in dbcontext.LikeRecipe_Table.AsEnumerable() where r2.RecipeID == r.RecipeID select r2).Count()
                                where r.MemberID == memberData.MemberID
                                select new
            {
                r.RecipeID,
                r.Picture,
                r.RecipeName,
                r.Member_Table.Nickname,
                r.Views,
                like = like,
                r.DisVisible,
                r.DeleteOrNot
            }).ToList();

            foreach (var item in q)
            {
                if (!item.DeleteOrNot && !item.DisVisible)
                {
                    RecipeControl recipe = new RecipeControl(item.RecipeID);
                    recipe.setAll(item.Picture, item.RecipeName, item.Nickname, item.Views, item.like);
                    flp_myRecipe.Controls.Add(recipe);
                }
                else if (item.DeleteOrNot)
                {
                    RecipeControl recipe = new RecipeControl(item.RecipeID, Color.Red);
                    recipe.setAll(item.Picture, "此食譜已刪除", item.Nickname, item.Views, item.like);
                    flp_myRecipe.Controls.Add(recipe);
                }
                else
                {
                    RecipeControl recipe = new RecipeControl(item.RecipeID, Color.Black);
                    recipe.setAll(item.Picture, "此食譜已被檢舉", item.Nickname, item.Views, item.like);
                    flp_myRecipe.Controls.Add(recipe);
                }
            }
        }
Esempio n. 5
0
        private void Category_Search(string CategoryName)
        {
            var q = from r in dbcontext.Recipe_Table
                    let like = (from r2 in dbcontext.LikeRecipe_Table.AsEnumerable() where r2.RecipeID == r.RecipeID select r2).Count()
                               where r.RecipeCategory_Table.RecipeCategory == CategoryName && r.DeleteOrNot == false && r.DisVisible == false
                               select new
            {
                r.Picture,
                r.RecipeName,
                r.Member_Table.Nickname,
                r.Views,
                r.RecipeID,
                like = like
            };

            flp_Search.Controls.Clear();
            foreach (var item in q)
            {
                RecipeControl recipe = new RecipeControl(item.RecipeID);
                recipe.setAll(item.Picture, item.RecipeName, item.Nickname, item.Views, item.like);
                flp_Search.Controls.Add(recipe);
            }
        }
Esempio n. 6
0
        private void btn_Search_Click(object sender, EventArgs e)
        {
            List <Recipe_Table> recipes = new List <Recipe_Table>();

            PageControl.SelectedIndex = 1;
            if (cb_Sort.SelectedIndex == 0)
            {
                string   s  = tb_SearchValue.Text;
                string[] s2 = s.Split(' ');
                for (int i = 0; i < s2.Length; i++)
                {
                    var q = (from r in dbcontext.Recipe_Table.AsEnumerable()
                             where r.RecipeName.Contains(s2[i]) && r.DisVisible == false && r.DisVisible == false
                             select r).ToList();
                    if (q.Count != 0)
                    {
                        recipes.AddRange(q);
                    }
                }
                var q1 = from r in recipes
                         let like = (from r2 in dbcontext.LikeRecipe_Table.AsEnumerable() where r2.RecipeID == r.RecipeID select r2).Count()
                                    select new
                {
                    r.Picture,
                    r.RecipeName,
                    r.Member_Table.Nickname,
                    r.Views,
                    r.RecipeID,
                    like = like
                };
                flp_Search.Controls.Clear();
                foreach (var item in q1)
                {
                    RecipeControl recipe = new RecipeControl(item.RecipeID);
                    recipe.setAll(item.Picture, item.RecipeName, item.Nickname, item.Views, item.like);
                    flp_Search.Controls.Add(recipe);
                }
            }

            if (cb_Sort.SelectedIndex == 1)
            {
                var q2 = (from r in dbcontext.Recipe_Table
                          let like = (from r2 in dbcontext.LikeRecipe_Table.AsEnumerable() where r2.RecipeID == r.RecipeID select r2).Count()
                                     where r.Member_Table.Nickname.Contains(tb_SearchValue.Text) && r.DisVisible == false && r.DisVisible == false
                                     select new
                {
                    r.Picture,
                    r.RecipeName,
                    r.Member_Table.Nickname,
                    r.Views,
                    r.RecipeID,
                    like = like
                }).ToList();
                if (q2.Count != 0)
                {
                    flp_Search.Controls.Clear();
                    foreach (var item in q2)
                    {
                        RecipeControl recipe = new RecipeControl(item.RecipeID);
                        recipe.setAll(item.Picture, item.RecipeName, item.Nickname, item.Views, item.like);
                        flp_Search.Controls.Add(recipe);
                    }
                }
                else
                {
                    MessageBox.Show("查無此作者");
                }
            }
            if (cb_Sort.SelectedIndex == 2)//食材找食譜
            {
                int[] tagids    = sbt.IngdStringToIngdIds(dbcontext, tb_SearchValue.Text, checkBox1.Checked);
                int[] recipeids = sbt.IngdIdsToRecipeIds(dbcontext, tagids, !checkBox2.Checked);
                var   hrecipes  = dbcontext.Recipe_Table.Where(r => recipeids.Contains(r.RecipeID) && r.DisVisible == false && r.DeleteOrNot == false).Select(r => r);
                var   hrecipes2 = (from r in hrecipes
                                   let like = (from r2 in dbcontext.LikeRecipe_Table.AsEnumerable() where r2.RecipeID == r.RecipeID select r2).Count()
                                              select new
                {
                    r.Picture,
                    r.RecipeName,
                    r.Member_Table.Nickname,
                    r.Views,
                    r.RecipeID,
                    like = like
                }).ToList();
                flp_Search.Controls.Clear();
                foreach (var item in hrecipes2)
                {
                    RecipeControl recipe = new RecipeControl(item.RecipeID);
                    recipe.setAll(item.Picture, item.RecipeName, item.Nickname, item.Views, item.like);
                    flp_Search.Controls.Add(recipe);
                }

                string stchar = "TagIds:";
                foreach (int id in tagids)
                {
                    stchar += id.ToString() + ",";
                }
            }
            if (cb_Sort.SelectedIndex == 3)//HashTag找食譜
            {
                int[] tagids    = sbt.TagsStringToTagIds(dbcontext, tb_SearchValue.Text, checkBox1.Checked);
                int[] recipeids = sbt.TagIdsToRecipeIds(dbcontext, tagids, !checkBox2.Checked);
                var   hrecipes  = dbcontext.Recipe_Table.Where(r => recipeids.Contains(r.RecipeID) && r.DisVisible == false && r.DeleteOrNot == false).Select(r => r);
                var   hrecipes2 = (from r in hrecipes
                                   let like = (from r2 in dbcontext.LikeRecipe_Table.AsEnumerable() where r2.RecipeID == r.RecipeID select r2).Count()
                                              select new
                {
                    r.Picture,
                    r.RecipeName,
                    r.Member_Table.Nickname,
                    r.Views,
                    r.RecipeID,
                    like = like
                }).ToList();
                flp_Search.Controls.Clear();
                foreach (var item in hrecipes2)
                {
                    RecipeControl recipe = new RecipeControl(item.RecipeID);
                    recipe.setAll(item.Picture, item.RecipeName, item.Nickname, item.Views, item.like);
                    flp_Search.Controls.Add(recipe);
                }

                string stchar = "TagIds:";
                foreach (int id in tagids)
                {
                    stchar += id.ToString() + ",";
                }
            }
        }