/// <summary>
 /// Initializes a new instance of the <see cref="ItemResult" /> class.
 /// </summary>
 /// <param name="Id">Id.</param>
 /// <param name="UpdatedAt">UpdatedAt.</param>
 /// <param name="CreatedAt">CreatedAt.</param>
 /// <param name="DeletedAt">DeletedAt.</param>
 /// <param name="DataModified">DataModified.</param>
 /// <param name="Order">Order.</param>
 /// <param name="TemplateblockId">TemplateblockId.</param>
 /// <param name="TemplateitemId">TemplateitemId.</param>
 /// <param name="ExternalStationId">ExternalStationId.</param>
 /// <param name="ModelTypeId">ModelTypeId (required).</param>
 /// <param name="BlockId">BlockId.</param>
 /// <param name="ExternalId">ExternalId (required).</param>
 /// <param name="FieldValues">FieldValues.</param>
 /// <param name="Title">Title.</param>
 /// <param name="Duration">Duration.</param>
 /// <param name="Start">Start.</param>
 /// <param name="Status">Status.</param>
 /// <param name="Import">Import.</param>
 /// <param name="CampaignId">CampaignId.</param>
 /// <param name="Recommended">Recommended.</param>
 /// <param name="StationDraftId">StationDraftId.</param>
 /// <param name="ProgramDraftId">ProgramDraftId.</param>
 /// <param name="UserDraftId">UserDraftId.</param>
 /// <param name="StaticStart">StaticStart.</param>
 /// <param name="Details">Details.</param>
 /// <param name="Block">Block.</param>
 /// <param name="Broadcast">Broadcast.</param>
 /// <param name="Program">Program.</param>
 /// <param name="Contacts">Contacts.</param>
 /// <param name="Tags">Tags.</param>
 /// <param name="Campaign">Campaign.</param>
 /// <param name="ModelType">ModelType.</param>
 public ItemResult(long?Id = default(long?), DateTime?UpdatedAt = default(DateTime?), DateTime?CreatedAt = default(DateTime?), DateTime?DeletedAt = default(DateTime?), long?DataModified = default(long?), long?Order = default(long?), long?TemplateblockId = default(long?), long?TemplateitemId = default(long?), long?ExternalStationId = default(long?), long?ModelTypeId = default(long?), long?BlockId = default(long?), long?ExternalId = default(long?), ImportItemFieldValues FieldValues = default(ImportItemFieldValues), string Title = default(string), long?Duration = default(long?), DateTime?Start = default(DateTime?), StatusEnum?Status = default(StatusEnum?), long?Import = default(long?), long?CampaignId = default(long?), bool?Recommended = default(bool?), long?StationDraftId = default(long?), long?ProgramDraftId = default(long?), long?UserDraftId = default(long?), bool?StaticStart = default(bool?), string Details = default(string), ItemRelationsBlock Block = default(ItemRelationsBlock), BlockRelationsBroadcast Broadcast = default(BlockRelationsBroadcast), ItemRelationsProgram Program = default(ItemRelationsProgram), ItemRelationsContacts Contacts = default(ItemRelationsContacts), ItemRelationsTags Tags = default(ItemRelationsTags), ItemRelationsCampaign Campaign = default(ItemRelationsCampaign), BroadcastRelationsModelType ModelType = default(BroadcastRelationsModelType))
 {
     // to ensure "ModelTypeId" is required (not null)
     if (ModelTypeId == null)
     {
         throw new InvalidDataException("ModelTypeId is a required property for ItemResult and cannot be null");
     }
     else
     {
         this.ModelTypeId = ModelTypeId;
     }
     // to ensure "ExternalId" is required (not null)
     if (ExternalId == null)
     {
         throw new InvalidDataException("ExternalId is a required property for ItemResult and cannot be null");
     }
     else
     {
         this.ExternalId = ExternalId;
     }
     this.Id                = Id;
     this.UpdatedAt         = UpdatedAt;
     this.CreatedAt         = CreatedAt;
     this.DeletedAt         = DeletedAt;
     this.DataModified      = DataModified;
     this.Order             = Order;
     this.TemplateblockId   = TemplateblockId;
     this.TemplateitemId    = TemplateitemId;
     this.ExternalStationId = ExternalStationId;
     this.BlockId           = BlockId;
     this.FieldValues       = FieldValues;
     this.Title             = Title;
     this.Duration          = Duration;
     this.Start             = Start;
     this.Status            = Status;
     this.Import            = Import;
     this.CampaignId        = CampaignId;
     this.Recommended       = Recommended;
     this.StationDraftId    = StationDraftId;
     this.ProgramDraftId    = ProgramDraftId;
     this.UserDraftId       = UserDraftId;
     this.StaticStart       = StaticStart;
     this.Details           = Details;
     this.Block             = Block;
     this.Broadcast         = Broadcast;
     this.Program           = Program;
     this.Contacts          = Contacts;
     this.Tags              = Tags;
     this.Campaign          = Campaign;
     this.ModelType         = ModelType;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ItemRelations" /> class.
 /// </summary>
 /// <param name="Block">Block.</param>
 /// <param name="Broadcast">Broadcast.</param>
 /// <param name="Program">Program.</param>
 /// <param name="Contacts">Contacts.</param>
 /// <param name="Tags">Tags.</param>
 /// <param name="Campaign">Campaign.</param>
 /// <param name="ModelType">ModelType.</param>
 public ItemRelations(ItemRelationsBlock Block = default(ItemRelationsBlock), BlockRelationsBroadcast Broadcast = default(BlockRelationsBroadcast), ItemRelationsProgram Program = default(ItemRelationsProgram), ItemRelationsContacts Contacts = default(ItemRelationsContacts), ItemRelationsTags Tags = default(ItemRelationsTags), ItemRelationsCampaign Campaign = default(ItemRelationsCampaign), BroadcastRelationsModelType ModelType = default(BroadcastRelationsModelType))
 {
     this.Block     = Block;
     this.Broadcast = Broadcast;
     this.Program   = Program;
     this.Contacts  = Contacts;
     this.Tags      = Tags;
     this.Campaign  = Campaign;
     this.ModelType = ModelType;
 }