コード例 #1
0
 private async void CloureClient_OnLoginError(string error, string errorType)
 {
     await Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
                               () =>
     {
         btnLogin.IsEnabled     = true;
         btnRegister.IsEnabled  = true;
         loginProgress.IsActive = false;
         CloureManager.ShowDialog(error);
     });
 }
コード例 #2
0
        private async void BtnSubscribe_Click(object sender, RoutedEventArgs e)
        {
            JsonObject priceObject = (JsonObject)((Button)sender).Tag;
            bool       res         = await CloureManager.RequestPurchase(priceObject);

            if (res)
            {
                btnSubscribePremium.Visibility = Visibility.Collapsed;
                grdPayment.Visibility          = Visibility.Collapsed;
                CloureManager.ShowDialog("Tu suscripción ha sido realizada!");
            }
        }
コード例 #3
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;
             * }
             */
        }
コード例 #4
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);
            grdLoader.Visibility  = Visibility.Collapsed;
            grdPayment.Visibility = Visibility.Collapsed;
            LoadLocales();

            CloureManager.SetLoaderUI(grdLoader);
            CloureManager.SetFrame(contentFrame);
            CloureManager.SetTitleControl(tbModuleTitle);

            txtCloureAccountType.Text = "Cloure " + accountType;

            txtUser.Text      = CloureManager.cloureClient.Name + " " + CloureManager.cloureClient.LastName;
            txtUserGroup.Text = CloureManager.cloureClient.Group;
            txtUserMail.Text  = CloureManager.cloureClient.Email;

            if (CloureManager.account_data_saved)
            {
                txtAccountAddOn.Content = "Olvidar sesión";
            }
            else
            {
                txtAccountAddOn.Visibility = Visibility.Collapsed;
            }

            await CloureManager.LoadAccountInfo();

            if (accountType != "free" && accountType != "test_free")
            {
                //Difference between days to expire subscription and advice days
                if (CloureManager.getVencimientoDias() <= CloureManager.getPaymentAdviceDays())
                {
                    //LoadCloureProducts(accountType);
                }
                btnSubscribePremium.Visibility = Visibility.Collapsed;
            }
            else
            {
                btnSubscribePremium.Visibility = Visibility.Visible;
            }

            if (CloureManager.getCompanyType() == "generic" || CloureManager.getCompanyType() == "printing_houses")
            {
                LoadModuleInfo("invoicing");
            }

            //Load Menu
            foreach (JsonValue jsonValue in CloureManager.cloureClient.modulesGroupsArr)
            {
                JsonObject groupItem   = jsonValue.GetObject();
                string     group_id    = groupItem.GetNamedString("Id");
                string     group_title = groupItem.GetNamedString("Title");
                string     group_icon  = groupItem.GetNamedString("Icon");

                JsonArray menuItems = groupItem.GetNamedArray("Items");

                CloureMenuGroup group_model = new CloureMenuGroup(group_id, group_title, group_icon);

                if (menuItems.Count > 1)
                {
                    for (uint j = 0; j < menuItems.Count; j++)
                    {
                        JsonObject menuItem = menuItems.GetObjectAt(j);

                        string menu_id       = menuItem.GetNamedString("Id");
                        string menu_title    = menuItem.GetNamedString("Title");
                        string menu_group_id = menuItem.GetNamedString("GroupId");

                        if (menu_group_id == group_id)
                        {
                            CloureMenuItem mnu = new CloureMenuItem(menu_id, menu_title, menu_group_id);
                            mnu.Click += Mnu_Click;
                            group_model.cloureMenuItems.Add(mnu);
                        }
                    }
                }
                else
                {
                    JsonObject menuItem   = menuItems.GetObjectAt(0);
                    string     menu_id    = menuItem.GetNamedString("Id");
                    string     menu_title = menuItem.GetNamedString("Title");
                    group_model.Name  = menu_id;
                    group_model.Title = menu_title;
                }
                group_model.Style      = (Style)Application.Current.Resources["CloureMenuGroup"];
                group_model.isExpanded = false;
                group_model.Click     += Group_model_Click;
                spMenuItems.Children.Add(group_model);
            }

            //Ad settings
            if (accountType == "test_free")
            {
                BannerAd.ApplicationId        = "3f83fe91-d6be-434d-a0ae-7351c5a997f1";
                BannerAd.AdUnitId             = "test";
                BannerAd.IsAutoRefreshEnabled = true;

                string myAppId    = "d25517cb-12d4-4699-8bdc-52040c712cab";
                string myAdUnitId = "test";

                myInterstitialAd = new InterstitialAd();
                myInterstitialAd.RequestAd(AdType.Video, myAppId, myAdUnitId);
                myInterstitialAd.AdReady       += MyInterstitialAd_AdReady;
                myInterstitialAd.ErrorOccurred += MyInterstitialAd_ErrorOccurred;
                myInterstitialAd.Completed     += MyInterstitialAd_Completed;
                myInterstitialAd.Cancelled     += MyInterstitialAd_Cancelled;

                setUIAds(false);
            }
            else if (accountType == "free")
            {
                string AppId        = "9phmgghfsgxp";
                string BannerUnitId = "1100035377";
                string VideoUnitId  = "1100035195";

                BannerAd.ApplicationId        = AppId;
                BannerAd.AdUnitId             = BannerUnitId;
                BannerAd.IsAutoRefreshEnabled = true;

                myInterstitialAd = new InterstitialAd();
                myInterstitialAd.RequestAd(AdType.Video, AppId, VideoUnitId);
                myInterstitialAd.AdReady       += MyInterstitialAd_AdReady;
                myInterstitialAd.ErrorOccurred += MyInterstitialAd_ErrorOccurred;
                myInterstitialAd.Completed     += MyInterstitialAd_Completed;
                myInterstitialAd.Cancelled     += MyInterstitialAd_Cancelled;

                setUIAds(false);
            }
            else
            {
                setUIAds(true);
            }

            //CloureManager.sendToast("Titulo", "Contenido");
            txtAccountAddOn.Click += TxtAccountAddOn_Click;
        }
コード例 #5
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();
            }
        }