Esempio n. 1
0
        private vmMachine ConvertMachineToViewModel()
        {
            vmMachine VendorMachine = new vmMachine();

            VendorMachine.AvailableCoins    = DataHelper.List <vmCoin>(MachineDomain.AvailableCoins);
            VendorMachine.AvailableProducts = DataHelper.List <vmProduct>(MachineDomain.AvailableProducts);
            VendorMachine.DueChange         = DataHelper.List <vmCoin>(MachineDomain.DueChange);
            VendorMachine.InsertedCoins     = DataHelper.List <vmCoin>(MachineDomain.InsertedCoins);
            VendorMachine.RequiredProducts  = DataHelper.List <vmProduct>(MachineDomain.RequiredProducts);
            VendorMachine.OutputProducts    = DataHelper.List <vmProductOutput>(MachineDomain.OutputProducts);

            VendorMachine.TotalInsertedCoins    = MachineDomain.InsertedCoins.Sum(c => c.Coin);
            VendorMachine.TotalRequiredProducts = TotalRequiredProducts();

            return(VendorMachine);
        }
Esempio n. 2
0
        private static void OrderProduct(List <vmCoin> ListCoins, List <vmProduct> ListProduct, bool isGetChange)
        {
            ControllerBase controller = new ControllerBase();
            var            service    = controller.provider.GetService <IMachine>();

            try
            {
                service.InsertCoins(ListCoins);
                vmMachine machine = service.RequestProduct(ListProduct);

                StringBuilder output = new StringBuilder();
                foreach (vmProductOutput outProduct in machine.OutputProducts)
                {
                    output.AppendFormat("{0} ={1} ", outProduct.Name, outProduct.Change.ToString("0.00", new CultureInfo("us-EN", false)));
                }

                if (isGetChange)
                {
                    if (machine.TotalInsertedCoins > machine.TotalRequiredProducts)
                    {
                        machine = service.GetChange();
                        output.AppendFormat(" COINS");
                    }
                    else
                    {
                        output.Append(" NO_CHANGE");
                    }
                }

                foreach (vmCoin coin in machine.DueChange)
                {
                    output.AppendFormat(" {0}", coin.Coin.ToString("0.00", new CultureInfo("us-EN", false)));
                }
                //Console.Write("");
                Console.WriteLine("  " + output);
                Console.WriteLine("");
            }
            catch (ValidationException ex)
            {
                Console.WriteLine("  " + ex.Message);
                Console.WriteLine("");
            }
        }