예제 #1
0
        public Header SetProcess(ProcessIdentifier value)
        {
            Header header = this.Copy();

            header.Process = value;
            return(header);
        }
예제 #2
0
 public static Header Of(
     ParticipantIdentifier sender,
     ParticipantIdentifier receiver,
     ProcessIdentifier process,
     DocumentTypeIdentifier documentType)
 {
     return(new Header(sender, receiver, process, documentType, null, null, null));
 }
예제 #3
0
 public static Header Of(
     ParticipantIdentifier sender,
     ParticipantIdentifier receiver,
     ProcessIdentifier process,
     DocumentTypeIdentifier documentType,
     InstanceIdentifier identifier,
     InstanceType instanceType,
     DateTime?creationTimestamp)
 {
     return(new Header(sender, receiver, process, documentType, identifier, instanceType, creationTimestamp));
 }
예제 #4
0
        public T GetEndpoint(ProcessIdentifier processIdentifier, params TransportProfile[] transportProfiles)
        {
            foreach (ProcessMetadata <T> processMetadata in this.processes)
            {
                if (processMetadata.ProcessIdentifier.Contains(processIdentifier))
                {
                    return(processMetadata.GetEndpoint(transportProfiles));
                }
            }

            throw new EndpointNotFoundException(
                      $"Combination of '{processIdentifier}' and transport profile(s) not found.");
        }
예제 #5
0
 private Header(
     ParticipantIdentifier sender,
     ParticipantIdentifier receiver,
     ProcessIdentifier process,
     DocumentTypeIdentifier documentType,
     InstanceIdentifier identifier,
     InstanceType instanceType,
     DateTime?creationTimestamp)
 {
     this.Sender            = sender;
     this.Receiver          = receiver;
     this.Process           = process;
     this.DocumentType      = documentType;
     this.Identifier        = identifier;
     this.InstanceType      = instanceType;
     this.CreationTimestamp = creationTimestamp;
 }
예제 #6
0
        public override bool Equals(object o)
        {
            if (this == o)
            {
                return(true);
            }
            if (!(o is ProcessIdentifier))
            {
                return(false);
            }

            ProcessIdentifier that = (ProcessIdentifier)o;

            if (!this.Identifier.Equals(that.Identifier))
            {
                return(false);
            }
            return(this.Scheme.Equals(that.Scheme));
        }
예제 #7
0
 public static ProcessMetadata <T> Of(ProcessIdentifier processIdentifier, IList <T> endpoints)
 {
     return(new ProcessMetadata <T>(new SingletonList <ProcessIdentifier>(processIdentifier), endpoints));
 }
예제 #8
0
 public static ProcessMetadata <T> Of(ProcessIdentifier processIdentifier, params T[] endpoints)
 {
     return(Of(new SingletonList <ProcessIdentifier>(processIdentifier), endpoints));
 }