context: // ===================================================================================================
  //                           _  __     _ _
  //                          | |/ /__ _| | |_ _  _ _ _ __ _
  //                          | ' </ _` | |  _| || | '_/ _` |
  //                          |_|\_\__,_|_|\__|\_,_|_| \__,_|
  //
  // This file is part of the Kaltura Collaborative Media Suite which allows users
  // to do with audio, video, and animation what Wiki platforms allow them to do with
  // text.
  //
  // Copyright (C) 2006-2022  Kaltura Inc.
  //
  // This program is free software: you can redistribute it and/or modify
  // it under the terms of the GNU Affero General Public License as
  // published by the Free Software Foundation, either version 3 of the
  // License, or (at your option) any later version.
  //
  // This program is distributed in the hope that it will be useful,
  // but WITHOUT ANY WARRANTY; without even the implied warranty of
  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  // GNU Affero General Public License for more details.
  //
  // You should have received a copy of the GNU Affero General Public License
  // along with this program.  If not, see <http://www.gnu.org/licenses/>.
  //
  // @ignore
  // ===================================================================================================
  using System;
  using System.Xml;
  using System.Collections.Generic;
  using System.IO;
  using Kaltura.Request;
  using Kaltura.Types;
  using Kaltura.Enums;
  using Newtonsoft.Json.Linq;
  
  namespace Kaltura.Services
  {
  	public class ScheduleEventAddRequestBuilder : RequestBuilder<ScheduleEvent>
  	{
  		#region Constants
  		public const string SCHEDULE_EVENT = "scheduleEvent";
  		#endregion
  
  		public ScheduleEvent ScheduleEvent { get; set; }
  
  		public ScheduleEventAddRequestBuilder()
  			: base("schedule_scheduleevent", "add")
  		{
  		}
  
  		public ScheduleEventAddRequestBuilder(ScheduleEvent scheduleEvent)
  			: this()
  		{
  			this.ScheduleEvent = scheduleEvent;
  		}
  
  		public override Params getParameters(bool includeServiceAndAction)
  		{
  			Params kparams = base.getParameters(includeServiceAndAction);
  			if (!isMapped("scheduleEvent"))
  				kparams.AddIfNotNull("scheduleEvent", ScheduleEvent);
  			return kparams;
  		}
  
  		public override Files getFiles()
  		{
  			Files kfiles = base.getFiles();
  			return kfiles;
  		}
  
  		public override object Deserialize(JToken result)
  		{
  			return ObjectFactory.Create<ScheduleEvent>(result);
  		}
  	}
  
  	public class ScheduleEventAddFromBulkUploadRequestBuilder : RequestBuilder<BulkUpload>
  	{
  		#region Constants
  		public const string FILE_DATA = "fileData";
  		public const string BULK_UPLOAD_DATA = "bulkUploadData";
  		#endregion
  
  		public Stream FileData { get; set; }
  		public string FileData_FileName { get; set; }
  		public BulkUploadScheduleEventJobData BulkUploadData { get; set; }
  
  		public ScheduleEventAddFromBulkUploadRequestBuilder()
  			: base("schedule_scheduleevent", "addFromBulkUpload")
  		{
  		}
  
  		public ScheduleEventAddFromBulkUploadRequestBuilder(Stream fileData, BulkUploadScheduleEventJobData bulkUploadData)
  			: this()
  		{
  			this.FileData = fileData;
  			this.BulkUploadData = bulkUploadData;
  		}
  
  		public override Params getParameters(bool includeServiceAndAction)
  		{
  			Params kparams = base.getParameters(includeServiceAndAction);
  			if (!isMapped("bulkUploadData"))
  				kparams.AddIfNotNull("bulkUploadData", BulkUploadData);
  			return kparams;
  		}
  
  		public override Files getFiles()
  		{
  			Files kfiles = base.getFiles();
  			kfiles.Add("fileData", new FileData(FileData, FileData_FileName));
  			return kfiles;
  		}
  
  		public override object Deserialize(JToken result)
  		{
  			return ObjectFactory.Create<BulkUpload>(result);
  		}
  	}
  
  	public class ScheduleEventCancelRequestBuilder : RequestBuilder<ScheduleEvent>
  	{
  		#region Constants
  		public const string SCHEDULE_EVENT_ID = "scheduleEventId";
  		#endregion
  
  		public int ScheduleEventId { get; set; }
  
  		public ScheduleEventCancelRequestBuilder()
  			: base("schedule_scheduleevent", "cancel")
  		{
  		}
  
  		public ScheduleEventCancelRequestBuilder(int scheduleEventId)
  			: this()
  		{
  			this.ScheduleEventId = scheduleEventId;
  		}
  
  		public override Params getParameters(bool includeServiceAndAction)
  		{
  			Params kparams = base.getParameters(includeServiceAndAction);
  			if (!isMapped("scheduleEventId"))
  				kparams.AddIfNotNull("scheduleEventId", ScheduleEventId);
  			return kparams;
  		}
  
  		public override Files getFiles()
  		{
  			Files kfiles = base.getFiles();
  			return kfiles;
  		}
  
  		public override object Deserialize(JToken result)
  		{
  			return ObjectFactory.Create<ScheduleEvent>(result);
  		}
  	}
  
  	public class ScheduleEventDeleteRequestBuilder : RequestBuilder<ScheduleEvent>
  	{
  		#region Constants
  		public const string SCHEDULE_EVENT_ID = "scheduleEventId";
  		#endregion
  
  		public int ScheduleEventId { get; set; }
  
  		public ScheduleEventDeleteRequestBuilder()
  			: base("schedule_scheduleevent", "delete")
  		{
  		}
  
  		public ScheduleEventDeleteRequestBuilder(int scheduleEventId)
  			: this()
  		{
  			this.ScheduleEventId = scheduleEventId;
  		}
  
  		public override Params getParameters(bool includeServiceAndAction)
  		{
  			Params kparams = base.getParameters(includeServiceAndAction);
  			if (!isMapped("scheduleEventId"))
  				kparams.AddIfNotNull("scheduleEventId", ScheduleEventId);
  			return kparams;
  		}
  
  		public override Files getFiles()
  		{
  			Files kfiles = base.getFiles();
  			return kfiles;
  		}
  
  		public override object Deserialize(JToken result)
  		{
  			return ObjectFactory.Create<ScheduleEvent>(result);
  		}
  	}
  
  	public class ScheduleEventGetRequestBuilder : RequestBuilder<ScheduleEvent>
  	{
  		#region Constants
  		public const string SCHEDULE_EVENT_ID = "scheduleEventId";
  		#endregion
  
  		public int ScheduleEventId { get; set; }
  
  		public ScheduleEventGetRequestBuilder()
  			: base("schedule_scheduleevent", "get")
  		{
  		}
  
  		public ScheduleEventGetRequestBuilder(int scheduleEventId)
  			: this()
  		{
  			this.ScheduleEventId = scheduleEventId;
  		}
  
  		public override Params getParameters(bool includeServiceAndAction)
  		{
  			Params kparams = base.getParameters(includeServiceAndAction);
  			if (!isMapped("scheduleEventId"))
  				kparams.AddIfNotNull("scheduleEventId", ScheduleEventId);
  			return kparams;
  		}
  
  		public override Files getFiles()
  		{
  
gt: 			Files kfiles = base.getFiles();