예제 #1
0
        private void SetGarnishRating(Comment comment)
        {
            var sumGarnishRatings = 0;

            double garnishRating;

            Lunch lunch = db.Lunches.Find(comment.LunchId);

            var garnishId = lunch.GarnishId;

            int countGarnishRatings = db.Comments.Where(c => c.Lunch.GarnishId == garnishId).Count();

            if (countGarnishRatings == 0)
            {
                garnishRating = comment.GarnishRating;
            }
            else
            {
                sumGarnishRatings = db.Comments.Include(c => c.Lunch).Where(c => c.Lunch.GarnishId == garnishId).Sum(c => c.GarnishRating);

                garnishRating = (double)(sumGarnishRatings + comment.GarnishRating) / (countGarnishRatings + 1);
            }

            Garnish garnish = db.Garnishes.Find(garnishId);

            garnish.Rating = garnishRating;

            db.Entry(garnish).State = EntityState.Modified;
        }
예제 #2
0
        public ActionResult DeleteConfirmed(long id)
        {
            Garnish garnish = db.Garnishes.Find(id);

            db.Garnishes.Remove(garnish);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #3
0
 public ActionResult Edit(Garnish garnish)
 {
     if (ModelState.IsValid)
     {
         db.Entry(garnish).State = EntityState.Modified;
         db.SaveChanges();
         ImageTrans(garnish.Name);
         return(RedirectToAction("Index"));
     }
     return(View(garnish));
 }
예제 #4
0
        public ActionResult Edit([Bind(Include = "GarnishId,Name,Weight")] Garnish garnish)
        {
            if (ModelState.IsValid)
            {
                repository.Update(garnish);
                repository.Save();

                return(RedirectToAction("Index"));
            }

            return(View(garnish));
        }
예제 #5
0
        public ActionResult Create(Garnish garnish)
        {
            if (ModelState.IsValid)
            {
                db.Garnishes.Add(garnish);
                db.SaveChanges();
                ImageTrans(garnish.Name);
                return(RedirectToAction("Index"));
            }

            return(View(garnish));
        }
예제 #6
0
        private ChoosenDish CreateChoosenDish(Dish d, Garnish g)
        {
            var obj = new ChoosenDish();

            obj.Id               = Guid.NewGuid().ToString();
            obj.DishName         = d.Name;
            obj.DishCategoryName = d.DishCategory.Name;
            obj.Kilocalories     = d.Kilocalories;
            obj.ImagePath        = d.ImagePath;
            obj.Fats             = d.Fats;
            obj.Weight           = d.Weight;
            obj.Carbonhydrates   = d.Carbonhydrates;
            obj.GarinshName      = g.Name;
            db.ChoosenDishes.Add(obj);
            return(obj);
        }
예제 #7
0
        //
        // GET: /Garnish/Details/5

        public ViewResult Details(long id)
        {
            Garnish Garnish = db.Garnishes.Find(id);

            IngItsCock.Id = (int)id;
            //IngSum.Id = (int)id;
            //IngSum.Name = Garnish.Name;
            IngItsCock.Name = Garnish.Name;
            ViewBag.Details = "Cocktails with " + Garnish.Name.Replace("_", " ");
            //IngSum.Cocktails = from a in Garnish.CocktailGarnishs select new SelectListItem {Value = a.CocktailId.ToString(),Text = a.CockTail.Name };
            IngItsCock.ItsCocktails = from b in Garnish.CockTails select new component {
                Id = b.CocktailId, Name = b.Name
            };
            IngItsCock.ItsCocktails = IngItsCock.ItsCocktails.OrderBy(b => b.Name);
            //IngSum.Cocktails = (from a in Garnish.CocktailGarnishs select new SelectListItem { Value = a.CocktailId.ToString(), Text = a.CockTail.Name }).OrderBy(o => o.Text);
            return(View(IngItsCock));
        }
예제 #8
0
        public ActionResult DeleteIngredient(long ckId, string Tp, long ingId)
        {
            // TODO: Add insert logic here
            switch (Tp)
            {
            case "L":
                //var MyLiq = (from l in db.CocktailLiquors where l.CocktailId == ckId & l.Id == ingId select l).Single();
                CocktailLiquor CokLiq = db.CocktailLiquors.Find(ckId, ingId);
                db.CocktailLiquors.Remove(CokLiq);
                break;

            case "N":
                CocktailNoAlcohol CokNoa = db.CocktailNoAlcohols.Find(ckId, ingId);
                db.CocktailNoAlcohols.Remove(CokNoa);
                //var MyNoA = (from n in db.CocktailNoAlcohols where n.CocktailId == ckId & n.Id == ingId select n).Single();
                //db.CocktailNoAlcohols.DeleteObject(MyNoA);
                break;

            case "C":
                //var MyCor = (from c in db.CocktailCordials where c.CocktailId == ckId & c.Id == ingId select c).Single();
                //db.CocktailCordials.DeleteObject(MyCor);
                CocktailCordial CokCor = db.CocktailCordials.Find(ckId, ingId);
                db.CocktailCordials.Remove(CokCor);
                break;

            case "G":
                CockTail CokGar = db.CockTails.Find(ckId);
                Garnish  Gar    = db.Garnishes.Find(ingId);
                CokGar.Garnishes.Remove(Gar);
                //var MyGar = (from c in db.CocktailGarnishes where c.CocktailId == ckId & c.Id == ingId select c).Single();
                //db.CocktailGarnishes.DeleteObject(MyGar);
                break;

            case "P":
                CockTail CokPro = db.CockTails.Find(ckId);
                Process  Pro    = db.Processes.Find(ingId);
                CokPro.Processes.Remove(Pro);
                //var MyGar = (from c in db.CocktailGarnishes where c.CocktailId == ckId & c.Id == ingId select c).Single();
                //db.CocktailGarnishes.DeleteObject(MyGar);
                break;
            }
            db.SaveChanges();
            return(null);
        }
예제 #9
0
        private void SetStatisticGarnish(Garnish g)
        {
            DishStatistic garnStatistic = new DishStatistic();

            if (db.DishStatistics.Where(c => c.DishName == g.Name).FirstOrDefault() == null)
            {
                garnStatistic.Id               = Guid.NewGuid().ToString();
                garnStatistic.DishName         = g.Name;
                garnStatistic.Count            = 1;
                garnStatistic.DishCategoryName = "Гарнир";
                garnStatistic.IsReady          = false;
                db.DishStatistics.Add(garnStatistic);
                db.SaveChanges();
            }
            else
            {
                var st = db.DishStatistics.Where(c => c.DishName == g.Name).FirstOrDefault();
                db.Entry(st).State = EntityState.Modified;
                st.Count++;
                db.SaveChanges();
            }
        }
예제 #10
0
        public async Task <ActionResult> Create([Bind(Include = "Id,Name,DateOfCreation,Dishes,Packs")] Menu menu, ICollection <string> ints, ICollection <string> intsGar, string packsIn)
        {
            if (ModelState.IsValid)
            {
                var packs = new List <Pack>();
                if (packsIn != null)
                {
                    var idPacks = packsIn.Split(',');
                    packs = db.Packs.Where(c => idPacks.Contains(c.Id)).ToList();
                }

                var keyValuePairs = ints.Zip(intsGar, (s, i) => new { s, i })
                                    .ToDictionary(item => item.s, item => item.i);


                List <Dish> dishes = db.Dishes.Include(c => c.Garnishes).Where(c => keyValuePairs.Keys.Contains(c.Id)).ToList();

                for (var i = 0; i < dishes.Count; i++)
                {
                    var d          = dishes[i];
                    var garn       = keyValuePairs[d.Id]; // цепочка гарниров для блюда
                    var tValues    = garn.Split(',');     // делаем массив
                    var changeList = db.Dishes.Where(c => tValues.Contains(c.Id)).ToList();
                    var clist      = new List <Garnish>();
                    for (var a = 0; a < changeList.Count; a++)
                    {
                        var ret = changeList[a].Id;
                        if (db.Garnishes.Where(c => c.Id == ret).FirstOrDefault() != null)
                        {
                            clist.Add(db.Garnishes.Where(c => ret == c.Id).FirstOrDefault());
                        }
                        else
                        {
                            var obj = new Garnish();
                            obj.Id   = changeList[a].Id;
                            obj.Name = changeList[a].Name;
                            obj.Dishes.Add(d);
                            db.Garnishes.Add(obj);
                            db.SaveChanges();
                            clist.Add(obj);
                        }
                    }

                    d.Garnishes = clist;
                }

                var dishesFix = dishes;


                foreach (var c in db.Packs.Where(m => m.MenuId != null))
                {
                    db.Entry(c).State = EntityState.Modified;
                    c.MenuId          = null;
                }

                db.SaveChanges();

                if (db.Menus.Count() != 0)
                {
                    db.Menus.Remove(db.Menus.FirstOrDefault());
                    db.SaveChanges();
                }

                Menu menuObject = new Menu
                {
                    Id             = Guid.NewGuid().ToString(),
                    Name           = menu.Name,
                    DateOfCreation = DateTime.Now,
                    Dishes         = dishesFix,
                    Packs          = packs
                };
                //await db.SaveChangesAsync();
                db.Menus.Add(menuObject);
                await db.SaveChangesAsync();

                return(RedirectToAction("MyDetails", "Users"));
            }

            return(View(menu));
        }
예제 #11
0
        public ActionResult Edit(long id)
        {
            Garnish garnish = db.Garnishes.Find(id);

            return(View(garnish));
        }
예제 #12
0
 public void DeleteGarnish(Garnish garnish)
 {
     unitOfWork.GarnishRepository.Delete(garnish);
 }
예제 #13
0
 public void UpdateGarnish(Garnish garnish)
 {
     unitOfWork.GarnishRepository.Update(garnish);
 }
예제 #14
0
 public void RegisterGarnish(Garnish garnish)
 {
     unitOfWork.GarnishRepository.Insert(garnish);
 }