public static IState Instance(Number amount) { input = amount; MenuList list = new MenuList(); list.Add(new CheckPaymentInfo()); list.AddRange(CurrencyPaymentInfo.GetCurrencies()); list.AddRange(CreditPaymentInfo.GetCredits()); States.List.Instance(list); return(state); }
public static IState Continue() { //In case there is an error after full payment is applied to FPU //and document is not closed - we have to close it here. if (cr.Document.BalanceDue == 0 && cr.Document.Payments.Count > 0) { try { cr.Document.Close(); return(Start.Instance()); } catch (PowerFailureException) { cr.Document.Void(); return(Start.Instance()); } catch (ClearRequiredException) { cr.Printer.InterruptReport(); cr.Document.Close(); return(cr.State); } catch (Exception e) { cr.Log.Warning(e); return(Instance()); } } if (paymentInfo is CreditPaymentInfo) { CreditPaymentInfo cpi = paymentInfo as CreditPaymentInfo; if (cpi.IsPaymentMade) { return(States.PrintEftPaymentAfterPE.Instance()); } } //Otherwise show remaining payment reqired to cashier String msg = String.Format("{0}\n{1}\t{2:C}", PosMessage.RECEIVE_PAYMENT, PosMessage.BALANCE, new Number(cr.Document.BalanceDue)); return(Instance(msg)); }
//Called from this, EnterNumber and Selling public static void GetCreditInstallments(CreditPaymentInfo creditInfo) { if (creditInfo.Amount == 0 && paymentInfo != null) { creditInfo.Amount = paymentInfo.Amount; } paymentInfo = creditInfo; if (cr.DataConnector.CurrentSettings.GetProgramOption(Setting.PromptCreditInstallments) == PosConfiguration.ON && !creditInfo.Credit.IsTicket && cr.IsAuthorisedFor(Authorizations.InstallOptAuth)) { cr.State = EnterInteger.Instance(PosMessage.INSTALLMENT_COUNT, 0, new StateInstance <int>(PayByCredit)); } else { cr.State = PayByCredit(0); } }
/// <summary> /// - Withdraw credit slips from register /// </summary> /// <param name="amount">withdraw amount</param> /// <returns>response from FPU</returns> public static IState WithdrawCreditSlipsFromRegister(decimal amount) { if (amount == 0) { throw new Exception(PosMessage.ZERO_DRAWER_OUT_ERROR); } Dictionary <int, ICredit> credits = cr.DataConnector.GetCredits(); ICredit defaultCredit = null; foreach (int key in credits.Keys) { defaultCredit = credits[key]; break; } CreditPaymentInfo creditWithdrawal = new CreditPaymentInfo(defaultCredit, amount); cr.Printer.Withdraw(creditWithdrawal.Amount, creditWithdrawal.Credit); cr.DataConnector.OnWithdrawal(creditWithdrawal.Amount, creditWithdrawal.Credit); return(Start.Instance()); }
public virtual void Pay(CreditPaymentInfo info) { cr.State = AlertCashier.Instance(cr.State.NotImplemented); }
public override void Pay(CreditPaymentInfo info) { int id = info.Id < 0 ? 0 : info.Id; WriteChar(id, PosKey.Credit); }
public override void Enter() { CreditPaymentInfo cpi = (CreditPaymentInfo)ie.Current; ProcessSelected((CreditPaymentInfo)cpi.Clone()); }
public override void Pay(CreditPaymentInfo info) { base.DownArrow(); }
public override void Pay(CreditPaymentInfo info) { return; }
public override void Pay(CreditPaymentInfo info) { cr.State = Payment.Instance(String.Empty); cr.State.Pay(info); }
public override void Pay(CreditPaymentInfo info) { Pay(info); }