Exemplo n.º 1
0
        public IEnumerable <DrinkViewModels> Get()
        {
            using (var db = new DrinkAppContext())
            {
                var dri       = new DrinkRecipeViewModels();
                var drinkVM   = new List <DrinkViewModels>();
                var drinklist = db.Drinks.ToList();
                foreach (var item in drinklist)
                {
                    var x = (from dr in db.DrinkRecipes
                             join i in db.Ingredients
                             on dr.IngredientID equals i.IngredientID
                             where dr.DrinkID == item.DrinkID
                             select new DrinkRecipeViewModels
                    {
                        DrinkRecipeID = dr.DrinkRecipeID,
                        Amount = dr.Amount,
                        Order = dr.Order,
                        IngredientID = dr.IngredientID,
                        DrinkID = dr.DrinkID,
                        Name = i.Name
                    }).ToList();

                    var drinkVMs = new DrinkViewModels();
                    drinkVMs.DrinkID    = item.DrinkID;
                    drinkVMs.Name       = item.Name;
                    drinkVMs.DrinkTaste = item.DrinkTaste;
                    drinkVMs.DrinkType  = item.DrinkType;
                    drinkVMs.Complexity = item.Complexity;
                    drinkVMs.DRI        = x;
                    drinkVM.Add(drinkVMs);
                }
                return(drinkVM);
            }
        }
Exemplo n.º 2
0
        public List <DrinkCounter> GetTopDrinks()
        {
            using (var db = new DrinkAppContext())
            {
                var drinklikes = (from id in db.Drinks
                                  join likes in db.Likes on id.DrinkID equals likes.DrinkID
                                  group id by id into g
                                  orderby g.Count() descending

                                  select new { Id = g.Key, Count = g.Count() }).Take(5);

                var drinkCounterList = new List <DrinkCounter>();
                foreach (var item in drinklikes)
                {
                    var dl = new DrinkCounter();
                    dl.DrinkID    = item.Id.DrinkID;
                    dl.Complexity = item.Id.Complexity;
                    dl.Counter    = item.Count;
                    dl.DrinkTaste = item.Id.DrinkTaste;
                    dl.DrinkType  = item.Id.DrinkType;
                    dl.Name       = item.Id.Name;

                    drinkCounterList.Add(dl);
                }

                return(drinkCounterList);
            }
        }
Exemplo n.º 3
0
 public DrinkViewModels PostDrinkId([FromBody] int id)
 {
     using (var db = new DrinkAppContext())
     {
         var dri     = new DrinkRecipeViewModels();
         var drink   = db.Drinks.Select(a => a).Where(b => b.DrinkID == id).FirstOrDefault();
         var drinkVM = new List <DrinkViewModels>();
         var x       = (from dr in db.DrinkRecipes
                        join i in db.Ingredients
                        on dr.IngredientID equals i.IngredientID
                        where dr.DrinkID == id
                        select new DrinkRecipeViewModels
         {
             DrinkRecipeID = dr.DrinkRecipeID,
             Amount = dr.Amount,
             Order = dr.Order,
             IngredientID = dr.IngredientID,
             DrinkID = dr.DrinkID,
             Name = i.Name
         }).ToList();
         var drinkVMs = new DrinkViewModels();
         drinkVMs.DrinkID    = drink.DrinkID;
         drinkVMs.Name       = drink.Name;
         drinkVMs.DrinkTaste = drink.DrinkTaste;
         drinkVMs.DrinkType  = drink.DrinkType;
         drinkVMs.Complexity = drink.Complexity;
         drinkVMs.DRI        = x;
         return(drinkVMs);
     }
 }
Exemplo n.º 4
0
        public IEnumerable <DrinkVMCounter> postDrinkWithCounter(List <Ingredient> il)
        {
            using (var db = new DrinkAppContext())
            {
                var drinkList   = Get();
                var listcounter = new Dictionary <int, int>();
                var newl        = new List <DrinkVMCounter>();
                for (int i = 0; i < il.Count(); i++)
                {
                    var x = (from d in db.Drinks.ToList()
                             join dr in db.DrinkRecipes.ToList()
                             on d.DrinkID equals dr.DrinkID
                             join ing in db.Ingredients.ToList()
                             on dr.IngredientID equals ing.IngredientID
                             where ing.Name == il[i].Name
                             select new DrinkVMCounter
                    {
                        DrinkID = d.DrinkID,
                        Name = d.Name,
                        DrinkTaste = d.DrinkTaste,
                        DrinkType = d.DrinkType,
                        Complexity = d.Complexity,
                    }).ToList();
                    foreach (var item in x)
                    {
                        newl.Add(item);
                    }
                }
                var counts = newl.GroupBy(ax => ax.DrinkID).Select(y => new { key = y.Key, count = y.Count() });

                var newlist = new List <DrinkVMCounter>();
                foreach (var item in counts)
                {
                    var ilist = (from dr in db.DrinkRecipes
                                 join i in db.Ingredients
                                 on dr.IngredientID equals i.IngredientID
                                 where dr.DrinkID == item.key
                                 select i).Count();
                    var x = (from d in db.Drinks.ToList()

                             where d.DrinkID == item.key
                             select d).FirstOrDefault();
                    var l = new DrinkVMCounter();
                    l.Complexity = x.Complexity;

                    l.DrinkID         = x.DrinkID;
                    l.Name            = x.Name;
                    l.DrinkTaste      = x.DrinkTaste;
                    l.DrinkType       = x.DrinkType;
                    l.Complexity      = x.Complexity;
                    l.Counter         = item.count;
                    l.IngredientCount = ilist;
                    l.Procent         = Math.Round(((double)item.count / (double)ilist) * 100, 0);

                    newlist.Add(l);
                }
                return(newlist.OrderByDescending(x => x.Procent).ThenByDescending(x => x.Counter));
            }
        }
Exemplo n.º 5
0
 public IEnumerable <Ingredient> Ingredients()
 {
     using (var db = new DrinkAppContext())
     {
         var l = db.Ingredients.OrderBy(x => x.Name).ToList();
         return(l);
     }
 }
Exemplo n.º 6
0
        public ActionResult Index(string search)
        {
            using (var db = new DrinkAppContext())
            {
                var drink = from d in db.Drinks
                            join dr in db.DrinkRecipes
                            on d.DrinkID equals dr.DrinkID
                            join i in db.Ingredients
                            on dr.IngredientID equals i.IngredientID
                            where (d.Name.Contains(search) || i.Name.Contains(search))
                            select d;

                return(View(drink.ToList()));
            }
        }
Exemplo n.º 7
0
        public List <string> GetTaste()
        {
            using (var db = new DrinkAppContext())
            {
                var l    = new List <string>();
                var list = (from d in db.Drinks
                            orderby d.DrinkTaste
                            select new { d = d.DrinkTaste }).Distinct().ToList();


                foreach (var item in list)
                {
                    l.Add(item.d);
                }
                return(l);
            }
        }
        public TestWithSqlite()
        {
            _connection = new SqliteConnection(InMemoryConnectionString);
            _connection.Open();
            var options = new DbContextOptionsBuilder <DrinkAppContext>()
                          .UseSqlite(_connection)
                          .Options;

            Context = new DrinkAppContext(options);
            Context.Database.EnsureCreated();
            var data = new DrinkLoader().InitializeDrinksFromFile();

            // Add drinks to the database
            Context.AddRange(data);
            Context.SaveChanges();

            Repository = new DrinkRepository(Context);
        }
Exemplo n.º 9
0
        public Drink PostDrinkFilter(List <string> li)
        {
            using (var db = new DrinkAppContext())
            {
                var taste = li[0];
                var type  = li[1];

                var drinkList = (from d in db.Drinks
                                 where (string.IsNullOrEmpty(taste) ? true : d.DrinkTaste == taste) && (string.IsNullOrEmpty(type) ? true : d.DrinkType == type)
                                 select d).ToList();


                var drinkListr = drinkList;
                if (drinkList.Count > 0)
                {
                    Random random      = new Random();
                    int    index       = random.Next(drinkListr.Count);
                    var    randomDrink = drinkListr[index];
                    return(randomDrink);
                }
                var ed = new Drink();
                return(ed);
            }
        }
 public DrinkRepository(DrinkAppContext context)
 {
     _context = context;
 }
 public ReviewRepository(DrinkAppContext context)
 {
     _context = context;
 }
Exemplo n.º 12
0
 public SettingRepository(DrinkAppContext context)
 {
     _context = context;
 }
 public FavouriteRepository(DrinkAppContext context)
 {
     _context = context;
 }