/// <summary> /// Update a beer. /// </summary> /// <param name="beer">The beer.</param> /// <returns>The <see cref="Task"/></returns> private async Task Update(DomainBeer beer) { this.beerCache.TryGetValue(beer.Id, out DomainBeer cachedBeer); cachedBeer = beer; await this.dataStore.Save(cachedBeer); this.beerCache.TryUpdate(cachedBeer.Id, cachedBeer, beer); }
/// <summary> /// Save or update beer. /// </summary> /// <param name="beer">The beer.</param> /// <returns>The <see cref="Task"/></returns> public async Task SaveOrUpdate(DomainBeer beer) { if (string.IsNullOrEmpty(beer.Id)) { await Save(beer); return; } await Update(beer); }
/// <summary> /// Save a new beer. /// </summary> /// <param name="beer">The beer.</param> /// <returns>The <see cref="Task"/></returns> private async Task Save(DomainBeer beer) { await this.dataStore.Save(beer); this.beerCache.TryAdd(beer.Id, beer); }