Example #1
0
        public SaveCocktailResource ProcessCocktailData(RawCocktailFullModelItem rawCocktail, int catId)
        {
            SaveCocktailResource cocktail = new SaveCocktailResource()
            {
                Name         = rawCocktail.StrDrink,
                Alcoholic    = rawCocktail.StrAlcoholic,
                CategoryId   = catId,
                Glass        = rawCocktail.StrGlass,
                Thumb        = rawCocktail.StrDrinkThumb,
                Tags         = rawCocktail.StrTags,
                Instructions = rawCocktail.StrInstructions
            };

            return(cocktail);
        }
Example #2
0
        public async Task <IActionResult> PostAsync([FromBody] SaveCocktailResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }
            var cocktail = _mapper.Map <SaveCocktailResource, Domain.Models.Cocktail>(resource);
            var result   = await _cocktailService.AddAsync(cocktail, resource.Ingredients);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var cocktailResource = _mapper.Map <Domain.Models.Cocktail, CocktailResource>(result.Cocktail);

            return(Ok(cocktailResource));
        }
Example #3
0
        public async Task Cocktails()
        {
            int           cocktailsCounter = 0;
            List <string> allUrls          = new List <string>()
            {
                "https://www.thecocktaildb.com/api/json/v1/1/filter.php?c=Beer",
                "https://www.thecocktaildb.com/api/json/v1/1/filter.php?c=Cocoa",
                "https://www.thecocktaildb.com/api/json/v1/1/filter.php?c=Milk_/_Float_/_Shake",
                //"https://www.thecocktaildb.com/api/json/v1/1/filter.php?c=Other_/_Unknown", // bad url
                "https://www.thecocktaildb.com/api/json/v1/1/filter.php?c=Coffee_/_Tea",
                //"https://www.thecocktaildb.com/api/json/v1/1/filter.php?c=Punch_/_Party_Drinks", //bad url
                "https://www.thecocktaildb.com/api/json/v1/1/filter.php?c=Homemade_Liqueur",
                "https://www.thecocktaildb.com/api/json/v1/1/filter.php?c=Soft_Drink_/_Soda",
                "https://www.thecocktaildb.com/api/json/v1/1/filter.php?c=Cocktail",
                "https://www.thecocktaildb.com/api/json/v1/1/filter.php?c=Shot",
                "https://www.thecocktaildb.com/api/json/v1/1/filter.php?c=Ordinary_Drink"
            };
            List <Category>   allCategories  = (await _categoriesProcess.GetAllCategories()).ToList();
            List <Ingredient> allIngredients = (await _ingredientsProcess.GetAllIngredients()).ToList();
            int catId;

            foreach (string url in allUrls)
            {
                Console.WriteLine("Call: " + url);
                RawCocktailIdsListModel RawCocktailIds = await _cocktailProcess.LoadCocktailsIds(url);

                if (RawCocktailIds.Drinks != null)
                {
                    foreach (RawCocktailSimpleModel cocktailId in RawCocktailIds.Drinks)
                    {
                        RawCocktailFullModel RawCocktail = await _cocktailProcess.LoadCocktail(cocktailId.idDrink);

                        catId = _cocktailProcess.GetCategoryId(RawCocktail.Drinks[0].StrCategory, allCategories);
                        SaveCocktailResource cocktail    = _cocktailProcess.ProcessCocktailData(RawCocktail.Drinks[0], catId);
                        List <Ingredient>    ingredients = _cocktailProcess.getCocktailIngredients(RawCocktail.Drinks[0], allIngredients);
                        await _cocktailProcess.SaveCocktail(cocktail, ingredients);

                        cocktailsCounter++;
                        Console.WriteLine("Added: " + RawCocktail.Drinks[0].StrDrink);
                        Console.WriteLine("Total: " + cocktailsCounter);
                    }
                }
            }
        }
Example #4
0
        public async Task <IActionResult> PutAsync(int id, [FromBody] SaveCocktailResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var cocktail = _mapper.Map <SaveCocktailResource, Cocktail>(resource);
            var result   = await _cocktailService.UpdateAsync(id, cocktail);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var cocktailResource = _mapper.Map <Cocktail, CocktailResource>(result.Cocktail);

            return(Ok(cocktailResource));
        }
Example #5
0
 public async Task SaveCocktail(SaveCocktailResource resource, List <Ingredient> ingredients)
 {
     var cocktail = _mapper.Map <SaveCocktailResource, Cocktails.Domain.Models.Cocktail>(resource);
     await _cocktailsService.AddAsync(cocktail, ingredients);
 }