コード例 #1
0
        public async Task <double> AddLoad(int id, int load)
        {
            var transportCard = await GetCardDetailById(id);

            var totalLoad = transportCard.Load + load;

            if (totalLoad > _maxLoadAmount)
            {
                throw new Exception("Max Load Amount Exceeded");
            }

            transportCard.Load += load;

            if (await _context.SaveChangesAsync() <= 0)
            {
                throw new Exception("Adding load amount failed.");
            }

            return(transportCard.Load);
        }
コード例 #2
0
        public async Task <bool> UpdateMrtFares(IEnumerable <MrtFare> faresToUpdate)
        {
            var mrtFareIds = faresToUpdate.Select(s => s.Id).ToList();

            var mrtFares = await _context.MrtFares.Where(m => mrtFareIds.Contains(m.Id)).ToListAsync();

            mrtFares.ForEach(mrtFare => {
                var fare = faresToUpdate.FirstOrDefault(f => f.Id == mrtFare.Id)?.Fare;

                mrtFare.Fare = fare ?? mrtFare.Fare;
            });

            return(await _context.SaveChangesAsync() > 0);
        }