public FileOrganizationResult GetResult(IResultSet reader) { var index = 0; var result = new FileOrganizationResult { Id = reader.GetGuid(0).ToString("N") }; index++; if (!reader.IsDBNull(index)) { result.OriginalPath = reader.GetString(index); } index++; if (!reader.IsDBNull(index)) { result.TargetPath = reader.GetString(index); } index++; result.FileSize = reader.GetInt64(index); index++; result.Date = reader.ReadDateTime(index); index++; result.Status = (FileSortingStatus)Enum.Parse(typeof(FileSortingStatus), reader.GetString(index), true); index++; result.Type = (FileOrganizerType)Enum.Parse(typeof(FileOrganizerType), reader.GetString(index), true); index++; if (!reader.IsDBNull(index)) { result.StatusMessage = reader.GetString(index); } result.OriginalFileName = Path.GetFileName(result.OriginalPath); index++; if (!reader.IsDBNull(index)) { result.ExtractedName = reader.GetString(index); } index++; if (!reader.IsDBNull(index)) { result.ExtractedYear = reader.GetInt(index); } index++; if (!reader.IsDBNull(index)) { result.ExtractedSeasonNumber = reader.GetInt(index); } index++; if (!reader.IsDBNull(index)) { result.ExtractedEpisodeNumber = reader.GetInt(index); } index++; if (!reader.IsDBNull(index)) { result.ExtractedEndingEpisodeNumber = reader.GetInt(index); } index++; if (!reader.IsDBNull(index)) { result.DuplicatePaths = reader.GetString(index).Split('|').Where(i => !string.IsNullOrEmpty(i)).ToList(); } return(result); }