/// <summary> /// Creation of child form. Can be used from outside to pass some Guid of entity and number to newly created forms. /// </summary> /// <param name="formType">exact type of form</param> /// <param name="id">Guid of entity</param> /// <param name="parameters">input parameters passed to the newly created form</param> public ChildForm OpenChildForm(Type formType, List <KeyValuePair <string, object> > parameters, Guid id = default(Guid)) { ChildForm form = null; if (typeof(ChildForm).IsAssignableFrom(formType)) { var forms = GetListChildForm(formType); //search int indexById = GetFormIndex(formType.Name, id); if (indexById >= 0 && forms.Count > 0) // is open { form = forms[indexById]; } if (form != null) { form.Activate(); } else //create new { int index = FindOpenForm(formType.Name, true); if (formType == typeof(ReleaseNoteNewEditXtraForm) && index >= 0)// this type form is open in edit mode { if (id == default(Guid)) { string text = Program.LanguageManager.GetString(StringResources.MainWindow_CloseEditingReleaseNote); notify.ShowWarning(text, ""); form = forms[index]; form.Activate(); } else { string text = Program.LanguageManager.GetString(StringResources.MainWindow_OpenReleaseNoteReadOnly); if (notify.ShowYesNo(text, "")) { form = ShowChildForm(formType, parameters, false); } } } else { form = ShowChildForm(formType, parameters, true); } } } else { var e = new ApplicationException(String.Format("Could not create child form {0} because not of child type.", formType.Name)); log.Error(e.Message); throw e; } return(form); }
public void Execute() { if (notify.ShowYesNo( Program.LanguageManager.GetString(StringResources.Joint_WithdrawQuestion), Program.LanguageManager.GetString(StringResources.Joint_WithdrawQuestionHeader))) { try { viewModel.JointDisconnection(); viewModel.FirstElement = null; viewModel.SecondElement = null; viewModel.Joint.FirstElement = null; viewModel.Joint.SecondElement = null; viewModel.JointConstructionStatus = Domain.Entity.Construction.JointStatus.Withdrawn; repo.BeginTransaction(); repo.RepoJoint.SaveOrUpdate(viewModel.Joint); repo.Commit(); repo.RepoJoint.Evict(viewModel.Joint); viewModel.ModifiableView.IsModified = false; } catch (RepositoryException ex) { log.Error(ex.Message); notify.ShowFailure(ex.InnerException.Message, ex.Message); } } }
public void Execute() { if (viewModel.Spool.IsAvailableToJoint && viewModel.Spool.ConstructionStatus != PartConstructionStatus.Welded) { if (notify.ShowYesNo( Program.LanguageManager.GetString(StringResources.Spool_DeactivationQuestion), Program.LanguageManager.GetString(StringResources.Spool_DeactivationQuestionHeader))) { try { viewModel.PipeLength = viewModel.PipeLength + viewModel.SpoolLength; viewModel.Spool.IsActive = false; viewModel.ModifiableView.IsModified = true; viewModel.ModifiableView.UpdateState(); notify.ShowSuccess( string.Concat(Program.LanguageManager.GetString( StringResources.Spool_Deactivated), viewModel.SpoolNumber), Program.LanguageManager.GetString( StringResources.Spool_DeactivatedHeader)); log.Info(string.Format("The Spool #{0}, id:{1} has been deactivated.", viewModel.Pipe.Number, viewModel.Pipe.Id)); } catch (RepositoryException ex) { log.Error(ex.Message); notify.ShowFailure(ex.InnerException.Message, ex.Message); } } else { //Refresh property so that binded control become unchecked viewModel.SpoolIsActive = false; viewModel.SpoolIsActive = true; } } else { notify.ShowInfo( Program.LanguageManager.GetString(StringResources.Message_DeactivationConnectedSpool), Program.LanguageManager.GetString(StringResources.Message_DeactivationConnectedSpoolHeader)); //Refresh property so that binded control become unchecked viewModel.SpoolIsActive = false; viewModel.SpoolIsActive = true; } RefreshVisualStateEvent(); }
public void Execute() { if (!IsComponentsConnected(viewModel.Component)) { if (notify.ShowYesNo( Program.LanguageManager.GetString(StringResources.Message_ComponentDeactivationQuestion), Program.LanguageManager.GetString(StringResources.Message_ComponentDeactivationQuestionHeader))) { try { viewModel.ComponentIsActive = false; viewModel.ModifiableView.IsModified = true; viewModel.ModifiableView.UpdateState(); notify.ShowSuccess( string.Concat(Program.LanguageManager.GetString( StringResources.ComponentNewEdit_DeactivatedAction), viewModel.Number), Program.LanguageManager.GetString( StringResources.ComponentNewEdit_DeactivatedActionHeader)); log.Info(string.Format("The entity #{0}, id:{1} has been deactivated.", viewModel.Component.Number, viewModel.Component.Id)); } catch (RepositoryException ex) { log.Error(ex.Message); notify.ShowFailure(ex.InnerException.Message, ex.Message); } } else { //Refresh property so that binded control become unchecked viewModel.ComponentIsActive = false; viewModel.ComponentIsActive = true; } } else { notify.ShowInfo( Program.LanguageManager.GetString(StringResources.Message_DeactivationConnectedComponent), Program.LanguageManager.GetString(StringResources.Message_DeactivationConnectedComponentHeader)); //Refresh property so that binded control become unchecked viewModel.ComponentIsActive = false; viewModel.ComponentIsActive = true; } RefreshVisualStateEvent(); }
public void Execute() { if (notify.ShowYesNo( Program.LanguageManager.GetString(StringResources.Spool_DeactivationQuestion), Program.LanguageManager.GetString(StringResources.Spool_DeactivationQuestionHeader))) { try { viewModel.PipeLength = viewModel.PipeLength + viewModel.SpoolLength; viewModel.Spool.IsActive = false; repo.BeginTransaction(); repo.PipeRepo.SaveOrUpdate(viewModel.Pipe); repo.SpoolRepo.SaveOrUpdate(viewModel.Spool); repo.Commit(); repo.PipeRepo.Evict(viewModel.Pipe); repo.SpoolRepo.Evict(viewModel.Spool); viewModel.ModifiableView.IsEditMode = false; viewModel.ModifiableView.IsModified = false; viewModel.ModifiableView.UpdateState(); notify.ShowSuccess( string.Concat(Program.LanguageManager.GetString( StringResources.Spool_Deactivated), viewModel.SpoolNumber), Program.LanguageManager.GetString( StringResources.Spool_DeactivatedHeader)); log.Info(string.Format("The Spool #{0}, id:{1} has been deactivated.", viewModel.Pipe.Number, viewModel.Pipe.Id)); } catch (RepositoryException ex) { log.Error(ex.Message); notify.ShowFailure(ex.InnerException.Message, ex.Message); } } else { //Refresh property so that binded control become unchecked viewModel.SpoolIsActive = false; viewModel.SpoolIsActive = true; } RefreshVisualStateEvent(); }
public void Execute() { if (viewModel.Pipe.Railcar == null) { if (notify.ShowYesNo( Program.LanguageManager.GetString(StringResources.MillPipe_DeactivatePipeQuestion), Program.LanguageManager.GetString(StringResources.MillPipe_DeactivatePipeQuestionHeader))) { try { viewModel.Pipe.IsActive = false; viewModel.CheckStatus(); viewModel.UpdatePipeSubStatus(); viewModel.Pipe.PipeTestResult = viewModel.PipeTestResults; repo.BeginTransaction(); repo.RepoPipe.SaveOrUpdate(viewModel.Pipe); repo.Commit(); repo.RepoPipe.Evict(viewModel.Pipe); viewModel.ModifiableView.IsEditMode = false; viewModel.ModifiableView.IsModified = false; viewModel.ModifiableView.UpdateState(); notify.ShowSuccess( string.Concat(Program.LanguageManager.GetString( StringResources.Pipe_Deactivated), viewModel.Number), Program.LanguageManager.GetString( StringResources.Pipe_DeactivatedHeader)); log.Info(string.Format("The Pipe #{0}, id:{1} has been deactivated.", viewModel.Pipe.Number, viewModel.Pipe.Id)); } catch (RepositoryException ex) { log.Error(ex.Message); notify.ShowFailure(ex.InnerException.Message, ex.Message); } } else { //Refresh property so that binded control become unchecked viewModel.PipeIsActive = false; viewModel.PipeIsActive = true; } } else if (viewModel.PipeStatus == PipeMillStatus.Shipped) { notify.ShowInfo( Program.LanguageManager.GetString(StringResources.MillPipe_DeactivatePipeShippedError), Program.LanguageManager.GetString(StringResources.MillPipe_DeactivatePipeShippedErrorHeader)); } else { notify.ShowInfo( Program.LanguageManager.GetString(StringResources.MillPipe_DeactivatePipeInRailcarError), Program.LanguageManager.GetString(StringResources.MillPipe_DeactivatePipeInRailcarErrorHeader)); } RefreshVisualStateEvent(); }
/// <summary> /// helper method to determine the possibility to open/create document. /// Can show questions to user. /// </summary> /// <param name="type">type of document</param> /// <param name="isNew">is entity supposed to be new</param> /// <param name="flags">flags pack</param> /// <param name="editMode">can/should this document to be opened in edit mode.</param> /// <returns></returns> private bool CanOpen(DocumentTypes type, bool isNew, FormFlags flags, out bool editMode) { editMode = !flags.HasFlag(FormFlags.EditAccessDenied) && flags.HasFlag(FormFlags.CanEditAtThisWorkstation); bool canOpen = true; if (flags.HasFlag(FormFlags.EditConflict)) { if (type == DocumentTypes.Settings) { canOpen &= notify.ShowYesNo(Program.LanguageManager.GetString(StringResources.Message_OpenSettingsForViewing), Program.LanguageManager.GetString(StringResources.Message_OpenSettingsForViewingHeader)); } else { canOpen &= notify.ShowYesNo(Program.LanguageManager.GetString(StringResources.Message_OpenFormForViewing), Program.LanguageManager.GetString(StringResources.Message_OpenFormForViewingHeader)); } editMode = false; } if (flags.HasFlag(FormFlags.SingleEditAlreadyOpened)) { string text = string.Empty; if (isNew) { switch (type) { case DocumentTypes.MillReleaseNote: text = Program.LanguageManager.GetString(StringResources.MainWindow_CloseEditingReleaseNote); break; case DocumentTypes.ConstructionJoint: text = Program.LanguageManager.GetString(StringResources.MainWindow_ConstructionJoint); break; default: break; } notify.ShowWarning(text, ""); canOpen = false; } else { switch (type) { case DocumentTypes.MillReleaseNote: text = Program.LanguageManager.GetString(StringResources.MainWindow_OpenReleaseNoteReadOnly); break; case DocumentTypes.ConstructionJoint: text = Program.LanguageManager.GetString(StringResources.MainWindow_OpenConstructionJointReadOnly); break; default: break; } canOpen &= notify.ShowYesNo(text, ""); editMode = false; } } return(canOpen); }