Exemplo n.º 1
0
 public static UiViewButtonState Create(IAcDomain acDomain, UiViewButtonBase viewButton)
 {
     if (viewButton == null)
     {
         throw new ArgumentNullException("viewButton");
     }
     return(new UiViewButtonState(viewButton.Id)
     {
         _acDomain = acDomain,
         _viewId = viewButton.UiViewId,
         _createOn = viewButton.CreateOn
     }.InternalModify(viewButton));
 }
Exemplo n.º 2
0
        internal UiViewButtonState InternalModify(UiViewButtonBase viewButton)
        {
            if (viewButton == null)
            {
                throw new ArgumentNullException("viewButton");
            }
            UiViewState view;

            if (!_acDomain.UiViewSet.TryGetUiView(viewButton.UiViewId, out view))
            {
                throw new AnycmdException("意外的界面视图" + viewButton.UiViewId);
            }
            ButtonState button;

            if (!_acDomain.ButtonSet.TryGetButton(viewButton.ButtonId, out button))
            {
                throw new AnycmdException("意外的按钮" + viewButton.ButtonId);
            }
            var functionId = viewButton.FunctionId;

            if (functionId == Guid.Empty)
            {
                functionId = null;
            }
            if (functionId.HasValue)
            {
                FunctionState function;
                if (!_acDomain.FunctionSet.TryGetFunction(functionId.Value, out function))
                {
                    throw new ValidationException("意外的功能标识" + functionId);
                }
            }
            _functionId = functionId;
            _buttonId   = viewButton.ButtonId;
            _isEnabled  = viewButton.IsEnabled;

            return(this);
        }