public async Task SendItem() { try { IItemService itemService = new ItemService(); if (await itemService.AddNewItem(ItemModel)) { await _pageService.DisplayAlert("Success", "Item successfully added.", "OK"); } else { await _pageService.DisplayAlert("Error", "Error while saving new item. Please, check that the template is correctly filled.", "OK"); } } catch (Exception ex) { await _pageService.DisplayAlert("Error", ex.Message, "OK"); } }
//currently AddNewItem only exists to allow me to test, if it didn't work most of the tests wouldn't pass public void AddNewItem(Item item, IEnumerable <Ingredient> ingredients) { if (item != null && ingredients.Count() > 0) { _serv.AddNewItem(item); var ingredientsWithID = new List <Ingredient>(); foreach (var ingredient in ingredients) { if (_ingServ.GetIngredientsByName(ingredient.Name).Count() == 0) { _ingServ.AddNewIngredient(ingredient); } ingredientsWithID.AddRange(_ingServ.GetIngredientsByName(ingredient.Name)); } var itemIngredients = new List <ItemIngredients>(); foreach (var ingredient in ingredientsWithID) { itemIngredients.Add(new ItemIngredients { IngredientID = ingredient.IngredientID, ItemID = item.ItemID }); } _iIServ.AddItemIngredients(itemIngredients); } }
public async Task <IActionResult> AddItem(Services.ItemType typeDTO, Services.ItemStatus statusDTO, int ownerDTO) { await _itemService.AddNewItem(typeDTO, statusDTO, ownerDTO); return(RedirectToAction(nameof(Index))); }