コード例 #1
0
        public async void attemptLogin()
        {
            loginProgress.IsActive = true;
            btnLogin.IsEnabled     = false;
            btnRegister.IsEnabled  = false;

            string user = txtUser.Text;
            string pass = txtPass.Password;

            //bool loginResult = await CloureManager.login(user, pass, chKeepConnected.IsChecked.Value);

            List <CloureParam> cloureParams = new List <CloureParam>();

            cloureParams.Add(new CloureParam("module", "cloure_user"));
            cloureParams.Add(new CloureParam("topic", "login"));
            cloureParams.Add(new CloureParam("user", user));
            cloureParams.Add(new CloureParam("pass", pass));

            string res = await CloureManager.ExecuteAsync(cloureParams);

            JsonObject api_result = JsonObject.Parse(res);
            string     error      = api_result.GetNamedString("error");

            if (error == "")
            {
            }
            else
            {
                btnLogin.IsEnabled     = true;
                btnRegister.IsEnabled  = true;
                loginProgress.IsActive = false;
                CloureManager.ShowDialog(error);
            }

            /*
             * if (loginResult)
             * {
             *  Frame.Navigate(typeof(MainPage));
             * }
             * else
             * {
             *  btnLogin.IsEnabled = true;
             *  btnRegister.IsEnabled = true;
             *  loginProgress.IsActive = false;
             * }
             */
        }
コード例 #2
0
        private async void LoadModuleInfo(string ModuleName)
        {
            string namespace_name = "Cloure.Modules." + ModuleName;
            string class_name     = "mod_" + ModuleName;

            ActiveModule = ModuleName;

            ModuleInfo moduleInfo = new ModuleInfo();

            try
            {
                var module_obj = Activator.CreateInstance(Type.GetType(namespace_name + "." + class_name));

                if (module_obj is CloureModule)
                {
                    CloureModule module = (CloureModule)module_obj;

                    List <CloureParam> cloureParams = new List <CloureParam>();
                    cloureParams.Add(new CloureParam("topic", "get_module_info"));
                    cloureParams.Add(new CloureParam("module", ModuleName));

                    string api_response = await CloureManager.ExecuteAsync(cloureParams);

                    JsonObject ApiResponse = JsonObject.Parse(api_response);
                    moduleInfo.Title = ApiResponse.GetNamedString("title");
                    JsonArray globalCommandsArr = ApiResponse.GetNamedArray("global_commands");
                    JsonArray filtersArr        = ApiResponse.GetNamedArray("filters");

                    foreach (JsonValue value in globalCommandsArr)
                    {
                        JsonObject    jobj          = value.GetObject();
                        int           cmd_id        = (int)jobj.GetNamedNumber("Id");
                        string        cmd_name      = jobj.GetNamedString("Name");
                        string        cmd_title     = jobj.GetNamedString("Title");
                        GlobalCommand globalCommand = new GlobalCommand(cmd_id, cmd_name, cmd_title);
                        moduleInfo.globalCommands.Add(globalCommand);
                    }

                    JsonValue localesValue = ApiResponse.GetNamedValue("locales");
                    if (localesValue.ValueType != JsonValueType.Null)
                    {
                        moduleInfo.locales = ApiResponse.GetNamedObject("locales");
                    }

                    if (filtersArr.Count > 0)
                    {
                        foreach (JsonValue value in filtersArr)
                        {
                            JsonObject jobj           = value.GetObject();
                            string     filter_name    = jobj.GetNamedString("Name");
                            string     filter_title   = jobj.GetNamedString("Title");
                            string     filter_type    = jobj.GetNamedString("Type");
                            string     filter_default = jobj.GetNamedString("Default");

                            ModuleFilter moduleFilter = new ModuleFilter(filter_name, filter_title, filter_type, filter_default);

                            JsonArray filterItems = jobj.GetNamedArray("Items");
                            foreach (JsonValue item in filterItems)
                            {
                                JsonObject item_obj    = item.GetObject();
                                JsonValue  item_id     = item_obj.GetNamedValue("Id");
                                string     item_title  = item_obj.GetNamedString("Title");
                                string     item_id_str = "";
                                if (item_id.ValueType.ToString() == "String")
                                {
                                    item_id_str = item_id.GetString();
                                }
                                if (item_id.ValueType.ToString() == "Number")
                                {
                                    item_id_str = item_id.GetNumber().ToString();
                                }

                                string item_title_str = item_title.ToString();

                                ModuleFilterItem moduleFilterItem = new ModuleFilterItem(item_id_str, item_title_str);
                                moduleFilter.AddItem(moduleFilterItem);
                            }

                            moduleInfo.moduleFilters.Add(moduleFilter);
                        }
                    }

                    //Core.Core.ModuleInfo = moduleInfo;
                    CloureManager.SetModuleInfo(moduleInfo);
                    module.OnModuleCreated();
                }
                else
                {
                    var dialog = new MessageDialog("Module " + ModuleName + " doesn't implement CloureModule interface");
                    await dialog.ShowAsync();
                }
            }
            catch (Exception e)
            {
                var dialog = new MessageDialog(e.Message);
                await dialog.ShowAsync();
            }
        }