context: // ===================================================================================================
  //                           _  __     _ _
  //                          | |/ /__ _| | |_ _  _ _ _ __ _
  //                          | ' </ _` | |  _| || | '_/ _` |
  //                          |_|\_\__,_|_|\__|\_,_|_| \__,_|
  //
  // This file is part of the Kaltura Collaborative Media Suite which allows users
  // to do with audio, video, and animation what Wiki platfroms allow them to do with
  // text.
  //
  // Copyright (C) 2006-2011  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;
  
  namespace Kaltura
  {
  	public class KalturaDistributionProfile : KalturaObjectBase
  	{
  		#region Private Fields
  		private int _Id = Int32.MinValue;
  		private int _CreatedAt = Int32.MinValue;
  		private int _UpdatedAt = Int32.MinValue;
  		private int _PartnerId = Int32.MinValue;
  		private KalturaDistributionProviderType _ProviderType = null;
  		private string _Name = null;
  		private KalturaDistributionProfileStatus _Status = (KalturaDistributionProfileStatus)Int32.MinValue;
  		private KalturaDistributionProfileActionStatus _SubmitEnabled = (KalturaDistributionProfileActionStatus)Int32.MinValue;
  		private KalturaDistributionProfileActionStatus _UpdateEnabled = (KalturaDistributionProfileActionStatus)Int32.MinValue;
  		private KalturaDistributionProfileActionStatus _DeleteEnabled = (KalturaDistributionProfileActionStatus)Int32.MinValue;
  		private KalturaDistributionProfileActionStatus _ReportEnabled = (KalturaDistributionProfileActionStatus)Int32.MinValue;
  		private string _AutoCreateFlavors = null;
  		private string _AutoCreateThumb = null;
  		private string _OptionalFlavorParamsIds = null;
  		private string _RequiredFlavorParamsIds = null;
  		private IList<KalturaDistributionThumbDimensions> _OptionalThumbDimensions;
  		private IList<KalturaDistributionThumbDimensions> _RequiredThumbDimensions;
  		private IList<KalturaAssetDistributionRule> _OptionalAssetDistributionRules;
  		private IList<KalturaAssetDistributionRule> _RequiredAssetDistributionRules;
  		private int _SunriseDefaultOffset = Int32.MinValue;
  		private int _SunsetDefaultOffset = Int32.MinValue;
  		private int _RecommendedStorageProfileForDownload = Int32.MinValue;
  		private int _RecommendedDcForDownload = Int32.MinValue;
  		private int _RecommendedDcForExecute = Int32.MinValue;
  		#endregion
  
  		#region Properties
  		public int Id
  		{
  			get { return _Id; }
  			set 
  			{ 
  				_Id = value;
  				OnPropertyChanged("Id");
  			}
  		}
  		public int CreatedAt
  		{
  			get { return _CreatedAt; }
  			set 
  			{ 
  				_CreatedAt = value;
  				OnPropertyChanged("CreatedAt");
  			}
  		}
  		public int UpdatedAt
  		{
  			get { return _UpdatedAt; }
  			set 
  			{ 
  				_UpdatedAt = value;
  				OnPropertyChanged("UpdatedAt");
  			}
  		}
  		public int PartnerId
  		{
  			get { return _PartnerId; }
  			set 
  			{ 
  				_PartnerId = value;
  				OnPropertyChanged("PartnerId");
  			}
  		}
  		public KalturaDistributionProviderType ProviderType
  		{
  			get { return _ProviderType; }
  			set 
  			{ 
  				_ProviderType = value;
  				OnPropertyChanged("ProviderType");
  			}
  		}
  		public string Name
  		{
  			get { return _Name; }
  			set 
  			{ 
  				_Name = value;
  				OnPropertyChanged("Name");
  			}
  		}
  		public KalturaDistributionProfileStatus Status
  		{
  			get { return _Status; }
  			set 
  			{ 
  				_Status = value;
  				OnPropertyChanged("Status");
  			}
  		}
  		public KalturaDistributionProfileActionStatus SubmitEnabled
  		{
  			get { return _SubmitEnabled; }
  			set 
  			{ 
  				_SubmitEnabled = value;
  				OnPropertyChanged("SubmitEnabled");
  			}
  		}
  		public KalturaDistributionProfileActionStatus UpdateEnabled
  		{
  			get { return _UpdateEnabled; }
  			set 
  			{ 
  				_UpdateEnabled = value;
  				OnPropertyChanged("UpdateEnabled");
  			}
  		}
  		public KalturaDistributionProfileActionStatus DeleteEnabled
  		{
  			get { return _DeleteEnabled; }
  			set 
  			{ 
  				_DeleteEnabled = value;
  				OnPropertyChanged("DeleteEnabled");
  			}
  		}
  		public KalturaDistributionProfileActionStatus ReportEnabled
  		{
  			get { return _ReportEnabled; }
  			set 
  			{ 
  				_ReportEnabled = value;
  				OnPropertyChanged("ReportEnabled");
  			}
  		}
  		public string AutoCreateFlavors
  		{
  			get { return _AutoCreateFlavors; }
  			set 
  			{ 
  				_AutoCreateFlavors = value;
  				OnPropertyChanged("AutoCreateFlavors");
  			}
  		}
  		public string AutoCreateThumb
  		{
  			get { return _AutoCreateThumb; }
  			set 
  			{ 
  				_AutoCreateThumb = value;
  				OnPropertyChanged("AutoCreateThumb");
  			}
  		}
  		public string OptionalFlavorParamsIds
  		{
  			get { return _OptionalFlavorParamsIds; }
  			set 
  			{ 
  				_OptionalFlavorParamsIds = value;
  				OnPropertyChanged("OptionalFlavorParamsIds");
  			}
  		}
  		public string RequiredFlavorParamsIds
  		{
  			get { return _RequiredFlavorParamsIds; }
  			set 
  			{ 
  				_RequiredFlavorParamsIds = value;
  				OnPropertyChanged("RequiredFlavorParamsIds");
  			}
  		}
  		public IList<KalturaDistributionThumbDimensions> OptionalThumbDimensions
  		{
  			get { return _OptionalThumbDimensions; }
  			set 
  			{ 
  				_OptionalThumbDimensions = value;
  				OnPropertyChanged("OptionalThumbDimensions");
  			}
  		}
  		public IList<KalturaDistributionThumbDimensions> RequiredThumbDimensions
  		{
  			get { return _RequiredThumbDimensions; }
  			set 
  			{ 
  				_RequiredThumbDimensions = value;
  				OnPropertyChanged("RequiredThumbDimensions");
  			}
  		}
  		public IList<KalturaAssetDistributionRule> OptionalAssetDistributionRules
  		{
  			get { return _OptionalAssetDistributionRules; }
  			set 
  			{ 
  				_OptionalAssetDistributionRules = value;
  				OnPropertyChanged("OptionalAssetDistributionRules");
  			}
  		}
  		public IList<KalturaAssetDistributionRule> RequiredAssetDistributionRules
  		{
  			get { return _RequiredAssetDistributionRules; }
  			set 
  			{ 
  				_RequiredAssetDistributionRules = value;
  				OnPropertyChanged("RequiredAssetDistributionRules");
  			}
  		}
  		public int SunriseDefaultOffset
  		{
  			get { return _SunriseDefaultOffset; }
  			set 
  			{ 
  				_SunriseDefaultOffset = value;
  				OnPropertyChanged("SunriseDefaultOffset");
  			}
  		}
  		public int SunsetDefaultOffset
  		{
  			get { return _SunsetDefaultOffset; }
  			set 
  			{ 
  				_SunsetDefaultOffset = value;
  				OnPropertyChanged("SunsetDefaultOffset");
  			}
  		}
  		public int RecommendedStorageProfileForDownload
  		{
  			get { return _RecommendedStorageProfileForDownload; }
  			set 
  			{ 
  				_RecommendedStorageProfileForDownload = value;
  				OnPropertyChanged("RecommendedStorageProfileForDownload");
  			}
  		}
  		public int RecommendedDcForDownload
  		{
  
gt: 			get { return _RecommendedDcForDownload; }