コード例 #1
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            _restActions = new RestActions();

            SignUpButton.TouchUpInside += async(e, s) =>
            {
                var bounds = UIScreen.MainScreen.Bounds;

                // show the loading overlay on the UI thread using the correct orientation sizing
                _loadingOverlay = new LoadingOverlay(bounds, "Signing you up...");     // using field from step 2
                View.Add(_loadingOverlay);
                var canregister = CanRegister();

                if (canregister)
                {
                    //proceed to the registration logic
                    var user = await RegisterUserRest();

                    if (user?.USER_NAME != null)
                    {
                        _loadingOverlay.Hide();

                        MessagingActions.ShowAlert("Registration Successfull", "Welcome " + user.SURNAME + " Please login and begin ordering");
                        DismissViewController(true, null);     //close the view controller
                        return;
                    }
                    _loadingOverlay.Hide();
                    //MessagingActions.ShowAlert("Registration not Successfull", "Unable to register, please try again");
                }
                _loadingOverlay.Hide();
            };

            CancelButton.TouchUpInside += (e, s) => { DismissViewController(true, null); };

            #region  handle the return actions to clear the on screen keyboard properly
            //responders to handle keyboard clearing on textfields

            UserNameTextView.EditingDidEnd += HandleEditingDidEnd;
            UserNameTextView.Delegate       = new CatchEnterDelegate();

            SurNameTextView.EditingDidEnd += HandleEditingDidEnd;
            SurNameTextView.Delegate       = new CatchEnterDelegate();

            OtherNamesTextView.EditingDidEnd += HandleEditingDidEnd;
            OtherNamesTextView.Delegate       = new CatchEnterDelegate();

            EmailTextView.EditingDidEnd += HandleEditingDidEnd;
            EmailTextView.Delegate       = new CatchEnterDelegate();

            PhoneTextView.EditingDidEnd += HandleEditingDidEnd;
            PhoneTextView.Delegate       = new CatchEnterDelegate();

            PasswordTextField.EditingDidEnd += HandleEditingDidEnd;
            PasswordTextField.Delegate       = new CatchEnterDelegate();

            ConfirmPasswordTextField.EditingDidEnd += HandleEditingDidEnd;
            ConfirmPasswordTextField.Delegate       = new CatchEnterDelegate();
            #endregion
        }
コード例 #2
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            _restActions = new RestActions();
            _userModel   = new User();

            //UserNameTextView.Text = "fatelord";
            //PasswordTextView.Text = "andalite6";


            //set buton click actions
            BtnLogin.TouchUpInside += async(object sender, EventArgs e) => { await BtnLogin_TouchUpInside(sender); };

            UserNameTextView.EditingDidEnd += HandleEditingDidEnd;
            UserNameTextView.Delegate       = new CatchEnterDelegate();

            PasswordTextView.EditingDidEnd += HandleEditingDidEnd;
            PasswordTextView.Delegate       = new CatchEnterDelegate();

            /*UserNameTextView.ShouldReturn =(textField) => {
             *  textField.ResignFirstResponder();
             *  return true;
             * };
             *
             * UserNameTextView.ShouldReturn = (textField) => {
             *  PasswordTextView.ResignFirstResponder();
             *  return true;
             * };*/
        }
コード例 #3
0
        public TransactionTimelineResponse TransactionTimeline(int id)
        {
            string url     = _configManager.BaseUrl + "transaction/timeline/" + id;
            string seckey  = _configManager.SecKey;
            var    _client = new RestActions(_contentRootPath);

            return(_client.CallGetAction <TransactionTimelineResponse>(url, seckey));
        }
コード例 #4
0
        public ExportResponse ExportTransactions()
        {
            string url     = _configManager.BaseUrl + "transaction/export";
            string seckey  = _configManager.SecKey;
            var    _client = new RestActions(_contentRootPath);

            return(_client.CallGetAction <ExportResponse>(url, seckey));
        }
コード例 #5
0
        public void SetSelectedItem(MenuCategory category)
        {
            this._selectedCategory = category;
            CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;

            textInfo    = cultureInfo.TextInfo;
            restActions = new RestActions();
        }
コード例 #6
0
        public FetchResponse FetchTransaction(int id)
        {
            string url     = _configManager.BaseUrl + "transaction/" + id;
            string seckey  = _configManager.SecKey;
            var    _client = new RestActions(_contentRootPath);

            return(_client.CallGetAction <FetchResponse>(url, seckey));
        }
コード例 #7
0
        public TransactionTotalsResponse TransactionTotals()
        {
            string url     = _configManager.BaseUrl + "transaction/totals";
            string seckey  = _configManager.SecKey;
            var    _client = new RestActions(_contentRootPath);

            return(_client.CallGetAction <TransactionTotalsResponse>(url, seckey));
        }
コード例 #8
0
        public R ChargeAuthorization <R>(ChargeAuthorizationRequest payload)
        {
            string url     = _configManager.BaseUrl + "transaction/charge_authorization";
            string seckey  = _configManager.SecKey;
            var    _client = new RestActions(_contentRootPath);

            return(_client.CallPostAction <R, ChargeAuthorizationRequest>(payload, url, seckey));
        }
コード例 #9
0
        public VerifyResponse VerifyTransaction(string reference)
        {
            string url     = _configManager.BaseUrl + "transaction/verify/" + reference;
            string seckey  = _configManager.SecKey;
            var    _client = new RestActions(_contentRootPath);

            return(_client.CallGetAction <VerifyResponse>(url, seckey));
        }
コード例 #10
0
        public InitializeResponse InitializeTransaction(InitializeRequest payload)
        {
            string url     = _configManager.BaseUrl + "transaction/initialize";
            string seckey  = _configManager.SecKey;
            var    _client = new RestActions(_contentRootPath);

            return(_client.CallPostAction <InitializeResponse, InitializeRequest>(payload, url, seckey));
        }
コード例 #11
0
 public override void ViewDidLoad()
 {
     base.ViewDidLoad();
     Title        = "Our Menu";
     _restActions = new RestActions();
 }
コード例 #12
0
 public void ThenVerifyDelMethodTagIsPresentInMessage(string TagToVerify)
 {
     RestActions.DelRestMethod(TagToVerify);
 }
コード例 #13
0
 public void ThenVerifyPutMethodTagIsPresentInMessageForBody(string TagToVerify, string body)
 {
     RestActions.PutRestMethod(TagToVerify, body);
 }
コード例 #14
0
        public override async void ViewDidLoad()
        {
            base.ViewDidLoad();

            Title       = "My Cart";
            restActions = new RestActions();
            _minprice   = UserSession.MinPrice();
            var bounds = UIScreen.MainScreen.Bounds;

            if (_unpaidOrder == false)
            {
                _loadingOverlay = new LoadingOverlay(bounds, "Refreshing Cart...");
                View.Add(_loadingOverlay);
                cartItemList = await LoadCartItems(UserSession.GetUserId());

                _loadingOverlay.Hide(0);
            }

            _loadingOverlay = new LoadingOverlay(bounds, "Loading Locations and Delivery times...");
            View.Add(_loadingOverlay);
            locationStingList = await LoadLocationList();

            deliveryTimeList = await LoadDeliveryTimeList();

            _loadingOverlay.Hide();


#pragma warning disable 618
            _deliveryAddressActionSheet = new UIActionSheet("Select Delivery Address", null, cancelTitle: "Cancel", destroy: null, other: locationStingList);

            _deliveryTimeActionSheet = new UIActionSheet("Select Delivery Time", null, cancelTitle: "Cancel", destroy: null, other: deliveryTimeList);
#pragma warning restore 618

            //set minimum date
            DateTime date = DateTime.Now;
            currentNsDate = (NSDate)DateTime.SpecifyKind(date, DateTimeKind.Utc);
            deliveryDate  = currentNsDate.ToString(); //set as default date
            if (_unpaidOrder)
            {
                deliveryDate = _order.ORDER_DATE_TIME.ToString("dd/MM/yyyy"); //"09:35:37"

                deliveryTime = _order.ORDER_TIME;

                deliveryLocation    = _order.LOCATION.LOCATION_NAME;
                _selectedLocationId = _order.LOCATION_ID;

                NSDate orderNsDate = (NSDate)DateTime.SpecifyKind(_order.ORDER_DATE_TIME, DateTimeKind.Utc);
                ;

                //set the current values

                BtnDeliveryAddress.SetTitle(deliveryLocation, UIControlState.Normal);
                BtnDeliveryTime.SetTitle(deliveryTime, UIControlState.Normal);
                deliveryDatePicker.SetDate(orderNsDate, true);
                deliveryDatePicker.MaximumDate = orderNsDate;

                //btnViewItems.Hidden = true;
            }



            /*btnViewItems.TouchUpInside += (e, s) =>
             * {
             *  // create the view controller for your initial view - using storyboard, code, etc
             *  CartItemsViewController cartItemsViewController = this.Storyboard.InstantiateViewController(controllerName) as CartItemsViewController;
             *  if (cartItemsViewController != null)
             *  {
             *      cartItemsViewController.SetCartItems(cartItemList);
             *      NavigationController.PushViewController(cartItemsViewController, true);
             *  }
             * };*/

            BtnDeliveryAddress.TouchUpInside += (e, s) => { _deliveryAddressActionSheet.ShowInView(View); };

            BtnDeliveryTime.TouchUpInside += (e, s) => { _deliveryTimeActionSheet.ShowInView(View); };

            deliveryDatePicker.ValueChanged += (e, s) =>
            {
                deliveryDatePicker.MinimumDate = currentNsDate; //set minimum date to current date
                deliveryDate = deliveryDatePicker.Date.ToString();
            };

            _deliveryAddressActionSheet.Clicked += (btn_sender, args) =>
            {
                try
                {
                    if (args.ButtonIndex >= 0)
                    {
                        var selectedIndex = args.ButtonIndex;

                        deliveryLocation = locationStingList[selectedIndex];

                        BtnDeliveryAddress.SetTitle(deliveryLocation, UIControlState.Normal);

                        _selectedLocationId = GetLocationId(locationList, deliveryLocation);
                    }

                    Console.WriteLine("{0} Clicked", args.ButtonIndex);
                }
                catch (Exception e)
                {
                    AppCenterLog.Error("ERROR", e.Message, e);
                }
            };

            _deliveryTimeActionSheet.Clicked += (btn_sender, args) =>
            {
                try
                {
                    if (args.ButtonIndex >= 0)
                    {
                        var selectedIndex = args.ButtonIndex;

                        deliveryTime = deliveryTimeList[selectedIndex];
                        BtnDeliveryTime.SetTitle(deliveryTime, UIControlState.Normal);
                    }

                    Console.WriteLine("{0} Clicked", args.ButtonIndex);
                }
                catch (Exception e)
                {
                    AppCenterLog.Error("ERROR", e.Message, e);
                }
            };

            BtnPay.TouchUpInside += async(e, s) =>
            {
                //let us validate the data
                if (IsLocationSelected() && IsTimeSelected() && IsDateSelected())
                {
                    //check minimum purchase price
                    if (_total >= _minprice)
                    {
                        //create new order
                        if (_unpaidOrder)
                        {
                            //let us update the order and proceed
                            OpenCheckout(_order);
                        }
                        else
                        {
                            await CreateOrderFromCart();
                        }
                    }
                    else
                    {
                        var least = _minprice.ToString("C", CultureInfo.CreateSpecificCulture("en-US"));
                        MessagingActions.ShowAlert("Minimum Price",
                                                   $"Please make a purchase of at least {least} to be eligible for delivery");
                    }
                }
                else
                {
                    MessagingActions.ShowAlert("Incomplete Info", "Ensure delivery location,date and time are specified");
                }
            };
        }
コード例 #15
0
 public void SetSelectedItem(MenuCategoryItem categoryItem)
 {
     _categoryItem = categoryItem;
     _restActions  = new RestActions();
     _userId       = UserSession.GetUserId();
 }
コード例 #16
0
ファイル: Service.cs プロジェクト: visfleet/restful_client
        private Uri BuildServiceUri(Resource resource, RestActions action, int? id,
            Dictionary<string, string> queryParameters)
        {
            string relativeUri;

              switch (action)
              {
            case RestActions.Index:
              relativeUri = resource.IndexUrl();
              break;
            case RestActions.Show:
              relativeUri = resource.ShowUrl(id);
              break;
            case RestActions.New:
              relativeUri = resource.NewUrl();
              break;
            case RestActions.Create:
              relativeUri = resource.CreateUrl();
              break;
            case RestActions.Edit:
              relativeUri = resource.EditUrl(id);
              break;
            case RestActions.Update:
              relativeUri = resource.UpdateUrl(id);
              break;
            case RestActions.Delete:
              relativeUri = resource.DeleteUrl(id);
              break;
            default:
              relativeUri = resource.IndexUrl();
              break;
              }

              var uriBuilder = new UriBuilder(uri.Scheme, uri.Host, uri.Port,
                                      AddQueryParametersTo(relativeUri + ".xml", queryParameters));
              if (UserName.Length != 0)
              {
            uriBuilder.UserName = UserName;
              }
              if (Password.Length != 0)
              {
            uriBuilder.Password = Password;
              }
              return uriBuilder.Uri;
        }
コード例 #17
0
 public void SetOrderType(string orderType, string orderUrl)
 {
     _orderType  = orderType;
     _orderUrl   = orderUrl;
     restActions = new RestActions();
 }
コード例 #18
0
        public Task <CustomerServiceResponse> SendRequestAsync(CustomerRequest request, RestActions restAction, CancellationToken cancellationToken = default(CancellationToken))
        {
            var props         = channel.CreateBasicProperties();
            var correlationId = Guid.NewGuid().ToString();

            props.CorrelationId = correlationId;
            props.ReplyTo       = replyQueueName;
            request.Action      = restAction;
            var tcs       = new TaskCompletionSource <CustomerServiceResponse>();
            var formatter = new BinaryFormatter();

            Byte[] messageBytes;
            using (var stream = new MemoryStream())
            {
                formatter.Serialize(stream, request);
                messageBytes = stream.ToArray();
            }
            callbackMapper.TryAdd(correlationId, tcs);

            channel.BasicConsume(consumer: consumer, queue: replyQueueName, autoAck: true);
            channel.BasicPublish(exchange: "", routingKey: QUEUE_NAME, mandatory: false, basicProperties: props, body: messageBytes);


            cancellationToken.Register(() => callbackMapper.TryRemove(correlationId, out var tmp));
            return(tcs.Task);
        }