public Result deserialize(String json)
        {
            if (json == null || json.Equals(""))
            {
                return null;
            }
            Result result = new Result();
            try
            {
                JObject jObject = JObject.Parse(json);
                result.Cookie = (String)jObject["cookie"];
                result.Title = (String)jObject["title"];
                result.HideCancel = (Boolean)jObject["hideCancel"];
                result.ShowBack = (Boolean)jObject["showBack"];
                JArray jArray = (JArray)jObject["resultParts"];

                foreach (JObject obj in jArray)
                {
                    int type = (int)obj["type"];
                    switch (type)
                    {
                        case 0:
                            result.ResultParts.Add((String)obj["message"]);
                            break;
                        case 1:
                            ResultList resultList = new ResultList();
                            resultList.MultiSelectionEnable = (Boolean)obj["isMultiSelection"];
                            resultList.Title = (String)obj["title"];
                            JArray records = (JArray)obj["records"];
                            if (records != null)
                            {
                                foreach (JObject jRecord in records)
                                {
                                    Record record = new Record();
                                    record.Code = (String)jRecord["code"];
                                    JArray cells = (JArray)jRecord["cells"];
                                    foreach (JObject jCell in cells)
                                    {
                                        Cell cell = new Cell();
                                        cell.Title = (String)jCell["title"];
                                        cell.Value = (String)jCell["value"];
                                        record.Cells.Add(cell);
                                    }
                                    resultList.Records.Add(record);
                                }
                            }
                            result.ResultParts.Add(resultList);
                            break;
                        case 2:
                            CommandsList commandsList = new CommandsList();
                            JArray jCommands = (JArray)obj["commandNames"];
                            if (jCommands != null)
                            {
                                foreach (JObject jCommand in jCommands)
                                {
                                    Command command = new Command();
                                    command.Name = (String)jCommand["name"];
                                    command.Code = (String)jCommand["code"];
                                    commandsList.Commands.Add(command);
                                }
                            }
                            result.ResultParts.Add(commandsList);
                            break;
                        case 3:
                            InputType inputType = new InputType();
                            inputType.Type = (int)obj["inputType"];
                            inputType.Name = (String)obj["name"];
                            inputType.Value = (String)obj["value"];
                            result.ResultParts.Add(inputType);
                            break;
                    }
                }
            }
            catch (Exception exception)
            {
                Console.Write(exception.StackTrace);
            }

            return result;
        }
Exemplo n.º 2
0
        private void addInputType(InputType inputType)
        {
            if (inputType.Type == InputType.INPUT_TYPE_PASSWORD)
            {
                PasswordBox passwordBox = new PasswordBox();
                passwordBox.Password = inputType.Value;
                ContentPanel.Children.Add(passwordBox);
                passwordBox.Focus();
                passwordBox.LostFocus += new RoutedEventHandler(TextChanged_Clicked);
                passwordBox.KeyDown += OnKeyDownHandler;
            } else if (inputType.Type == InputType.INPUT_TYPE_DATE)
            {
                DatePicker datePicker = new DatePicker();
                datePicker.Header = inputType.Name;
                datePicker.Value = toDateTime(inputType.Value);
                ContentPanel.Children.Add(datePicker);
                datePicker.Focus();
                datePicker.ValueChanged += Date_Changed;

            } else
            {
                TextBox textBox = new TextBox();
                textBox.Text = inputType.Value;
                InputScope Keyboard = new InputScope();
                InputScopeName ScopeName = new InputScopeName();
                switch (inputType.Type)
                {
                    case InputType.INPUT_TYPE_DATE:
                        ScopeName.NameValue = InputScopeNameValue.Date;
                        break;
                    case InputType.INPUT_TYPE_AMOUNT:
                        ScopeName.NameValue = InputScopeNameValue.CurrencyAmount;
                        break;
                    case InputType.INPUT_TYPE_EMAIL:
                        ScopeName.NameValue = InputScopeNameValue.EmailUserName;
                        break;
                    case InputType.INPUT_TYPE_NUMBER:
                        ScopeName.NameValue = InputScopeNameValue.Number;
                        break;
                    case InputType.INPUT_TYPE_PASSWORD:
                        ScopeName.NameValue = InputScopeNameValue.Password;
                        break;
                    case InputType.INPUT_TYPE_PHONE:
                        ScopeName.NameValue = InputScopeNameValue.TelephoneNumber;
                        break;
                    case InputType.INPUT_TYPE_URL:
                        ScopeName.NameValue = InputScopeNameValue.Url;
                        break;
                    case InputType.INPUT_TYPE_STRING:
                        ScopeName.NameValue = InputScopeNameValue.Text;
                        break;
                }
                Keyboard.Names.Add(ScopeName);
                textBox.InputScope = Keyboard;
                ContentPanel.Children.Add(textBox);
                textBox.Focus();
                textBox.LostFocus += new RoutedEventHandler(TextChanged_Clicked);
                textBox.KeyDown += OnKeyDownHandler;
            }
        }