public int RevokeFrequentFlyerMiles(int travelerId, int milesToRevoke) { int actualMilesToRevoke = 0; using (FrequentFlyerRepository repository = new FrequentFlyerRepository(ConnectionName)) { FrequentFlyer member = repository.GetSingle(travelerId); //the traveler is not a BB member - 0 miles revoked if (member == null) { return(0); } //if the number of miles to revoke exceeds the accumulated miles, just set the accumulated miles to zero actualMilesToRevoke = Math.Min(member.Miles, milesToRevoke); member.Miles -= actualMilesToRevoke; repository.Edit(member); repository.Save(); } return(actualMilesToRevoke); }
public int GetAccumulatedMiles(int travelerId) { using (FrequentFlyerRepository repository = new FrequentFlyerRepository(ConnectionName)) { FrequentFlyer member = repository.GetSingle(travelerId); if (member == null) { return(0); } else { return(member.Miles); } } }
public int AddFrequentFlyerMiles(int travelerId, int miles) { using (FrequentFlyerRepository repository = new FrequentFlyerRepository(ConnectionName)) { FrequentFlyer member = repository.GetSingle(travelerId); if (member == null) { member = new FrequentFlyer { TravelerId = travelerId, Miles = miles }; repository.Add(member); } else { member.Miles += miles; repository.Edit(member); } repository.Save(); } return(miles); }
public void Edit(FrequentFlyer entity) { var originalEntity = context.FrequentFlyers.Find(entity.FrequentFlyerId); context.Entry(originalEntity).CurrentValues.SetValues(entity); }
public void Delete(FrequentFlyer entity) { context.FrequentFlyers.Find(entity.FrequentFlyerId); context.FrequentFlyers.Remove(entity); }
public void Add(FrequentFlyer entity) { context.FrequentFlyers.Add(entity); }
public async Task UpdateAsync(FrequentFlyer customer) => await _repository.UpdateAsync(customer);
public async Task HandleAsync(SignedUp @event, ICorrelationContext context) => await _handler.Handle(async() => { var frequentFlyer = new FrequentFlyer(@event.UserId, @event.Email); await _frequentFlyersRepository.CreateAsync(frequentFlyer); }).ExecuteAsync();