Example #1
0
        /////////////////////////////////////////////////

        public PlanetsGenerator(Transform container, int minCount, int maxCount, IPlanetsFactory factory,
                                IPlanetsPositionsGenerator positionsGenerator, IPlanetsRadiusesGenerator sizesGenerator, IDispenser <Sprite> spriteDispenser)
        {
            _minCount           = minCount;
            _maxCount           = maxCount;
            _container          = container;
            _factory            = factory;
            _spriteDispenser    = spriteDispenser;
            _positionsGenerator = positionsGenerator;
            _sizesGenerator     = sizesGenerator;
        }
        public IDispenser CreateDispenser(DrinkEnum drinkType)
        {
            IDispenser dispenser = null;

            if (drinkType == DrinkEnum.Coffee)
            {
                dispenser = new CoffeeDispenser();
            }
            if (drinkType == DrinkEnum.Hotwater)
            {
                dispenser = new HotwaterDispenser();
            }

            return(dispenser);
        }
Example #3
0
        private void Form1_Load(object sender, EventArgs e)
        {
            Type     t;
            Assembly asm = Assembly.LoadFrom(@"RFIDLib.dll");

            t          = asm.GetType("RFIDLib.RFID", true, true);
            rfidReader = (ICardReader)Activator.CreateInstance(t);
            rfidReader.ChangeStatus += RfidReader_ChangeStatus;

            t         = asm.GetType("RFIDLib.DispenserMT166", true, true);
            dispenser = (IDispenser)Activator.CreateInstance(t);
            dispenser.ChangeStatus += Dispense_GetStatus;

            asm  = Assembly.LoadFrom(@"BillAcceptorUBA10-SS.dll");
            t    = asm.GetType("BillAcceptorUBA10_SS.BillAceptor", true, true);
            bill = (IBillValidator)Activator.CreateInstance(t);

            asm     = Assembly.LoadFrom(@"BarrierLib.dll");
            t       = asm.GetType("BarrierLib.Barrier", true, true);
            barrier = (IBarrier)Activator.CreateInstance(t);
        }
Example #4
0
        public void Dispense(IEnumerable <OrderItem> items)
        {
            IEnumerable <DispenseCommand> dispensingChain = _strategy.BuildDispensingChain(items);

            foreach (DispenseCommand command in dispensingChain)
            {
                IDispenser _dispenser = _dispensers.SingleOrDefault(x => x.Id == command.Address.VendingMachineID);

                if (_dispenser == null)
                {
                    OnFailed?.Invoke(this, new DispenseFailEventArgs {
                        address = command.Address.Address, message = "Unable to detect the machine"
                    });
                }

                if (_dispenser.Dispense(command.Address, command.Quantity))
                {
                    OnDispensing?.Invoke(this, new DispenseEventArgs {
                        address = command.Address.Address
                    });
                }
            }
        }
 public void SetNextDispenser(IDispenser dispenser)
 {
     _dispenser = dispenser;
 }
Example #6
0
 /// <summary> Default constructor accepting an IDispenser and a food name string. </summary>
 public Food(IDispenser dispenser, string foodName) : base(dispenser)
 {
     m_FoodName = foodName;
 }
Example #7
0
 public void Detach(IDispenser iDispenser)
 {
     _dispensers.Remove(iDispenser);
 }
Example #8
0
 public void Attach(IDispenser iDispenser)
 {
     _dispensers.Add(iDispenser);
 }
Example #9
0
 public PastaMaker(IDispenser dispenser)
 {
     this.dispenser = dispenser;
 }
Example #10
0
 /// <summary> The default constructor that accepts an IDispenser interface. </summary>
 public Product(IDispenser dispenser)
 {
     m_Dispenser = dispenser;
 }
 public CoffeeMachineFacade(IDispenser dispenser)
 {
     _dispenser = dispenser;
 }
Example #12
0
        private async Task LoadConfiguration(string fileName)
        {
            await Task.Run(async() =>
            {
                try
                {
                    Type t;
                    Assembly asm;
                    XmlDocument config = new XmlDocument();
                    config.Load(fileName);
                    XmlNodeList deviceConfig;

                    deviceConfig = config.SelectNodes(@"//device[@devicename='RFIDLib.RFID']");
                    asm          = Assembly.LoadFrom(deviceConfig[0].Attributes["libpath"].Value);
                    t            = asm.GetType(deviceConfig[0].Attributes["devicename"].Value, true, true);
                    rfidReader   = (ICardReader)Activator.CreateInstance(t);


                    rfidReader.SetConfiguration(deviceConfig[0].Attributes["port"].Value,
                                                Int32.Parse(deviceConfig[0].Attributes["boudrate"].Value),
                                                (Parity)Enum.Parse(typeof(Parity), deviceConfig[0].Attributes["parity"].Value),
                                                Int32.Parse(deviceConfig[0].Attributes["bits"].Value),
                                                (StopBits)Enum.Parse(typeof(StopBits), deviceConfig[0].Attributes["stopbits"].Value)
                                                );
                    rfidReader.Open();

                    deviceConfig = config.SelectNodes(@"//device[@devicename='RFIDLib.DispenserMT166']");
                    asm          = Assembly.LoadFrom(deviceConfig[0].Attributes["libpath"].Value);
                    t            = asm.GetType(deviceConfig[0].Attributes["devicename"].Value, true, true);
                    dispenser    = (IDispenser)Activator.CreateInstance(t);
                    dispenser.SetConfiguration(deviceConfig[0].Attributes["port"].Value,
                                               Int32.Parse(deviceConfig[0].Attributes["boudrate"].Value),
                                               (Parity)Enum.Parse(typeof(Parity), deviceConfig[0].Attributes["parity"].Value),
                                               Int32.Parse(deviceConfig[0].Attributes["bits"].Value),
                                               (StopBits)Enum.Parse(typeof(StopBits), deviceConfig[0].Attributes["stopbits"].Value)
                                               );

                    //  dispenser.Open();

                    deviceConfig  = config.SelectNodes(@"//device[@devicename='BillAcceptorUBA10_SS.BillAceptor']");
                    asm           = Assembly.LoadFrom(deviceConfig[0].Attributes["libpath"].Value);
                    t             = asm.GetType(deviceConfig[0].Attributes["devicename"].Value, true, true);
                    billValidator = (IBillValidator)Activator.CreateInstance(t);
                    billValidator.SetConfiguration(deviceConfig[0].Attributes["port"].Value,
                                                   Int32.Parse(deviceConfig[0].Attributes["boudrate"].Value),
                                                   (Parity)Enum.Parse(typeof(Parity), deviceConfig[0].Attributes["parity"].Value),
                                                   Int32.Parse(deviceConfig[0].Attributes["bits"].Value),
                                                   (StopBits)Enum.Parse(typeof(StopBits), deviceConfig[0].Attributes["stopbits"].Value)
                                                   );
                    billValidator.Open();
                    billValidator.BillAccept += Bill_BillAccept;
                    await billValidator.StartCommunication(cancelBillTokenSource);
                    ShowCurrentScreen(tpIdle);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                    ShowInfo("АППАРАТ ВРЕМЕННО НЕ РАБОТАЕТ");
                }
            });
        }
 public CoffeeMachineFacade(IDispenser dispenser)
     {
     _dispenser = dispenser;
     }
Example #14
0
 public AtmFacade()
 {
     validator = new Validator();
     dispensor = new Dispenser();
 }
Example #15
0
 public Dispenser(IBill bill)
 {
     _bill = bill;
     _next = EndofChainHandler.Instance;
 }
 public void SetNext(IDispenser next)
 {
     throw new InvalidOperationException("End of chain handler must be the end of the chain");
 }
Example #17
0
 public void SetNext(IDispenser next)
 {
     _next = next;
 }
Example #18
0
 /// <summary> Default constructor accepting an IDispenser and a drink name string. </summary>
 public Drink(IDispenser dispenser, string drinkName) : base(dispenser)
 {
     m_DrinkName = drinkName;
 }