private ShoppingListItem MapShoppingItem(Guid familyId, DTO.ShoppingListItem shopItem) { var mappedItem = _mapper.Map <ShoppingListItem>(shopItem); var store = _unitOfWork.Repository <Store>().Find(s => s.Name.Equals(shopItem.Store)).FirstOrDefault(); if (store == null && !string.IsNullOrWhiteSpace(shopItem.Store)) { store = new Store() { Id = Guid.NewGuid(), Name = shopItem.Store }; _unitOfWork.Repository <Store>().Insert(store); mappedItem.BuyAtStoreId = store.Id; mappedItem.BuyAtStore = store; } var item = _unitOfWork.Repository <Item>().Find(s => s.Name.Equals(shopItem.Name)).FirstOrDefault(); if (item == null) { if (string.IsNullOrWhiteSpace(shopItem.Name)) { throw new ArgumentException("A value must be provided for the name of the item"); } item = new Item() { Id = Guid.NewGuid(), Name = shopItem.Name, Description = shopItem.Description }; _unitOfWork.Repository <Item>().Insert(item); } mappedItem.FamilyId = familyId; mappedItem.ItemId = item.Id; mappedItem.Item = item; return(mappedItem); }
public void AddItemToFamilyShoppingList(Guid familyId, DTO.ShoppingListItem item) { var mappedItem = MapShoppingItem(familyId, item); mappedItem.Id = Guid.NewGuid(); (_unitOfWork.Repository <ShoppingListItem>() as IShoppingListRepository).Insert(mappedItem); _unitOfWork.Save(); }
public void AlterShoppingListItemDetails(Guid familyId, DTO.ShoppingListItem item) { //TODO: Check if shopItem is in family shopping list (_unitOfWork.Repository <ShoppingListItem>() as IShoppingListRepository).Update(MapShoppingItem(familyId, item)); _unitOfWork.Save(); }