private void SelectedEntityChanged(object sender, SelectedEntityChangedEventArgs e)
 {
     if (e.Entity != null)
     {
         configTreeView.SelectedItem = e.Entity;
     }
 }
Exemple #2
0
 private void On_TreeGrid_SelectedItemChanged(object sender, SelectedItemChangedEventArgs e)
 {
     if (this._reportEvents)
     {
         var args = new SelectedEntityChangedEventArgs(e.NewItem as Entity, e.OldItem as Entity);
         this.Context.EventReporter.NotifySelectedItemChanged(sender, args);
     }
 }
Exemple #3
0
        /// <summary>
        /// 切换左边视图
        ///
        /// 保存选择的旧实体,并异步获取新的实体
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void View_SelectedItemChanged(object sender, SelectedEntityChangedEventArgs e)
        {
            if (this.SuppressSaveAction)
            {
                return;
            }

            //保存选择的旧实体
            var oldEntity = e.OldItem;

            if (oldEntity != null)
            {
                // oldEntity.ApplyEdit();  //编辑时切换到列表时对象处于编辑状态
                //如果不是新增后立即删除的可更改对象则自动保存
                if (oldEntity.IsDirty)
                {
                    var broken = oldEntity.Validate();
                    if (broken.Count == 0)
                    {
                        //oldEntity.MergeOldObject((oldEntity as ISavable).Save() as BusinessBase);
                        RF.Save(oldEntity, EntitySaveType.DiffSave);
                    }
                    else
                    {
                        bool warn = true;
                        if (e.NewItem != null)
                        {
                            var id = e.NewItem.Id;
                            warn = !object.Equals(id, this._lastWarnedObjId);
                        }
                        if (warn && broken.Count > 0)
                        {
                            this._lastWarnedObjId = oldEntity.Id;

                            string description = string.Format(@"
旧对象没有填写完整,系统没有保存!
{0}

是否切换到该对象,继续编辑?".Translate(), broken.ToString());
                            var    result      = App.MessageBox.Show(description, MessageBoxButton.YesNo, MessageBoxImage.Warning);
                            if (result == MessageBoxResult.Yes)
                            {
                                this.View.Current = oldEntity as Entity;
                                return;
                            }
                        }
                    }
                }
            }
        }
        /// <summary>
        /// 切换左边视图
        /// 
        /// 保存选择的旧实体,并异步获取新的实体
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void View_SelectedItemChanged(object sender, SelectedEntityChangedEventArgs e)
        {
            if (this.SuppressSaveAction) return;

            //保存选择的旧实体
            var oldEntity = e.OldItem;
            if (oldEntity != null)
            {
                // oldEntity.ApplyEdit();  //编辑时切换到列表时对象处于编辑状态
                //如果不是新增后立即删除的可更改对象则自动保存
                if (oldEntity.IsDirty)
                {
                    var broken = oldEntity.Validate();
                    if (broken.Count == 0)
                    {
                        //oldEntity.MergeOldObject((oldEntity as ISavable).Save() as BusinessBase);
                        RF.Save(oldEntity, EntitySaveType.DiffSave);
                    }
                    else
                    {
                        bool warn = true;
                        if (e.NewItem != null)
                        {
                            var id = e.NewItem.Id;
                            warn = !object.Equals(id, this._lastWarnedObjId);
                        }
                        if (warn && broken.Count > 0)
                        {
                            this._lastWarnedObjId = oldEntity.Id;

                            string description = string.Format(@"
            旧对象没有填写完整,系统没有保存!
            {0}

            是否切换到该对象,继续编辑?".Translate(), broken.ToString());
                            var result = App.MessageBox.Show(description, MessageBoxButton.YesNo, MessageBoxImage.Warning);
                            if (result == MessageBoxResult.Yes)
                            {
                                this.View.Current = oldEntity as Entity;
                                return;
                            }
                        }
                    }
                }
            }
        }