/// <summary> /// Münze einwerfen. /// Wurde zumindest der Produktpreis eingeworfen, Münzen in Depot übernehmen /// und für Order Retourgeld festlegen. Bestellung abschließen. /// </summary> /// <returns>true, wenn die Bestellung abgeschlossen ist</returns> public bool InsertCoin(Order order, int coinValue) { bool check = false; if (order.InsertCoin(coinValue)) { _coinRepository.AddCoins(order._coins); order.FinishPayment(_coinRepository.GetAllCoins().OrderByDescending(c => c.CoinValue)); _coinRepository.PayBackCoins(order._retourCoins); _orderRepository.AddOrderIntoDB(order); check = true; } return(check); }
public StringBuilder ChangeCoin(double change, Transaction transaction) { StringBuilder coinsString = new StringBuilder(); List <Coin> coins = ICoinRepository.GetAllCoins(); foreach (var coin in coins) { double calculation = Math.Floor(change / coin.Value); if (change == 0) { break; } if (change / coin.Value >= 1) { TransactionXCoin transactionXCoin = new TransactionXCoin(); coinsString.Append(" Moeda de " + coin.Value + " " + "= " + calculation); change -= coin.Value * calculation; change = Math.Round(change, 2); transactionXCoin.Coin = coin; transactionXCoin.Transaction = transaction; transactionXCoin.Quantity = Convert.ToInt32(calculation); ITransactionXCoinRepository.InsertTransactionXCoin(transactionXCoin); } } return(coinsString); }
/// <summary> /// Münze einwerfen. /// Wurde zumindest der Produktpreis eingeworfen, Münzen in Depot übernehmen /// und für Order Retourgeld festlegen. Bestellug abschließen. /// </summary> /// <returns>true, wenn die Bestellung abgeschlossen ist</returns> public bool InsertCoin(Order order, int coinValue) { bool isFinished = false; if (order.InsertCoin(coinValue)) { string[] parts = order.ThrownInCoinValues.Split(';'); foreach (var item in parts) { _coinRepository.AddCoin(Convert.ToInt32(item)); } order.FinishPayment(_coinRepository.GetAllCoins()); _orderRepository.UptadeOrder(order); isFinished = true; } return(isFinished); }
/// <summary> /// Gibt den aktuellen Inhalt der Kasse, sortiert nach Münzwert absteigend zurück /// </summary> /// <returns></returns> public IEnumerable <Coin> GetCoinDepot() { return(_coinRepository.GetAllCoins().OrderByDescending(c => c.CoinValue)); }