void SearchEmployee_EntitySelected(object sender, EntitySelectedEventArgs e) { MainTelemetry.AddCount("SearchEmployeeToolBar"); var id = DomainHelper.GetId(e.Entity); DialogViewModelBase after = null; if (cnbOpenInWindow.Active) { IPage replaced; if (NavigationManager.CurrentPage?.ViewModel is EmployeeViewModel) { replaced = NavigationManager.CurrentPage; } else { replaced = NavigationManager.IndependentPages.Reverse().FirstOrDefault(x => x.ViewModel is EmployeeViewModel); } if (replaced != null) { IPage last = null; foreach (var page in NavigationManager.TopLevelPages) { if (page == replaced) { after = last?.ViewModel; break; } last = page; } NavigationManager.AskClosePage(replaced); } } NavigationManager.OpenViewModel <EmployeeViewModel, IEntityUoWBuilder>(after, EntityUoWBuilder.ForOpen(id)); }
protected void OnAction7Activated(object sender, EventArgs e) { MainTelemetry.AddCount("MeasurementUnits"); tdiMain.OpenTab(OrmReference.GenerateHashName <MeasurementUnits>(), () => new OrmReference(typeof(MeasurementUnits)) ); }
protected void OnActionRegulationDocActivated(object sender, EventArgs e) { MainTelemetry.AddCount("RegulationDoc"); tdiMain.OpenTab(OrmReference.GenerateHashName <RegulationDoc>(), () => new OrmReference(typeof(RegulationDoc)) ); }
void NavigationManager_ViewModelOpened(object sender, ViewModelOpenedEventArgs e) { if (e.ViewModel != null) { MainTelemetry.AddCount(e.ViewModel.GetType().Name.Replace("ViewModel", "")); } }
protected void OnActionUpdateActivated(object sender, EventArgs e) { MainTelemetry.AddCount("CheckUpdate"); using (var scope = MainClass.AppDIContainer.BeginLifetimeScope()) { var updater = scope.Resolve <ApplicationUpdater>(); updater.StartCheckUpdate(UpdaterFlags.ShowAnyway, scope); } }
protected void OnAction11Activated(object sender, EventArgs e) { MainTelemetry.AddCount("ReportStockAllWear"); workwear.ReportsDlg.StockAllWearDlg stockAllWearDlg = new workwear.ReportsDlg.StockAllWearDlg(); tdiMain.OpenTab( QSReport.ReportViewDlg.GenerateHashName(stockAllWearDlg), () => new QSReport.ReportViewDlg(stockAllWearDlg) ); }
protected void OnUsersActionActivated(object sender, EventArgs e) { MainTelemetry.AddCount("OpenUsers"); Users winUsers = new Users(); winUsers.Show(); winUsers.Run(); winUsers.Destroy(); }
protected void OnAboutActionActivated(object sender, EventArgs e) { MainTelemetry.AddCount("RunAboutDialog"); using (var local = AutofacScope.BeginLifetimeScope()) { var about = local.Resolve <AboutView>(); about.Run(); about.Destroy(); } }
protected void OnActionAmountEmployeeGetWearActivated(object sender, EventArgs e) { MainTelemetry.AddCount("ReportAmountEmployeeGetWear"); AmountEmployeeGetWearDlg widget = new AmountEmployeeGetWearDlg("AmountEmployeeGetWear", "Количество сотрудников получивших СИЗ"); tdiMain.OpenTab( QSReport.ReportViewDlg.GenerateHashName(widget), () => new QSReport.ReportViewDlg(widget) ); }
protected void OnAction10Activated(object sender, EventArgs e) { MainTelemetry.AddCount("ReportWearStatement"); WearStatement widget = new WearStatement(); tdiMain.OpenTab( QSReport.ReportViewDlg.GenerateHashName(widget), () => new QSReport.ReportViewDlg(widget) ); }
protected void OnActionAdminGuideActivated(object sender, EventArgs e) { MainTelemetry.AddCount("OpenAdminGuide"); try { System.Diagnostics.Process.Start("admin-guide.pdf"); } catch (System.ComponentModel.Win32Exception ex) { AutofacScope.Resolve <IInteractiveMessage>().ShowMessage(ImportanceLevel.Error, $"При открытии PDF файла с документацией произошла ошибка:\n{ex.Message}\n" + "Возможно на компьютере не установлена или неисправна программа для открытия PDF"); } }
protected void OnActionBaseSettingsActivated(object sender, EventArgs e) { MainTelemetry.AddCount("DataBaseSettings"); NavigationManager.OpenViewModel <DataBaseSettingsViewModel>(null); }
protected void OnDialogAuthenticationActionActivated(object sender, EventArgs e) { MainTelemetry.AddCount("ChangeUserPassword"); QSMain.User.ChangeUserPassword(this); }
protected void OnActionYouTubeActivated(object sender, EventArgs e) { MainTelemetry.AddCount("youtube.com"); System.Diagnostics.Process.Start("https://www.youtube.com/channel/UC4U9Rzp-yfRgWd2R0f4iIGg"); }
protected void OnActionTwitterActivated(object sender, EventArgs e) { MainTelemetry.AddCount("twitter.com"); System.Diagnostics.Process.Start("https://twitter.com/QSolutionRu"); }
protected void OnActionOdnoklasnikiActivated(object sender, EventArgs e) { MainTelemetry.AddCount("ok.ru"); System.Diagnostics.Process.Start("https://ok.ru/qualitysolution"); }
protected void OnActionVKActivated(object sender, EventArgs e) { MainTelemetry.AddCount("vk.com"); System.Diagnostics.Process.Start("https://vk.com/qualitysolution"); }
protected void OnActionOpenReformalActivated(object sender, EventArgs e) { MainTelemetry.AddCount("OpenReformal.ru"); System.Diagnostics.Process.Start("http://qs-workwear.reformal.ru/"); }
protected void OnActionHistoryActivated(object sender, EventArgs e) { MainTelemetry.AddCount("RunChangeLogDlg"); QSMain.RunChangeLogDlg(this); }
protected void OnActionPayActivated(object sender, EventArgs e) { MainTelemetry.AddCount("pay.qsolution.ru"); System.Diagnostics.Process.Start("http://pay.qsolution.ru/"); }
protected void OnActionSNActivated(object sender, EventArgs e) { MainTelemetry.AddCount("EditSerialNumber"); NavigationManager.OpenViewModel <SerialNumberViewModel>(null); }
public static void Main(string[] args) { UnhandledExceptionHandler unhandledExceptionHandler = new UnhandledExceptionHandler(); try { WindowStartupFix.WindowsCheck(); Application.Init(); QSMain.GuiThread = System.Threading.Thread.CurrentThread; GtkGuiDispatcher.GuiThread = System.Threading.Thread.CurrentThread; var builder = new ContainerBuilder(); AutofacStartupConfig(builder); startupContainer = builder.Build(); unhandledExceptionHandler.UpdateDependencies(startupContainer); unhandledExceptionHandler.SubscribeToUnhandledExceptions(); } catch (MissingMethodException ex) when(ex.Message.Contains("System.String System.String.Format")) { WindowStartupFix.DisplayWindowsOkMessage("Версия .Net Framework должна быть не ниже 4.6.1. Установите более новую платформу.", "Старая версия .Net"); return; } catch (Exception fallEx) { if (WindowStartupFix.IsWindows) { WindowStartupFix.DisplayWindowsOkMessage(fallEx.ToString(), "Критическая ошибка"); } else { Console.WriteLine(fallEx); } logger.Fatal(fallEx); return; } ILifetimeScope scopeLoginTime = startupContainer.BeginLifetimeScope(); // Создаем окно входа Login LoginDialog = new Login(); LoginDialog.Logo = Gdk.Pixbuf.LoadFromResource("workwear.icon.logo.png"); LoginDialog.SetDefaultNames("workwear"); LoginDialog.DefaultLogin = "******"; LoginDialog.DefaultServer = "demo.qsolution.ru"; LoginDialog.DefaultConnection = "Демонстрационная база"; Login.ApplicationDemoServer = "demo.qsolution.ru"; LoginDialog.DemoMessage = "Для подключения к демонстрационному серверу используйте следующие настройки:\n" + "\n" + "<b>Сервер:</b> demo.qsolution.ru\n" + "<b>Пользователь:</b> demo\n" + "<b>Пароль:</b> demo\n" + "\n" + "Для установки собственного сервера обратитесь к документации."; Login.CreateDBHelpTooltip = "Инструкция по установке сервера MySQL"; Login.CreateDBHelpUrl = "http://doc.qsolution.ru/workwear/" + new ApplicationVersionInfo().Version.ToString(2) + "/install.html#InstallDBServer"; LoginDialog.GetDBCreator = scopeLoginTime.Resolve <IDBCreator>; LoginDialog.UpdateFromGConf(); ResponseType LoginResult; LoginResult = (ResponseType)LoginDialog.Run(); if (LoginResult == ResponseType.DeleteEvent || LoginResult == ResponseType.Cancel) { return; } LoginDialog.Destroy(); scopeLoginTime.Dispose(); QSSaaS.Session.StartSessionRefresh(); //Прописываем системную валюту CurrencyWorks.CurrencyShortFomat = "{0:C}"; CurrencyWorks.CurrencyShortName = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol; CreateBaseConfig(); //Настройка базы AppDIContainer = startupContainer.BeginLifetimeScope(AutofacClassConfig); //Создаем постоянный контейнер unhandledExceptionHandler.UpdateDependencies(AppDIContainer); //Настройка удаления Configure.ConfigureDeletion(); #if !DEBUG //Инициализируем телеметрию var applicationInfo = new ApplicationVersionInfo(); MainTelemetry.Product = applicationInfo.ProductName; MainTelemetry.Edition = applicationInfo.Modification; MainTelemetry.Version = applicationInfo.Version.ToString(); MainTelemetry.IsDemo = Login.ApplicationDemoServer == QSMain.connectionDB.DataSource; var appConfig = QSMachineConfig.MachineConfig.ConfigSource.Configs["Application"]; if (appConfig != null) { MainTelemetry.DoNotTrack = appConfig.GetBoolean("DoNotTrack", false); } MainTelemetry.StartUpdateByTimer(600); #else MainTelemetry.DoNotTrack = true; #endif //Запускаем программу MainWin = new MainWindow(); MainWin.Title += string.Format(" (БД: {0})", LoginDialog.SelectedConnection); if (QSMain.User.Login == "root") { return; } MainWin.Show(); Application.Run(); if (!MainTelemetry.SendingError) { MainTelemetry.SendTimeout = TimeSpan.FromSeconds(2); MainTelemetry.SendTelemetry(); } QSSaaS.Session.StopSessionRefresh(); AppDIContainer.Dispose(); startupContainer.Dispose(); }
protected void OnActionSiteActivated(object sender, EventArgs e) { MainTelemetry.AddCount("OpenSite"); System.Diagnostics.Process.Start("http://workwear.qsolution.ru/?utm_source=qs&utm_medium=app_workwear&utm_campaign=help_open_site"); }