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); }
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(""); } }