コード例 #1
0
        /// <summary>
        /// Добавляет автомобиль
        /// </summary>
        public async Task AddCarAsync(Car car)
        {
            var carUpdate = await _automobileRepository.GetCarAsync(car.Title, car.BrandId);

            var brandJson = await _distributedCache.GetStringAsync(car.BrandId.ToString());

            var brand = string.IsNullOrEmpty(brandJson)
                ? await _automobileRepository.GetBrandAsync(car.BrandId)
                : JsonConvert.DeserializeObject <Brand>(brandJson);

            if (carUpdate == null && brand != null)
            {
                _automobileRepository.AddCar(car);
                await _automobileRepository.UnitOfWork.SaveChangesAsync();

                car.Brand = brand;
                await _distributedCache.SetStringAsync(car.CarId.ToString(), JsonConvert.SerializeObject(car));

                await _distributedCache.SetStringAsync(CARS_KEY, "");
            }
        }