public void selectTime(string options)
        {
            try
            {
                if (ResultHandlers.ContainsKey(CurrentCommandCallbackId))
                {
                    mySavedHandler = ResultHandlers[CurrentCommandCallbackId];
                }

                if (!GetDefaults(options))
                {
                    return;
                }

                _dateTimePickerTask = new DateTimePickerTask
                {
                    Value = _dateTimePickerOptions.Value,
                    Step  = _dateTimePickerOptions.Step
                };

                _dateTimePickerTask.Completed += dateTimePickerTask_Completed;
                _dateTimePickerTask.Show(DateTimePickerTask.DateTimePickerType.Time);
            }
            catch (Exception e)
            {
                DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, e.Message), _callbackId);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Handles datetime picker result
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e">stores information about current captured image</param>
        private void dateTimePickerTask_Completed(object sender, DateTimePickerTask.DateTimeResult e)
        {
            if (e.Error != null)
            {
                DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR));
                return;
            }

            switch (e.TaskResult)
            {
            case TaskResult.OK:
                try
                {
                    long result = (long)e.Value.Value.ToUniversalTime().Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds;
                    if (!ResultHandlers.ContainsKey(CurrentCommandCallbackId))
                    {
                        ResultHandlers.Add(CurrentCommandCallbackId, mySavedHandler);
                    }
                    DispatchCommandResult(new PluginResult(PluginResult.Status.OK, result.ToString()), _callbackId);
                }
                catch (Exception ex)
                {
                    DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, "Datetime picker error. " + ex.Message), _callbackId);
                }
                break;

            case TaskResult.Cancel:
                DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, "Canceled."), _callbackId);
                break;
            }

            this.dateTimePickerTask = null;
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Triggers  special UI to select a date (day/month/year)
        /// </summary>
        public void selectDate(string options)
        {
            try {
                try
                {
                    var args = JSON.JsonHelper.Deserialize <string[]>(options);
                    _callbackId = args[args.Length - 1];
                    if (ResultHandlers.ContainsKey(CurrentCommandCallbackId))
                    {
                        mySavedHandler = ResultHandlers[CurrentCommandCallbackId];
                    }
                    string value = WPCordovaClassLib.Cordova.JSON.JsonHelper.Deserialize <string[]>(options)[0];
                    dateTimePickerOptions = new DateTimePickerOptions();
                    if (!String.IsNullOrEmpty(value))
                    {
                        dateTimePickerOptions.Value = FromUnixTime(long.Parse(value));
                    }

                    //this.dateTimePickerOptions = String.IsNullOrEmpty(options["value"]) ? new DateTimePickerOptions() :
                    //    WPCordovaClassLib.Cordova.JSON.JsonHelper.Deserialize<DateTimePickerOptions>(options);
                }
                catch (Exception ex)
                {
                    this.DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION, ex.Message));
                    return;
                }

                this.dateTimePickerTask  = new DateTimePickerTask();
                dateTimePickerTask.Value = dateTimePickerOptions.Value;

                dateTimePickerTask.Completed += this.dateTimePickerTask_Completed;
                dateTimePickerTask.Show(DateTimePickerTask.DateTimePickerType.Date);
            }
            catch (Exception e)
            {
                DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, e.Message));
            }
        }
Ejemplo n.º 4
0
        public ResilientFuncBuilder <TFunc, TResult> WhenResult(
            Func <TResult, bool> condition,
            Func <IResilientOperation <TResult>, TResult, Task> handler)
        {
            ResultHandlers.Add(async(op, result) =>
            {
                op.HandlerResult = HandlerResult.Unhandled;

                if (condition(result))
                {
                    await handler(op, result).ConfigureAwait(false);

                    if (op.HandlerResult == HandlerResult.Retry)
                    {
                        op.Handler._attemptsExhausted++;
                        op.Total._attemptsExhausted++;
                    }
                }

                return(op);
            });

            return(this);
        }
Ejemplo n.º 5
0
 public void AttachResultHandler(IResultHandler resultHandler)
 {
     ResultHandlers.Add(resultHandler);
 }