Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected virtual void isSigning_ItemClick(object sender, ItemClickEventArgs e)
- {
- var branch = StatesHelper.CanChangeState("Is signing", true);
- if (branch != null)
- {
- if (ObjectStateService.HasChangedObjects())
- {
- DialogResult dialogResult =
- Messages.QuestionMessage(
- "Для перевода в \"На подписании\" необходимо сохранить документ. Сохранить сейчас?",
- true);
- if (dialogResult != DialogResult.Yes)
- {
- return;
- }
- if (!SaveCard())
- {
- return;
- }
- }
- StatesHelper.ChangeCardState(branch);
- ActivateCommandsAndControls();
- }
- else
- UiService.ShowMessage("Нельзя сменить состояние" + Environment.NewLine +
- "Информация для администратора:" + BaseObject.SystemInfo.State.LocalizedName +
- "->" + "Is signing");
- }
- public void ChangeCardState(StatesStateMachineBranch branch)
- {
- CardControl.ChangeState(branch);
- if (BaseObject != null)
- {
- ResetRolesCache(BaseObject, CardControl.ObjectContext.GetObjectRef(BaseObject).Id);
- }
- AccessCheckingService.ResetRolesCache();
- CardFrame.Commit(ActionFlags.CommittedData);
- }
- private void ResetRolesCache(BaseCard baseCardToReset, Guid cardIdToReset)
- {
- if (baseCardToReset == null)
- {
- return;
- }
- if (cardIdToReset == Guid.Empty)
- {
- return;
- }
- try
- {
- CardControl.ObjectContext.GetService<IAccessCheckingService>().ResetRolesCache(baseCardToReset);
- CardControl.ObjectContext.GetService<IServerExtensionProxyService>().ResetRolesCache(cardIdToReset);
- }
- catch (Exception ex)
- {
- }
- }
- private void ActivateCommandsAndControls()
- {
- if (ActivatedEventArgs.ActivateFlags.HasFlag(ActivateFlags.NewFromTemplate))
- {
- var author = Customizable.FindPropertyItem<IPropertyControl>("Author");
- if (author != null)
- {
- ControlsDictionary.SetControlValue("Author",
- MyContext.GetObjectRef(StaffService.GetCurrentEmployee()).Id);
- var authorDepartment = Customizable.FindPropertyItem<ICustomPropertyItem>("AuthorDepartment");
- if (authorDepartment != null)
- {
- if (StaffService.GetCurrentEmployee().Unit != null)
- {
- ControlsDictionary.SetControlValue("AuthorDepartment",
- MyContext.GetObjectRef(StaffService.GetCurrentEmployee().Unit).Id);
- authorDepartment.ReadOnly = true;
- authorDepartment.PropertyControl.AllowEdit = false;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement