Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
        }