--- /dev/null
+diff --git a/win/C#/HandBrake.ApplicationServices/Model/Job.cs b/win/C#/HandBrake.ApplicationServices/Model/Job.cs
+new file mode 100644
+index 0000000..a18a611
+--- /dev/null
++++ b/win/C#/HandBrake.ApplicationServices/Model/Job.cs
+@@ -0,0 +1,70 @@
++/* QueueItem.cs $\r
++ This file is part of the HandBrake source code.\r
++ Homepage: <http://handbrake.fr>.\r
++ It may be used under the terms of the GNU General Public License. */\r
++\r
++namespace HandBrake.ApplicationServices.Model\r
++{\r
++ /// <summary>\r
++ /// The job.\r
++ /// </summary>\r
++ public class Job\r
++ {\r
++ /// <summary>\r
++ /// the CLI Query.\r
++ /// </summary>\r
++ private string query;\r
++\r
++ /// <summary>\r
++ /// Gets or sets the job ID.\r
++ /// </summary>\r
++ public int Id { get; set; }\r
++\r
++ /// <summary>\r
++ /// Gets or sets the selected Title.\r
++ /// </summary>\r
++ public int Title { get; set; }\r
++\r
++ /// <summary>\r
++ /// Gets or sets the query string.\r
++ /// </summary>\r
++ public string Query\r
++ {\r
++ get\r
++ {\r
++ return this.query.Replace("\\\"", "\"").Replace("\\\\", "\\");\r
++ }\r
++ set\r
++ {\r
++ this.query = value;\r
++ }\r
++ }\r
++\r
++ /// <summary>\r
++ /// Gets or sets a value indicating whether if this is a user or GUI generated query\r
++ /// </summary>\r
++ public bool CustomQuery { get; set; }\r
++\r
++ /// <summary>\r
++ /// Gets or sets the source file of encoding.\r
++ /// </summary>\r
++ public string Source { get; set; }\r
++\r
++ /// <summary>\r
++ /// Gets or sets the destination for the file to be encoded.\r
++ /// </summary>\r
++ public string Destination { get; set; }\r
++\r
++ /// <summary>\r
++ /// Gets a value indicating whether or not this instance is empty.\r
++ /// </summary>\r
++ public bool IsEmpty\r
++ {\r
++ get\r
++ {\r
++ return this.Id == 0 && string.IsNullOrEmpty(this.Query) && string.IsNullOrEmpty(this.Source) &&\r
++ string.IsNullOrEmpty(this.Destination);\r
++ }\r
++ }\r
++ }\r
++}
+\ No newline at end of file