/// <summary>
        /// Post a transcription project
        /// </summary>
        /// <param name="sourceLanguage">See Language Codes</param>
        /// <param name="sources">Comma separated list of Resource UUIDs</param>
        /// <param name="length">[Optional] Integer of seconds, if empty use automatic counting</param>
        /// <param name="notes">[Optional] Text note that will be shown to translator regarding the newly project</param>
        /// <param name="callbackUrl">[Optional] See Callbacks section</param>
        /// <param name="name">[Optional] Name your project. If empty, your project will be named automatically.</param>
        /// <param name="custom">[Optional]</param>
        /// <returns></returns>
        public CreateTranscriptionProjectResult CreateTranscriptionProject(string sourceLanguage
                                                                           , string sources, string length = "", string notes = "", string callbackUrl = "", string name = "", string[] custom = null)
        {
            var r = new CreateTranscriptionProjectResult();

            try
            {
                if (CreateTranscriptionProjectProvider == null)
                {
                    CreateTranscriptionProjectProvider = new CreateTranscriptionProjectProvider();
                }
                var json = CreateTranscriptionProjectProvider.Get(Url, _proxy, KeyPublic, KeySecret, sourceLanguage, sources, length, notes, callbackUrl, name);
                r = JsonConvert.DeserializeObject <CreateTranscriptionProjectResult>(json.Replace("\"results\":[", "\"resultsArray\":["));
            }
            catch (Exception err)
            {
                r.Status.Code = -1;
                r.Status.Msg  = err.Message;
            }
            return(r);
        }
        /// <summary>
        /// Post a transcription project
        /// </summary>
        /// <param name="sourceLanguage">See Language Codes</param>
        /// <param name="sources">Comma separated list of Resource UUIDs</param>
        /// <param name="length">[Optional] Integer of seconds, if empty use automatic counting</param>
        /// <param name="notes">[Optional] Text note that will be shown to translator regarding the newly project</param>
        /// <param name="callbackUrl">[Optional] See Callbacks section</param>
        /// <param name="name">[Optional] Name your project. If empty, your project will be named automatically.</param>
        /// <param name="custom">[Optional]</param>
        /// <returns></returns>
        public CreateTranscriptionProjectResult CreateTranscriptionProject(string sourceLanguage
            , string sources, string length = "", string notes = "", string callbackUrl = "", string name = "", string[] custom = null)
        {
            var r = new CreateTranscriptionProjectResult();
            try
            {

                if (CreateTranscriptionProjectProvider == null)
                    CreateTranscriptionProjectProvider = new CreateTranscriptionProjectProvider();
                var json = CreateTranscriptionProjectProvider.Get(Url, _proxy, KeyPublic, KeySecret, sourceLanguage, sources, length, notes, callbackUrl, name);
                r = JsonConvert.DeserializeObject<CreateTranscriptionProjectResult>(json.Replace("\"results\":[", "\"resultsArray\":["));
            }
            catch (Exception err)
            {
                r.Status.Code = -1;
                r.Status.Msg = err.Message;
            }
            return r;
        }