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); }
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)); }
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); } } } }
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)); }
public async Task SaveCocktail(SaveCocktailResource resource, List <Ingredient> ingredients) { var cocktail = _mapper.Map <SaveCocktailResource, Cocktails.Domain.Models.Cocktail>(resource); await _cocktailsService.AddAsync(cocktail, ingredients); }