public async Task <CashDto> PatchCashAsync(int userId, CashDto cashDto) { var user = await _dbContext.Users.FirstOrDefaultAsync(x => x.Id == userId); var cash = _dbContext.Cashes.FirstOrDefault(x => x.Id == cashDto.Id); if (user == null || cash == null || cash.UserId != userId) { throw new Exception($"Not found user by id {userId} or card {cash.Id} is not found \n Change data"); } var cashMerge = _serviceMapper.Merge(cashDto, cash); await _dbContext.SaveChangesAsync(); var newCashMergeMap = _serviceMapper.Map <Cash, CashDto>(cashMerge); return(newCashMergeMap); }
public async Task <CashDto> CreateCashesForUserAsync(int userId, CashDto cashDto) { var user = await _dbContext.Users .Include(x => x.Cashes) .FirstOrDefaultAsync(x => x.Id == userId); if (user == null) { throw new NullReferenceException($"Not found user by id {userId}"); } var cashEntityAdd = _serviceMapper.Map <CashDto, Cash>(cashDto); user.Cashes.Add(cashEntityAdd); await _dbContext.SaveChangesAsync(); return(_serviceMapper.Map <Cash, CashDto>(cashEntityAdd)); }