0% found this document useful (0 votes)
41 views93 pages

Classes Description

The document defines a base object class and several classes that inherit from it. The base object class contains common properties like an ID and methods for populating objects from data rows. Classes that inherit from it like Interview add additional properties specific to that object type, such as recordings, attachments, and retention settings. The abstract classes and inheritance hierarchy allow defining common and specific behaviors across object types in the system.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views93 pages

Classes Description

The document defines a base object class and several classes that inherit from it. The base object class contains common properties like an ID and methods for populating objects from data rows. Classes that inherit from it like Interview add additional properties specific to that object type, such as recordings, attachments, and retention settings. The abstract classes and inheritance hierarchy allow defining common and specific behaviors across object types in the system.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 93

[DataContract]

[KnownType(typeof(Interview))]
[KnownType(typeof(DigitalCaseFolder))]
[KnownType(typeof(Task))]
[KnownType(typeof(Attachment))]
[KnownType(typeof(Recording))]
[KnownType(typeof(Bookmark))]
[KnownType(typeof(SystemObject))]
[KnownType(typeof(Role))]
[KnownType(typeof(Email))]
[KnownType(typeof(DiscPublisher))]
[KnownType(typeof(BurningRobot))]
[KnownType(typeof(BurningTaskItem))]
[KnownType(typeof(BurningTaskOrder))]
[KnownType(typeof(DiscTemplate))]
[KnownType(typeof(EditData))]
[KnownType(typeof(EditRectangle))]
[KnownType(typeof(EditSelection))]
[KnownType(typeof(EmailPublished))]
[KnownType(typeof(NotificationEmailType))] public abstract class
BaseObject
/// <summary>
/// Gets/Sets ID
/// </summary>
[Column(Name = "id", IsDbGenerated = true, DbType = "Int")]
[DataMember]
public int ID
{
get;
set;
}

/// <summary>
/// Convert DataRow object to BaseObject
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <param name="objectForFilling">Target object</param>
/// <param name="extraFields">True - if field doesn't belong to object, exception
will not be raised </param>
/// <returns>BaseObject</returns>
public static void ReadValuesFromDataRow(Object objectForFilling, DataRow row, bool
extraFields)

/// <summary>
/// Convert DataRow object to BaseObject
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <param name="objectForFilling">Target object</param>
/// <param name="extraFields">True - if field doesn't belong to object, exception
will not be raised </param>
/// <returns>BaseObject</returns>
public static void ReadValuesFromDataRow(Object objectForFilling, SqlDataReader row,
bool extraFields)

[DataContract]
public abstract class BaseObjectCredentialData : BaseObject
1
/// <summary>
/// Gets/Sets User's/Group's SID
/// </summary>
[Column(Name = "idUser", DbType = "VarChar", Storage = "68")]
[DataMember]
public string CredentialSID
{
get;
set;
}

/// <summary>
/// Gets/Sets Name of User's/Group's
/// </summary>
[Column(Name = "userName", DbType = "NVarChar", Storage = "104")]
[DataMember]
public string CredentialName
{
get;
set;
}

[DataContract]
public abstract partial class BaseObjectPermissions :
BaseObjectCredentialData
/// <summary>
/// Gets/Sets Name
/// </summary>
[Column(Name = "name", DbType = "NVarChar", Storage = "255")]
[DataMember]
public string Name
{
get;
set;
}

/// <summary>
/// Gets/Sets Comment
/// </summary>
[Column(Name = "comment", CanBeNull = true, DbType = "NVarChar", Storage = "255")]
[DataMember]
public string Comment
{
get;
set;
}

/// <summary>
/// Gets/Sets Creation time
/// </summary>
[Column(Name = "creationTime", DbType = "DateTime2")]
[DataMember]
public DateTime CreationTime
{
get;
set;
}
2
/// <summary>
/// Gets/Sets True - disposed object by retention policy
/// </summary>
[Column(Name = "disposed", DbType = "Bit")]
[DataMember]
public bool Disposed
{
get;
set;
}

3
/// <summary>
/// Gets/Sets True - the object can be visible in UI
/// </summary>
[Column(Name = "visible", DbType = "Bit")]
[DataMember]
public bool IsVisible
{
get;
set;
}

/// <summary>
/// Gets/Sets Permissions
/// </summary>
[DataMember]
public List<CommonParent> Permissions
{
get;
set;
}

/// <summary>
/// Gets/Sets Effective permissions for the current user
/// </summary>
[DataMember]
[System.Xml.Serialization.XmlIgnore]
public Permissions EffectivePermissions
{
get;
set;
}

/// <summary>
/// Gets/Sets Nested Metadata
/// </summary>
[DataMember]
[System.Xml.Serialization.XmlIgnore]
public Dictionary<MetaDataNames, MetaData> MetaData
{
get;
set;
}

4
/// <summary>
/// Gets/Sets True - object has been uploaded
/// </summary>
[Column(Name = "uploaded", DbType = "Bit")]
[DataMember]
public bool Uploaded
{
get;
set;
}

/// <summary>
/// Gets/Sets audit logs
/// </summary>
[DataMember]
public List<Log> AuditLogs
{
get;
set;
}

public BaseObjectPermissions()

[DataContract]
public partial class Interview (DigitalCase) :
BaseObjectPermissions
/// <summary>
/// Gets/Sets Media type of object
/// </summary>
[Column(Name = "mediaType", DbType = "TinyInt")]
[DataMember]
public MediaType Type
{
get;
set;
}

/// <summary>
/// Gets/Sets PC name
/// </summary>
[Column(Name = "clientName", DbType = "NVarChar", Storage = "63")]
[DataMember]
public string ClientName
{
get;
set;
}

/// <summary>
/// Gets/Sets Nested recordings
/// </summary>
[DataMember]
public List<Recording> Recordings
{
get;
set;
}

5
/// <summary>
/// Gets/Sets Nested attachments
/// </summary>
[DataMember]
public List<Attachment> Attachments
{
get;
set;
}

/// <summary>
/// Gets/Sets Nested burning tasks
/// </summary>
[DataMember]
public List<BurningTask> BurningTasks
{
get;
set;
}

/// <summary>
/// Gets/Sets Retention time
/// </summary>
[Column(Name = "retentionTime", CanBeNull = true, DbType = "DateTime")]
[DataMember]
public DateTime? RetentionTime
{
get;
set;
}

/// <summary>
/// Gets/Sets Retetion option
/// </summary>
[Column(Name = "retentionOption", DbType = "TinyInt")]
[DataMember]
public RetentionOption RetentionOption
{
get;
set;
}

/// <summary>
/// Gets/Sets Retetion type
/// </summary>
[Column(Name = "retentionType", DbType = "TinyInt")]
[DataMember]
public RetentionType RetentionType
{
get;
set;
}

/// <summary>
/// Gets/Sets Retetion rule
/// </summary>
[DataMember]
public RetentionRule RetentionRule
{
get;
6
set;
}

/// <summary>
/// Gets/Sets Path
/// </summary>
[Column(Name = "path", DbType = "NVarChar", Storage = "260")]
[DataMember]
public string Path
{
get;
set;
}

/// <summary>
/// Gets/Sets Directory name
/// </summary>
[Column(Name = "directoryName", DbType = "NVarChar", Storage = "255")]
[DataMember]
public string DirectoryName
{
get;
set;
}

/// <summary>
/// Gets/Sets Notified flag
/// </summary>
[Column(Name = "notified", DbType = "Bit")]
[DataMember]
public bool Notified
{
get;
set;
}

/// <summary>
/// Gets/Sets Modified time
/// </summary>
[Column(Name = "modifiedTime", CanBeNull = true, DbType = "DateTime")]
[DataMember]
public DateTime? ModifiedTime
{
get;
set;
}

/// <summary>
/// Gets/Sets Username - who disposed an object
/// </summary>
[Column(Name = "disposeByUserName", CanBeNull = true, DbType = "NVarChar", Storage =
"104")]
[DataMember]
public string DisposeByUserName
{
get;
set;
}

7
/// <summary>
/// Gets/Sets User SID - who disposed an object
/// </summary>
[Column(Name = "disposeBySID", CanBeNull = true, DbType = "VarChar", Storage =
"68")]
[DataMember]
public string DisposeBySID
{
get;
set;
}

/// <summary>
/// Gets/Sets GUID
/// </summary>
[Column(Name = "guid", DbType = "VarChar", Storage = "56")]
[DataMember]
public string GUID
{
get;
set;
}

/// <summary>
/// Gets/Sets Link history
/// </summary>
[DataMember]
public List<LinkHistory> LinkHistory
{
get;
set;
}

/// <summary>
/// Gets/Sets Link history
/// </summary>
[DataMember]
public bool FilesExported
{
get;
set;
}

/// <summary>
/// Gets/Sets publish history
/// </summary>
[DataMember]
public List<PublishJob> PublishHistory
{
get;
set;
}

public Interview()

/// <summary>
/// Convert DataRow object to Interview
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns> Interview </returns>
8
public static explicit operator Interview(DataRow row)

/// <summary>
/// Convert DataRow object to shallow Attachment
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Attachment</returns>
public static Interview GetShallowItemFromDataRow(DataRow row)

/// <summary>
/// Returns recording by its Guid
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
public Recording GetRecordingByGuid(string guid)

/// <summary>
/// Returns attachment by its Guid
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
public Attachment GetAttachmentByGuid(string guid)

[DataContract]
public abstract class BaseObjectParent : BaseObjectPermissions

/// <summary>
/// Gets/Sets PK of a parent object
/// </summary>
[Column(Name = "idParent", DbType = "Int")]
[DataMember]
public int ParentID
{
get;
set;
}

/// <summary>
/// Gets/Sets Media type of an object
/// </summary>
[Column(Name = "mediaType", DbType = "TinyInt")]
[DataMember]
public MediaType Type
{
get;
set;
}

9
[DataContract]
public abstract class BaseObjectFile : BaseObjectParent
/// <summary>
/// Gets/Sets CRC
/// </summary>
[Column(Name = "crc", CanBeNull = true, DbType = "Char", Storage = "96")]
[DataMember]
public string CRC
{
get;
set;
}

/// <summary>
/// Gets/Sets MimeType
/// </summary>
[Column(Name = "mimeType", CanBeNull = true, DbType = "VarChar", Storage = "255")]
[DataMember]
public string MimeType
{
get;
set;
}

/// <summary>
/// Gets/Sets File size
/// </summary>
[Column(Name = "fileSize", CanBeNull = true, DbType = "BigInt")]
[DataMember]
public long FileSize
{
get;
set;
}

/// <summary>
/// Gets/Sets File name
/// </summary>
[Column(Name = "fileName", CanBeNull = true, DbType = "NVarChar", Storage = "255")]
[DataMember]
public string FileName
{
get;
set;
}

/// <summary>
/// Gets/Sets File storage path
/// </summary>
[Column(Name = "path", CanBeNull = true, DbType = "NVarChar", Storage = "260")]
[DataMember]
public string FilePath
{
get;
set;
}

10
[DataContract]
public partial class Recording (RecordingG4) : BaseObjectFile
/// <summary>
/// Gets/Sets Time when capturing has been stopped
/// </summary>
[Column(Name = "finishTime", CanBeNull = true, DbType = "DateTime")]
[DataMember]
public DateTime? FinishTime
{
get;
set;
}

/// <summary>
/// Gets/Sets Recording duration
/// </summary>
[Column(Name = "duration", CanBeNull = true, DbType = "Int")]
[DataMember]
public int Duration
{
get;
set;
}

/// <summary>
/// Gets/Sets PC name
/// </summary>
[Column(Name = "clientName", DbType = "NVarChar", Storage = "63")]
[DataMember]
public string ClientName
{
get;
set;
}

/// <summary>
/// Gets/Sets True - live stream is being watched
/// </summary>
[Column(Name = "watched", DbType = "Bit")]
[DataMember]
public bool Watched
{
get;
set;
}

/// <summary>
/// Gets/Sets Publishing point
/// </summary>
[Column(Name = "publishingPoint", CanBeNull = true, DbType = "Char", Storage =
"20")]
[DataMember]
public string PublishingPoint
{
get;
set;
}

11
/// <summary>
/// Gets/Sets True - live stream
/// </summary>
[Column(Name = "isLiveFeed", DbType = "Bit")]
[DataMember]
public bool IsLiveFeed
{
get;
set;
}

/// <summary>
/// Gets/Sets Nested attachments
/// </summary>
[DataMember]
public List<Attachment> Attachments
{
get;
set;
}

/// <summary>
/// Gets/Sets Nested bookmarks
/// </summary>
[DataMember]
public List<Bookmark> Bookmarks
{
get;
set;
}

/// <summary>
/// Gets/Sets Nested shadow recordings
/// </summary>
[DataMember]
public List<ShadowRecording> Recordings
{
get;
set;
}

/// <summary>
/// Gets/Sets Nested chat messages
/// </summary>
[DataMember]
public List<ChatMessage> Messages
{
get;
set;
}

/// <summary>
/// Gets/Sets Nested tasks
/// </summary>
[DataMember]
public List<Task> Tasks
{
get;
set;
}
12
/// <summary>
/// Gets/Sets Guid
/// </summary>
[Column(Name = "guid", DbType = "Char", Storage = "255")]
[DataMember]
public string GUID
{
get;
set;
}
/// <summary>
/// Gets/Sets If edited
/// </summary>
[Column(Name = "isEdited", DbType = "Bit", CanBeNull = true)]
[DataMember]
public bool? IsEdited
{
get;
set;
}

/// <summary>
/// Gets/Sets Parent type of this recording
/// </summary>
[Column(Name = "parentType", DbType = "TinyInt")]
[DataMember]
public ObjectType ParentType
{
get;
set;
}

/// <summary>
/// Gets/Sets Link history
/// </summary>
[DataMember]
public List<LinkHistory> LinkHistory
{
get;
set;
}

/// <summary>
/// Gets/Sets Edit history
/// </summary>
[DataMember]
public List<EditJob> EditHistory
{
get;
set;
}

/// <summary>
/// Gets/Sets publish history. This property was left because ExportImport tool use.
This property must be deleted because this property was moved to Interview and
DigitalCaseFolder objects.
/// </summary>
[DataMember]
public List<PublishJob> PublishHistory { get; set; }
13
public Recording()

14
/// <summary>
/// Convert DataRow object to Recording
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Recording</returns>
public static explicit operator Recording(DataRow row)

/// <summary>
/// Convert DataRow object to Recording
/// </summary>
/// <param name="row">Source SqlDataReader object</param>
/// <returns>Recording</returns>
public static explicit operator Recording(SqlDataReader row)

/// <summary>
/// Convert DataRow object to shallow Recording
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Recording</returns>
public static Recording GetShallowItemFromDataRow(DataRow row)

/// <summary>
/// Returns attachment by its Guid
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
public Attachment GetAttachmentByGuid(string guid)

/// <summary>
/// Returns bookmark by its Guid
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
public Bookmark GetBookmarkByGuid(string guid)

[DataContract]
public partial class Attachment (AttachmentG4) :
BaseObjectFile
/// <summary>
/// Gets/Sets Interview ID
/// </summary>
[Column(Name = "idRoot", DbType = "Int")]
[DataMember]
public int RootID
{
get;
set;
}

15
[Column(Name = "type", DbType = "TinyInt")]
[DataMember]
/// <summary>
/// Gets/Sets Parent type of this attachment
/// </summary>
public ObjectType ParentType
{
get;
set;
}

/// <summary>
/// Gets/Sets Guid
/// </summary>
[Column(Name = "guid", DbType = "Char", Storage = "36")]
[DataMember]
public string GUID
{
get;
set;
}

[Column(Name = "rootType", DbType = "TinyInt")]


[DataMember]
/// <summary>
/// Gets/Sets Root type of this attachment
/// </summary>
public ObjectType RootType
{
get;
set;
}

/// <summary>
/// Gets/Sets PDF Path where pdf file is
/// </summary>
[Column(Name = "pdfPath", CanBeNull = true, DbType = "NVarChar", Storage = "260")]
[DataMember]
public string PDFPath
{
get;
set;
}

public Attachment()

/// <summary>
/// Convert DataRow object to Attachment
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Attachment</returns>
public static explicit operator Attachment(DataRow row)

/// <summary>
/// Convert DataRow object to shallow Attachment
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Attachment</returns>
public static Attachment GetShallowItemFromDataRow(DataRow row)

16
[DataContract]
public class BurningTask : BaseObjectCredentialData
/// <summary>
/// Gets/Sets PK of a parent object
/// </summary>
[DataMember]
[Column(Name = "idParent", DbType = "Int")]
public int ParentID
{
get;
set;
}

/// <summary>
/// Gets/Sets Status of a burning task
/// </summary>
[DataMember]
[Column(Name = "status", DbType = "TinyInt")]
public BurningTaskStatus Status
{
get;
set;
}

/// <summary>
/// Gets/Sets Creation time
/// </summary>
[Column(Name = "creationTime", DbType = "DateTime")]
[DataMember]
public DateTime CreationTime
{
get;
set;
}

/// <summary>
/// Gets/Sets Modified time
/// </summary>
[Column(Name = "modifiedTime", DbType = "DateTime")]
[DataMember]
public DateTime ModifiedTime
{
get;
set;
}

/// <summary>
/// Gets/Sets Burning type
/// </summary>
[Column(Name = "type", DbType = "TinyInt")]
[DataMember]
public BurningType Type
{
get;
set;
}

/// <summary>

17
/// Gets/Sets Service PC name
/// </summary>
[DataMember]
[Column(Name = "pcName", CanBeNull = true, DbType = "NVarChar", Storage = "63")]
public string PCname
{
get;
set;
}

/// <summary>
/// Gets/Sets List of objects for burning
/// </summary>
[DataMember]
public List<BurningTaskItem> Items
{
get;
set;
}

/// <summary>
/// Gets/Sets List of orders
/// </summary>
[DataMember]
public List<BurningTaskOrder> Orders
{
get;
set;
}

/// <summary>
/// Gets/Sets GUID
/// </summary>
[Column(Name = "guid", DbType = "VarChar", Storage = "56")]
[DataMember]
public string GUID
{
get;
set;
}

[Column(Name = "parentType", DbType = "TinyInt")]


[DataMember]
/// <summary>
/// Gets/Sets Parent type of this burning task
/// </summary>
public ObjectType ParentType
{
get;
set;
}

public BurningTask()

/// <summary>
/// Convert DataRow object to BurningTask
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>BurningTask</returns>
public static explicit operator BurningTask(System.Data.DataRow row)
18
/// <summary>
/// Option of retention.
/// </summary>
[DataContract]
public enum RetentionOption : byte
{
[EnumMember]
Automated = 1,
[EnumMember]
Manual,
[EnumMember]
None
}

/// <summary>
/// Type of retention.
/// </summary>
[DataContract]
public enum RetentionType : byte
{
[EnumMember]
Calculated = 1,
[EnumMember]
Permanent,
[EnumMember]
Custom
}

public class RetentionRule


/// <summary>
/// Gets/Sets ID
/// </summary>
[Column(Name = "id", IsDbGenerated = true, DbType = "BigInt")]
[DataMember]
public long ID
{
get;
set;
}

/// <summary>
/// Gets/Sets how many days to store an interview
/// </summary>
[Column(Name = "days", DbType = "Int")]
[DataMember]
public int DaysToStore
{
get;
set;
}

/// <summary>
/// Gets/Sets Name
/// </summary>
[Column(Name = "name", DbType = "NVarChar", Storage = "1000")]
[DataMember]
public string Name { get; set; }

19
/// <summary>
/// Gets/Sets Comment
/// </summary>
[Column(Name = "comment", CanBeNull = true, DbType = "NVarChar", Storage = "255")]
[DataMember]
public string Comment
{
get;
set;
}

/// <summary>
/// Gets/Sets Retention condition list
/// </summary>
[DataMember]
public List<RetentionCondition> Conditions
{
get;
set;
}

public RetentionRule()

/// <summary>
/// Convert DataRow object to RetentionRule
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>RetentionRule</returns>
public static explicit operator RetentionRule(DataRow row)

[DataContract]
public partial class Bookmark (BookmarkG4) : BaseObjectParent,
IComparable
/// <summary>
/// Gets/Sets Position
/// </summary>
[Column(Name = "position", DbType = "Int")]
[DataMember]
public int Position
{
get;
set;
}

/// <summary>
/// Gets/Sets ID root case
/// </summary>
[Column(Name = "idRoot", DbType = "Int")]
[DataMember]
public int RootID
{
get;
set;
}

20
/// <summary>
/// Gets/Sets Guid
/// </summary>
[Column(Name = "guid", DbType = "Char", Storage = "36")]
[DataMember]
public string GUID
{
get;
set;
}

[Column(Name = "rootType", DbType = "TinyInt")]


[DataMember]
/// <summary>
/// Gets/Sets Root type of this attachment
/// </summary>
public ObjectType RootType
{
get;
set;
}

public Bookmark()

/// <summary>
/// Convert DataRow object to Bookmark
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Bookmark</returns>
public static explicit operator Bookmark(DataRow row)

/// <summary>
/// Convert DataRow object to shallow Bookmark
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Bookmark</returns>
public static Bookmark GetShallowItemFromDataRow(DataRow row)

[DataContract]
public class ShadowRecording : BaseObjectFile
/// <summary>
/// Convert DataRow object to ShadowRecordings
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>ShadowRecordings</returns>
public static explicit operator ShadowRecording(DataRow row)

public class ChatMessage:BaseObjectCredentialData


/// <summary>
/// Gets/Sets Creation time
/// </summary>
[DataMember]
[Column(Name = "time", DbType = "DateTime")]
public DateTime CreationTime
{
get;
set;
21
}

/// <summary>
/// Gets/Sets Parent ID
/// </summary>
[DataMember]
[Column(Name = "idParent", DbType = "Int")]
public int ParentID
{
get;
set;
}

/// <summary>
/// Gets/Sets Message
/// </summary>
[DataMember]
[Column(Name = "message", DbType = "NVarChar", Storage = "255")]
public string Message
{
get;
set;
}

/// <summary>
/// Convert DataRow object to ChatMessage
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>ChatMessage</returns>
public static explicit operator ChatMessage(DataRow row)

[DataContract]
public partial class Task : BaseObjectFile
/// <summary>
/// Gets/Sets ID root case
/// </summary>
[Column(Name = "idRoot", DbType = "Int")]
[DataMember]
public int RootID
{
get;
set;
}
/// <summary>
/// Gets/Sets Time when task has been taken
/// </summary>
[Column(Name = "takenTime", CanBeNull = true, DbType = "DateTime")]
[DataMember]
public DateTime? TakenTime
{
get;
set;
}

22
/// <summary>
/// Gets/Sets Time when task has been finished
/// </summary>
[Column(Name = "finishTime", CanBeNull = true, DbType = "DateTime")]
[DataMember]
public DateTime? FinishTime
{
get;
set;
}

/// <summary>
/// Gets/Sets Transcriber's ID
/// </summary>
[Column(Name = "idTranscriber", DbType = "VarChar", Storage = "68")]
[DataMember]
public string TranscriberSID
{
get;
set;
}

/// <summary>
/// Gets/Sets Transcriber name
/// </summary>
[Column(Name = "transriberName", DbType = "NVarChar", Storage = "104")]
[DataMember]
public string TranscriberName
{
get;
set;
}

/// <summary>
/// Gets/Sets Assigner's ID
/// </summary>
[Column(Name = "idAssigner", DbType = "VarChar", Storage = "68")]
[DataMember]
public string AssignerSID
{
get;
set;
}

/// <summary>
/// Gets/Sets Assigner name
/// </summary>
[Column(Name = "assignerName", DbType = "NVarChar", Storage = "104")]
[DataMember]
public string AssignerName
{
get;
set;
}

23
/// <summary>
/// Gets/Sets Status
/// </summary>
[Column(Name = "status", DbType = "TinyInt")]
[DataMember]
public TaskStatus Status
{
get;
set;
}
/// <summary>
/// Gets/Sets Priority
/// </summary>
[Column(Name = "priority", DbType = "TinyInt")]
[DataMember]
public TaskPriority Priority
{
get;
set;
}

/// <summary>
/// Gets/Sets Pre-field
/// </summary>
[Column(Name = "preField", DbType = "NVarChar", Storage = "50", CanBeNull = true)]
[DataMember]
public string PreField
{
get;
set;
}

/// <summary>
/// Gets/Sets True - task transcriber is an AD group
/// </summary>
[Column(Name = "isGroup", DbType = "Bit")]
[DataMember]
public bool IsGroup
{
get;
set;
}

/// <summary>
/// Gets/Sets GUID
/// </summary>
[Column(Name = "guid", DbType = "VarChar", Storage = "56")]
[DataMember]
public string GUID
{
get;
set;
}

24
[Column(Name = "rootType", DbType = "TinyInt")]
[DataMember]
/// <summary>
/// Gets/Sets Root type of this task
/// </summary>
public ObjectType RootType
{
get;
set;
}

/// <summary>
/// Gets/Sets PDF Path where pdf file is
/// </summary>
[Column(Name = "pdfPath", CanBeNull = true, DbType = "NVarChar", Storage = "260")]
[DataMember]
public string PDFPath
{
get;
set;
}

public Task()
/// <summary>
/// Convert DataRow object to Task
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Task</returns>
public static explicit operator Task(DataRow row)

/// <summary>
/// Convert DataRow object to shallow Task
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Task</returns>
public static Task GetShallowItemFromDataRow(DataRow row)

/// <summary>
/// Enums of base classes which can be parent
/// </summary>
[DataContract]
public enum ObjectType : byte
{
[EnumMember]
Interview = 1,
[EnumMember]
Recording = 2,
[EnumMember]
RecordingAttachment = 4,
[EnumMember]
ContainerAttachment = 5,
[EnumMember]
Task = 6,
[EnumMember]
Bookmark = 7,
[EnumMember]
System = 8,
[EnumMember]
DigitalCaseFolder =9,

25
}

/// <summary>
/// Task status
/// </summary>
[DataContract]
public enum TaskStatus : byte
{
[EnumMember]
NotAssigned = 1,
[EnumMember]
NotStarted,
[EnumMember]
InProgress,
[EnumMember]
Finished
}

/// <summary>
/// Task priority
/// </summary>
[DataContract]
public enum TaskPriority : byte
{
[EnumMember]
Normal = 1,
[EnumMember]
High
}

/// <summary>
/// Burning task status
/// </summary>
[DataContract]
public enum BurningTaskStatus : byte
{
[EnumMember]
Pending = 1,
[EnumMember]
InProgress,
[EnumMember]
Sent,
[EnumMember]
Delayed,
[EnumMember]
Failed
}

/// <summary>
/// Burning type
/// </summary>
public enum BurningType : byte
{
Data,
CDA,
DVDVideo
}

26
[DataContract]
public class BurningTaskItem : BaseObject
/// <summary>
/// Gets/Sets PK of a parent object
/// </summary>
[DataMember]
[Column(Name = "idParent", DbType = "Int")]
public int ParentID
{
get;
set;
}

/// <summary>
/// Gets/Sets Nested object
/// </summary>
[DataMember]
[System.Xml.Serialization.XmlIgnore]
public BaseObjectPermissions Item
{
get;
set;
}

/// <summary>
/// Gets/Sets ID of a nested object
/// </summary>
[DataMember]
[Column(Name = "idObject", DbType = "Int")]
public int ObjectID
{
get;
set;
}

/// <summary>
/// Gets/Sets Name
/// </summary>
[DataMember]
[Column(Name = "name", DbType = "NVarChar", Storage = "255")]
public string Name
{
get;
set;
}

/// <summary>
/// Gets/Sets Related object type
/// </summary>
[DataMember]
[Column(Name = "parentType", DbType = "TinyInt")]
public ObjectType ObjectType
{
get;
set;
}

27
/// <summary>
/// Gets/Sets Error type
/// </summary>
[DataMember]
[Column(Name = "burnError", DbType = "TinyInt")]
public BurningTaskError Error
{
get;
set;
}

public BurningTaskItem()

/// <summary>
/// Convert DataRow object to BurningTaskItem
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>BurningTaskItem</returns>
public static explicit operator BurningTaskItem(System.Data.DataRow row)

/// <summary>
/// Burning task error
/// </summary>
DataContract]
public enum BurningTaskError : byte
{
[EnumMember]
None = 1,
[EnumMember]
NotFound,
[EnumMember]
Network,
[EnumMember]
NoFreeSpace
}

[DataContract]
public class BurningTaskOrder : BaseObject
/// <summary>
/// Gets/Sets PK of a parent object
/// </summary>
[DataMember]
[Column(Name = "idParent", DbType = "Int")]
public int ParentID
{
get;
set;
}

/// <summary>
/// Gets/Sets Recipient
/// </summary>
[DataMember]
[Column(Name = "recipient", CanBeNull = true, DbType = "NVarChar", Storage = "255")]
public string Recipient
{
get;
set;
28
}

/// <summary>
/// Gets/Sets Disc type
/// </summary>
[DataMember]
[Column(Name = "discType", DbType = "VarChar", Storage = "15")]
public DiscMediaType DiscType
{
get;
set;
}

/// <summary>
/// Gets/Sets Amount of needed discs
/// </summary>
[DataMember]
[Column(Name = "discsAmount", DbType = "TinyInt")]
public byte DiscsAmount
{
get;
set;
}

/// <summary>
/// Gets/Sets Burning robot ID
/// </summary>
[DataMember]
[Column(Name = "idBurningRobot", DbType = "Int")]
public int BurningRobotID
{
get;
set;
}

/// <summary>
/// Gets/Sets Burning robot department name
/// </summary>
[DataMember]
[Column(Name = "department", DbType = "NVarChar", Storage = "255")]
public string Department
{
get;
set;
}

/// <summary>
/// Gets/Sets BurningRobot
/// </summary>
[DataMember]
public BurningRobot BurningRobot
{
get;
set;
}

29
/// <summary>
/// Gets/Sets Disc Publisher
/// </summary>
[DataMember]
public DiscPublisher Publisher
{
get;
set;
}

/// <summary>
/// Gets/Sets Disc template ID
/// </summary>
[DataMember]
[Column(Name = "idDiscTemplate", DbType = "Int")]
public int TemplateID
{
get;
set;
}

/// <summary>
/// Gets/Sets Template
/// </summary>
[DataMember]
public DiscTemplate Template
{
get;
set;
}

/// <summary>
/// Gets/Sets Status of a burning task order
/// </summary>
[DataMember]
[Column(Name = "status", DbType = "TinyInt")]
public BurningTaskStatus Status
{
get;
set;
}

/// <summary>
/// Gets/Sets Error type
/// </summary>
[DataMember]
[Column(Name = "burnError", DbType = "TinyInt")]
public BurningTaskError Error
{
get;
set;
}

public BurningTaskOrder()

30
/// <summary>
/// Convert DataRow object to BurningTaskBurningRobot
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>BurningTaskBurningRobot</returns>
public static explicit operator BurningTaskOrder(System.Data.DataRow row)

/// <summary>
/// Disc types
/// </summary>
[DataContract]
public enum DiscMediaType : ulong
{
[EnumMember]
CD = 681574400,
[EnumMember]
DVD = 4404019200,
[EnumMember]
DVD_DL = 8428873318,
}

public class LinkHistory : BaseObjectCredentialData

/// <summary>
/// Gets/Sets Recipient
/// </summary>
[DataMember]
[Column(Name = "recipient", CanBeNull = false, DbType = "NVarChar", Storage =
"255")]
public string Recipient
{
get;
set;
}

/// <summary>
/// Gets/Sets Send Date
/// </summary>
[Column(Name = "sendDate", CanBeNull = false, DbType = "DateTime")]
[DataMember]
public DateTime SendDate
{
get;
set;
}

/// <summary>
/// Gets/Sets Description
/// </summary>
[DataMember]
[Column(Name = "description", CanBeNull = true, DbType = "NVarChar", Storage =
"255")]
public string Description
{
get;
set;
}

31
/// <summary>
/// Gets/Sets Parent type
/// </summary>
[DataMember]
[Column(Name = "parentType", DbType = "TinyInt")]
public ObjectType ParentType
{
get;
set;
}

/// <summary>
/// Gets/Sets ObjectName
/// </summary>
[DataMember]
[Column(Name = "objectName", CanBeNull = true, DbType = "NVarChar", Storage =
"255")]
public string ObjectName
{
get;
set;
}

/// <summary>
/// Gets/Sets GUID
/// </summary>
[Column(Name = "guid", DbType = "VarChar", Storage = "56")]
[DataMember]
public string GUID
{
get;
set;
}

/// <summary>
/// Gets/Sets PK of parent object
/// </summary>
[Column(Name = "idParent", DbType = "Int")]
[DataMember]
public int ParentID
{
get;
set;
}

/// <summary>
/// Convert DataRow object to LinkHistory
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>LinkHistory</returns>
public static explicit operator LinkHistory(DataRow row)

public class EditJob : BaseObjectCredentialData

32
/// <summary>
/// Gets/Sets Edit time
/// </summary>
[Column(Name = "editTime", CanBeNull = true, DbType = "DateTime")]
[DataMember]
public DateTime? EditTime
{
get;
set;
}
/// <summary>
/// Gets/Sets PK of a parent object
/// </summary>
[DataMember]
[Column(Name = "idParent", DbType = "Int")]
public int ParentID
{
get;
set;
}

/// <summary>
/// Gets/Sets job status for editing service
/// </summary>
[DataMember]
[Column(Name = "status", DbType = "TinyInt")]
public EditStatus Status
{
get;
set;
}

/// <summary>
/// Gets/Sets Service pc name
/// </summary>
[DataMember]
[Column(Name = "pcName", CanBeNull = true, DbType = "NVarChar", Storage = "63")]
public string PCName
{
get;
set;
}

/// <summary>
/// Gets/Sets Edit job's data
/// </summary>
[DataMember]
public EditData EditData
{
get;
set;
}

33
/// <summary>
/// Gets/Sets GUID
/// </summary>
[Column(Name = "guid", DbType = "VarChar", Storage = "56")]
[DataMember]
public string GUID
{
get;
set;
}

public EditJob()

/// <summary>
/// Convert DataRow object to EditJob
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>EditJob</returns>
public static explicit operator EditJob (DataRow row)

/// <summary>
/// Enums of job status for edit services
/// </summary>
[DataContract]
public enum EditStatus : byte
{
[EnumMember]
Order,
[EnumMember]
InProgress,
[EnumMember]
Done,
[EnumMember]
Error,

/// <summary>
/// Enums of job status for publish services
/// </summary>
[DataContract]
public enum PublishStatus : byte
{
[EnumMember]
Order,
[EnumMember]
InProgress,
[EnumMember]
Done,
[EnumMember]
Error,
}

34
public partial class PublishJob : BaseObjectCredentialData
/// <summary>
/// Gets/Sets Published time
/// </summary>
[Column(Name = "publishedDay", CanBeNull = true, DbType = "DateTime")]
[DataMember]
public DateTime? PublishedTime
{
get;
set;
}

/// <summary>
/// Gets/Sets PK of parent object
/// </summary>
[DataMember]
[Column(Name = "idParent", DbType = "Int")]
public int ParentID
{
get;
set;
}

[Column(Name = "parentType", DbType = "TinyInt")]


[DataMember]
/// <summary>
/// Gets/Sets Parent type of this attachment
/// </summary>
public ObjectType ParentType
{
get;
set;
}

/// <summary>
/// Gets/Sets job status for edit service
/// </summary>
[DataMember]
[Column(Name = "status", DbType = "TinyInt")]
public PublishStatus Status
{
get;
set;
}

/// <summary>
/// Gets/Sets Number of days when recording may be played by external access
/// </summary>
[Column(Name = "publishingDaysNumber", CanBeNull = true, DbType = "TinyInt")]
[DataMember]
public byte? PublishingDaysNumber
{
get;
set;
}

35
/// <summary>
/// Gets/Sets Amount of download before recording become unacessable
/// </summary>
[Column(Name = "downloadNumber", CanBeNull = true, DbType = "TinyInt")]
[DataMember]
public byte? DownloadNumber
{
get;
set;
}

/// <summary>
/// Gets/Sets pin
/// </summary>
[DataMember]
[Column(Name = "pin", CanBeNull = true, DbType = "NVarChar", Storage = "30")]
public string Pin
{
get;
set;
}

/// <summary>
/// Gets/Sets Creator name
/// </summary>
[DataMember]
[Column(Name = "creatorName", CanBeNull = true, DbType = "NVarChar", Storage =
"255")]
public string CreatorName
{
get;
set;
}

/// <summary>
/// Gets/Sets Service pc name
/// </summary>
[DataMember]
[Column(Name = "pcName", CanBeNull = true, DbType = "NVarChar", Storage = "63")]
public string PCName
{
get;
set;
}

/// <summary>
/// Gets/Sets List of emails
/// </summary>
[DataMember]
public List<EmailPublished> Emails
{
get;
set;
}

36
/// <summary>
/// Gets/Sets Publish items
/// </summary>
[DataMember]
public List<PublishItem> Items
{
get;
set;
}

/// <summary>
/// Gets/Sets GUID
/// </summary>
[Column(Name = "guid", DbType = "VarChar", Storage = "56")]
[DataMember]
public string GUID
{
get;
set;
}

public PublishJob() : base()

/// <summary>
/// Convert DataRow object to PublishJob
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>PublishJob</returns>
public static explicit operator PublishJob(DataRow row)

public class EmailPublished : BaseObject


/// <summary>
/// Gets/Sets PK of a parent object
/// </summary>
[DataMember]
[Column(Name = "idParent", DbType = "Int")]
public int ParentID
{
get;
set;
}

/// <summary>
/// Gets/Sets Pin
/// </summary>
[DataMember]
[Column(Name = "address", CanBeNull = true, DbType = "NVarChar", Storage = "255")]
public string Address
{
get;
set;
}

37
/// <summary>
/// Gets/Sets True - email was sent
/// </summary>
[Column(Name = "sended", DbType = "Bit")]
[DataMember]
public bool Sent
{
get;
set;
}

/// <summary>
/// Convert DataRow object to EmailPublished
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>EmailPublished</returns>
public static explicit operator EmailPublished(DataRow row)

[DataContract]
public class EditData:BaseObject
/// <summary>
/// Gets/Sets PK of a parent object
/// </summary>
[DataMember]
[Column(Name = "idParent", DbType = "Int")]
public int ParentID
{
get;
set;
}

/// <summary>
/// Gets/Sets True - video part of a recording will be edited
/// </summary>
[Column(Name = "editVideo", DbType = "Bit")]
[DataMember]
public bool EditVideo
{
get;
set;
}

/// <summary>
/// Gets/Sets True - audio part of a recording will be edited
/// </summary>
[Column(Name = "editAudio", DbType = "Bit")]
[DataMember]
public bool EditAudio
{
get;
set;
}

38
/// <summary>
/// Gets/Sets True - makes a copy
/// </summary>
[Column(Name = "makeCopy", DbType = "Bit")]
[DataMember]
public bool MakeCopy
{
get;
set;
}

/// <summary>
/// Gets/Sets True - Make full screen
/// </summary>
[Column(Name = "fullScreen", DbType = "Bit")]
[DataMember]
public bool FullScreen
{
get;
set;
}

/// <summary>
/// Gets/Sets Contains nested selections
/// </summary>
[DataMember]
public List<EditSelection> Selections
{
get;
set;
}

/// <summary>
/// Gets/Sets Contains nested rectangles
/// </summary>
[DataMember]
public List<EditRectangle> Rectangles
{
get;
set;
}

public EditData():base()

/// <summary>
/// Convert DataRow object to EditData
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>EditData</returns>
public static explicit operator EditData(DataRow row)

public class EditSelection:BaseObject

39
/// <summary>
/// Gets/Sets PK of a parent object
/// </summary>
[DataMember]
[Column(Name = "idParent", DbType = "Int")]
public int ParentID
{
get;
set;
}

/// <summary>
/// Gets/Sets Start position
/// </summary>
[DataMember]
[Column(Name = "start", DbType = "Real")]
public float Start
{
get;
set;
}

/// <summary>
/// Gets/Sets Stop position
/// </summary>
[DataMember]
[Column(Name = "stop", DbType = "Real")]
public float Stop
{
get;
set;
}
/// <summary>
/// Convert DataRow object to EditSelection
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>EditSelection</returns>
public static explicit operator EditSelection(DataRow row)

public class EditRectangle:BaseObject


/// <summary>
/// Gets/Sets PK of a parent object
/// </summary>
[DataMember]
[Column(Name = "idParent", DbType = "Int")]
public int ParentID
{
get;
set;
}

40
/// <summary>
/// Gets/Sets X coordinate
/// </summary>
[DataMember]
[Column(Name = "x", DbType = "Int")]
public int X
{
get;
set;
}

/// <summary>
/// Gets/Sets Y coordinate
/// </summary>
[DataMember]
[Column(Name = "y", DbType = "Int")]
public int Y
{
get;
set;
}

/// <summary>
/// Gets/Sets Width
/// </summary>
[DataMember]
[Column(Name = "width", DbType = "Int")]
public int Width
{
get;
set;
}

/// <summary>
/// Gets/Sets Height
/// </summary>
[DataMember]
[Column(Name = "height", DbType = "Int")]
public int Height
{
get;
set;
}

public EditRectangle()

/// <summary>
/// Convert DataRow object to EditRectangle
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>EditRectangle</returns>
public static explicit operator EditRectangle(DataRow row)

41
[DataContract]
[KnownType(typeof(User))]
[KnownType(typeof(Group))]
[System.Xml.Serialization.XmlInclude(typeof(User))]
[System.Xml.Serialization.XmlInclude(typeof(Group))]
public abstract class CommonParent : BaseObjectCredentialData
/// <summary>
/// Gets/Sets Global Permissions
/// </summary>
[DataMember]
public Permissions Permissions { get; set; }

/// <summary>
/// Gets/Sets PowerUserPermissions Permissions
/// </summary>
[DataMember]
[System.Xml.Serialization.XmlIgnore]
public PowerUserPermissions PowerUserPermissions { get; set; }

/// <summary>
/// Gets/Sets True – a user and his/her permissions will be used in offline mode
/// </summary>
[DataMember]
[System.Xml.Serialization.XmlIgnore]
public bool IsOfflineCreator { get; set; }

[DataContract]
public class Permissions:BaseObject
/// <summary>
/// Gets/Sets Parent type
/// </summary>
[Column(Name = "parentType", DbType = "TinyInt")]
[DataMember]
public ObjectType ParentType { get; set; }

/// <summary>
/// Gets/Sets Parent ID
/// </summary>
[Column(Name = "idParent", DbType = "Int")]
[DataMember]
public int ParentID { get; set; }

/// <summary>
/// Gets/Sets See
/// </summary>
[Column(Name = "see", DbType = "Bit")]
[DataMember]
public bool See { get; set; }

/// <summary>
/// Gets/Sets Play
/// </summary>
[Column(Name = "play", DbType = "Bit")]
[DataMember]
public bool Play { get; set; }

42
/// <summary>
/// Gets/Sets Play Audio
/// </summary>
[Column(Name = "playAudio", DbType = "Bit")]
[DataMember]
public bool PlayAudio { get; set; }

/// <summary>
/// Gets/Sets Rename
/// </summary>
[Column(Name = "rename", DbType = "Bit")]
[DataMember]
public bool Rename { get; set; }

/// <summary>
/// Gets/Sets Edit Metadata
/// </summary>
[Column(Name = "editMetadata", DbType = "Bit")]
[DataMember]
public bool EditMetadata { get; set; }

/// <summary>
/// Gets/Sets Add items
/// </summary>
[Column(Name = "addItems", DbType = "Bit")]
[DataMember]
public bool AddItems { get; set; }

/// <summary>
/// Gets/Sets Order task
/// </summary>
[Column(Name = "orderTask", DbType = "Bit")]
[DataMember]
public bool OrderTask { get; set; }

/// <summary>
/// Gets/Sets Assign task
/// </summary>
[Column(Name = "assign", DbType = "Bit")]
[DataMember]
public bool AssignTask { get; set; }

/// <summary>
/// Gets/Sets Trancribe
/// </summary>
[Column(Name = "transcribe", DbType = "Bit")]
[DataMember]
public bool TranscribeTask { get; set; }

/// <summary>
/// Gets/Sets Create bookmarks
/// </summary>
[Column(Name = "createBookmarks", DbType = "Bit")]
[DataMember]
public bool CreateBookmarks { get; set; }

43
/// <summary>
/// Gets/Sets Download
/// </summary>
[Column(Name = "download", DbType = "Bit")]
[DataMember]
public bool DownloadContent { get; set; }

/// <summary>
/// Gets/Sets Burn
/// </summary>
[Column(Name = "burn", DbType = "Bit")]
[DataMember]
public bool BurnContent { get; set; }

/// <summary>
/// Gets/Sets Edit content
/// </summary>
[Column(Name = "edit", DbType = "Bit")]
[DataMember]
public bool EditContent { get; set; }

/// <summary>
/// Gets/Sets Publish content
/// </summary>
[Column(Name = "publish", DbType = "Bit")]
[DataMember]
public bool PublishContent { get; set; }

/// <summary>
/// Gets/Sets Delete
/// </summary>
[Column(Name = "deleteVersions", DbType = "Bit")]
[DataMember]
public bool DeleteVersions { get; set; }

/// <summary>
/// Gets/Sets Edit retention
/// </summary>
[Column(Name = "editRetention", DbType = "Bit")]
[DataMember]
public bool EditRetentionPolicy { get; set; }

/// <summary>
/// Gets/Sets Edit retention
/// </summary>
[Column(Name = "editPermissions", DbType = "Bit")]
[DataMember]
public bool EditPermissions { get; set; }

public Permissions()

/// <summary>
/// Convert DataRow object to Permissions
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Permissions</returns>
public static explicit operator Permissions(System.Data.DataRow row)

44
/// <summary>
/// Calculate permissions
/// </summary>
/// <param name="target">Target permission</param>
/// <param name="source">Source permission</param>
/// <returns>Effective permissions</returns>
public static Permissions operator &(Permissions target, Permissions source)

/// <summary>
/// Calculate permissions
/// </summary>
/// <param name="target">Target permission</param>
/// <param name="source">Source permission</param>
/// <returns>Effective permissions</returns>
public static Permissions operator |(Permissions target, Permissions source)

[DataContract]
public class LocalPermissions : BaseObject
/// <summary>
/// Gets/Sets Parent ID
/// </summary>
[Column(Name = "idParent", DbType = "Int")]
[DataMember]
public int ParentID { get; set; }

/// <summary>
/// Gets/Sets View other sessions
/// </summary>
[DataMember]
[Column(Name = "viewOtherUsersSessions", DbType = "Bit")]
public bool ViewOtherSessions
{
get;
set;
}

/// <summary>
/// Gets/Sets Delete recordings
/// </summary>
[DataMember]
[Column(Name = "deleteRecordings", DbType = "Bit")]
public bool DeleteRecordings
{
get;
set;
}

/// <summary>
/// Gets/Sets Delete burned session
/// </summary>
[DataMember]
[Column(Name = "deleteBurnedSession", DbType = "Bit")]
public bool DeleteSessionWhenBurnt
{
get;
set;
}

45
/// <summary>
/// Gets/Sets Delete not burned session
/// </summary>
[DataMember]
[Column(Name = "deleteNotBurnedSession", DbType = "Bit")]
public bool DeleteSessionWhenNotBurnt
{
get;
set;
}

/// <summary>
/// Gets/Sets Burn session
/// </summary>
[DataMember]
[Column(Name = "burn", DbType = "Bit")]
public bool Burn
{
get;
set;
}

/// <summary>
/// Gets/Sets Access network settings
/// </summary>
[DataMember]
[Column(Name = "accessIndicoNetworkSettings", DbType = "Bit")]
public bool AccessNetworkSettings
{
get;
set;
}

/// <summary>
/// Gets/Sets Access recorder`s settings
/// </summary>
[DataMember]
[Column(Name = "accessIndicoSettings", DbType = "Bit")]
public bool AccessAllSettings
{
get;
set;
}

/// <summary>
/// Convert DataRow object to LocalPermissions
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>LocalPermissions</returns>
public static explicit operator LocalPermissions(System.Data.DataRow row)

46
/// <summary>
/// Calculate local permissions
/// </summary>
/// <param name="target">Target permission</param>
/// <param name="source">Source permission</param>
/// <returns>Effective permissions</returns>
public static LocalPermissions operator &(LocalPermissions target, LocalPermissions
source)

/// <summary>
/// Calculate local permissions
/// </summary>
/// <param name="target">Target permission</param>
/// <param name="source">Source permission</param>
/// <returns>Effective permissions</returns>
public static LocalPermissions operator |(LocalPermissions target, LocalPermissions
source)

[DataContract]
public class PowerUserPermissions (AuditPermissions) :
BaseObject
/// <summary>
/// Gets/Sets Has an access to audit logs page
/// </summary>
[Column(Name = "log", DbType = "Bit")]
[DataMember]
public bool HasAccessLog
{
get; set; }

/// <summary>
/// Gets/Sets Has an access to reports page
/// </summary>
[Column(Name = "report", DbType = "Bit")]
[DataMember]
public bool HasAccessReport { get; set; }

/// <summary>
/// Gets/Sets Has an access to disposal objects page
/// </summary>
[Column(Name = "disposal", DbType = "Bit")]
[DataMember]
public bool HasAccessDisposal { get; set; }

/// <summary>
/// Gets/Sets Has an access to system status page
/// </summary>
[Column(Name = "systemStatus", DbType = "Bit")]
[DataMember]
public bool HasAccessSystemStatus { get; set; }

/// <summary>
/// Gets/Sets Has an access to preferences
/// </summary>
[Column(Name = "preferences", DbType = "Bit")]
[DataMember]
public bool HasAccessPreferences { get; set; }

47
/// <summary>
/// Gets/Sets True - all actions will NOT be logged
/// </summary>
[Column(Name = "invisibleMode", DbType = "Bit")]
[DataMember]
public bool InvisibleMode { get; set; }

/// <summary>
/// Convert DataRow object to PowerUserPermissions
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns> PowerUserPermissions </returns>
public static explicit operator PowerUserPermissions(System.Data.DataRow row)

/// <summary>
/// Calculate PowerUserPermissions
/// </summary>
/// <param name="target">Target PowerUserPermissions </param>
/// <param name="source">Source PowerUserPermissions </param>
/// <returns>Effective PowerUserPermissions </returns>
public static PowerUserPermissions operator &( PowerUserPermissions target,
PowerUserPermissions source)

/// <summary>
/// Calculate PowerUserPermissions
/// </summary>
/// <param name="target">Target PowerUserPermissions </param>
/// <param name="source">Source PowerUserPermissions </param>
/// <returns>Effective PowerUserPermissions </returns>
public static PowerUserPermissions operator |( PowerUserPermissions target,
PowerUserPermissions source)

/// <summary>
/// Type of objects.
/// </summary>
[DataContract]
public enum MediaType : byte
{
[EnumMember]
Audio = 1,
[EnumMember]
Video
}

[DataContract]
[KnownType(typeof(MetaDataText))]
[KnownType(typeof(MetaDataDateTime))]
[System.Xml.Serialization.XmlInclude(typeof(MetaDataText))]
[System.Xml.Serialization.XmlInclude(typeof(MetaDataDateTime))]
public abstract class MetaData : BaseObject

48
[Column(Name = "idParent", DbType = "Int")]
[DataMember]
/// <summary>
/// Gets/Sets PK of a parent object
/// </summary>
public int ParentID
{
get;
set;
}

[Column(Name = "name", DbType = "VarChar", Storage = "20")]


[DataMember]
/// <summary>
/// Gets/Sets Name
/// </summary>
public string Name
{
get;
set;
}

[Column(Name = "visualName", CanBeNull = true, DbType = "NVarChar", Storage = "50")]


[DataMember]
/// <summary>
/// Gets/Sets Visual name
/// </summary>
public string VisualName
{
get;
set;
}

[Column(Name = "isMandatory", DbType = "Bit")]


[DataMember]
/// <summary>
/// Gets/Sets True - unable to change value
/// </summary>
public bool IsMandatory
{
get;
set;
}

[Column(Name = "tabIndex", DbType = "TinyInt")]


[DataMember]
/// <summary>
/// Gets/Sets Tab index
/// </summary>
public byte TabIndex
{
get;
set;
}

49
[Column(Name = "parentType", DbType = "TinyInt")]
[DataMember]
/// <summary>
/// Gets/Sets Tab index
/// </summary>
public ObjectType ParentType
{
get;
set;
}

public MetaData()

[DataContract]
public class MetaDataText : MetaData
[Column(Name = "value", CanBeNull = true, DbType = "NVarChar", Storage = "1000")]
[DataMember]
/// <summary>
/// Gets/Sets Text value
/// </summary>
public string Value
{
get;
set;
}

/// <summary>
/// Convert DataRow object to MetaDataText
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>MetaDataText</returns>
public static explicit operator MetaDataText(DataRow row)

[DataContract]
public class MetaDataDateTime : MetaData
[Column(Name = "value", CanBeNull = true, DbType = "DateTime")]
[DataMember]
/// <summary>
/// Gets/Sets DateTime value
/// </summary>
public DateTime ? Value
{
get;
set;
}

/// <summary>
/// Convert DataRow object to MetaDataDateTime
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>MetaDataDateTime</returns>
public static explicit operator MetaDataDateTime(DataRow row)

50
[DataContract]
public class Email : BaseObject
/// <summary>
/// Gets/Sets Comment
/// </summary>
[Column(Name = "comment", CanBeNull = true, DbType = "NVarChar", Storage = "255")]
[DataMember]
public string Comment
{
get;
set;
}

/// <summary>
/// Gets/Sets Email address
/// </summary>
[Column(Name = "address", DbType = "VarChar", Storage = "255")]
[DataMember]
public string Address
{
get;
set;
}

/// <summary>
/// Gets/Sets List of notification types
/// </summary>
[DataMember]
public List<NotificationEmailType> Types
{
get;
set;
}

/// <summary>
/// Is Body HTML
/// </summary>
[DataMember]
public bool IsBodyHTML
{
get;
set;
}

public Email()

/// <summary>
/// Convert DataRow object to Email
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Email</returns>
public static explicit operator Email(DataRow row)

51
[DataContract]
public class NotificationEmailType : BaseObject
/// <summary>
/// Gets/Sets Notification type
/// </summary>
[Column(Name = "type", DbType = "TinyInt")]
[DataMember]
public NotificationType Type
{
get;
set;
}

/// <summary>
/// Gets/Sets PK of a parent object
/// </summary>
[Column(Name = "idParent", DbType = "Int")]
[DataMember]
public int ParentID
{
get;
set;
}

/// <summary>
/// Gets/Sets Value
/// </summary>
[Column(Name = "value", CanBeNull = true, DbType = "SmallInt")]
[DataMember]
public short? Value
{
get;
set;
}

public NotificationEmailType()

/// <summary>
/// Convert DataRow object to NotificationEmailType
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>NotificationEmailType</returns>
public static explicit operator NotificationEmailType(DataRow row)

/// <summary>
/// Type of notification.
/// </summary>
[DataContract]
public enum NotificationType : byte
{
[EnumMember]
RetentionExpired = 1,
[EnumMember]
LowSpace
}

52
[DataContract]
public class Group : CommonParent
/// <summary>
/// Gets/Sets SID group who nest this one
/// </summary>
[DataMember]
public string ParentGroupSID
{
get;
set;
}

public Group()

/// <summary>
/// Convert Principal object to Group
/// </summary>
/// <param name="principal">Source Principal object</param>
/// <returns>Group</returns>
public static explicit operator Group(Principal principal)

/// <summary>
/// Convert DataRow object to Group
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Group</returns>
public static explicit operator Group(System.Data.DataRow row)

[DataContract]
public class User : CommonParent
public User()

/// <summary>
/// Gets/Sets User's role name from web config
/// </summary>
[DataMember]
[System.Xml.Serialization.XmlIgnore]
public SystemUserRoles Role { get; set; }

/// <summary>
/// Gets/Sets E-mail address for this account
/// </summary>
[DataMember]
[System.Xml.Serialization.XmlIgnore]
public string Email { get; set; }

/// <summary>
/// Convert Principal object to User
/// </summary>
/// <param name="principal">Source Principal object</param>
/// <returns>User</returns>
public static explicit operator User(Principal principal)

53
/// <summary>
/// Convert DataRow object to User
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>User</returns>
public static explicit operator User(System.Data.DataRow row)

[DataContract]
public class DiscTemplate : BaseObject
/// <summary>
/// Gets/Sets Template's data in binary format
/// </summary>
[DataMember]
[Column(Name = "data", DbType = "VarBinary", Storage = "-1")]
public byte[] Data { get; set; }

/// <summary>
/// Gets/Sets Name
/// </summary>
[DataMember]
[Column(Name = "name", DbType = "NVarChar", Storage = "100")]
public string Name { get; set; }

/// <summary>
/// Gets/Sets Type
/// </summary>
[DataMember]
[Column(Name = "type", DbType = "VarChar", Storage = "50")]
public DiscTemplateType Type { get; set; }

/// <summary>
/// Convert DataRow object to PublisherTemplate
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>PublisherTemplate</returns>
public static explicit operator DiscTemplate(System.Data.DataRow row)

public DiscTemplate()

/// <summary>
/// Disc template type
/// </summary>
[DataContract]
public enum DiscTemplateType : byte
{
[EnumMember]
Original = 1,
[EnumMember]
Copy
}

public enum WcfADService.OperationResult


{
OK,
Exception,
SqlException
}

54
/// <summary>
/// Represents key for settings database table
/// </summary>
[DataContract]
public enum SettingsKeys : byte
{
[EnumMember]
FileStoragePath,
[EnumMember]
UsePermanentDelete,
[EnumMember]
PlayerOffset,
[EnumMember]
PlayerRewindInterval,
[EnumMember]
EnableChat,
[EnumMember]
SystemIPAddress,
[EnumMember]
SystemServerName,
[EnumMember]
SystemDatabaseName,
[EnumMember]
SystemDatabaseTimeout,
[EnumMember]
SystemLogin,
[EnumMember]
SystemPassword,
[EnumMember]
ReportServerWebService,
[EnumMember]
ReportServerWebServicePort,
[EnumMember]
ServiceDatabaseName,
[EnumMember]
ServiceLogin,
[EnumMember]
ServicePassword,
[EnumMember]
DomainName,
[EnumMember]
DomainUserName,
[EnumMember]
DomainPassword,
[EnumMember]
ImpersonationUsername,
[EnumMember]
ImpersonationPassword,
[EnumMember]
UseImpersonation,
[EnumMember]
WMSIPAddress,
[EnumMember]
WMSPort,
[EnumMember]
WcfServiceAddress,
[EnumMember]
WcfExternalServiceAddress,

55
[EnumMember]
AudioProfileVisibleValue,
[EnumMember]
AudioProfileContent,
[EnumMember]
VideoProfileVisibleValue,
[EnumMember]
VideoProfileContent,
[EnumMember]
ApplicationLogoPath,
[EnumMember]
UILanguage,
[EnumMember]
SiteTitle,
[EnumMember]
UseHotKeys,
[EnumMember]
HotKeyPlayPause,
[EnumMember]
HotKeyStop,
[EnumMember]
HotKeyReset,
[EnumMember]
HotKeyRW,
[EnumMember]
HotKeyFF,
[EnumMember]
HotKeyInsertBookmark,
[EnumMember]
HotKeyNextBookmark,
[EnumMember]
HotKeyPrevBookmark,
[EnumMember]
HotKeySpeedNormal,
[EnumMember]
HotKeySpeedPlus,
[EnumMember]
HotKeySpeedMinus,
[EnumMember]
RetentionType,
[EnumMember]
RetentionOption,
[EnumMember]
RetentionTime,
[EnumMember]
EmailFromName,
[EnumMember]
EmailFromAddress,
[EnumMember]
EmailSMTPServer,
[EnumMember]
EmailSMTPPort,
[EnumMember]
EmailUseSMTPAuth,
[EnumMember]
EmailEnableSSL,
[EnumMember]
EmailSMTPUserName,
[EnumMember]
EmailSMTPPassword,
56
[EnumMember]
UseADEmailNotification,
[EnumMember]
ChiefTypistMembers,
[EnumMember]
DBVersion,
[EnumMember]
ShowReportsPage,
[EnumMember]
RetentionTimeBurningHistory,
[EnumMember]
RetentionTimeJobs,
[EnumMember]
RetentionTimeObjectsAndLogs,
[EnumMember]
BurnStatusReport,
[EnumMember]
BurnAutoRun,
[EnumMember]
BurnIndicoPlayer,
[EnumMember]
BurnIndicoPlayerSSN,
[EnumMember]
BurnChecksumCalculator,
[EnumMember]
BurnMetadaXML,
[EnumMember]
StatusReportDateTimeCulture,
[EnumMember]
DaysBeforeBurningTaskFailed,
[EnumMember]
PublisherServicePort,
[EnumMember]
ExternalStoragePath,
[EnumMember]
ExternalSiteAddress,
[EnumMember]
ExternalWmsAddress,
[EnumMember]
ExternalWmsPort,
[EnumMember]
DiscSizeDVD,
[EnumMember]
DiscSizeDVDDL,
[EnumMember]
DiscSizeCD,
[EnumMember]
IsExpandedSearch,
[EnumMember]
UseCompleteWithOutFile,
[EnumMember]
PreFields,
[EnumMember]
UsePredefinedPublishEmails,
[EnumMember]
UseCustomPublishEmails,
[EnumMember]
PredefinedPublishEmails,
[EnumMember]
DeniedPriority,
57
[EnumMember]
ColumnsOrderDC,
[EnumMember]
ColumnsOrderRec,
[EnumMember]
ColumnsOrderTask,
[EnumMember]
ColumnsOrderBookmark,
[EnumMember]
ColumnsOrderAttachment,
[EnumMember]
UseSoundexSearch,
}

[DataContract]
public class ReportField :BaseObject
/// <summary>
/// Gets/Sets Name of a field
/// </summary>
[Column(Name = "name", DbType = "VarChar", Storage = "20")]
[DataMember]
public MetaDataNames Name { get; set; }

58
/// <summary>
/// Gets/Sets VisualName of a field
/// </summary>
[Column(Name = "visualName",DbType = "NVarChar", Storage = "50")]
[DataMember]
public string VisualName { get; set; }

/// <summary>
/// Gets/Sets visibility of a field
/// </summary>
[Column(Name = "isVisible", DbType = "Bit")]
[DataMember]
public bool IsVisible { get; set; }

/// <summary>
/// Gets/Sets Parent type
/// </summary>
[Column(Name = "parentType", DbType = "TinyInt")]
[DataMember]
public ObjectType Type { get; set; }

/// <summary>
/// Public _ctor
/// </summary>
public ReportField()

/// <summary>
/// Convert DataRow object to ReportFields
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>ReportFields</returns>
public static explicit operator ReportField(DataRow row)

public enum WcfSqlCommunicatorService.OperationResult


{
OK,
Exception,
SqlException,
AccessDenied,
NoPermissions,
}

[DataContract]
public class PagingOptions
/// <summary>
/// Gets/Sets Number of a set
/// </summary>
[DataMember]
public long? Number
{
get;
set;
}

59
/// <summary>
/// Gets/Sets Size of a set. Null - no limit
/// </summary>
[DataMember]
public int? Size
{
get;
set;
}

/// <summary>
/// Gets/Sets Name of sorting column
/// </summary>
[DataMember]
public string ColumnName
{
get;
set;
}

/// <summary>
/// Gets/Sets Sorting direciton
/// </summary>
[DataMember]
public SortDirection? Direction
{
get;
set;
}

/// <summary>
/// Gets/Sets Count of found items
/// </summary>
[DataMember]
public long TotalSize
{
get;
set;
}

public PagingOptions()

/// <summary>
/// Type of sort direction.
/// </summary>
[DataContract]
public enum SortDirection : byte
{
[EnumMember]
Ascending,
[EnumMember]
Descending
}

60
[DataContract]
public class SearchOptions
/// <summary>
/// Gets/Sets Text for searching
/// </summary>]
[DataMember]
public string Text
{
get;
set;
}

/// <summary>
/// Gets/Sets Text for soundex searching
/// </summary>]
[DataMember]
public string TextSoundex
{
get;
set;
}

/// <summary>
/// Gets/Sets List of column names where searching will be
/// </summary>
[DataMember]
public List<string> Fields
{
get;
set;
}

/// <summary>
/// Gets/Sets Start time
/// </summary>
[DataMember]
public DateTime? StartTime
{
get;
set;
}

/// <summary>
/// Gets/Sets End time
/// </summary>
[DataMember]
public DateTime? EndTime
{
get;
set;
}

61
/// <summary>
/// Gets/Sets Type of searching
/// </summary>
[DataMember]
public SearchType Type
{
get;
set;
}

/// <summary>
/// Gets/Sets Place of searching
/// </summary>
[DataMember]
public SearchPlace Place
{
get;
set;
}

/// <summary>
/// Gets/Sets Use soundex
/// </summary>
[DataMember]
public bool UseSoundex
{
get;
set;
}

/// <summary>
/// Gets/Sets Ignore visible
/// </summary>
[DataMember]
public bool IgnoreVisible
{
get;
set;
}

public SearchOptions()

/// <summary>
/// Search type
/// </summary>
[DataContract]
public enum SearchType : byte
{
[EnumMember]
AllWords,
[EnumMember]
ExactWord,
[EnumMember]
OneOrMore
}

62
/// <summary>
/// Search place
/// </summary>
[DataContract]
public enum SearchPlace : byte
{
[EnumMember]
Item,
[EnumMember]
Metadata,
[EnumMember]
Username,
[EnumMember]
LogContent,
[EnumMember]
ItemContent
}

[DataContract]
public class Report
/// <summary>
/// Gets/Sets Name of report
/// </summary>
[Column(Name = "name",DbType = "NVarChar", Storage = "-1")]
[DataMember]
public string Name { get; set; }

/// <summary>
/// Gets/Sets Path to report file
/// </summary>
[Column(Name = "Description", CanBeNull = true, DbType = "NVarChar", Storage = "-
1")]
[DataMember]
public string Comment { get; set; }

/// <summary>
/// Convert DataRow object to Report
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Report</returns>
public static explicit operator Report(DataRow row)

public class ConfigurationFile (SettingFile)


/// <summary>
/// Gets/Sets Key of setting
/// </summary>
[DataMember]
[Column(Name = "key", DbType = "VarChar", Storage = "50")]
public SettingFilesKeys Key
{
get;
set;
}

63
/// <summary>
/// Gets/Sets Language for setting
/// </summary>
[DataMember]
[Column(Name = "language", DbType = "VarChar", Storage = "50")]
public string Language
{
get;
set;
}

/// <summary>
/// Gets/Sets Setting's file data in binary format
/// </summary>
[DataMember]
[Column(Name = "value", DbType = "VarBinary", Storage = "-1")]
public byte[] Value
{
get;
set;
}

/// <summary>
/// Gets/Sets Interview type
/// </summary>
[DataMember]
[Column(Name = "interviewType", DbType = "NVarChar", Storage = "50")]
public string InterviewType
{
get;
set;
}

public ConfigurationFile()

/// <summary>
/// Convert DataRow object to ConfigurationFile
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns> ConfigurationFile </returns>
public static explicit operator ConfigurationFile(System.Data.DataRow row)

public enum PreferenceSection


{
ActiveDirectory,
ReportingServiceDatabase,
DefaultRetentionPolicy,
DiscCocerAndFiles,
EmailNotifications,
ExternalSite,
General,
Hotkeys,
Interface,
Publishers,
Streaming,
Restore,
}

64
[DataContract]
public class ConnectionOptions
{
[DataMember]
/// <summary>
/// Gets/Sets Connection timeout in seconds
/// </summary>
public int ConnectionTimeOut
{
get;
set;
}

[DataMember]
/// <summary>
/// SystemIP
/// </summary>
public string SystemIPAddress { get; set; }

[DataMember]
/// <summary>
/// SystemServer
/// </summary>
public string SystemServerName { get; set; }

[DataMember]
/// <summary>
/// SystemDatabase
/// </summary>
public string SystemDatabaseName { get; set; }

[DataMember]
/// <summary>
/// SystemLogin
/// </summary>
public string SystemLogin { get; set; }

[DataMember]
/// <summary>
/// SystemPassword
/// </summary>
public string SystemPassword { get; set; }

[DataMember]
/// <summary>
/// Determines right's of current user
/// </summary>
public bool IsUserFromWebConfig { get; set; }

[DataMember]
/// <summary>
/// Determines database version (2005 or 2008)
/// </summary>
public bool IsDatabaseVersion2008 { get; set; }

65
[DataMember]
/// <summary>
/// Determines WCF services address
/// </summary>
public string WCFServicesAddress { get; set; }

[DataMember]
/// <summary>
/// Determines deny priority
/// </summary>
public bool DenyPriority { get; set; }

[DataMember]
/// <summary>
/// Determines invisible mode
/// </summary>
public bool InvisibleMode { get; set; }
}

[DataContract]
public class Role : BaseObject
/// <summary>
/// Gets/Sets Name
/// </summary>
[Column(Name = "name", DbType = "NVarChar", Storage = "255")]
[DataMember]
public string Name { get; set; }

/// <summary>
/// Gets/Sets Comment
/// </summary>
[Column(Name = "comment", CanBeNull = true, DbType = "NVarChar", Storage = "255")]
[DataMember]
public string Comment
{
get;
set;
}

/// <summary>
/// Gets/Sets Global Permissions
/// </summary>
[DataMember]
public List<Permissions> GlobalPermissions { get; set; }

/// <summary>
/// Gets/Sets Local Permissions
/// </summary>
[DataMember]
public LocalPermissions LocalPermissions { get; set; }

public Role()

66
/// <summary>
/// Convert DataRow object to Role
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Role</returns>
public static explicit operator Role(System.Data.DataRow row)

[DataContract]
public class Client (IndicoClient)
/// <summary>
/// Gets/Sets ID
/// </summary>
[Column(Name = "id", IsDbGenerated = true, DbType = "BigInt")]
[DataMember]
public long ID
{
get;
set;
}

/// <summary>
/// Gets/Sets Comment
/// </summary>
[Column(Name = "comment", CanBeNull = true, DbType = "NVarChar", Storage = "255")]
[DataMember]
public string Comment
{
get;
set;
}

/// <summary>
/// Gets/Sets PC name
/// </summary>
[DataMember]
[Column(Name = "name", DbType = "NVarChar", Storage = "255")]
public string Name { get; set; }

/// <summary>
/// Gets/Sets List of user roles
/// </summary>
[DataMember]
public Dictionary<CommonParent, Role> UserRoles { get; set; }

/// <summary>
/// Gets/Sets Creator's role
/// </summary>
[DataMember]
public Role CreatorRole { get; set; }

public Client()

67
/// <summary>
/// Returns a default user
/// </summary>
/// <returns></returns>
public List<CommonParent> GetDefaultUser()

/// <summary>
/// Convert Principal object to Client
/// </summary>
/// <param name="principal">Source Principal object</param>
/// <returns>Client</returns>
public static explicit operator Client(Principal principal)

/// <summary>
/// Convert DataRow object to Client
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Client</returns>
public static explicit operator Client(System.Data.DataRow row)

[DataContract]
public class DiscPublisher (Publisher) : BaseObject
/// <summary>
/// Gets/Sets Comment
/// </summary>
[Column(Name = "comment", CanBeNull = true, DbType = "NVarChar", Storage = "255")]
[DataMember]
public string Comment { get; set; }

/// <summary>
/// Gets/Sets Network address
/// </summary>
[DataMember]
[Column(Name = "address", DbType="NVarChar", Storage="255")]
public string Address { get; set; }

/// <summary>
/// Gets/Sets Monitoring folder name
/// </summary>
[DataMember]
[Column(Name = "monitoringFolderName", DbType = "NVarChar", Storage = "255")]
public string Folder { get; set; }

/// <summary>
/// Gets/Sets BurningRobots
/// </summary>
[DataMember]
public List<BurningRobot> BurningRobots { get; set; }

public DiscPublisher()

/// <summary>
/// Convert DataRow object to DiscProducer
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>DiscProducer</returns>
public static explicit operator DiscPublisher(System.Data.DataRow row)

68
[DataContract]
public class BurningRobot : BaseObject
/// <summary>
/// Gets/Sets PK of a parent object
/// </summary>
[DataMember]
[Column(Name = "idParent", DbType = "Int")]
public int ParentID { get; set; }

/// <summary>
/// Gets/Sets Disc Publisher model
/// </summary>
[DataMember]
[Column(Name = "model", DbType = "VarChar", Storage = "100")]
public string Model { get; set; }

/// <summary>
/// Gets/Sets Department name
/// </summary>
[DataMember]
[Column(Name = "department", DbType = "NVarChar", Storage = "255")]
public string Department { get; set; }

/// <summary>
/// Gets/Sets True - possible to write onto CD discs
/// </summary>
[DataMember]
[Column(Name = "cd", DbType = "Bit")]
public bool CD { get; set; }

/// <summary>
/// Gets/Sets True - possible to write onto DVD discs
/// </summary>
[DataMember]
[Column(Name = "dvd", DbType = "Bit")]
public bool DVD { get; set; }

/// <summary>
/// Gets/Sets True - possible to write onto DVD double layer discs
/// </summary>
[DataMember]
[Column(Name = "dvdDL", DbType = "Bit")]
public bool DVDDL { get; set; }

/// <summary>
/// Gets/Sets True - possible to write onto DVD double layer discs
/// </summary>
[DataMember]
[Column(Name = "isVisible", DbType = "Bit")]
public bool IsVisible { get; set; }

/// <summary>
/// Convert DataRow object to burning robot
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Burning robot</returns>
public static explicit operator BurningRobot(System.Data.DataRow row)

69
public class PredefinedRetentionValueContainer
(RetentionValueContainerPredefined)
/// <summary>
/// Gets/Sets ID
/// </summary>
[Column(Name = "id", IsDbGenerated = true, DbType = "BigInt")]
[DataMember]
public long ID
{
get;
set;
}

/// <summary>
/// Gets/Sets Name
/// </summary>
[Column(Name = "name", DbType = "NVarChar", Storage = "1000")]
[DataMember]
public string Name { get; set; }

/// <summary>
/// Gets/Sets Comment
/// </summary>
[Column(Name = "comment", CanBeNull = true, DbType = "NVarChar", Storage = "255")]
[DataMember]
public string Comment
{
get;
set;
}

/// <summary>
/// Gets/Sets Predefined retention value list
/// </summary>
[DataMember]
public List<RetentionValue> Values
{
get;
set;
}

public PredefinedRetentionValueContainer ()
/// <summary>
/// Convert DataRow object to PredefinedRetentionValueContainer
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns> PredefinedRetentionValueContainer </returns>
public static explicit operator PredefinedRetentionValueContainer (DataRow row)

[System.Runtime.Serialization.DataContract]
public class EmailSettings
[System.Runtime.Serialization.DataMember]
public string EmailEnableSSL
{
get;
set;

70
}

[System.Runtime.Serialization.DataMember]
public string EmailFromAddress
{
get;
set;
}

[System.Runtime.Serialization.DataMember]
public string EmailFromName
{
get;
set;
}

[System.Runtime.Serialization.DataMember]
public string EmailSMTPPassword
{
get;
set;
}

[System.Runtime.Serialization.DataMember]
public string EmailSMTPPort
{
get;
set;
}

[System.Runtime.Serialization.DataMember]
public string EmailSMTPServer
{
get;
set;
}

[System.Runtime.Serialization.DataMember]
public string EmailSMTPUserName
{
get;
set;
}

[System.Runtime.Serialization.DataMember]
public string EmailUseSMTPAuth
{
get;
set;
}

[DataContract]
public class SystemUser
[DataMember]
public string ID
{
get;
set;

71
}

[DataMember]
public string Name
{
get;
set;
}

[DataMember]
public string Password
{
get;
set;
}

[DataMember]
public SystemUserRole Role
{
get;
set;
}

[DataContract]
public class SystemUserRole
[DataMember]
public string Name
{
get;
set;
}

[DataMember]
public string VisibleName
{
get;
set;
}
[DataMember]
public string Description
{
get;
set;
}

[DataMember]
public SystemUserRoles Role
{
get;
set;
}

/// <summary>
/// Predefined system users' roles
/// </summary>
[DataContract]
public enum SystemUserRoles
{
72
[EnumMember]
Administrator,
[EnumMember]
PowerUser
}

public enum SystemUserOperationResult


{
Added,
Edited,
Deleted,
DeletedFromConcurrentThread,
Duplicated,
ErrorWhileAdding,
ErrorWhileEditing,
ErrorWhileDeleting
}

public enum ItemOperationResult


{
Added,
Edited,
Deleted,
DeletedFromConcurrentThread,
Duplicated,
ErrorWhileAdding,
ErrorWhileEditing,
ErrorWhileDeleting
}

[DataContract]
public class SystemObject : BaseObject

/// <summary>
/// Gets/Sets name
/// </summary>
[Column(Name = "name")]
[DataMember]
public string Name
{
get;
set;
}

public enum SearchFor : byte


{
None = 0x0,
Interviews = 0x1,
LiveStreams = 0x2,
Recordings = 0x4,
Tasks = 0x8,
Bookmarks = 0x10,
Attachments = 0x20
}

73
public class PublishItem (RecordingPublished) :
BaseObjectCredentialData
/// <summary>
/// Gets/Sets PK of a parent object
/// </summary>
[Column(Name = "idParent", DbType = "Int")]
[DataMember]
public int ParentID
{
get;
set;
}

/// <summary>
/// Gets/Sets PK of parent object
/// </summary>
[Column(Name = "idObject", DbType = "Int")]
[DataMember]
public int ObjectID
{
get;
set;
}

/// <summary>
/// Gets/Sets Recording`s duration
/// </summary>
[Column(Name = "duration", CanBeNull = true, DbType = "Int")]
[DataMember]
public int Duration
{
get;
set;
}

/// <summary>
/// Gets/Sets PK of parent object
/// </summary>
[Column(Name = "objectType", DbType = "TinyInt")]
[DataMember]
public ObjectType ObjectType
{
get;
set;
}

/// <summary>
/// Gets/Sets Comment
/// </summary>
[Column(Name = "name", DbType = "NVarChar", Storage = "-1")]
[DataMember]
public string Name
{
get;
set;
}

74
/// <summary>
/// Gets/Sets CRC
/// </summary>
[Column(Name = "crc", CanBeNull = true, DbType = "NVarChar", Storage = "-1")]
[DataMember]
public string CRC
{
get;
set;
}

/// <summary>
/// Gets/Sets MimeType
/// </summary>
[Column(Name = "mimeType", CanBeNull = true, DbType = "NVarChar", Storage = "-1")]
[DataMember]
public string MimeType
{
get;
set;
}

/// <summary>
/// Gets/Sets File size
/// </summary>
[Column(Name = "fileSize", CanBeNull = true, DbType = "BigInt")]
[DataMember]
public long FileSize
{
get;
set;
}

/// <summary>
/// Gets/Sets File name
/// </summary>
[Column(Name = "fileName", CanBeNull = true, DbType = "NVarChar", Storage = "-1")]
[DataMember]
public string FileName
{
get;
set;
}

/// <summary>
/// Gets/Sets Storage file path
/// </summary>
[Column(Name = "path", CanBeNull = true, DbType = "NVarChar", Storage = "-1")]
[DataMember]
public string Path
{
get;
set;
}

75
/// <summary>
/// Gets/Sets Media type of an interview
/// </summary>
[Column(Name = "mediaType", DbType = "VarChar", Storage = "10")]
[DataMember]
public MediaType Type
{
get;
set;
}

/// <summary>
/// Gets/Sets Time when capturing has been stopped
/// </summary>
[Column(Name = "finishTime", DbType = "DateTime")]
[DataMember]
public DateTime FinishTime
{
get;
set;
}

/// <summary>
/// Gets/Sets PC name
/// </summary>
[Column(Name = "clientName", DbType = "NVarChar", Storage = "255")]
[DataMember]
public string ClientName
{
get;
set;
}

/// <summary>
/// Gets/Sets Creation time
/// </summary>
[Column(Name = "creationTime", DbType = "DateTime")]
[DataMember]
public DateTime CreationTime
{
get;
set;
}

/// <summary>
/// Gets/Sets job for
/// </summary>
[DataMember]
public PublishJob Job
{
get;
set;
}

76
/// <summary>
/// Gets/Sets Nested Shadow items
/// </summary>
public List<ShadowPublishedItem> ShadowItems
{
get;
set;
}

public PublishItem ()

/// <summary>
/// Convert DataRow object to PublishItem
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns> PublishItem </returns>
public static explicit operator PublishItem (DataRow row)

[DataContract]
public enum ExternalService.OperationResult
{
[EnumMember]
OK,
[EnumMember]
Exception,
[EnumMember]
SqlException
}

[DataContract]
public enum ExternalService.SystemUserOperationResult
{
[EnumMember]
Added,
[EnumMember]
Edited,
[EnumMember]
Deleted,
[EnumMember]
DeletedFromConcurrentThread,
[EnumMember]
Duplicated,
[EnumMember]
ErrorWhileAdding,
[EnumMember]
ErrorWhileEditing,
[EnumMember]
ErrorWhileDeleting
}

public enum PublisherService.OperationResult


{
OK,
Exception,
SqlException,
}

77
public enum WcfSqlCommunicatorService.UsedResult
{
NotUsed,
OneUsed,
SomeUsed,
AllUsed,
}

[DataContract]
public class Log : BaseObjectCredentialData
/// <summary>
/// Gets/Sets Creation time
/// </summary>
[DataMember]
[Column(Name = "time",DbType ="DateTime2")]
public DateTime CreationTime
{
get;
set;
}

/// <summary>
/// Gets/Sets Parent id
/// </summary>
[DataMember]
[Column(Name = "idParent", CanBeNull = true, DbType = "Int")]
public int ? ParentID
{
get;
set;
}

78
/// <summary>
/// Gets/Sets Message
/// </summary>
[DataMember]
[Column(Name = "message", DbType = "NVarChar", Storage = "1000")]
public string Message
{
get;
set;
}

/// <summary>
/// Gets/Sets Parent type
/// </summary>
[DataMember]
[Column(Name = "parentType", DbType = "TinyInt")]
public ObjectType ParentType
{
get;
set;
}

/// <summary>
/// Gets/Sets Object name
/// </summary>
[DataMember]
[System.Xml.Serialization.XmlIgnore]
[Column(Name = "name", CanBeNull = true, DbType = "NVarChar", Storage = "255")]
public string ObjectName
{
get;
set;
}

/// <summary>
/// Gets/Sets Object creation time
/// </summary>
[DataMember]
[System.Xml.Serialization.XmlIgnore]
[Column(Name = "creationTime", CanBeNull = true, DbType = "DateTime2")]
public DateTime ? ObjectCreationTime
{
get;
set;
}

/// <summary>
/// Gets/Sets Root id
/// </summary>
[DataMember]
[System.Xml.Serialization.XmlIgnore]
[Column(Name = "idRoot", CanBeNull = true, DbType = "Int")]
public int RootID
{
get;
set;
}
public Log()

79
/// <summary>
/// Convert DataRow object to Log
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>Log</returns>
public static explicit operator Log(DataRow row)

[DataContract]
public class SystemStatus
/// <summary>
/// Gets/Sets Active live feeds
/// </summary>
[Column(Name = "activeLiveFeeds", DbType = "Int")]
[DataMember]
public int ActiveLiveFeeds
{
get;
set;
}

/// <summary>
/// Gets/Sets Active audio live feeds
/// </summary>
[Column(Name = "activeLiveFeedsAudio", DbType = "Int")]
[DataMember]
public int ActiveAudioLiveFeeds
{
get;
set;
}

/// <summary>
/// Gets/Sets Active video live feeds
/// </summary>
[Column(Name = "activeLiveFeedsVideo", DbType = "Int")]
[DataMember]
public int ActiveVideoLiveFeeds
{
get;
set;
}

/// <summary>
/// Gets/Sets Total interviews
/// </summary>
[Column(Name = "interviews", DbType = "Int")]
[DataMember]
public int TotalInterviews
{
get;
set;
}

80
/// <summary>
/// Gets/Sets Total audio interviews
/// </summary>
[Column(Name = "interviewsAudio", DbType = "Int")]
[DataMember]
public int TotalAudioInterviews
{
get;
set;
}

/// <summary>
/// Gets/Sets Total video interviews
/// </summary>
[Column(Name = "interviewsVideo", DbType = "Int")]
[DataMember]
public int TotalVideoInterviews
{
get;
set;
}

/// <summary>
/// Gets/Sets Total digital case folders
/// </summary>
[Column(Name = "digitalCaseFolders", DbType = "Int")]
[DataMember]
public int TotalDigitalCaseFolders
{
get;
set;
}

/// <summary>
/// Gets/Sets Total recordings
/// </summary>
[Column(Name = "recordings", DbType = "Int")]
[DataMember]
public int TotalRecordings
{
get;
set;
}

/// <summary>
/// Gets/Sets Total audio recordings
/// </summary>
[Column(Name = "recordingsAudio", DbType = "Int")]
[DataMember]
public int TotalAudioRecordings
{
get;
set;
}

81
/// <summary>
/// Gets/Sets Total video recordings
/// </summary>
[Column(Name = "recordingsVideo", DbType = "Int")]
[DataMember]
public int TotalVideoRecordings
{
get;
set;
}

/// <summary>
/// Gets/Sets Total tasks
/// </summary>
[Column(Name = "tasks", DbType = "Int")]
[DataMember]
public int TotalTasks
{
get;
set;
}

/// <summary>
/// Gets/Sets Total not assigned tasks
/// </summary>
[Column(Name = "tasksNotAssigned", DbType = "Int")]
[DataMember]
public int TotalTasksNotAssigned
{
get;
set;
}

/// <summary>
/// Gets/Sets Total not started tasks
/// </summary>
[Column(Name = "tasksNotStarted", DbType = "Int")]
[DataMember]
public int TotalTasksNotStarted
{
get;
set;
}

/// <summary>
/// Gets/Sets Total in progress tasks
/// </summary>
[Column(Name = "tasksInProgres", DbType = "Int")]
[DataMember]
public int TotalTasksInProgress
{
get;
set;
}

82
/// <summary>
/// Gets/Sets Total completed tasks
/// </summary>
[Column(Name = "tasksCompleted", DbType = "Int")]
[DataMember]
public int TotalTasksCompleted
{
get;
set;
}

/// <summary>
/// Gets/Sets Systems user count
/// </summary>
[DataMember]
public int SystemUsersCount
{
get;
set;
}

/// <summary>
/// Gets/Sets Total roles
/// </summary>
[Column(Name = "roles", DbType = "Int")]
[DataMember]
public int UserRolesCount
{
get;
set;
}

/// <summary>
/// Gets/Sets Total publishers
/// </summary>
[Column(Name = "publishers", DbType = "Int")]
[DataMember]
public int PublishersCount
{
get;
set;
}

/// <summary>
/// Gets/Sets Total burning robots
/// </summary>
[Column(Name = "burningRobots", DbType = "Int")]
[DataMember]
public int BurningRobotsCount
{
get;
set;
}

83
/// <summary>
/// Gets/Sets Total disc templates
/// </summary>
[Column(Name = "discTemplates", DbType = "Int")]
[DataMember]
public int DiscTemplatesCount
{
get;
set;
}

/// <summary>
/// Gets/Sets Space capacity on server
/// </summary>
[DataMember]
public long ServerCapacity
{
get;
set;
}

/// <summary>
/// Gets/Sets Free space on server
/// </summary>
[DataMember]
public long FreeSpaceOnServer
{
get;
set;
}

/// <summary>
/// Gets/Sets Used space on server
/// </summary>
[DataMember]
public long UsedSpaceOnServer
{
get;
set;
}

/// <summary>
/// Gets/Sets Total bookmarks
/// </summary>
[Column(Name = "bookmarks", DbType = "Int")]
[DataMember]
public int TotalBookmarks
{
get;
set;
}

84
/// <summary>
/// Gets/Sets Total attachments
/// </summary>
[Column(Name = "attachments", DbType = "Int")]
[DataMember]
public int TotalAttachments
{
get;
set;
}

/// <summary>
/// Gets/Sets Total disposed interviews
/// </summary>
[Column(Name = "interviewsDisposed", DbType = "Int")]
[DataMember]
public int TotalDisposedInterviews
{
get;
set;
}

/// <summary>
/// Gets/Sets Total not uploaded interviews
/// </summary>
[Column(Name = "interviewsNotUploaded", DbType = "Int")]
[DataMember]
public int TotalNotUploadedInterviews
{
get;
set;
}

/// <summary>
/// Gets/Sets Total not uploaded digital case folders
/// </summary>
[Column(Name = "digitalCaseFoldersNotUploaded", DbType = "Int")]
[DataMember]
public int TotalNotUploadedDigitalCaseFolders
{
get;
set;
}

/// <summary>
/// Gets/Sets Total disposed digital case folders
/// </summary>
[Column(Name = "digitalCaseFoldersDisposed", DbType = "Int")]
[DataMember]
public int TotalDisposedDigitalCaseFolders
{
get;
set;
}

85
/// <summary>
/// Gets/Sets Total audit logs
/// </summary>
[Column(Name = "auditLogs", DbType = "Int")]
[DataMember]
public int TotalAuditLogs
{
get;
set;
}

/// <summary>
/// Gets/Sets Total indico clients
/// </summary>
[Column(Name = "clients", DbType = "BigInt")]
[DataMember]
public long TotalClients
{
get;
set;
}

/// <summary>
/// Gets/Sets Total power users
/// </summary>
[Column(Name = "powerUsers", DbType = "Int")]
[DataMember]
public int TotalPowerUsers
{
get;
set;
}

/// <summary>
/// Convert DataRow object to SystemStatus
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>SystemStatus</returns>
public static explicit operator SystemStatus(DataRow row)

public class Profile


[DataContract]
public enum _Type
{
[EnumMember]
Video,
[EnumMember]
Audio
}

/// <summary>
/// Type of profile
/// </summary>
public _Type Type
{
get;
set;
}

86
/// <summary>
/// Profile name
/// </summary>
public string Name
{
get;
set;
}

/// <summary>
/// Description
/// </summary>
public string Description
{
get;
set;
}

/// <summary>
/// Bit rate for audio stream
/// </summary>
public string BitRateAudio
{
get;
set;
}

/// <summary>
/// Bit rate for video stream
/// </summary>
public string BitRateVideo
{
get;
set;
}

/// <summary>
/// Output width
/// </summary>
public string WidthVideo
{
get;
set;
}

/// <summary>
/// Output height
/// </summary>
public string HeightVideo
{
get;
set;
}

/// <summary>
/// Frame rate for video stream
/// </summary>
public string FrameRateVideo
{
get;
87
set;
}

/// <summary>
/// Sample rate for audio stream
/// </summary>
public string SampleRateAudio
{
get;
set;
}

/// <summary>
/// Full path to the file
/// </summary>
public string FilePath
{
get;
set;
}

/// <summary>
/// XML data
/// </summary>
public string XML
{
get;
set;
}

public Profile() { }

public Profile(string profileXML, _Type type)

public override string ToString()

public enum PlaybackProtocol : int


{
[EnumMember]
MMS = 1,
[EnumMember]
HTTP,
[EnumMember]
RTSP
}
/// <summary>
/// Represents interval of time
/// </summary>
public enum IntervalTime : byte
{
Year,
Month,
Day,
Hour,
Minute,
Second,
Millisecond
}

88
[DataContract]
public class ShadowPublishedItem: BaseObjectFile
/// <summary>
/// Convert DataRow object to ShadowPublishedItem
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>ShadowPublishedItem</returns>
public static explicit operator ShadowPublishedItem(DataRow row)

[DataContract]
public partial class DigitalCaseFolder : BaseObjectPermissions
{

/// <summary>
/// Gets/Sets PC name
/// </summary>
[Column(Name = "clientName", DbType = "NVarChar", Storage = "63")]
[DataMember]
public string ClientName
{
get;
set;
}

/// <summary>
/// Gets/Sets Nested recordings
/// </summary>
[DataMember]
public List<Recording> Recordings
{
get;
set;
}

/// <summary>
/// Gets/Sets Nested attachments
/// </summary>
[DataMember]
public List<Attachment> Attachments
{
get;
set;
}

/// <summary>
/// Gets/Sets Nested Interviews
/// </summary>
[DataMember]
public List<Interview> Interviews
{
get;
set;
}

89
/// <summary>
/// Gets/Sets Nested burning tasks
/// </summary>
[DataMember]
public List<BurningTask> BurningTasks
{
get;
set;
}

/// <summary>
/// Gets/Sets Retention time
/// </summary>
[Column(Name = "retentionTime", CanBeNull = true, DbType = "DateTime")]
[DataMember]
public DateTime? RetentionTime
{
get;
set;
}

/// <summary>
/// Gets/Sets Retetion option
/// </summary>
[Column(Name = "retentionOption", DbType = "TinyInt")]
[DataMember]
public RetentionOption RetentionOption
{
get;
set;
}

/// <summary>
/// Gets/Sets Retetion type
/// </summary>
[Column(Name = "retentionType", DbType = "TinyInt")]
[DataMember]
public RetentionType RetentionType
{
get;
set;
}

/// <summary>
/// Gets/Sets Retetion rule
/// </summary>
[DataMember]
public RetentionRule RetentionRule
{
get;
set;
}

90
/// <summary>
/// Gets/Sets Path
/// </summary>
[Column(Name = "path", DbType = "NVarChar", Storage = "260")]
[DataMember]
public string Path
{
get;
set;
}

/// <summary>
/// Gets/Sets Directory name
/// </summary>
[Column(Name = "directoryName", DbType = "NVarChar", Storage = "255")]
[DataMember]
public string DirectoryName
{
get;
set;
}

/// <summary>
/// Gets/Sets Notified
/// </summary>
[Column(Name = "notified", DbType = "Bit")]
[DataMember]
public bool Notified
{
get;
set;
}

/// <summary>
/// Gets/Sets Modified time
/// </summary>
[Column(Name = "modifiedTime", CanBeNull = true, DbType = "DateTime")]
[DataMember]
public DateTime? ModifiedTime
{
get;
set;
}

/// <summary>
/// Gets/Sets User name who dispose object
/// </summary>
[Column(Name = "disposeByUserName", CanBeNull = true, DbType = "NVarChar", Storage =
"104")]
[DataMember]
public string DisposeByUserName
{
get;
set;
}

91
/// <summary>
/// Gets/Sets User sid who dispose object
/// </summary>
[Column(Name = "disposeBySID", CanBeNull = true, DbType = "VarChar", Storage =
"68")]
[DataMember]
public string DisposeBySID
{
get;
set;
}

/// <summary>
/// Gets/Sets GUID
/// </summary>
[Column(Name = "guid", DbType = "VarChar", Storage = "56")]
[DataMember]
public string GUID
{
get;
set;
}

/// <summary>
/// Gets/Sets link history
/// </summary>
[DataMember]
public List<LinkHistory> LinkHistory { get; set; }

/// <summary>
/// Gets/Sets link history
/// </summary>
[DataMember]
public bool FilesExported { get; set; }

/// <summary>
/// Gets/Sets publish history
/// </summary>
[DataMember]
public List<PublishJob> PublishHistory { get; set; }

public DigitalCaseFolder()

/// <summary>
/// Convert DataRow object to DigitalCaseFolder
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>DigitalCaseFolder</returns>
public static explicit operator DigitalCaseFolder(DataRow row)

/// <summary>
/// Convert DataRow object to shallow AttachmentG4
/// </summary>
/// <param name="row">Source DataRow object</param>
/// <returns>AttachmentG4</returns>
public static DigitalCaseFolder GetShallowItemFromDataRow(DataRow row)

92
/// <summary>
/// Returns recording by its Guid
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
public Recording GetRecordingByGuid(string guid)

/// <summary>
/// Returns attachment by its Guid
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
public Attachment GetAttachmentByGuid(string guid)

93

You might also like