private async Task InsertConfigAsync(RestaurantConfigDto config) { var isDefault = !await _context.RestaurantConfigs.AnyAsync(); var result = _mapper.Map <RestaurantConfig>(config); result.IsDefault = isDefault; await _context.RestaurantConfigs.AddAsync(result); }
private async Task UpdateConfigAsync(RestaurantConfigDto config, RestaurantConfig result) { if (config.IsDefault) { var all = await _context.RestaurantConfigs.ToListAsync(); all.ForEach(item => item.IsDefault = false); _context.RestaurantConfigs.UpdateRange(all); } var data = _mapper.Map(config, result); _context.RestaurantConfigs.Update(data); }
public async Task <RestaurantConfigDto> UpsertRestaurantConfigAsync(RestaurantConfigDto config) { var result = await _context.RestaurantConfigs.FirstOrDefaultAsync(p => p.RestaurantConfigId == config.RestaurantConfigId); if (result == null) { await InsertConfigAsync(config); } else { await UpdateConfigAsync(config, result); } await _context.SaveChangesAsync(); return(config); }