Esempio n. 1
0
        public void StartPourFromTap(string tapId)
        {
            var tap = _tapRepository.GetById(tapId);
            var keg = _kegRepository.GetById(tap.KegId);

            keg.StartPourFromTap(tap.Id);

            _kegRepository.Update(keg);
        }
        public void Handle(KegEmptied domainEvent)
        {
            var kegId = domainEvent.KegId;
            var keg   = _kegRepository.GetById(kegId);
            var tap   = _tapRepository.GetByKegId(keg.Id);

            var notification = BuildNotification(domainEvent, tap, keg);

            _emailService.SendEmail(notification);
        }
Esempio n. 3
0
        public void Handle(PourStopped domainEvent)
        {
            var kegId = domainEvent.KegId;
            var keg   = _kegRepository.GetById(kegId);

            if (keg.PercentRemaining <= PercentageThreshold)
            {
                var tap = _tapRepository.GetByKegId(keg.Id);

                var notification = BuildNotification(domainEvent, tap, keg);
                _emailService.SendEmail(notification);
            }
        }
Esempio n. 4
0
 private BeerOnTap CreateBeerOnTap(Tap tap)
 {
     if (tap.HasKeg)
     {
         var keg     = _kegRepository.GetById(tap.KegId);
         var beer    = _beerRepository.GetById(keg.BeerId);
         var brewery = _breweryRepository.GetById(beer.BreweryId);
         var style   = (string.IsNullOrEmpty(beer.StyleId)) ? null : _styleRepository.GetById(beer.StyleId);
         //TODO Maybe add a default color
         beer.Color = (null == style) ? string.Empty : style.Color;
         beer.Style = (null == style) ? string.Empty : style.Name;
         return(new BeerOnTap()
         {
             Tap = tap, Keg = keg, Beer = beer, Brewery = brewery, Style = style
         });
     }
     else
     {
         return(new BeerOnTap()
         {
             Tap = tap
         });
     }
 }
Esempio n. 5
0
 public Keg GetKeg(string kegId)
 {
     return(_kegRepository.GetById(kegId));
 }