public MainWindow() : base(Gtk.WindowType.Toplevel) { Build(); Maximize(); //Передаем лебл QSMain.StatusBarLabel = labelStatus; this.Title = AutofacScope.Resolve<IApplicationInfo>().ProductTitle; QSMain.MakeNewStatusTargetForNlog(); Reference.RunReferenceItemDlg += OnRunReferenceItemDialog; QSMain.CheckServer(this); // Проверяем настройки сервера NavigationManager = AutofacScope.Resolve<GtkWindowsNavigationManager>(); var checker = new VersionCheckerService(MainClass.AppDIContainer); checker.RunUpdate(); //Пока такая реализация чтобы не плодить сущьностей. var connectionBuilder = AutofacScope.Resolve<MySqlConnectionStringBuilder>(); if(connectionBuilder.UserID == "root") { string Message = "Вы зашли в программу под администратором базы данных. У вас есть только возможность создавать других пользователей."; MessageDialog md = new MessageDialog(this, DialogFlags.DestroyWithParent, MessageType.Info, ButtonsType.Ok, Message); md.Run(); md.Destroy(); Users WinUser = new Users(); WinUser.Show(); WinUser.Run(); WinUser.Destroy(); return; } var userService = AutofacScope.Resolve<IUserService>(); var user = userService.GetCurrentUser(UoW); UsersAction.Sensitive = user.IsAdmin; salarycalculation1.Visible = user.IsAdmin; labelUser.LabelProp = user.Name; //Настраиваем календарь PrerareCalendars(); notebookMain.CurrentPage = 0; }
public MainWindow() : base(Gtk.WindowType.Toplevel) { Build(); //Передаем лебл QSMain.StatusBarLabel = labelStatus; ProgressBar = progresswidget1; this.Title = AutofacScope.Resolve <IApplicationInfo>().ProductTitle; QSMain.MakeNewStatusTargetForNlog(); QSMain.CheckServer(this); // Проверяем настройки сервера NavigationManager = AutofacScope.Resolve <TdiNavigationManager>(new TypedParameter(typeof(TdiNotebook), tdiMain)); tdiMain.WidgetResolver = AutofacScope.Resolve <ITDIWidgetResolver>(new TypedParameter(typeof(Assembly[]), new[] { Assembly.GetAssembly(typeof(OrganizationViewModel)) })); var checker = new VersionCheckerService(MainClass.AppDIContainer); checker.RunUpdate(); var userService = AutofacScope.Resolve <IUserService>(); var user = userService.GetCurrentUser(UoW); var databaseInfo = AutofacScope.Resolve <IDataBaseInfo>(); //Пока такая реализация чтобы не плодить сущностей. var connectionBuilder = AutofacScope.Resolve <MySqlConnectionStringBuilder>(); if (connectionBuilder.UserID == "root") { string Message = "Вы зашли в программу под администратором базы данных. У вас есть только возможность создавать других пользователей."; MessageDialog md = new MessageDialog(this, DialogFlags.DestroyWithParent, MessageType.Info, ButtonsType.Ok, Message); md.Run(); md.Destroy(); Users WinUser = new Users(); WinUser.Show(); WinUser.Run(); WinUser.Destroy(); return; } if (databaseInfo.IsDemo) { string Message = "Вы подключились к демонстрационному серверу. НЕ используете его для работы! " + "Введенные данные будут доступны другим пользователям.\n\nДля работы вам необходимо " + "установить собственный сервер или купить подписку на QS:Облако."; MessageDialog md = new MessageDialog(this, DialogFlags.DestroyWithParent, MessageType.Info, ButtonsType.Ok, Message); md.Run(); md.Destroy(); dialogAuthenticationAction.Sensitive = false; ActionSN.Sensitive = false; } bool isWindows = RuntimeInformation.IsOSPlatform(OSPlatform.Windows); if (isWindows) { this.KeyReleaseEvent += ClipboardWorkaround.HandleKeyReleaseEvent; } TDIMain.MainNotebook = tdiMain; this.KeyReleaseEvent += TDIMain.TDIHandleKeyReleaseEvent; UsersAction.Sensitive = user.IsAdmin; labelUser.LabelProp = user.Name; //Настраиваем новости var feeds = new List <NewsFeed>() { new NewsFeed("workwearsite", "Новости программы", "http://workwear.qsolution.ru/?feed=atom") }; var reader = AutofacScope.Resolve <FeedReader>(new TypedParameter(typeof(List <NewsFeed>), feeds)); reader.LoadReadFeed(); var newsmenuModel = new QS.NewsFeed.ViewModels.NewsMenuViewModel(reader); var newsmenu = new NewsMenuView(newsmenuModel); menubar1.Add(newsmenu); newsmenuModel.LoadFeed(); ReadUserSettings(); var EntityAutocompleteSelector = new JournalViewModelAutocompleteSelector <EmployeeCard, EmployeeJournalViewModel>(UoW, AutofacScope); entitySearchEmployee.ViewModel = new EntitySearchViewModel <EmployeeCard>(EntityAutocompleteSelector); entitySearchEmployee.ViewModel.EntitySelected += SearchEmployee_EntitySelected; NavigationManager = AutofacScope.Resolve <TdiNavigationManager>(new TypedParameter(typeof(TdiNotebook), tdiMain)); tdiMain.WidgetResolver = AutofacScope.Resolve <ITDIWidgetResolver>(new TypedParameter(typeof(Assembly[]), new[] { Assembly.GetAssembly(typeof(OrganizationViewModel)) })); NavigationManager.ViewModelOpened += NavigationManager_ViewModelOpened; #region Проверки и исправления базы //Если склады отсутствуют создаём новый, так как для версий ниже предприятия пользователь его создать не сможет. if (UoW.GetAll <Warehouse>().Count() == 0) { CreateDefaultWarehouse(); } //Если у базы еще нет Guid создаем его. using (var localScope = MainClass.AppDIContainer.BeginLifetimeScope()) { var baseParam = localScope.Resolve <BaseParameters>(); if (baseParam.Dynamic.BaseGuid == null) { baseParam.Dynamic.BaseGuid = Guid.NewGuid(); } } #endregion FeaturesService = AutofacScope.Resolve <FeaturesService>(); DisableFeatures(); HistoryMain.Enable(); }