Пример #1
0
        /// <summary>
        /// 为被选择的对象添加一个引用实体属性值
        /// </summary>
        /// <param name="view"></param>
        /// <param name="selected"></param>
        /// <returns></returns>
        protected virtual Entity AddSelection(ListLogicalView view, Entity selected)
        {
            //把选中对象赋值到新增对象的引用属性上
            var newEntity = view.AddNew(false);

            newEntity.SetRefEntity(this.RefProperty.RefEntityProperty, selected);
            return(newEntity);
        }
Пример #2
0
        public override void Execute(ListLogicalView view)
        {
            var dg = new OpenFileDialog();

            if (dg.ShowDialog() == true)
            {
                var fileName    = dg.FileName;
                var attachement = view.AddNew(true) as FileAttachement;
                attachement.FileName     = Path.GetFileName(fileName);
                attachement.UploadDate   = DateTime.Today;
                attachement.ContentBytes = File.ReadAllBytes(fileName);
            }
        }
Пример #3
0
        public override void Execute(ListLogicalView view)
        {
            //创建一个临时的拷贝数据
            var tmp = view.CreateNewItem();

            var evm    = view.Meta;
            var result = PopupEditingDialog(evm, tmp, w =>
            {
                w.Title = this.Meta.Label.Translate() + " " + evm.Label.Translate();
            });

            //如果没有点击确定,则删除刚才添加的记录。
            if (result == WindowButton.Yes)
            {
                //先添加一行记录
                var curEntity = view.AddNew(false);

                var    oldTreeCode = string.Empty;
                object oldTreePId  = null;
                if (evm.EntityMeta.IsTreeEntity)
                {
                    oldTreeCode = curEntity.TreeIndex;
                    oldTreePId  = curEntity.TreePId;
                }

                curEntity.Clone(tmp, new CloneOptions(
                                    CloneActions.NormalProperties | CloneActions.RefEntities
                                    ));

                //如果用户没有设置树型编码,则把树型编码还原到 Clone 之前系统自动生成的编码
                if (!string.IsNullOrEmpty(oldTreeCode) &&
                    string.IsNullOrEmpty(curEntity.TreeIndex) &&
                    view.Data.AutoTreeIndexEnabled)
                {
                    curEntity.TreeIndex = oldTreeCode;
                    curEntity.TreePId   = oldTreePId;
                }

                this.OnDataCloned(curEntity, tmp);

                view.RefreshControl();
                view.Current = curEntity;
            }
        }
Пример #4
0
 public override void Execute(ListLogicalView view)
 {
     view.AddNew(true);
 }