コード例 #1
0
        private async void searchDrinks_SearchButtonPressed(object sender, EventArgs e)
        {
            lblLoading.IsVisible = true;
            btnGoToList.Margin   = new Thickness(30, 30, 30, 0);
            string searchInput = searchDrinks.Text;

            if (searchInput != "")
            {
                List <Drink> drinks = await CocktailManager.getCocktailBySearch(searchInput);

                string filterdString = null;
                if (drinks == null)
                {
                    filterdString = "Nothing found for: " + searchInput;
                }
                else
                {
                    filterdString = "Search Results: " + searchInput;
                }
                lblLoading.IsVisible = false;
                btnGoToList.Margin   = new Thickness(30, 30, 30, 30);
                string searchPar = "Search";
                await Navigation.PushAsync(new FilterdListPage(drinks, filterdString, searchPar));
            }
        }
コード例 #2
0
        private async void lvwCocktails_Itemseleceted(object sender, SelectedItemChangedEventArgs e)
        {
            Drink            selectedCocktail = lvwCocktails.SelectedItem as Drink;
            RootObjectDrinks Cocktail         = await CocktailManager.GetCocktailsById(selectedCocktail.idDrink);

            Navigation.PushAsync(new DetailPage(Cocktail));
        }
コード例 #3
0
        private async void showCocktail(RootObjectDrinks item)
        {
            RootObjectDrinks Cocktail = await CocktailManager.GetCocktailsById(item.drinks[0].idDrink);

            imgCocktail.Source  = Cocktail.drinks[0].strDrinkThumb;
            lblId.Text          = Cocktail.drinks[0].idDrink;
            lblName.Text        = Cocktail.drinks[0].strDrink;
            lblCategory.Text    = Cocktail.drinks[0].strCategory;
            lblDescription.Text = Cocktail.drinks[0].strInstructions;

            string Ingredients1 = Cocktail.drinks[0].strMeasure1 + Cocktail.drinks[0].strIngredient1
                                  + "\n " + Cocktail.drinks[0].strMeasure2 + Cocktail.drinks[0].strIngredient2
                                  + "\n " + Cocktail.drinks[0].strMeasure3 + Cocktail.drinks[0].strIngredient3
                                  + "\n " + Cocktail.drinks[0].strMeasure4 + Cocktail.drinks[0].strIngredient4
                                  + "\n " + Cocktail.drinks[0].strMeasure5 + Cocktail.drinks[0].strIngredient5
                                  + "\n " + Cocktail.drinks[0].strMeasure6 + Cocktail.drinks[0].strIngredient6
                                  + "\n " + Cocktail.drinks[0].strMeasure7 + Cocktail.drinks[0].strIngredient7;

            string Ingredients2 = "\n " + Cocktail.drinks[0].strMeasure8 + Cocktail.drinks[0].strIngredient8
                                  + "\n " + Cocktail.drinks[0].strMeasure9 + Cocktail.drinks[0].strIngredient9
                                  + "\n " + Cocktail.drinks[0].strMeasure10 + Cocktail.drinks[0].strIngredient10
                                  + "\n " + Cocktail.drinks[0].strMeasure11 + Cocktail.drinks[0].strIngredient11
                                  + "\n " + Cocktail.drinks[0].strMeasure12 + Cocktail.drinks[0].strIngredient12
                                  + "\n " + Cocktail.drinks[0].strMeasure13 + Cocktail.drinks[0].strIngredient13
                                  + "\n " + Cocktail.drinks[0].strMeasure14 + Cocktail.drinks[0].strIngredient14
                                  + "\n " + Cocktail.drinks[0].strMeasure15 + Cocktail.drinks[0].strIngredient15;



            lblIngredients1.Text = Ingredients1;
            lblIngredients2.Text = Ingredients2;
        }
コード例 #4
0
        public async Task CreateCocktail()
        {
            var options        = TestUtilities.GetOptions(nameof(CreateCocktail));
            var mockIngredient = new Mock <IIngredientManager>();
            var mockFactory    = new Mock <ICocktailFactory>();
            var igredients     = new List <string> {
                "first"
            };
            var ingredient = new Ingredient()
            {
                Name = "first",
            };

            var cocktailDTO = new CocktailDTO()
            {
                Name        = "cocktailName",
                Information = "cocktail infromation",
                Picture     = "picture",
            };


            using (var arrangeContext = new CMContext(options))
            {
                await arrangeContext.Ingredients.AddAsync(ingredient);

                await arrangeContext.SaveChangesAsync();

                var sut = new CocktailManager(mockIngredient.Object, arrangeContext, mockFactory.Object);
                await sut.CreateCocktail(cocktailDTO, igredients);
            }
            using (var assertContext = new CMContext(options))
            {
                Assert.AreEqual(1, assertContext.Cocktails.Count());
            }
        }
コード例 #5
0
        public async Task GetAllCocktails()
        {
            var options        = TestUtilities.GetOptions(nameof(GetAllCocktails));
            var mockIngredient = new Mock <IIngredientManager>();
            var mockFactory    = new Mock <ICocktailFactory>();


            var cocktail = new Cocktail()
            {
                Id          = "1",
                Information = "informtion",
                IsDeleted   = false,
                Name        = "Name",
                Picture     = "Picture",
                Rating      = 4
            };

            using (var actContext = new CMContext(options))
            {
                await actContext.Cocktails.AddAsync(cocktail);

                await actContext.SaveChangesAsync();
            }

            using (var assertContext = new CMContext(options))
            {
                var sut    = new CocktailManager(mockIngredient.Object, assertContext, mockFactory.Object);
                var result = await sut.GetAllCocktailsAsync();

                Assert.AreEqual(1, result.Count);
            }
        }
コード例 #6
0
        private async void showListCocktails()
        {
            lblLoading.IsVisible = true;
            List <Drink> AllCocktails = await CocktailManager.GetCocktailsAlcoholic();

            lvwCocktails.ItemsSource = AllCocktails;
            lblLoading.IsVisible     = false;
        }
コード例 #7
0
        public async void getGlasses()
        {
            List <Drink> drinkList = await CocktailManager.GetGlass();

            for (var i = 0; i < drinkList.Count; i++)
            {
                glasses.Add(drinkList[i].strGlass);
            }
            pickGlass.ItemsSource = glasses;
        }
コード例 #8
0
        public async void getCategories()
        {
            List <Drink> drinkList = await CocktailManager.GetCategory();

            for (var i = 0; i < drinkList.Count; i++)
            {
                categories.Add(drinkList[i].strCategory);
            }
            pickCategory.ItemsSource = categories;
        }
コード例 #9
0
        public async Task GetAllReviewsByCocktailIDId()
        {
            var options        = TestUtilities.GetOptions(nameof(GetAllReviewsByCocktailIDId));
            var mockIngredient = new Mock <IIngredientManager>();
            var mockFactory    = new Mock <ICocktailFactory>();



            var cocktail = new Cocktail()
            {
                Id          = "1",
                Information = "Information",
                Name        = "JustAName",
                IsDeleted   = false,
                Picture     = "SomePicture",
                Rating      = 5
            };
            var user = new User()
            {
                Id       = "1",
                UserName = "******"
            };

            var review = new CocktailReview()
            {
                CocktailId = "1",
                Cocktail   = cocktail,
                Comment    = "someComment",
                CreatedOn  = DateTime.Now,
                Grade      = 5,
                User       = user,
                UserId     = "1"
            };

            using (var actContext = new CMContext(options))
            {
                await actContext.Cocktails.AddAsync(cocktail);

                await actContext.Users.AddAsync(user);

                await actContext.SaveChangesAsync();
            }

            using (var assertContext = new CMContext(options))
            {
                var sut    = new CocktailManager(mockIngredient.Object, assertContext, mockFactory.Object);
                var result = await sut.GetAllReviewsByCocktailID(cocktail.Id);

                Assert.AreEqual(1, result.Count);
            }
        }
コード例 #10
0
        private async void pickCategory_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                lblLoading.IsVisible = true;
                string       selectedCategory = pickCategory.SelectedItem as string;
                List <Drink> drinks           = await CocktailManager.getCocktailByCategory(selectedCategory);

                string filterdString = "Category: " + selectedCategory;
                lblLoading.IsVisible = false;
                showCocktails(drinks);
                Title = filterdString;
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                Debug.WriteLine(ex);
            }
        }
コード例 #11
0
        public async Task ThrowCorrentMessageExcpetion()
        {
            var options        = TestUtilities.GetOptions(nameof(ThrowExceptionIfCocktailNameExist));
            var mockIngredient = new Mock <IIngredientManager>();
            var mockFactory    = new Mock <ICocktailFactory>();
            var igredients     = new List <string> {
                "first"
            };
            var ingredient = new Ingredient()
            {
                Name = "first",
            };

            var cocktailDTO = new CocktailDTO()
            {
                Name        = "cocktailName",
                Information = "cocktail infromation",
                Picture     = "picture"
            };

            var cocktail = new Cocktail()
            {
                Name        = "cocktailName",
                Information = "cocktail infromation",
                Picture     = "picture"
            };

            using (var arrangeContext = new CMContext(options))
            {
                await arrangeContext.Ingredients.AddAsync(ingredient);

                await arrangeContext.Cocktails.AddAsync(cocktail);

                await arrangeContext.SaveChangesAsync();
            }
            using (var assertContext = new CMContext(options))
            {
                var sut = new CocktailManager(mockIngredient.Object, assertContext, mockFactory.Object);
                await Assert.ThrowsExceptionAsync <InvalidOperationException>(() => sut.CreateCocktail(cocktailDTO, igredients), "Cocktail already exists in the");
            }
        }
コード例 #12
0
        private async void pickGlass_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                lblLoading.IsVisible = true;
                btnGoToList.Margin   = new Thickness(30, 30, 30, 0);
                string       selectedGlass = pickGlass.SelectedItem as string;
                List <Drink> drinks        = await CocktailManager.getCocktailByGlass(selectedGlass);

                string filterdString = "Glass: " + selectedGlass;
                string glassPar      = "Glass";
                await Navigation.PushAsync(new FilterdListPage(drinks, filterdString, glassPar));

                btnGoToList.Margin   = new Thickness(30, 30, 30, 30);
                lblLoading.IsVisible = false;
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                Debug.WriteLine(ex);
            }
        }
コード例 #13
0
        public async Task CreateCocktailReview()
        {
            var options = TestUtilities.GetOptions(nameof(CreateCocktailReview));

            var mockIngredient = new Mock <IIngredientManager>();
            var mockFactory    = new Mock <ICocktailFactory>();

            var mockCocktailReviewDTO = new CocktailReviewDTO()
            {
                CocktailId  = "1",
                Comment     = "comment",
                CreatedOn   = DateTime.Now,
                Grade       = 4,
                UserId      = "1",
                UserName    = "******",
                UserPicture = "UserPicture"
            };

            var cocktail = new Cocktail()
            {
                Id = "1", Information = "infomation", Rating = 1
            };

            using (var arrangeContext = new CMContext(options))
            {
                await arrangeContext.Cocktails.AddAsync(cocktail);

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new CMContext(options))
            {
                var sut = new CocktailManager(mockIngredient.Object, assertContext, mockFactory.Object);
                await sut.CreateCocktailReviewAsync(mockCocktailReviewDTO);

                Assert.AreEqual(1, assertContext.CocktailReviews.Count());
            }
        }
コード例 #14
0
        private async void searchDrinks_SearchButtonPressed(object sender, EventArgs e)
        {
            lblLoading.IsVisible = true;
            string searchInput = searchDrinks.Text;

            if (searchInput != "")
            {
                List <Drink> drinks = await CocktailManager.getCocktailBySearch(searchInput);

                string filterdString = null;
                if (drinks == null)
                {
                    filterdString = "Nothing found for: " + searchInput;
                }
                else
                {
                    filterdString = "Search Results: " + searchInput;
                }
                lblLoading.IsVisible = false;
                showCocktails(drinks);
                Title = filterdString;
            }
        }
コード例 #15
0
        public async Task ReturntOrderedResult()
        {
            var options        = TestUtilities.GetOptions(nameof(ReturntOrderedResult));
            var mockIngredient = new Mock <IIngredientManager>();
            var mockFactory    = new Mock <ICocktailFactory>();

            var cocktailOne = new Cocktail()
            {
                Name        = "name",
                Information = "info",
                Picture     = "picture",
                Rating      = 4.7
            };
            var cocktailTwo = new Cocktail()
            {
                Name        = "name",
                Information = "info",
                Picture     = "picture",
                Rating      = 4.6
            };
            var cocktailThree = new Cocktail()
            {
                Name        = "name",
                Information = "info",
                Picture     = "picture",
                Rating      = 4.5
            };
            var cocktailFour = new Cocktail()
            {
                Name        = "name",
                Information = "info",
                Picture     = "picture",
                Rating      = 4.4
            };
            var cocktailFive = new Cocktail()
            {
                Name        = "name",
                Information = "info",
                Picture     = "picture",
                Rating      = 4.1
            };

            using (var arrangeContext = new CMContext(options))
            {
                await arrangeContext.AddAsync(cocktailOne);

                await arrangeContext.AddAsync(cocktailTwo);

                await arrangeContext.AddAsync(cocktailThree);

                await arrangeContext.AddAsync(cocktailFour);

                await arrangeContext.AddAsync(cocktailFive);

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new CMContext(options))
            {
                var sut    = new CocktailManager(mockIngredient.Object, assertContext, mockFactory.Object);
                var result = await sut.GetTopRatedCocktails();

                Assert.AreEqual(cocktailOne.Rating, result.ElementAt(0).Rating);
                Assert.AreEqual(cocktailTwo.Rating, result.ElementAt(1).Rating);
                Assert.AreEqual(cocktailThree.Rating, result.ElementAt(2).Rating);
                Assert.AreEqual(cocktailFour.Rating, result.ElementAt(3).Rating);
            }
        }