Beispiel #1
0
        private void ButtonLangs_OnClick(object sender, RoutedEventArgs e)
        {
            if (e.OriginalSource is Button button && button.Tag is string tag)
            {
                PopupConfig.IsOpen = false;
                if (tag.Equals(GlobalData.Config.Lang))
                {
                    return;
                }

                Growl.Ask(new GrowlInfo
                {
                    Message           = Properties.Langs.Lang.ChangeLangAsk,
                    ShowDateTime      = false,
                    CancelStr         = Properties.Langs.Lang.Cancel,
                    ConfirmStr        = Properties.Langs.Lang.Confirm,
                    ActionBeforeClose = isConfirm =>
                    {
                        if (isConfirm)
                        {
                            GlobalData.Config.Lang = tag;
                            GlobalData.Save();
                            System.Diagnostics.Process.Start(Assembly.GetExecutingAssembly().Location);
                            Environment.Exit(0);
                        }

                        return(true);
                    }
                });
            }
        }
        private void ButtonLangs_OnClick(object sender, RoutedEventArgs e)
        {
            if (e.OriginalSource is Button button && button.Tag is string tag)
            {
                PopupConfig.IsOpen = false;
                if (tag.Equals(GlobalDataHelper <AppConfig> .Config.Lang))
                {
                    return;
                }

                Growl.Ask(Lang.ResourceManager.GetString("ChangeLanguage"), b =>
                {
                    if (!b)
                    {
                        return(true);
                    }

                    GlobalDataHelper <AppConfig> .Config.Lang = tag;
                    GlobalDataHelper <AppConfig> .Save();
                    LocalizationManager.Instance.CurrentCulture = new System.Globalization.CultureInfo(tag);
                    ConfigHelper.Instance.SetLang(GlobalDataHelper <AppConfig> .Config.Lang);
                    return(true);
                });
            }
        }
Beispiel #3
0
        private void ButtonLangs_OnClick(object sender, RoutedEventArgs e)
        {
            if (e.OriginalSource is Button button && button.Tag is string tag)
            {
                PopupConfig.IsOpen = false;
                if (tag.Equals(GlobalData.Config.Lang))
                {
                    return;
                }

                Growl.Ask(Lang.ResourceManager.GetString("ChangeLanguage"), b =>
                {
                    if (!b)
                    {
                        return(true);
                    }

                    GlobalData.Config.Lang = tag;
                    GlobalData.Save();
                    TranslationSource.Instance.Language = tag;
                    ((MainWindowViewModel)(DataContext)).SetFlowDirection();
                    return(true);
                });
            }
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (File.Exists(ProcedurePath + "Book/" + Novel.Name + ".txt"))
            {
                Growl.Error(new GrowlInfo
                {
                    Message  = "小说已存在,请勿重复操作!",
                    WaitTime = 3,
                    Token    = "InfoMsg"
                });
                Btn.IsChecked = false;
                return;
            }

            Btn.IsEnabled = false;
            new Task(() =>
            {
                string Url = $"http://www.biqudu.tv/modules/article/txtarticle.php?id={Novel.NovelId.Split('_')[1]}";
                var status = biqudu.Download(Url, Novel.Name + ".txt", ProcedurePath + "Book/");
                Dispatcher.Invoke(() =>
                {
                    Btn.IsEnabled = true;
                    Btn.IsChecked = false;
                    if (status)
                    {
                        Growl.Ask("下载成功,是否打开文件夹?", isConfirmed =>
                        {
                            if (isConfirmed)
                            {
                                //打开文件夹
                                System.Diagnostics.Process.Start(ProcedurePath + "Book/");
                            }
                            return(true);
                        }, "InfoMsg");
                    }
                    else
                    {
                        Growl.Error(new GrowlInfo
                        {
                            Message  = "很遗憾,你的网络太差了,失败了!",
                            WaitTime = 3,
                            Token    = "InfoMsg"
                        });
                    }
                });
            }).Start();
        }
Beispiel #5
0
 public Task <bool> Ask(string msg)
 {
     return(Task.Run(() =>
     {
         WaitForTokenLoaded();
         bool?result = null;
         App.Current.Dispatcher.Invoke(() =>
         {
             Growl.Ask(ParseMsg(msg), (_result) =>
             {
                 result = _result;
                 return true;
             }, Token);
         });
         while (result == null)
         {
             Thread.Sleep(STATE_CHECK_INTERVAL);
         }
         return result == true;
     }));
 }
Beispiel #6
0
        public static void DoAsk(RemoteVersionInfoGetter.Result result)
        {
            GrowlInfo gInfo = new GrowlInfo
            {
                WaitTime          = int.MaxValue,
                ConfirmStr        = App.Current.Resources["Update.UpdateNow"].ToString(),
                CancelStr         = App.Current.Resources["Update.Cancel"].ToString(),
                Message           = $"{App.Current.Resources["Update.HaveAUpdate"]}  v{result.Version}\n{result.Message}",
                Token             = MainWindowBus.TOKEN_PANEL_MAIN,
                ActionBeforeClose = (isConfirmed) =>
                {
                    if (isConfirmed)
                    {
                        try { Process.Start(result.UpdateUrl); } catch { }
                    }
                    return(true);
                }
            };

            Growl.Ask(gInfo);
        }
Beispiel #7
0
        public async Task Do(APIIndex index)
        {
            var result = await new NetReader().Read(index.MotdUrl)
                         .ContinueWith(task => task.Result.ToJson <Result>());

            SLogger <MOTDHandler> .Info(result.Message);

            if (result.ClickUrl != null)
            {
                Growl.Ask(new GrowlInfo()
                {
                    Message         = result.Message,
                    ShowCloseButton = true,
                    ConfirmStr      = result.GoBtnStr ?? "Go",
                    Token           = MainWindowBus.TOKEN_PANEL_MAIN
                });
            }
            else
            {
                MainWindowBus.Info(result.Message);
            }
        }
Beispiel #8
0
        private void ChangeLanguageMenu(object sender, RoutedEventArgs e)
        {
            MenuItem item = sender as MenuItem;

            Growl.Ask(new GrowlInfo
            {
                Message           = Properties.Langs.Lang.ChangeLangAsk,
                ShowDateTime      = false,
                CancelStr         = Properties.Langs.Lang.Cancel,
                ConfirmStr        = Properties.Langs.Lang.Confirm,
                ActionBeforeClose = isConfirm =>
                {
                    if (isConfirm)
                    {
                        GlobalData.Config.Lang = item.Tag.ToString();
                        GlobalData.Save();
                        System.Diagnostics.Process.Start(Assembly.GetExecutingAssembly().Location);
                        Environment.Exit(0);
                    }

                    return(true);
                }
            });
        }
Beispiel #9
0
 public static void Ask(string message, Func <bool, bool> callback)
 {
     Growl.Ask(App.Current.Resources[message]?.ToString() ?? message, callback, TOKEN_PANEL_MAIN);
 }
Beispiel #10
0
 public static void Ask(string message, Func <bool, bool> callback)
 {
     Growl.Ask(message, callback);
 }
Beispiel #11
0
 public void AskInApp(string message, Func<bool, bool> func) => Growl.Ask(message, func);
Beispiel #12
0
        public void showGrowlNotification(string NotificationKEY, bool isAvailableOrSuccess = false, params string[] param)
        {
            //Delete Confirm
            if (NotificationKEY.Equals(AppVariable.Delete_Confirm_KEY))
            {
                Growl.Warning(new GrowlInfo
                {
                    Message           = $"آیا برای حذف {param[1]} {param[0]} اطمینان دارید؟",
                    CancelStr         = "انصراف",
                    ConfirmStr        = "بله",
                    ShowDateTime      = false,
                    ActionBeforeClose = isConfirm =>
                    {
                        if (isConfirm)
                        {
                            switch (param[1])
                            {
                            case "مدرسه":
                                AddSchoolView.main.deleteSchool();
                                break;

                            case "دانش آموز":
                                AddStudentView.main.deleteStudent();
                                break;

                            case "کاربر":
                                AddUserView.main.deleteUser();
                                break;

                            case "حضورغیاب":
                                AttendancelistView.main.deleteAttendance();
                                break;

                            case "نمره":
                                QuestionsListView.main.deleteScore();
                                break;

                            case "گروه":
                                AddAzmonGroupView.main.deleteGroup();
                                break;

                            case "سوال":
                                AddQuestionsView.main.deleteGroup();
                                break;
                            }
                        }
                        return(true);
                    }
                });
            }
            //Reset Data Confirm
            else if (NotificationKEY.Equals(AppVariable.Reset_Data_Confirm_KEY))
            {
                Growl.Warning(new GrowlInfo
                {
                    Message      = $"آیا برای بازیابی {param[0]} اطمینان دارید؟",
                    CancelStr    = "انصراف",
                    ConfirmStr   = "بله",
                    ShowDateTime = false,

                    ActionBeforeClose = isConfirm =>
                    {
                        if (isConfirm)
                        {
                            if (param[0] == "تنظیمات برنامه")
                            {
                                SettingsView.main.resetConfig();
                            }
                            else
                            {
                                SettingsView.main.resetDatabase();
                            }
                        }
                        return(true);
                    }
                });
            }

            //Reset Data Deleted
            else if (NotificationKEY.Equals(AppVariable.Data_Reset_Deleted_KEY))
            {
                Growl.Ask(new GrowlInfo
                {
                    Message           = $"{param[0]} به حالت پیشفرض تغییر یافت، برنامه را دوباره راه اندازی کنید",
                    CancelStr         = "انصراف",
                    ConfirmStr        = "راه اندازی",
                    ShowDateTime      = false,
                    ActionBeforeClose = isConfirm =>
                    {
                        if (isConfirm)
                        {
                            Application.Current.Shutdown();
                            System.Windows.Forms.Application.Restart();
                        }
                        return(true);
                    }
                });
            }

            //Password Same
            else if (NotificationKEY.Equals(AppVariable.Same_Password_KEY))
            {
                Growl.Warning(new GrowlInfo {
                    Message = "رمز های عبور باید یکسان باشند", ShowDateTime = false
                });
            }

            //Delete Exist
            else if (NotificationKEY.Equals(AppVariable.Delete_Exist_KEY))
            {
                Growl.Warning(new GrowlInfo {
                    Message = $"نمی توان این {param[0]} را حذف کرد، ابتدا {param[1]} این {param[0]} را حذف کنید", ShowDateTime = false
                });
            }

            //Azmon
            else if (NotificationKEY.Equals(AppVariable.Azmon_KEY))
            {
                Growl.Warning(new GrowlInfo {
                    Message = "تعداد سوالات وارد شده بیشتر از سوالات موجود است", ShowDateTime = false
                });
            }

            //Fill All Data
            else if (NotificationKEY.Equals(AppVariable.Fill_All_Data_KEY))
            {
                Growl.Warning(new GrowlInfo {
                    Message = "لطفا تمام فیلدها را پر کنید", ShowDateTime = false
                });
            }

            //No Data
            else if (NotificationKEY.Equals(AppVariable.No_Data_KEY))
            {
                var navigationService = NavigationServiceProvider.GetNavigationServiceInstance();

                Growl.Error(new GrowlInfo
                {
                    Message           = "اطلاعاتی در پایگاه داده یافت نشد",
                    CancelStr         = "انصراف",
                    ConfirmStr        = "ثبت اطلاعات جدید",
                    ShowDateTime      = false,
                    ActionBeforeClose = isConfirm =>
                    {
                        if (isConfirm)
                        {
                            switch (param[0])
                            {
                            case "School":
                                AddSchoolView.main.tabc.SelectedIndex = 0;
                                break;

                            case "User":
                                AddUserView.main.tabc.SelectedIndex = 0;
                                break;

                            case "Student":
                                AddStudentView.main.tabc.SelectedIndex = 0;
                                break;

                            case "Attendance":
                                AttendancelistView.main.tabc.SelectedIndex = 0;
                                break;

                            case "Question":
                                navigationService.GetController <UserControls.UserControlsController>().AddStudent();
                                break;

                            case "Score":
                                QuestionsListView.main.tabc.SelectedIndex = 0;
                                break;

                            case "TopStudent":
                                navigationService.GetController <UserControls.UserControlsController>().Questionslist();
                                break;

                            case "Group":
                                AddAzmonGroupView.main.tabc.SelectedIndex = 0;
                                break;

                            case "AQuestions":
                                AddQuestionsView.main.tabc.SelectedIndex = 0;
                                break;
                            }
                        }
                        return(true);
                    }
                });
            }

            //Backup
            else if (NotificationKEY.Equals(AppVariable.Backup_KEY))
            {
                if (isAvailableOrSuccess)
                {
                    Growl.Success(new GrowlInfo {
                        Message = $"{param[0]} با موفقیت انجام شد", ShowDateTime = false
                    });
                }
                else
                {
                    Growl.Error(new GrowlInfo {
                        Message = $"{param[0]} با مشکل مواجه شد", ShowDateTime = false
                    });
                }
            }

            //Circular
            else if (NotificationKEY.Equals(AppVariable.Recived_Circular_KEY))
            {
                if (isAvailableOrSuccess)
                {
                    Growl.Success(new GrowlInfo {
                        Message = "تمامی بخشنامه ها با موفقیت دریافت شد", ShowDateTime = false
                    });
                }
                else
                {
                    Growl.Error(new GrowlInfo {
                        Message = "درحال حاظر سرور در دسترس نیست! لطفا در صورت فعال بودن، VPN خود را غیرفعال کنید", ShowDateTime = false
                    });
                }
            }

            //Update Data
            else if (NotificationKEY.Equals(AppVariable.Update_Data_KEY))
            {
                if (isAvailableOrSuccess)
                {
                    Growl.Success(new GrowlInfo {
                        Message = $"{param[1]} {param[0]} با موفقیت ویرایش شد", ShowDateTime = false
                    });
                }
                else
                {
                    Growl.Error(new GrowlInfo {
                        Message = $"ویرایش {param[1]} {param[0]} با خطا مواجه شد", ShowDateTime = false
                    });
                }
            }

            //Deleted
            else if (NotificationKEY.Equals(AppVariable.Deleted_KEY))
            {
                if (isAvailableOrSuccess)
                {
                    Growl.Success(new GrowlInfo {
                        Message = $"{param[1]} {param[0]} با موفقیت حذف شد", ShowDateTime = false
                    });
                }
                else
                {
                    Growl.Error(new GrowlInfo {
                        Message = $"حذف {param[1]} {param[0]} با خطا مواجه شد", ShowDateTime = false
                    });
                }
            }

            //Add Data
            else if (NotificationKEY.Equals(AppVariable.Add_Data_KEY))
            {
                if (isAvailableOrSuccess)
                {
                    Growl.Success(new GrowlInfo {
                        Message = $"{param[1]} {param[0]} با موفقیت ثبت شد", ShowDateTime = false
                    });
                }
                else
                {
                    Growl.Error(new GrowlInfo {
                        Message = $"ثبت {param[1]} {param[0]} با خطا مواجه شد", ShowDateTime = false
                    });
                }
            }

            //Update
            else if (NotificationKEY.Equals(AppVariable.Update_KEY))
            {
                if (isAvailableOrSuccess)
                {
                    Growl.Info(new GrowlInfo
                    {
                        Message           = $"نسخه جدید {param[0]} پیدا شد،همین حالا به آخرین نسخه بروزرسانی کنید",
                        CancelStr         = "انصراف",
                        ConfirmStr        = "دانلود",
                        ShowDateTime      = false,
                        ActionBeforeClose = isConfirm =>
                        {
                            if (isConfirm)
                            {
                                System.Diagnostics.Process.Start(param[1]);
                            }

                            return(true);
                        }
                    });
                }
                else
                {
                    Growl.Error(new GrowlInfo {
                        Message = $"شما از آخرین نسخه {AppVariable.getAppVersion} استفاده می کنید", ShowDateTime = false
                    });
                }
            }
        }