コード例 #1
0
        public async Task <IActionResult> СheckoutPayment(OrderPaymentModel paymentModel)
        {
            if (ModelState.IsValid)
            {
                //TODO: validate if credit card is valid, balance is enough
                //model.Payment.CardNumber

                //2. Retrieve saved order on the previous steps
                var newOrderModel = _cache.Get <OrderModel>("NewOrder");

                newOrderModel.Payment = new PaymentModel
                {
                    AuthCode         = paymentModel.AuthCode,
                    CardNumber       = paymentModel.CardNumber,
                    CardExpiry       = paymentModel.CardExpiry,
                    CardSecurityCode = paymentModel.CardSecurityCode,
                    Total            = paymentModel.Total // TODO: remove - will bre recalculated
                };


                return(View("OrderConfirmation", newOrderModel)); //go to step of final payment
            }

            return(View(paymentModel));
        }
コード例 #2
0
        /// <summary>
        ///  save to the database , Opens the printing tab
        /// </summary>
        private void SaveTheOrder()
        {
            if (RemovedOrderProducts.Count == 0)
            {
                if (CustomerWillPayNowValue.Value > 0)
                {
                    OrderPaymentModel orderPayment = new OrderPaymentModel();
                    orderPayment.Staff = PublicVariables.Staff;
                    orderPayment.Store = PublicVariables.Store;
                    orderPayment.Paid  = CustomerWillPayNowValue.Value.Value;
                    orderPayment.Date  = DateTime.Now;

                    GlobalConfig.OrderPaymentValidator = new OrderPaymentValidator();

                    ValidationResult result = GlobalConfig.OrderPaymentValidator.Validate(orderPayment);

                    if (result.IsValid == false)
                    {
                        MessageBox.Show(result.Errors[0].ErrorMessage);
                    }
                    else
                    {
                        GlobalConfig.Connection.AddOrderPaymentToTheDatabase(Order, orderPayment);
                        if (MessageBox.Show("Do you want to print the order ?", "Printing...", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                        {
                            PrintTheOrder();
                        }
                    }
                }
                else if (StoreWillPayNowValue.Value > 0)
                {
                    GlobalConfig.Connection.StorePayment(Order, StoreWillPayNowValue.Value.Value);
                }

                SetInitialValues();
            }
            else
            {
                if (CustomerWillPayNowValue.Value > 0)
                {
                    OrderPaymentModel orderPayment = new OrderPaymentModel();
                    orderPayment.Staff = PublicVariables.Staff;
                    orderPayment.Store = PublicVariables.Store;
                    orderPayment.Paid  = CustomerWillPayNowValue.Value.Value;
                    orderPayment.Date  = DateTime.Now;

                    GlobalConfig.OrderPaymentValidator = new OrderPaymentValidator();

                    ValidationResult result = GlobalConfig.OrderPaymentValidator.Validate(orderPayment);

                    if (result.IsValid == false)
                    {
                        MessageBox.Show(result.Errors[0].ErrorMessage);
                    }
                    else
                    {
                        GlobalConfig.Connection.AddOrderPaymentToTheDatabase(Order, orderPayment);

                        if (MessageBox.Show("Do you want to print the order ?", "Printing...", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                        {
                            PrintTheOrder();
                        }
                    }
                }
                else if (StoreWillPayNowValue.Value > 0)
                {
                    GlobalConfig.Connection.StorePayment(Order, StoreWillPayNowValue.Value.Value);
                }

                GlobalConfig.Connection.UpdateOrder(Order, RemovedOrderProducts);



                SetInitialValues();
            }
        }
コード例 #3
0
ファイル: SellUC.xaml.cs プロジェクト: omarwasfi/W-SmartShop
        private void SaveTheOrder()
        {
            if (CheckIfTheCurrentOrderProductRecordsValid() == true)
            {
                bool valid = true;

                OrderModel order = new OrderModel();
                order.Customer           = (CustomerModel)CustomerSearchValue.SelectedItem;
                order.DateTimeOfTheOrder = DateTime.Now;
                order.Store         = PublicVariables.Store;
                order.Staff         = PublicVariables.Staff;
                order.OrderPayments = new List <OrderPaymentModel>();
                if (CustomerWillPayNowValue.Value.Value > 0)
                {
                    OrderPaymentModel orderPayment = new OrderPaymentModel();
                    orderPayment.Staff = PublicVariables.Staff;
                    orderPayment.Store = PublicVariables.Store;
                    orderPayment.Paid  = CustomerWillPayNowValue.Value.Value;
                    orderPayment.Date  = DateTime.Now;

                    GlobalConfig.OrderPaymentValidator = new OrderPaymentValidator();

                    ValidationResult result = GlobalConfig.OrderPaymentValidator.Validate(orderPayment);

                    if (result.IsValid == false)
                    {
                        MessageBox.Show(result.Errors[0].ErrorMessage);
                        valid = false;
                    }
                    else
                    {
                        order.OrderPayments.Add(orderPayment);
                    }
                }
                order.Details       = OrderDetailsValue.Text;
                order.OrderProducts = new List <OrderProductModel>();
                foreach (OrderProductRecordModel orderProductRecord in OrderProductRecords)
                {
                    // Validation
                    GlobalConfig.OrderProductRecordValidator = new OrderProductRecordValidator();

                    ValidationResult result = GlobalConfig.OrderProductRecordValidator.Validate(orderProductRecord);

                    if (result.IsValid == false)
                    {
                        MessageBox.Show(result.Errors[0].ErrorMessage);
                        valid = false;
                    }
                    else
                    {
                        order.OrderProducts.Add(orderProductRecord.OrderProduct);
                    }
                }

                GlobalConfig.OrderValidator = new OrderValidator();
                ValidationResult OrderResult = GlobalConfig.OrderValidator.Validate(order);
                if (OrderResult.IsValid == false)
                {
                    MessageBox.Show(OrderResult.Errors[0].ErrorMessage);
                    valid = false;
                }
                else
                {
                    if (valid == true)
                    {
                        order = GlobalConfig.Connection.AddOrderToTheDatabase(order, OrderProductRecords);

                        if (MessageBox.Show("Do you want to print the order ?", "Printing...", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                        {
                            PrintTheOrder(order);
                        }
                        else
                        {
                            ClearCustomer();
                            ClearProduct();
                            SetInitialValues();
                        }
                    }
                }
            }
        }