Пример #1
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);
     }
 }
Пример #2
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;
            }
        }
Пример #3
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;
 }
Пример #4
0
 public override void Execute(ListLogicalView view)
 {
     view.AddNew(true);
 }