public async Task <Object> GetChange() { return(await Task.Run(() => { try { Double sum = _ctx.PurchaseInfo.Item.PayedSum; Double sumToMessage = sum; PurseBase coinsToChange = MakeChange(sum); MakeUpdatesInPurses(coinsToChange); return new { error = String.Empty, message = String.Format("Сдача в размере {0} выдана!", sumToMessage) }; } catch (Exception e) { return new { error = e.Message, message = String.Empty }; } })); }
/// <summary> /// Добавляет изменения в "БД" /// </summary> /// <param name="coinsToChange">Монеты для сдачи</param> protected void MakeUpdatesInPurses(PurseBase coinsToChange) { foreach (var coin in coinsToChange.Coins) { _ctx.UserPurse.Item.Coins.First(x => x.Value == coin.Value).Count += coin.Count; _ctx.CoffeMachinePurse.Item.Coins.First(x => x.Value == coin.Value).Count -= coin.Count; } _ctx.PurchaseInfo.Item.PayedSum = 0; _ctx.Save(_path); }
public void MakeUpdatesInPursesForTests(PurseBase coinsToChange) { this.MakeUpdatesInPurses(coinsToChange); }