示例#1
0
 protected override void OnSetProperty(DomainMember domainMember, string propertyName, object value, SignatureDate signatureDate)
 {
     if (propertyName == CremaSchema.TypeName)
     {
         if (this.IsNew == false)
         {
             throw new InvalidOperationException(Resources.Exception_CannotRename);
         }
         this.dataType.TypeName = (string)value;
     }
     else if (propertyName == CremaSchema.IsFlag)
     {
         this.dataType.IsFlag = (bool)value;
     }
     else if (propertyName == CremaSchema.Comment)
     {
         this.dataType.Comment = (string)value;
     }
     else
     {
         if (propertyName == null)
         {
             throw new ArgumentNullException(nameof(propertyName));
         }
         throw new ArgumentException(string.Format(Resources.Exception_InvalidProperty_Format, propertyName), nameof(propertyName));
     }
     this.dataType.ModificationInfo = signatureDate;
 }
 protected override void OnSetProperty(DomainMember domainMember, string propertyName, object value, SignatureDate signatureDate)
 {
     this.TemplateSource.SignatureDateProvider = new InternalSignatureDateProvider(signatureDate);
     if (propertyName == CremaSchema.TableName)
     {
         if (this.IsNew == false)
         {
             throw new InvalidOperationException(Resources.Exception_CannotRename);
         }
         this.TemplateSource.TableName = (string)value;
     }
     else if (propertyName == CremaSchema.Comment)
     {
         this.TemplateSource.Comment = (string)value;
     }
     else if (propertyName == CremaSchema.Tags)
     {
         this.TemplateSource.Tags = (TagInfo)((string)value);
     }
     else
     {
         if (propertyName == null)
         {
             throw new ArgumentNullException(nameof(propertyName));
         }
         throw new ArgumentException(string.Format(Resources.Exception_InvalidProperty_Format, propertyName), nameof(propertyName));
     }
 }
 protected override void OnNewRow(DomainMember domainMember, DomainRowInfo[] rows, SignatureDate signatureDate)
 {
     this.TemplateSource.SignatureDateProvider = new InternalSignatureDateProvider(signatureDate);
     foreach (var item in rows)
     {
         CremaDomainUtility.AddNew(this.view, item.Fields);
     }
     this.TemplateSource.AcceptChanges();
 }
 protected override DomainRowInfo[] OnRemoveRow(DomainMember domainMember, DomainRowInfo[] rows, SignatureDateProvider signatureProvider)
 {
     this.template.SignatureDateProvider = signatureProvider;
     foreach (var item in rows)
     {
         CremaDomainUtility.Delete(this.view, item.Keys);
     }
     this.data = null;
     return(rows);
 }
 protected override DomainRowInfo[] OnSetRow(DomainMember domainMember, DomainRowInfo[] rows, SignatureDateProvider signatureProvider)
 {
     this.template.SignatureDateProvider = signatureProvider;
     for (var i = 0; i < rows.Length; i++)
     {
         rows[i].Fields = CremaDomainUtility.SetFields(this.view, rows[i].Keys, rows[i].Fields);
     }
     this.data = null;
     return(rows);
 }
示例#6
0
 protected override void OnSetRow(DomainMember domainMember, DomainRowInfo[] rows, SignatureDate signatureDate)
 {
     this.dataType.BeginLoadData();
     try
     {
         foreach (var item in rows)
         {
             CremaDomainUtility.SetFieldsForce(this.view, item.Keys, item.Fields);
         }
     }
     finally
     {
         this.dataType.EndLoadData();
     }
     this.dataType.ModificationInfo = signatureDate;
     this.dataType.AcceptChanges();
 }
示例#7
0
 protected override DomainRowInfo[] OnRemoveRow(DomainMember domainMember, DomainRowInfo[] rows, SignatureDateProvider signatureProvider)
 {
     this.dataType.SignatureDateProvider = signatureProvider;
     try
     {
         foreach (var item in rows)
         {
             CremaDomainUtility.Delete(this.view, item.Keys);
         }
         this.dataType.AcceptChanges();
         this.data = null;
         return(rows);
     }
     catch
     {
         this.dataType.RejectChanges();
         throw;
     }
 }
示例#8
0
 protected override DomainRowInfo[] OnSetRow(DomainMember domainMember, DomainRowInfo[] rows, SignatureDateProvider signatureProvider)
 {
     this.dataType.SignatureDateProvider = signatureProvider;
     try
     {
         for (var i = 0; i < rows.Length; i++)
         {
             rows[i].Fields = CremaDomainUtility.SetFields(this.view, rows[i].Keys, rows[i].Fields);
         }
         this.dataType.AcceptChanges();
         this.data = null;
         return(rows);
     }
     catch
     {
         this.dataType.RejectChanges();
         throw;
     }
 }
 protected override void OnSetProperty(DomainMember domainMember, string propertyName, object value, SignatureDateProvider signatureProvider)
 {
     if (propertyName == CremaSchema.TableName)
     {
         if (this.IsNew == false)
         {
             throw new InvalidOperationException(Resources.Exception_CannotRename);
         }
         this.template.TableName = (string)value;
     }
     else if (propertyName == CremaSchema.Comment)
     {
         this.template.Comment = (string)value;
     }
     else if (propertyName == CremaSchema.Tags)
     {
         this.template.Tags = (TagInfo)((string)value);
     }
     else
     {
         throw new NotSupportedException();
     }
     this.data = null;
 }
示例#10
0
        public void InvokeDomainMemberAddedEvent(Authentication authentication, Domain domain, DomainMember domainMember, Guid taskID)
        {
            var args = new DomainMemberAddedEventArgs(authentication, domain, domainMember, null)
            {
                TaskID = taskID
            };
            var eventLog = EventLogBuilder.Build(authentication, this, nameof(InvokeDomainMemberAddedEvent), domain, domainMember);
            var comment  = EventMessageBuilder.EnterDomainMember(authentication, domain);

            this.CremaHost.Debug(eventLog);
            this.CremaHost.Info(comment);
            this.OnDomainMemberAdded(args);
        }
示例#11
0
        public void InvokeDomainMemberRemovedEvent(Authentication authentication, Domain domain, DomainMember domainMember, RemoveInfo removeInfo, Guid taskID)
        {
            var args = new DomainMemberRemovedEventArgs(authentication, domain, domainMember, removeInfo)
            {
                TaskID = taskID
            };
            var eventLog = EventLogBuilder.Build(authentication, this, nameof(InvokeDomainMemberRemovedEvent), domain, domainMember, removeInfo.Reason, removeInfo.Message);
            var comment  = removeInfo.Reason == RemoveReason.Kick
                ? EventMessageBuilder.KickDomainMember(authentication, domain, domainMember)
                : EventMessageBuilder.LeaveDomainMember(authentication, domain);

            this.CremaHost.Debug(eventLog);
            this.CremaHost.Info(comment);
            this.OnDomainMemberRemoved(args);
        }
示例#12
0
        public void InvokeDomainOwnerChangedEvent(Authentication authentication, Domain domain, DomainMember domainMember, Guid taskID)
        {
            var args = new DomainMemberEventArgs(authentication, domain, domainMember)
            {
                TaskID = taskID
            };

            this.OnDomainOwnerChanged(args);
        }
示例#13
0
        public void InvokeDomainMemberEditBegunEvent(Authentication authentication, Domain domain, DomainMember domainMember, Guid taskID)
        {
            var args = new DomainMemberLocationEventArgs(authentication, domain, domainMember)
            {
                TaskID = taskID
            };

            this.OnDomainMemberEditBegun(args);
        }
示例#14
0
        public void InvokeDomainMemberStateChangedEvent(Authentication authentication, Domain domain, DomainMember domainMember)
        {
            var args = new DomainMemberEventArgs(authentication, domain, domainMember);

            this.OnDomainMemberStateChanged(args);
        }