Пример #1
0
 public Tap Update(Tap item)
 {
     item.current_keg = null;
     //UpdateOne if need performance
     Taps.ReplaceOne(b => b.id == item.id, item);
     return(item);
 }
Пример #2
0
        public IEnumerable <Tap> GetAll()
        {
            var TapList = Taps.Find(b => true).ToList();

            TapList = AttachEntities(TapList).ToList();
            return(TapList);
        }
Пример #3
0
        public Tap GetById(string id)
        {
            var TapItem = Taps.Find(b => b.id == id).FirstOrDefault();

            TapItem = AttachEntities(TapItem);
            return(TapItem);
        }
Пример #4
0
 public Tap Create(Tap item)
 {
     item.id          = Guid.NewGuid().ToString();
     item.current_keg = null;
     Taps.InsertOne(item);
     return(item);
 }
        internal IEnumerable <PourEvent> AttachEntities(IEnumerable <PourEvent> pourEventList)
        {
            //Load Kegs
            var kegIdsToLoad = pourEventList.Select(p => p.kegId).Distinct().ToList();
            var kegs         = Kegs.Find(k => kegIdsToLoad.Contains(k.id)).ToList();

            kegs = AttachEntities(kegs).ToList();
            //Load Taps
            var tapIdsToLoad = pourEventList.Select(p => p.tapId).Distinct().ToList();
            var taps         = Taps.Find(t => tapIdsToLoad.Contains(t.id)).ToList();

            taps = AttachEntities(taps).ToList();

            pourEventList.ToList().ForEach(p => {
                if (p.kegId != null)
                {
                    p.keg = kegs.FirstOrDefault(k => k.id == p.kegId);
                }
                if (p.tapId != null)
                {
                    p.tap = taps.FirstOrDefault(t => t.id == p.tapId);
                }
            });
            return(pourEventList);
        }
Пример #6
0
        /// <summary>
        /// After pumping the pump is blocked and several parameters are recorded
        /// </summary>
        /// <param name="usedPump"></param>
        /// <param name="usedGasolineType"></param>
        /// <param name="litersPumped"></param>
        /// <param name="amountOwed"></param>
        public void FinishedPumping(PetrolPump usedPump, GasolineType usedGasolineType, double litersPumped, double amountOwed)
        {
            usedPump.WasUsed     = true;
            usedPump.AmountOwned = amountOwed;
            Tap usedTap = Taps.Where(x => x.GasolineType == usedGasolineType).FirstOrDefault();

            usedTap.LiterPerTank -= litersPumped;
            OnPumpWasUsed(EventArgs.Empty);
        }
 internal PourEvent AttachEntities(PourEvent pourEventItem)
 {
     if (pourEventItem != null && pourEventItem.kegId != null)
     {
         var keg = Kegs.Find(k => k.id == pourEventItem.kegId).FirstOrDefault();
         keg = AttachEntities(keg);
         pourEventItem.keg = keg;
     }
     if (pourEventItem != null && pourEventItem.tapId != null)
     {
         var tap = Taps.Find(t => t.id == pourEventItem.tapId).FirstOrDefault();
         tap = AttachEntities(tap);
         pourEventItem.tap = tap;
     }
     return(pourEventItem);
 }
Пример #8
0
        public async Task <decimal> Tap(Taps whichTap, CancellationToken ct)
        {
            await Device.SetMaComRegAsync(0x500a0230, 1, new uint[1] {
                (uint)whichTap
            }, ct).ConfigureAwait(false);

            await Device.SetMaComRegAsync(0x500a01f4, 1, new uint[1] {
                0x00
            }, ct).ConfigureAwait(false);

            await Device.SetMaComRegAsync(0x500a01f4, 1, new uint[1] {
                0x02
            }, ct).ConfigureAwait(false);

            var tap0 = (int)await Device.GetMaComRegAsync(0x500a024c, 1, ct).ConfigureAwait(false);

            return((tap0 > Math.Pow(2, 29))
                ? (decimal)((tap0 - Math.Pow(2, 30)) / (Math.Pow(2, 28)))
                : (decimal)(tap0 / Math.Pow(2, 28)));
        }
Пример #9
0
        public GasPump()
        {
            Tap petrol = new Tap();

            petrol.FuelType = Fuel.Petrol;
            petrol.Number   = 1;
            Tap superBenzin = new Tap();

            superBenzin.FuelType = Fuel.Super_Petrol;
            superBenzin.Number   = 2;
            Tap diesel = new Tap();

            diesel.FuelType = Fuel.Diesel;
            diesel.Number   = 3;

            Taps.Add(petrol);
            Taps.Add(superBenzin);
            Taps.Add(diesel);
            Occupied  = false;
            IsFueling = true;
        }
Пример #10
0
 public string Delete(Tap item)
 {
     Taps.DeleteOne(b => b.id == item.id);
     return(item.id);
 }
Пример #11
0
 public IEnumerable <TappableBase> GetShortNotes()
 {
     return(Taps.Cast <TappableBase>().Concat(ExTaps).Concat(Flicks).Concat(Damages));
 }
 public IEnumerable <TappableBase> GetShortNotes()
 {
     return(Taps.Cast <TappableBase>().Concat(DTaps).Concat(HTaps).Concat(LTaps).Concat(Traces).Concat(DTraces).Concat(HTraces).Concat(LTraces));
 }