private void ValidateTruck() { try { SplashScreenHelper.SetState(Resources.StringResources.StateValidateTruck); var mgrClient = IoC.Instance.Resolve <IBaseManager <Client> >(); var clientcode = GetClientCode(); var client = mgrClient.Get(clientcode, GetModeEnum.Partial); if (client == null) { throw new DeveloperException("Can't find Client by key '{0}'.", clientcode); } if (string.IsNullOrEmpty(client.TruckCode_R)) { HasCriticalErrors = true; _criticalErrorMessages.Add(string.Format(Resources.StringResources.TruckNotValidated, GetClientCode())); } else { WMSEnvironment.Instance.TruckCode = client.TruckCode_R; } } catch (Exception ex) { HasCriticalErrors = true; var msg = Resources.StringResources.TruckValidatedError; _criticalErrorMessages.Add(msg); ExceptionPolicy.Instance.HandleException(new OperationException(msg, ex), "RclBackgroundProcess"); } }
private void Application_Startup(object sender, StartupEventArgs e) { // TODO: Don't display splash screen during startup if chosen by user _retryInterval = RETRY_INTERVAL; ManualResetEvent mre = new ManualResetEvent(false); // start splash screen thread Thread thread = new Thread( new ThreadStart( delegate() { SplashScreenHelper.SplashScreen = new Splash(); SplashScreenHelper.Show(); mre.Set(); System.Windows.Threading.Dispatcher.Run(); } )); thread.SetApartmentState(ApartmentState.STA); thread.IsBackground = true; thread.Start(); // wait until thread initializes everything and then check mre.WaitOne(); check(); }
void ActivateWindowCore() { if (Window != null && !Window.IsActive && Window.IsVisible && !SplashScreenHelper.ApplicationHasActiveWindow()) { Window.Activate(); } }
/// <summary> /// 处理分页 /// </summary> private void GetSource() { SplashScreenHelper.ShowLoadingScreen(); //获得当前页 int cur = pagerControl.CurrentPage; //获得每页显示的记录数 int rows = pagerControl.RowsPerPage; int totalCount = 10; Goods = goodsDel.PageQuery(cur, rows, ref totalCount); pagerControl.RecordCount = totalCount; pagerControl.TotalPage = totalCount / pagerControl.RowsPerPage + 1; try { product_grid.Rows.Clear(); foreach (var item in Goods) { Image image = Image.FromFile(@"Images\1.png"); product_grid.RowTemplate.Height = image.Height; product_grid.Rows.Add(item.status == 0 ? true : false, image, item.weizhi, item.bianhao, item.codigo, item.namecn, item.baozhuangshu, item.zhuangxiangshu, item.maijia, item.kucun, item.beizhu); } } catch (Exception ex) { Logger.Error(ex); } finally { SplashScreenHelper.CloseForm(); } }
private void HideProductCommandExec() { if (WPFMessageBox.Show(Resources.PageConfigurationProductsProductConfirmHide, Resources.PageConfigurationProductsProductConfirmHideTitle, MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.Cancel) == MessageBoxResult.No) { return; } try { this.SelectedProduct.IsHidden = true; this.UnitOfWork.ProductRepository.Update(this.SelectedProduct); this.UnitOfWork.Save(); if (NavigatorHelper.NavigationService == null) { return; } NavigatorHelper.NavigationService.Refresh(); } catch (SqlException ex) { SplashScreenHelper.CloseInstant(); int num = (int)WPFMessageBox.Show(Resources.ExceptionDbWarning + ex.Message, Resources.ExceptionDbWarningTitle, MessageBoxButton.OK, MessageBoxImage.Hand); ConfigurationViewModel.logger.Error("Database error: {0}", ex.Message); } catch (DataException ex) { SplashScreenHelper.CloseInstant(); int num = (int)WPFMessageBox.Show(Resources.ExceptionDbWarning + ex.Message, Resources.ExceptionDbWarningTitle, MessageBoxButton.OK, MessageBoxImage.Hand); ConfigurationViewModel.logger.Error("Database error: {0}", ex.Message); } }
static Window CreateSplashScreenWindow(object parameter) { Type windowType = SplashScreenHelper.FindParameter <Type>(parameter); Style windowStyle = SplashScreenHelper.FindParameter <Style>(parameter); IList <TimeSpan> fadeDurations = SplashScreenHelper.FindParameters <TimeSpan>(parameter); Window res; if (windowType != null) { res = (Window)Activator.CreateInstance(windowType); } else if (windowStyle != null) { res = new DXSplashScreen.SplashScreenWindow(); } else { res = DXSplashScreen.DefaultSplashScreenWindowCreator(parameter); } res.WindowStartupLocation = SplashScreenHelper.FindParameter <WindowStartupLocation>(parameter, WindowStartupLocation.CenterScreen); if (windowStyle != null) { res.Style = windowStyle; } if (fadeDurations.Any(x => x.TotalMilliseconds > 0) && !Interaction.GetBehaviors(res).Any(x => x is WindowFadeAnimationBehavior)) { Interaction.GetBehaviors(res).Add(new WindowFadeAnimationBehavior() { FadeInDuration = fadeDurations[0], FadeOutDuration = fadeDurations[1] }); } return(res); }
private void AddMemberCard(MemberCard memberCard) { try { if (AuthenticationService.Instance.AuthenticatedMember == null) { return; } Member byId = this.UnitOfWork.MemberRepository.GetById(AuthenticationService.Instance.AuthenticatedMember.Id); if (byId != null) { this.NewMemberCard.CreatedBy = byId; } this.UnitOfWork.MemberCardRepository.Add(memberCard); this.UnitOfWork.Save(); int num = (int)WPFMessageBox.Show(Resources.PageNewMembercardUpdateSuccess, Resources.PageNewMembercardUpdateSuccessTitle, MessageBoxButton.OK, MessageBoxImage.Asterisk); NewMembercardViewModel.logger.Info("MemberCard added successfully to existing member, card id: " + (object)memberCard.Id + ", member: " + (object)memberCard.Member.Id); NavigatorHelper.NavigationService.Refresh(); } catch (SqlException ex) { SplashScreenHelper.CloseInstant(); int num = (int)WPFMessageBox.Show(Resources.ExceptionDbWarning + ex.Message, Resources.ExceptionDbWarningTitle, MessageBoxButton.OK, MessageBoxImage.Hand); NewMembercardViewModel.logger.Error("Database error: {0}", ex.Message); if (NavigatorHelper.NavigationService == null) { return; } NavigatorHelper.NavigationService.Refresh(); } }
void OnLoadingChildChanged(bool loadChild = true) { if (ViewModelBase.IsInDesignMode) { LoadChildInDesignTime(); return; } Child = null; if ((LoadingChild == null && LoadingChildTemplate == null) || !IsInitialized) { return; } if (CanAutoShow()) { if (!IsVisible && IsLoadedEx) { CloseSplashScreen(); } else { ShowSplashScreen(); } } if (loadChild) { SplashScreenHelper.InvokeAsync(this, LoadChild); } }
void ReleaseResources(SplashScreenInfo container) { lock (instanceLocker) { instances.Remove(this); if (instances.Count == 0 && hasUnhandledExceptionSubscriver) { SplashScreenHelper.InvokeAsync(Application.Current, UnsubscribeUnhandledException, DispatcherPriority.Send, AsyncInvokeMode.AsyncOnly); } } var dispatcher = Dispatcher.FromThread(container.InternalThread); container.RelationInfo.Do(x => x.ParentClosed -= OnSplashScreenOwnerClosed); container.ReleaseResources(); if (Closed != null) { Closed.Invoke(this, EventArgs.Empty); } lock (internalLocker) { infosForRelease.Remove(container); } try { if (dispatcher != null) { dispatcher.BeginInvokeShutdown(DispatcherPriority.Normal); Dispatcher.Run(); } } catch { } }
void Initialize() { if (Container != null) { SplashScreenHelper.InvokeAsync(Container, () => LockContainer(Container, lockMode), DispatcherPriority.Send, AsyncInvokeMode.AllowSyncInvoke); } }
internal void InitializeOwner(object parameter) { RelationInfo = SplashScreenHelper.FindParameter <WindowContainer>(parameter, null).Return(x => x.CreateOwnerContainer(), null) ?? SplashScreenHelper.FindParameter <WindowRelationInfo>(parameter, null); Owner = RelationInfo.With(x => x.Parent); RelationInfo.Do(x => x.AttachChild(SplashScreen, false)); }
private void LoadCategories() { try { foreach (Category category in this.UnitOfWork.CategoryRepository.GetAll()) { this.Categories.Add(category); } if (this.Categories.Count <= 0) { return; } int min = this.Categories.Min <Category>((Func <Category, int>)(o => o.Order)); this.SelectedCategory = this.Categories.FirstOrDefault <Category>((Func <Category, bool>)(c => c.Order == min)); } catch (SqlException ex) { SplashScreenHelper.CloseInstant(); int num = (int)WPFMessageBox.Show(Resources.ExceptionDbWarning + ex.Message, Resources.ExceptionDbWarningTitle, MessageBoxButton.OK, MessageBoxImage.Hand); NewTicketViewModel.logger.Error("Database error: {0}", ex.Message); } catch (DataException ex) { SplashScreenHelper.CloseInstant(); int num = (int)WPFMessageBox.Show(Resources.ExceptionDbWarning + ex.Message, Resources.ExceptionDbWarningTitle, MessageBoxButton.OK, MessageBoxImage.Hand); NewTicketViewModel.logger.Error("Database error: {0}", ex.Message); } }
void PatchSplashScreenWindowStyle(Window splashScreen, bool hasOwner) { if (!SplashScreenHelper.PatchWindowStyle(splashScreen, hasOwner)) { splashScreen.SourceInitialized += OnSplashScreenSourceInitialized; } }
public NewTicketViewModel() { NewTicketViewModel.logger.Debug("VIEWMODEL LOADING: NewTicketViewModel"); AuthenticationService.Instance.SuspendService = false; this.OpenTickets = new ObservableCollection <TicketViewModel>(); this.Categories = new ObservableCollection <Category>(); this.UnitOfWork = new UnitOfWork(); this.LoadCategories(); SplashScreenHelper.ShowText(Resources.SplashScreenLoadingProducts); SplashScreenHelper.Close(); if (AuthenticationService.Instance.AuthenticatedMember == null) { LockScreenHelper.Show(); } this.CurrentTicket = new TicketViewModel() { Ticket = new Ticket(), Visibility = Visibility.Collapsed, NewTicket = true, ItemSelectedCommand = (ICommand) new RelayCommand(new Action(this.SelectedItemChanged)) }; this.OpenTickets.Add(this.CurrentTicket); this.OpenCheckoutSheet = this.UnitOfWork.CheckoutSheetRepository.GetLastOpenSheet(); if (this.OpenCheckoutSheet == null) { if (NavigatorHelper.NavigationService == null) { return; } NavigatorHelper.NavigationService.Navigate(new Uri("Views/NewTicket/NewCheckoutSheetPageView.xaml", UriKind.Relative)); NavigatorHelper.NavigationService.RemoveBackEntry(); } else { try { foreach (Ticket ticket in this.UnitOfWork.TicketRepository.GetOpenTicketsNoTracking()) { this.OpenTickets.Add(new TicketViewModel() { Ticket = ticket, TicketControlClicked = (ICommand) new RelayCommand <TicketViewModel>(new Action <TicketViewModel>(this.TicketSelected)) }); } } catch (SqlException ex) { SplashScreenHelper.CloseInstant(); int num = (int)WPFMessageBox.Show(Resources.ExceptionDbWarning + ex.Message, Resources.ExceptionDbWarningTitle, MessageBoxButton.OK, MessageBoxImage.Hand); NewTicketViewModel.logger.Error("Database error: {0}", ex.Message); } catch (DataException ex) { SplashScreenHelper.CloseInstant(); int num = (int)WPFMessageBox.Show(Resources.ExceptionDbWarning + ex.Message, Resources.ExceptionDbWarningTitle, MessageBoxButton.OK, MessageBoxImage.Hand); NewTicketViewModel.logger.Error("Database error: {0}", ex.Message); } NewTicketViewModel.logger.Debug("VIEWMODEL LOADED: NewTicketViewModel"); } }
private void ConfirmTicketCommandExec() { if (this.CurrentTicket == null || this.CurrentTicket.Ticket == null || this.CurrentTicket.Ticket.TicketLines.Count < 1) { int num1 = (int)WPFMessageBox.Show(Resources.MessageEmptyTicket, Resources.MessageEmptyTicketTitle, MessageBoxButton.OK, MessageBoxImage.Exclamation); } else { this.CurrentTicket.Ticket.CreationTime = DateTime.Now; this.OpenCheckoutSheet = this.UnitOfWork.CheckoutSheetRepository.GetLastOpenSheet(); if (this.OpenCheckoutSheet == null) { if (NavigatorHelper.NavigationService == null) { return; } NavigatorHelper.NavigationService.Navigate(new Uri("Views/NewTicket/NewCheckoutSheetPageView.xaml", UriKind.Relative)); NavigatorHelper.NavigationService.RemoveBackEntry(); } else { this.CurrentTicket.Ticket.CheckoutSheet = this.OpenCheckoutSheet; try { this.UnitOfWork.TicketRepository.Add(this.CurrentTicket.Ticket); this.UnitOfWork.Save(); NewTicketViewModel.logger.Info("New order created: " + (object)this.currentTicket.Ticket.Id); if (NavigatorHelper.NavigationService == null) { return; } NavigatorHelper.NavigationService.Refresh(); NavigatorHelper.NavigationService.RemoveBackEntry(); } catch (SqlException ex) { int num2 = (int)WPFMessageBox.Show(Resources.ExceptionDbWarning + ex.Message, Resources.ExceptionDbWarningTitle, MessageBoxButton.OK, MessageBoxImage.Hand); NewTicketViewModel.logger.Error("Database error: {0}", ex.Message); if (NavigatorHelper.NavigationService == null) { return; } NavigatorHelper.NavigationService.Refresh(); NavigatorHelper.NavigationService.RemoveBackEntry(); } catch (DataException ex) { SplashScreenHelper.CloseInstant(); int num2 = (int)WPFMessageBox.Show(Resources.ExceptionDbWarning + ex.Message, Resources.ExceptionDbWarningTitle, MessageBoxButton.OK, MessageBoxImage.Hand); NewTicketViewModel.logger.Error("Database error: {0}", ex.Message); if (NavigatorHelper.NavigationService == null) { return; } NavigatorHelper.NavigationService.Refresh(); NavigatorHelper.NavigationService.RemoveBackEntry(); } } } }
public void Release(bool activateWindowIfNeeded) { if (Container == null) { return; } Container.Initialized -= OnOwnerInitialized; var container = Container; Container = null; if (container.Window == null || lockMode == SplashScreenLock.None) { return; } SplashScreenHelper.InvokeAsync(container.Window, () => { if (activateWindowIfNeeded && !SplashScreenHelper.ApplicationHasActiveWindow()) { container.ActivateWindow(); } SplashScreenHelper.UnlockWindow(container); }, DispatcherPriority.Render); }
static Window CreateSplashScreenWindow(object parameter) { object[] parameters = (object[])parameter; bool useFadeEffect = (bool)parameters[0]; WindowArrangerContainer owner = (WindowArrangerContainer)parameters[1]; SplashScreenLock lockMode = (SplashScreenLock)parameters[2]; IList <TimeSpan> durations = SplashScreenHelper.FindParameters <TimeSpan>(parameter); FlowDirection flowDirection = SplashScreenHelper.FindParameter <FlowDirection>(parameter); Style windowStyle = SplashScreenHelper.FindParameter <Style>(parameter); var window = new LoadingDecoratorWindowFree(owner, lockMode); if (windowStyle != null) { window.Style = windowStyle; } else { window.ApplyDefaultSettings(); } window.SetCurrentValue(FlowDirectionProperty, flowDirection); if (useFadeEffect && durations.Any(x => x.TotalMilliseconds > 0)) { Interaction.GetBehaviors(window).Add(new WindowFadeAnimationBehavior() { FadeInDuration = durations[0], FadeOutDuration = durations[1] }); } return(window); }
public static void Main() { Thread thread1 = new Thread((ThreadStart)(() => { SplashScreenHelper.SplashScreen = new SplashScreenView(); SplashScreenHelper.Show(); Dispatcher.Run(); })); thread1.SetApartmentState(ApartmentState.STA); thread1.IsBackground = true; thread1.Start(); Thread thread2 = new Thread((ThreadStart)(() => { LockScreenHelper.LockScreen = new LockScreenView(); Dispatcher.Run(); })); thread2.SetApartmentState(ApartmentState.STA); thread2.IsBackground = true; thread2.Start(); if (!SingleInstance <App> .InitializeAsFirstInstance("POSInstance")) { return; } App app = new App(); app.InitializeComponent(); app.Run(); SingleInstance <App> .Cleanup(); }
private void LoadUsers() { try { this.MemberFilterList.Add(new Member() { FirstName = "*" }); foreach (Member member in this.UnitOfWork.MemberRepository.GetAll()) { this.MemberFilterList.Add(member); } } catch (SqlException ex) { SplashScreenHelper.CloseInstant(); int num = (int)WPFMessageBox.Show(Resources.ExceptionDbWarning + ex.Message, Resources.ExceptionDbWarningTitle, MessageBoxButton.OK, MessageBoxImage.Hand); ReportsViewModel.logger.Error("Database error: {0}", ex.Message); } catch (DataException ex) { SplashScreenHelper.CloseInstant(); int num = (int)WPFMessageBox.Show(Resources.ExceptionDbWarning + ex.Message, Resources.ExceptionDbWarningTitle, MessageBoxButton.OK, MessageBoxImage.Hand); ReportsViewModel.logger.Error("Database error: {0}", ex.Message); } }
public void Release(bool activateWindowIfNeeded) { if (Container == null) { return; } Container.Initialized -= OnOwnerInitialized; var container = Container; Container = null; if (lockMode == SplashScreenLock.None) { return; } SplashScreenHelper.InvokeAsync(container, () => { bool activateWindow = activateWindowIfNeeded && !SplashScreenHelper.ApplicationHasActiveWindow(); UnlockContainer(container); if (activateWindow) { container.ActivateWindow(); } else if (Keyboard.FocusedElement == null) { SplashScreenHelper.GetApplicationActiveWindow(false).Do(x => x.Focus()); } }, DispatcherPriority.Render); }
/// <summary> /// 加载时查询数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FrmHistotyOrder_Load(object sender, EventArgs e) { SplashScreenHelper.ShowLoadingScreen(); orderList = _orderDel.GetHistoricalOrders(); skinDataGridView.DataSource = orderList; SplashScreenHelper.CloseForm(); }
public override void Run() { base.Run(); var viewService = Container.Resolve <IViewService>(); var guaranteeExistViewModel = typeof(BPWorkflowListViewModel); foreach (var item in BLHelper.Registered) { // пытаемся найти ViewModel в стандартном namespace var assumeListViewModelName = string.Format("{0}.{1}ListViewModel", guaranteeExistViewModel.Namespace, item.ObjectType.Name); var assumeTreeViewModelName = string.Format("{0}.{1}TreeViewModel", guaranteeExistViewModel.Namespace, item.ObjectType.Name); var assumeObjectViewModelName = string.Format("{0}.{1}ViewModel", guaranteeExistViewModel.Namespace, item.ObjectType.Name); // если нет - берем базовый тип var listViewModelType = Type.GetType(assumeListViewModelName) ?? typeof(ObjectListViewModelBase <>).MakeGenericType(item.ObjectType); // для TreeView если нет - не берем базовый тип //var treeViewModelType = Type.GetType(assumeTreeViewModelName) ?? typeof(ObjectTreeViewModelBase<>).MakeGenericType(item.ObjectType); var treeViewModelType = Type.GetType(assumeTreeViewModelName); // если нет - берем базовый тип var objectViewModelType = Type.GetType(assumeObjectViewModelName) ?? typeof(ObjectViewModelBase <>).MakeGenericType(item.ObjectType); // регистриуем во viewservice viewService.Register(item.ObjectType.Name + ViewServiceRegisterSuffixListShow, listViewModelType); if (treeViewModelType != null) { viewService.Register(item.ObjectType.Name + ViewServiceRegisterSuffixTreeShow, treeViewModelType); } // регистрируем в IoC var interfaceType = typeof(IListViewModel <>).MakeGenericType(item.ObjectType); IoC.Instance.Register(interfaceType, listViewModelType); var interfaceObjectType = typeof(IObjectViewModel <>).MakeGenericType(item.ObjectType); IoC.Instance.Register(interfaceObjectType, objectViewModelType); } viewService.Register("ARTMASSINPUT", typeof(ArtMassInputViewModel)); viewService.Register(StringResources.Packing, typeof(IPackingViewModel)); //viewService.Register("OPENWCL", typeof(OpenWclViewCommand)); viewService.Register(StringResources.Chat, typeof(IChatViewModel)); viewService.Register(MainViewModel.ShowMainMenuAction, typeof(MainMenuTreeViewModel)); //Включаем кеширование wf BPWorkflowManager.SetObjectCachable(BatchcodeWorkflowCodes.ExecuteWorkflowCode); foreach (var wf in BatchcodeWorkflowCodes.WorkflowCodes) { BPWorkflowManager.SetObjectCachable(wf); } LoadApplicationResource("/wmsMLC.DCL.Content;Component/Themes/Generic.xaml"); SplashScreenHelper.SetState(StringResources.LoadCustomization); MainViewModel.LoadCustomization(); MainViewModel.ShowTree(); MainViewModel.LoadDxAssemblies(); }
/// <summary> /// Activates the extensions. This should be called only once. /// </summary> public virtual void LoadExtensions() { if (DesignMode) { return; } if (Extensions.Any()) { throw new InvalidOperationException("LoadExtensions() should only be called once. Subsequent calls should be made to RefreshExtensions(). "); } // We need to uninstall any outstanding extensions before loading ... PackageManager.RemovePendingPackagesAndExtensions(); splashScreen = SplashScreenHelper.GetSplashScreenManager(); UpdateSplashScreen("Discovering Extensions..."); AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; _catalog = GetCatalog(); CompositionContainer = new CompositionContainer(_catalog); try { IDataManager dataManager = DataManager.DefaultDataManager; CompositionContainer.ComposeParts(this, dataManager, this.SerializationManager); } catch (CompositionException compositionException) { Trace.WriteLine(compositionException.Message); throw; } UpdateSplashScreen("Loading Extensions..."); OnExtensionsActivating(EventArgs.Empty); ActivateAllExtensions(); OnExtensionsActivated(EventArgs.Empty); if (splashScreen != null) { splashScreen.Deactivate(); splashScreen = null; } // Set the DefaultDataManager progress handler. // It doesn’t seem like the solution is as simple as adding the // [Import(typeof(IProgressHandler), AllowDefault = true)] // Attribute to the ProgressHandler property on DataManager, because the ProgressHandler we are typically // using only export IStatusControl and we would require each IStatusControl to // [Export(typeof(DotSpatial.Data.IProgressHandler))] // To get that working. DataManager.DefaultDataManager.ProgressHandler = this.ProgressHandler; }
void SetChildParent() { if (IsReleased) { return; } SplashScreenHelper.SetParent(Child.Window, Parent.Handle); }
void SubscribeParentEvents(object parameter) { SplashScreenClosingMode closingMode = SplashScreenHelper.FindParameter <SplashScreenClosingMode>(parameter, SplashScreenClosingMode.OnParentClosed); if (closingMode == SplashScreenClosingMode.Default || closingMode == SplashScreenClosingMode.OnParentClosed) { ActiveInfo.RelationInfo.Do(x => x.ParentClosed += OnSplashScreenOwnerClosed); } }
void PatchSplashScreenWindowStyle(Window splashScreen, bool hasOwner, bool checkDispatcherAccess) { bool isAccessDenied = checkDispatcherAccess && (splashScreen.Dispatcher == null || !splashScreen.Dispatcher.CheckAccess()); if (isAccessDenied || !SplashScreenHelper.PatchWindowStyle(splashScreen, hasOwner)) { splashScreen.SourceInitialized += OnSplashScreenSourceInitialized; } }
void CloseSplashScreenOnLoading() { if (IsSplashScreenShown != null || !IsActive) { return; } SplashScreenHelper.InvokeAsync(this, CloseSplashScreen, DispatcherPriority.Render); }
protected override void CompleteInitializationOverride() { if (Child.Window.Dispatcher.CheckAccess()) { nextParentPos = childLocation == SplashScreenLocation.CenterContainer ? Parent.ControlStartupPosition : Parent.WindowStartupPosition; UpdateChildPosition(); } SplashScreenHelper.InvokeAsync(Parent.Window, () => UpdateNextParentRectAndChildPosition(true), DispatcherPriority.Normal, AsyncInvokeMode.AllowSyncInvoke); }
protected override void InitializeShell() { base.InitializeShell(); AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; Application.Current.Dispatcher.UnhandledException += Dispatcher_UnhandledException; Application.Current.MainWindow = (Window)Shell; ShowMainWindow(); SplashScreenHelper.CloseSplash(); }
public void ValidateWorker() { SplashScreenHelper.SetState(Resources.StringResources.StateValidateWorker); if (WMSEnvironment.Instance.AuthenticatedUser == null) { HasCriticalErrors = true; _criticalErrorMessages.Add("User is null."); return; } // получим работника привязанного к пользователю WMSEnvironment.Instance.WorkerId = null; try { var currentUser = WMSEnvironment.Instance.AuthenticatedUser.GetSignature(); using (var mgr = IoC.Instance.Resolve <IBaseManager <Worker> >()) { var filter = string.Format("USERCODE_R = '{0}'", currentUser); var workers = mgr.GetFiltered(filter).ToArray(); if (workers.Length == 1) { WMSEnvironment.Instance.WorkerId = workers[0].GetKey <decimal>(); } else if (workers.Length > 1) { WMSEnvironment.Instance.WorkerId = SelectWorker(filter); } if (!WMSEnvironment.Instance.WorkerId.HasValue) { HasCriticalErrors = true; _criticalErrorMessages.Add(string.Format(Resources.StringResources.WorkerNotValidated, currentUser)); } else { // Запишем работника в сессию if (!WMSEnvironment.Instance.SessionId.HasValue) { return; } using (var mgrSession = (IClientSessionManager)IoC.Instance.Resolve <IBaseManager <ClientSession> >()) { mgrSession.UpdateWorker(WMSEnvironment.Instance.SessionId.Value, WMSEnvironment.Instance.WorkerId); } } } } catch (Exception ex) { HasCriticalErrors = true; var msg = Resources.StringResources.WorkerValidatedError; _criticalErrorMessages.Add(msg); ExceptionPolicy.Instance.HandleException(new OperationException(msg, ex), "RclBackgroundProcess"); } }