Example #1
0
        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);
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        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();