//public bool SaveCard {
        //    get {
        //        bool result = false;
        //        MethodInfo saveCardMethodInfo = typeof(BaseCardControl).GetMethod("SaveCard", BindingFlags.NonPublic | BindingFlags.Instance);
        //        if (saveCardMethodInfo != null)
        //            result = (bool)saveCardMethodInfo.Invoke(document, new object[] { false });

        //        return result;
        //    }
        //}

        public void ChangeStatus(string state)
        {
            IStateService StateService = context.ObjectContext.GetService <IStateService>();
            IList <StatesStateMachineBranch> statesStateMachineBranch = StateService.FindLineBranchesByStartState(SystemInfo.State).ToList();

            StatesStateMachineBranch branch = statesStateMachineBranch
                                              .Where(t => t.StartState == SystemInfo.State &&
                                                     t.BranchType == StatesStateMachineBranchBranchType.Line &&
                                                     t.EndState.DefaultName.Equals(state)).FirstOrDefault();

            if (branch != null)
            {
                //смена статуса
                StateService.ChangeState(GetDocument, branch);
            }
            else
            {
                throw new Exception("Переход в состояние невозможен, так как данное состояние отсутствует");
            }
        }