Example #1
0
        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);
        }
Example #2
0
        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();
        }
Example #3
0
 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();
 }