public void MigrateAllEdifactEnvelopeOverrides(Server.EDIFACTProtocolSettings serverEdifactProtocolSettings, Services.EDIFACTProtocolSettings cloudEdifactProtocolSettings)
 {
     foreach (Server.EDIFACTEnvelopeOverrides serverEnvOverrides in serverEdifactProtocolSettings.EnvelopeSettings.GetOverrides())
     {
         this.MigrateEdifactEnvelopOverridese(serverEnvOverrides, cloudEdifactProtocolSettings);
     }
 }
 internal void MigrateAllEdifactValidationOverrides(Server.EDIFACTProtocolSettings serverEdifactProtocolSettings, Services.EDIFACTProtocolSettings cloudEdifactProtocolSettings)
 {
     foreach (var serverValidationOverrides in serverEdifactProtocolSettings.ValidationSettings.GetOverrides())
     {
         this.MigrateEdifactValidationOverrides(serverValidationOverrides, cloudEdifactProtocolSettings);
     }
 }
        private Services.EDIFACTProtocolSettings CreateEdifactProtocolSettings(Server.EDIFACTProtocolSettings serverProtocolSettings)
        {
            Services.EDIFACTProtocolSettings cloudProtocolSettings = new Services.EDIFACTProtocolSettings();

            cloudProtocolSettings.AcknowledgementControlNumberLowerBound = serverProtocolSettings.AcknowledgementSettings.AcknowledgementControlNumberLowerBound;
            cloudProtocolSettings.AcknowledgementControlNumberPrefix     = serverProtocolSettings.AcknowledgementSettings.AcknowledgementControlNumberPrefix;
            cloudProtocolSettings.AcknowledgementControlNumberRollover   = serverProtocolSettings.AcknowledgementSettings.AcknowledgementControlNumberRollover;
            cloudProtocolSettings.AcknowledgementControlNumberSuffix     = serverProtocolSettings.AcknowledgementSettings.AcknowledgementControlNumberSuffix;
            cloudProtocolSettings.AcknowledgementControlNumberUpperBound = serverProtocolSettings.AcknowledgementSettings.AcknowledgementControlNumberUpperBound;

            cloudProtocolSettings.AllowLeadingAndTrailingSpacesAndZeroes = serverProtocolSettings.ValidationSettings.AllowLeadingAndTrailingSpacesAndZeroes;
            cloudProtocolSettings.ApplicationReferenceId     = serverProtocolSettings.EnvelopeSettings.ApplicationReferenceId;
            cloudProtocolSettings.ApplyDelimiterStringAdvice = serverProtocolSettings.EnvelopeSettings.ApplyDelimiterStringAdvice;
            cloudProtocolSettings.BatchFunctionalAck         = serverProtocolSettings.AcknowledgementSettings.BatchFunctionalAcknowledgements;
            cloudProtocolSettings.BatchTechnicalAck          = serverProtocolSettings.AcknowledgementSettings.BatchTechnicalAcknowledgements;
            cloudProtocolSettings.CharacterSet = (short)serverProtocolSettings.FramingSettings.CharacterSet;

            cloudProtocolSettings.CheckDuplicateGroupControlNumber          = serverProtocolSettings.ValidationSettings.CheckDuplicateGroupControlNumber;
            cloudProtocolSettings.CheckDuplicateInterchangeControlNumber    = serverProtocolSettings.ValidationSettings.CheckDuplicateInterchangeControlNumber;
            cloudProtocolSettings.CheckDuplicateTransactionSetControlNumber = serverProtocolSettings.ValidationSettings.CheckDuplicateTransactionSetControlNumber;

            cloudProtocolSettings.CommunicationAgreementId = serverProtocolSettings.EnvelopeSettings.CommunicationAgreementId;
            cloudProtocolSettings.ComponentSeparator       = serverProtocolSettings.FramingSettings.ComponentSeparator;
            cloudProtocolSettings.CreateEmptyXmlTagsForTrailingSeparators = serverProtocolSettings.ProcessingSettings.CreateEmptyXmlTagsForTrailingSeparators;
            cloudProtocolSettings.CreateGroupingSegments            = serverProtocolSettings.EnvelopeSettings.CreateGroupingSegments;
            cloudProtocolSettings.DataElementSeparator              = serverProtocolSettings.FramingSettings.DataElementSeparator;
            cloudProtocolSettings.DecimalPointIndicator             = (short)serverProtocolSettings.FramingSettings.DecimalPointIndicator;
            cloudProtocolSettings.EnableDefaultGroupHeaders         = serverProtocolSettings.EnvelopeSettings.EnableDefaultGroupHeaders;
            cloudProtocolSettings.FunctionalGroupId                 = serverProtocolSettings.EnvelopeSettings.FunctionalGroupId;
            cloudProtocolSettings.GenerateLoopForValidMessagesInAck = serverProtocolSettings.AcknowledgementSettings.NeedLoopForValidMessages;

            cloudProtocolSettings.GroupApplicationReceiverId        = serverProtocolSettings.EnvelopeSettings.GroupApplicationReceiverId;
            cloudProtocolSettings.GroupApplicationReceiverQualifier = serverProtocolSettings.EnvelopeSettings.GroupApplicationReceiverQualifier;
            cloudProtocolSettings.GroupApplicationSenderId          = serverProtocolSettings.EnvelopeSettings.GroupApplicationSenderId;
            cloudProtocolSettings.GroupApplicationSenderQualifier   = serverProtocolSettings.EnvelopeSettings.GroupApplicationSenderQualifier;
            cloudProtocolSettings.GroupAssociationAssignedCode      = serverProtocolSettings.EnvelopeSettings.GroupAssociationAssignedCode;
            cloudProtocolSettings.GroupControllingAgencyCode        = serverProtocolSettings.EnvelopeSettings.GroupControllingAgencyCode;
            cloudProtocolSettings.GroupControlNumberLowerBound      = serverProtocolSettings.EnvelopeSettings.GroupControlNumberLowerBound;
            cloudProtocolSettings.GroupControlNumberPrefix          = serverProtocolSettings.EnvelopeSettings.GroupControlNumberPrefix;
            cloudProtocolSettings.GroupControlNumberRollover        = serverProtocolSettings.EnvelopeSettings.GroupControlNumberRollover;
            cloudProtocolSettings.GroupControlNumberSuffix          = serverProtocolSettings.EnvelopeSettings.GroupControlNumberSuffix;
            cloudProtocolSettings.GroupControlNumberUpperBound      = serverProtocolSettings.EnvelopeSettings.GroupControlNumberUpperBound;
            cloudProtocolSettings.GroupMessageRelease = serverProtocolSettings.EnvelopeSettings.GroupMessageRelease;
            cloudProtocolSettings.GroupMessageVersion = serverProtocolSettings.EnvelopeSettings.GroupMessageVersion;

            cloudProtocolSettings.InterchangeControlNumberLowerBound = serverProtocolSettings.EnvelopeSettings.InterchangeControlNumberLowerBound;
            cloudProtocolSettings.InterchangeControlNumberPrefix     = serverProtocolSettings.EnvelopeSettings.InterchangeControlNumberPrefix;
            cloudProtocolSettings.InterchangeControlNumberRollover   = serverProtocolSettings.EnvelopeSettings.InterchangeControlNumberRollover;
            cloudProtocolSettings.InterchangeControlNumberSuffix     = serverProtocolSettings.EnvelopeSettings.InterchangeControlNumberSuffix;
            cloudProtocolSettings.InterchangeControlNumberUpperBound = serverProtocolSettings.EnvelopeSettings.InterchangeControlNumberUpperBound;

            cloudProtocolSettings.IsTestInterchange             = serverProtocolSettings.IsTestInterchange;
            cloudProtocolSettings.MaskSecurityInfo              = serverProtocolSettings.ProcessingSettings.MaskSecurityInfo;
            cloudProtocolSettings.MessageFilterType             = (short)serverProtocolSettings.MessageFilter.MessageFilterType;
            cloudProtocolSettings.NeedFunctionalAck             = serverProtocolSettings.AcknowledgementSettings.NeedFunctionalAcknowledgement;
            cloudProtocolSettings.NeedTechnicalAck              = serverProtocolSettings.AcknowledgementSettings.NeedTechnicalAcknowledgement;
            cloudProtocolSettings.PreserveInterchange           = serverProtocolSettings.ProcessingSettings.PreserveInterchange;
            cloudProtocolSettings.ProcessingPriorityCode        = serverProtocolSettings.EnvelopeSettings.ProcessingPriorityCode;
            cloudProtocolSettings.ProtocolName                  = serverProtocolSettings.ProtocolName;
            cloudProtocolSettings.ProtocolVersion               = serverProtocolSettings.FramingSettings.ProtocolVersion;
            cloudProtocolSettings.ReceiverReverseRoutingAddress = serverProtocolSettings.EnvelopeSettings.ReceiverReverseRoutingAddress;

            cloudProtocolSettings.ReleaseIndicator                    = serverProtocolSettings.FramingSettings.ReleaseIndicator;
            cloudProtocolSettings.RepetitionSeparator                 = serverProtocolSettings.FramingSettings.RepetitionSeparator;
            cloudProtocolSettings.RecipientReferencePasswordValue     = serverProtocolSettings.EnvelopeSettings.RecipientReferencePasswordValue;
            cloudProtocolSettings.RecipientReferencePasswordQualifier = serverProtocolSettings.EnvelopeSettings.RecipientReferencePasswordQualifier;
            cloudProtocolSettings.SegmentTerminator                   = serverProtocolSettings.FramingSettings.SegmentTerminator;
            cloudProtocolSettings.SegmentTerminatorSuffix             = (short)serverProtocolSettings.FramingSettings.SegmentTerminatorSuffix;
            cloudProtocolSettings.SenderReverseRoutingAddress         = serverProtocolSettings.EnvelopeSettings.SenderReverseRoutingAddress;

            cloudProtocolSettings.SuspendInterchangeOnError = serverProtocolSettings.ProcessingSettings.SuspendInterchangeOnError;
            cloudProtocolSettings.TrailingSeparatorPolicy   = (short)serverProtocolSettings.ValidationSettings.TrailingSeparatorPolicy;

            cloudProtocolSettings.TSApplyNewId = serverProtocolSettings.EnvelopeSettings.OverwriteExistingTransactionSetControlNumber;
            cloudProtocolSettings.TSControlNumberLowerBound = serverProtocolSettings.EnvelopeSettings.TransactionSetControlNumberLowerBound;
            cloudProtocolSettings.TSControlNumberPrefix     = serverProtocolSettings.EnvelopeSettings.TransactionSetControlNumberPrefix;
            cloudProtocolSettings.TSControlNumberRollover   = serverProtocolSettings.EnvelopeSettings.TransactionSetControlNumberRollover;
            cloudProtocolSettings.TSControlNumberSuffix     = serverProtocolSettings.EnvelopeSettings.TransactionSetControlNumberSuffix;
            cloudProtocolSettings.TSControlNumberUpperBound = serverProtocolSettings.EnvelopeSettings.TransactionSetControlNumberUpperBound;

            cloudProtocolSettings.UseDotAsDecimalSeparator = serverProtocolSettings.ProcessingSettings.UseDotAsDecimalSeparator;

            cloudProtocolSettings.ValidateEDITypes = serverProtocolSettings.ValidationSettings.ValidateEDITypes;
            cloudProtocolSettings.ValidateXSDTypes = serverProtocolSettings.ValidationSettings.ValidateXSDTypes;

            return(cloudProtocolSettings);
        }