public void MergeFrom(OfflineUserDataJob other)
        {
            if (other == null)
            {
                return;
            }
            if (other.ResourceName.Length != 0)
            {
                ResourceName = other.ResourceName;
            }
            if (other.HasId)
            {
                Id = other.Id;
            }
            if (other.HasExternalId)
            {
                ExternalId = other.ExternalId;
            }
            if (other.Type != global::Google.Ads.GoogleAds.V9.Enums.OfflineUserDataJobTypeEnum.Types.OfflineUserDataJobType.Unspecified)
            {
                Type = other.Type;
            }
            if (other.Status != global::Google.Ads.GoogleAds.V9.Enums.OfflineUserDataJobStatusEnum.Types.OfflineUserDataJobStatus.Unspecified)
            {
                Status = other.Status;
            }
            if (other.FailureReason != global::Google.Ads.GoogleAds.V9.Enums.OfflineUserDataJobFailureReasonEnum.Types.OfflineUserDataJobFailureReason.Unspecified)
            {
                FailureReason = other.FailureReason;
            }
            if (other.operationMetadata_ != null)
            {
                if (operationMetadata_ == null)
                {
                    OperationMetadata = new global::Google.Ads.GoogleAds.V9.Resources.OfflineUserDataJobMetadata();
                }
                OperationMetadata.MergeFrom(other.OperationMetadata);
            }
            switch (other.MetadataCase)
            {
            case MetadataOneofCase.CustomerMatchUserListMetadata:
                if (CustomerMatchUserListMetadata == null)
                {
                    CustomerMatchUserListMetadata = new global::Google.Ads.GoogleAds.V9.Common.CustomerMatchUserListMetadata();
                }
                CustomerMatchUserListMetadata.MergeFrom(other.CustomerMatchUserListMetadata);
                break;

            case MetadataOneofCase.StoreSalesMetadata:
                if (StoreSalesMetadata == null)
                {
                    StoreSalesMetadata = new global::Google.Ads.GoogleAds.V9.Common.StoreSalesMetadata();
                }
                StoreSalesMetadata.MergeFrom(other.StoreSalesMetadata);
                break;
            }

            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }
        public void MergeFrom(UploadUserDataRequest other)
        {
            if (other == null)
            {
                return;
            }
            if (other.CustomerId.Length != 0)
            {
                CustomerId = other.CustomerId;
            }
            operations_.Add(other.operations_);
            switch (other.MetadataCase)
            {
            case MetadataOneofCase.CustomerMatchUserListMetadata:
                if (CustomerMatchUserListMetadata == null)
                {
                    CustomerMatchUserListMetadata = new global::Google.Ads.GoogleAds.V9.Common.CustomerMatchUserListMetadata();
                }
                CustomerMatchUserListMetadata.MergeFrom(other.CustomerMatchUserListMetadata);
                break;
            }

            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }
        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)
        {
            uint tag;

            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
                    break;

                case 10: {
                    CustomerId = input.ReadString();
                    break;
                }

                case 18: {
                    global::Google.Ads.GoogleAds.V9.Common.CustomerMatchUserListMetadata subBuilder = new global::Google.Ads.GoogleAds.V9.Common.CustomerMatchUserListMetadata();
                    if (metadataCase_ == MetadataOneofCase.CustomerMatchUserListMetadata)
                    {
                        subBuilder.MergeFrom(CustomerMatchUserListMetadata);
                    }
                    input.ReadMessage(subBuilder);
                    CustomerMatchUserListMetadata = subBuilder;
                    break;
                }

                case 26: {
                    operations_.AddEntriesFrom(ref input, _repeated_operations_codec);
                    break;
                }
                }
            }
        }
        public void MergeFrom(pb::CodedInputStream input)
        {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
            input.ReadRawMessage(this);
    #else
            uint tag;
            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                    break;

                case 10: {
                    CustomerId = input.ReadString();
                    break;
                }

                case 18: {
                    global::Google.Ads.GoogleAds.V9.Common.CustomerMatchUserListMetadata subBuilder = new global::Google.Ads.GoogleAds.V9.Common.CustomerMatchUserListMetadata();
                    if (metadataCase_ == MetadataOneofCase.CustomerMatchUserListMetadata)
                    {
                        subBuilder.MergeFrom(CustomerMatchUserListMetadata);
                    }
                    input.ReadMessage(subBuilder);
                    CustomerMatchUserListMetadata = subBuilder;
                    break;
                }

                case 26: {
                    operations_.AddEntriesFrom(input, _repeated_operations_codec);
                    break;
                }
                }
            }
    #endif
        }
        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input)
        {
            uint tag;

            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
                    break;

                case 10: {
                    ResourceName = input.ReadString();
                    break;
                }

                case 32: {
                    Type = (global::Google.Ads.GoogleAds.V9.Enums.OfflineUserDataJobTypeEnum.Types.OfflineUserDataJobType)input.ReadEnum();
                    break;
                }

                case 40: {
                    Status = (global::Google.Ads.GoogleAds.V9.Enums.OfflineUserDataJobStatusEnum.Types.OfflineUserDataJobStatus)input.ReadEnum();
                    break;
                }

                case 48: {
                    FailureReason = (global::Google.Ads.GoogleAds.V9.Enums.OfflineUserDataJobFailureReasonEnum.Types.OfflineUserDataJobFailureReason)input.ReadEnum();
                    break;
                }

                case 58: {
                    global::Google.Ads.GoogleAds.V9.Common.CustomerMatchUserListMetadata subBuilder = new global::Google.Ads.GoogleAds.V9.Common.CustomerMatchUserListMetadata();
                    if (metadataCase_ == MetadataOneofCase.CustomerMatchUserListMetadata)
                    {
                        subBuilder.MergeFrom(CustomerMatchUserListMetadata);
                    }
                    input.ReadMessage(subBuilder);
                    CustomerMatchUserListMetadata = subBuilder;
                    break;
                }

                case 66: {
                    global::Google.Ads.GoogleAds.V9.Common.StoreSalesMetadata subBuilder = new global::Google.Ads.GoogleAds.V9.Common.StoreSalesMetadata();
                    if (metadataCase_ == MetadataOneofCase.StoreSalesMetadata)
                    {
                        subBuilder.MergeFrom(StoreSalesMetadata);
                    }
                    input.ReadMessage(subBuilder);
                    StoreSalesMetadata = subBuilder;
                    break;
                }

                case 72: {
                    Id = input.ReadInt64();
                    break;
                }

                case 80: {
                    ExternalId = input.ReadInt64();
                    break;
                }

                case 90: {
                    if (operationMetadata_ == null)
                    {
                        OperationMetadata = new global::Google.Ads.GoogleAds.V9.Resources.OfflineUserDataJobMetadata();
                    }
                    input.ReadMessage(OperationMetadata);
                    break;
                }
                }
            }
        }
        public void MergeFrom(pb::CodedInputStream input)
        {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
            input.ReadRawMessage(this);
    #else
            uint tag;
            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                    break;

                case 10: {
                    ResourceName = input.ReadString();
                    break;
                }

                case 32: {
                    Type = (global::Google.Ads.GoogleAds.V9.Enums.OfflineUserDataJobTypeEnum.Types.OfflineUserDataJobType)input.ReadEnum();
                    break;
                }

                case 40: {
                    Status = (global::Google.Ads.GoogleAds.V9.Enums.OfflineUserDataJobStatusEnum.Types.OfflineUserDataJobStatus)input.ReadEnum();
                    break;
                }

                case 48: {
                    FailureReason = (global::Google.Ads.GoogleAds.V9.Enums.OfflineUserDataJobFailureReasonEnum.Types.OfflineUserDataJobFailureReason)input.ReadEnum();
                    break;
                }

                case 58: {
                    global::Google.Ads.GoogleAds.V9.Common.CustomerMatchUserListMetadata subBuilder = new global::Google.Ads.GoogleAds.V9.Common.CustomerMatchUserListMetadata();
                    if (metadataCase_ == MetadataOneofCase.CustomerMatchUserListMetadata)
                    {
                        subBuilder.MergeFrom(CustomerMatchUserListMetadata);
                    }
                    input.ReadMessage(subBuilder);
                    CustomerMatchUserListMetadata = subBuilder;
                    break;
                }

                case 66: {
                    global::Google.Ads.GoogleAds.V9.Common.StoreSalesMetadata subBuilder = new global::Google.Ads.GoogleAds.V9.Common.StoreSalesMetadata();
                    if (metadataCase_ == MetadataOneofCase.StoreSalesMetadata)
                    {
                        subBuilder.MergeFrom(StoreSalesMetadata);
                    }
                    input.ReadMessage(subBuilder);
                    StoreSalesMetadata = subBuilder;
                    break;
                }

                case 72: {
                    Id = input.ReadInt64();
                    break;
                }

                case 80: {
                    ExternalId = input.ReadInt64();
                    break;
                }

                case 90: {
                    if (operationMetadata_ == null)
                    {
                        OperationMetadata = new global::Google.Ads.GoogleAds.V9.Resources.OfflineUserDataJobMetadata();
                    }
                    input.ReadMessage(OperationMetadata);
                    break;
                }
                }
            }
    #endif
        }