Example #1
0
        public static AddressWindow LoadAddressFormatFromFile(string path)
        {
            AddressWindow result = null;
            FileStream    file   = null;

            try
            {
                XmlSerializer serializer = new XmlSerializer(typeof(GlobalAddress.AddressWindow));
                file   = new FileStream(getFilePath(path), FileMode.Open, FileAccess.Read, FileShare.Read, 8, FileOptions.RandomAccess);
                result = (AddressWindow)serializer.Deserialize(file);
            }
            catch
            {
                if (file != null)
                {
                    file.Close();
                }
            }
            finally
            {
                if (file != null)
                {
                    file.Close();
                }
            }

            return(result);
        }
        private async void CheckoutClick(object sender, RoutedEventArgs e)
        {
            if (!totalMoneyText.Text.Contains("Total"))
            {
                return;
            }

            AddressWindow getAddress = new AddressWindow();

            getAddress.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner;

            Nullable <bool> dialogResult = getAddress.ShowDialog();

            MessageBoxResult onlinePayment = Xceed.Wpf.Toolkit.MessageBox.Show("Would you like to pay online ?",
                                                                               "onlinePayment", MessageBoxButton.YesNo);

            if (dialogResult == true)
            {
                Library.Models.Order newOrder = new Library.Models.Order();
                newOrder.UserId    = AuthenticatedUser.user.UserId;
                newOrder.Address   = getAddress.deliveryAddress;
                newOrder.Date      = string.Format("{0:yyyy/MM/dd HH:mm:ss}", DateTime.Now.ToString());
                newOrder.isArrived = 0;
                newOrder.Total     = totalMoney;

                if (onlinePayment == MessageBoxResult.Yes)
                {
                    string            getBalanceUrl  = ApiRoutes.Account.getCurrentBalance.Replace("{id}", AuthenticatedUser.user.UserId);
                    Response <double> currentBalance = await APIHelper.Instance.Get <Response <double> >(getBalanceUrl);

                    if (currentBalance.Result < totalMoney)
                    {
                        Xceed.Wpf.Toolkit.MessageBox.Show("You dont have enough money", "onlinePayment", MessageBoxButton.OKCancel);
                        return;
                    }
                    else
                    {
                        newOrder.isPaid = 1;
                        await makePaymentOnline(newOrder);
                    }
                }
                else
                {
                    newOrder.isPaid = 0;
                    await createOrderOnly(newOrder);
                }
            }
            else
            {
                return;
            }
        }