예제 #1
0
        private PaymentInfo PaymentWithBarcode(int paymentType)
        {
            PaymentInfo pi = null;

            switch (paymentType)
            {
            case 0:    //Continue selling
                break;

            case 1:    //Pay with cash
                pi = new CashPaymentInfo();
                break;

            case 2:    //Pay with check
                pi = new CheckPaymentInfo();
                break;

            default:     //between 3 and 9 is credit payment
                ICredit credit = cr.DataConnector.GetCredits()[paymentType - 2];
                if (credit != null)
                {
                    pi = new CreditPaymentInfo(credit);
                }
                else
                {
                    throw new Exception(PosMessage.PAYMENT_INVALID);
                }
                break;
            }

            return(pi);
        }
예제 #2
0
 public override void Pay(CheckPaymentInfo info)
 {
     if (input == null)
     {
         input = new Number(0);
     }
     info.Amount = input.ToDecimal();
     paymentInfo = info;
     cr.State    = EnterInteger.Instance(PosMessage.CHECK_ID,
                                         new StateInstance <int>(PayByCheck));
 }
        public ActionResult PostPaymentType(NewPayment newPayment)
        {
            var validator = new CheckPaymentInfo();

            if (validator.ValidatePayment(newPayment))
            {
                var paymentType = _connections.AddPaymentType(newPayment);
                return(Accepted(paymentType));
            }
            else
            {
                return(BadRequest("invalid input"));
            }
        }
예제 #4
0
 public override void Pay(CheckPaymentInfo info)
 {
     if (cr.Document.Customer != null &&
         cr.Document.Customer.Points > 0 &&
         cr.Document.Adjustments.Length == 0 &&
         !(cr.Document is ReturnDocument)
         )
     {
         Payment.TempPaymentMethod = info;
         decimal customerPointsPrice = cr.Document.PointPrices(cr.Document.Customer.Points);
         cr.State = EnterDecimal.Instance(String.Format("({0} PUAN)\t{1:N2}", cr.Document.Customer.Points, customerPointsPrice),
                                          new StateInstance <Decimal>(Payment.ApplyPointDiscount),
                                          new StateInstance(Payment.PayAfterPointDiscount));
         return;
     }
     cr.State = Payment.Instance(String.Empty);
     cr.State.Pay(info);
 }
예제 #5
0
파일: State.cs 프로젝트: serhatmorkoc/cepos
 public virtual void Pay(CheckPaymentInfo info)
 {
     cr.State = AlertCashier.Instance(cr.State.NotImplemented);
 }
예제 #6
0
 public override void Pay(CheckPaymentInfo info)
 {
     WriteChar(0, PosKey.Check);
 }
예제 #7
0
 public override void  Pay(CheckPaymentInfo info)
 {
     Operation(DIVIDE);
 }
예제 #8
0
 public override void Pay(CheckPaymentInfo info)
 {
     return;
 }
예제 #9
0
 public override void Pay(CheckPaymentInfo info)
 {
     Pay(info);
 }