Пример #1
0
        private void SubscribeEvent()
        {
            //订阅数据实体的增删改事件,以更新呈现

            SubscriptionToken dataEntityAddedEventToken =
                _eventAggregator.GetEvent <DataEntityAddedEvent>().Subscribe((e) =>
            {
                _navigationTreeController.Add(e.DataEntity,
                                              (node) =>
                {
                    if (node.Codon.DataBoundType == typeof(DataEntityFolder))
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                });
            });
            SubscriptionToken dataEntityRemovedEvent =
                _eventAggregator.GetEvent <DataEntityRemovedEvent>().Subscribe((e) => { _navigationTreeController.Remove(e.DataEntity); });
            SubscriptionToken dataEntityUpdatedEvent =
                _eventAggregator.GetEvent <DataEntityUpdatedEvent>().Subscribe((e) => { _navigationTreeController.Update(e.DataEntity); });

            SubscriptionToken dataItemEntityAddedEvent =
                _eventAggregator.GetEvent <DataItemEntityAddedEvent>().Subscribe((e) =>
            {
                _navigationTreeController.Add(e.Entity,
                                              (node) =>
                {
                    if (node.Codon.DataBoundType == typeof(DataEntityDev))
                    {
                        DataEntityDev dataEntity = (DataEntityDev)node.DataBoundItem;
                        return(dataEntity.Id == e.Entity.Owner.Id);
                    }
                    else
                    {
                        return(false);
                    }
                });
            });
            SubscriptionToken dataItemEntityRemovedEvent =
                _eventAggregator.GetEvent <DataItemEntityRemovedEvent>().Subscribe((e) => { _navigationTreeController.Remove(e.Entity); });
            SubscriptionToken dataItemEntityUpdatedEvent =
                _eventAggregator.GetEvent <DataItemEntityUpdatedEvent>().Subscribe((e) => { _navigationTreeController.Update(e.Entity); });

            this.Disposed += (sender, e) =>
            {
                _eventAggregator.GetEvent <DataEntityAddedEvent>().Unsubscribe(dataEntityAddedEventToken);
                _eventAggregator.GetEvent <DataEntityRemovedEvent>().Unsubscribe(dataEntityRemovedEvent);
                _eventAggregator.GetEvent <DataEntityUpdatedEvent>().Unsubscribe(dataEntityUpdatedEvent);

                _eventAggregator.GetEvent <DataItemEntityAddedEvent>().Unsubscribe(dataItemEntityAddedEvent);
                _eventAggregator.GetEvent <DataItemEntityRemovedEvent>().Unsubscribe(dataItemEntityRemovedEvent);
                _eventAggregator.GetEvent <DataItemEntityUpdatedEvent>().Unsubscribe(dataItemEntityUpdatedEvent);
            };
        }
Пример #2
0
 public DataItemEditView(DataEntityDev dataEntity)
 {
     InitializeComponent();
     this.txtCode.Regex            = CoreConstant.ENTITY_CODE_REGEX;
     this.txtCode.CustomValidate   = CodeValidateMethod;
     this.txtLength.MaxLength      = 4;
     this.txtLength.CustomValidate = LengthValidateMethod;
     Unity.ApplyResource(this);
     this.ApplyLanguageResource();
     this._dataEntity = dataEntity;
 }
Пример #3
0
 private void btnOK_Click(object sender, EventArgs e)
 {
     if (this.DoValidate() == false)
     {
         return;
     }
     if (this.DataEntity == null)
     {
         this.DataEntity = new DataEntityDev();
     }
     this.DataEntity.Name   = txtName.Text;
     this.DataEntity.Code   = txtCode.Text;
     this.DataEntity.Remark = txtRemark.Text;
     DataEntityArchive.Instance.Commit(_dataEntity);
     this.DialogResult = DialogResult.OK;
     this.Close();
 }