private static void CanExecuteRemove(object target, CanExecuteRoutedEventArgs e)
        {
            bool result = false;
            CslaDataProviderCommandManager ctl = target as CslaDataProviderCommandManager;

            if (ctl != null && ctl.Provider != null)
            {
                if (ctl.Provider.Data != null)
                {
                    Csla.Core.BusinessBase bb = e.Parameter as Csla.Core.BusinessBase;
                    IBindingList           list;
                    if (bb != null)
                    {
                        list = bb.Parent as IBindingList;
                    }
                    else
                    {
                        list = ctl.Provider.Data as IBindingList;
                    }
                    if (list != null)
                    {
                        result = list.AllowRemove;
                        if (result && !Csla.Rules.BusinessRules.HasPermission(Rules.AuthorizationActions.EditObject, ctl.Provider.Data))
                        {
                            result = false;
                        }
                    }
                }
            }
            e.CanExecute = result;
        }
        private static void CanExecuteUndo(object target, CanExecuteRoutedEventArgs e)
        {
            bool result = false;
            CslaDataProviderCommandManager ctl = target as CslaDataProviderCommandManager;

            if (ctl != null && ctl.Provider != null)
            {
                if (ctl.Provider.Data != null)
                {
                    Csla.Core.IEditableBusinessObject ibiz = ctl.Provider.Data as Csla.Core.IEditableBusinessObject;
                    if (ibiz != null)
                    {
                        result = ibiz.IsDirty;
                    }
                    else
                    {
                        Csla.Core.IEditableCollection icol = ctl.Provider.Data as Csla.Core.IEditableCollection;
                        if (icol != null)
                        {
                            result = icol.IsDirty;
                        }
                    }
                }
            }
            e.CanExecute = result;
        }
Пример #3
0
 /// <summary>
 /// Creates an instance of the object.
 /// </summary>
 public CslaDataProvider()
 {
     _commandManager    = new CslaDataProviderCommandManager(this);
     _factoryParameters = new ObservableCollection <object>();
     _factoryParameters.CollectionChanged +=
         new System.Collections.Specialized.NotifyCollectionChangedEventHandler(_factoryParameters_CollectionChanged);
 }
Пример #4
0
 /// <summary>
 /// Creates an instance of the object.
 /// </summary>
 public CslaDataProvider()
 {
   _commandManager = new CslaDataProviderCommandManager(this);
   _factoryParameters = new ObservableCollection<object>();
   _factoryParameters.CollectionChanged += 
     new System.Collections.Specialized.NotifyCollectionChangedEventHandler(_factoryParameters_CollectionChanged);
 }
        private static void SaveCommand(object target, ExecutedRoutedEventArgs e)
        {
            CslaDataProviderCommandManager ctl = target as CslaDataProviderCommandManager;

            if (ctl != null && ctl.Provider != null)
            {
                ctl.Provider.Save();
            }
        }
        private static void RemoveCommand(object target, ExecutedRoutedEventArgs e)
        {
            CslaDataProviderCommandManager ctl = target as CslaDataProviderCommandManager;

            if (ctl != null && ctl.Provider != null)
            {
                ctl.Provider.RemoveItem(null, new ExecuteEventArgs {
                    MethodParameter = e.Parameter
                });
            }
        }
        private static void CanExecuteNew(object target, CanExecuteRoutedEventArgs e)
        {
            bool result = false;
            CslaDataProviderCommandManager ctl = target as CslaDataProviderCommandManager;

            if (ctl != null && ctl.Provider != null)
            {
                if (ctl.Provider.Data != null)
                {
                    IBindingList list = ctl.Provider.Data as IBindingList;
                    if (list != null)
                    {
                        result = list.AllowNew;
                        if (result && !Csla.Rules.BusinessRules.HasPermission(Rules.AuthorizationActions.EditObject, ctl.Provider.Data))
                        {
                            result = false;
                        }
                    }
                }
            }
            e.CanExecute = result;
        }