/// <summary> /// 조회된 한 로우에 대한 데이터를 생성한다. /// </summary> /// <param name="stmt">DB 구문 객체</param> /// <returns>파일 정보</returns> private FolderInfo GetRowData(ISQLiteStatement stmt) { return(new FolderInfo() { Type = (FolderType)stmt.GetInteger("FOLDER_TYPE"), Level = stmt.GetInteger2("LEVEL"), Name = stmt.GetText("NAME"), Path = stmt.GetText("PATH"), FalToken = stmt.GetText2("FAL_TOKEN"), Passcode = stmt.GetText2("PASSCODE") }); }
/// <summary> /// 자막 리스트를 일괄 등록한다. /// </summary> /// <param name="mediaInfoList">미디어정보 리스트</param> /// <returns>DB 처리 결과</returns> //public SQLiteResult InsertSubtitles(MediaInfo mediaInfo) //{ // if (mediaInfo.SubtitleFileList != null) // { // return Transactional(() => // { // SQLiteResult result = SQLiteResult.EMPTY; // using (var custstmt = this.conn.Prepare(DML_INSERT_SUBTITLE)) // { // foreach (var subtitle in mediaInfo.SubtitleFileList) // { // custstmt.Bind("@PATH", subtitle.Path); // custstmt.Bind("@OWNER_SEQ", mediaInfo.Path); // custstmt.Bind("@FAL_TOKEN", subtitle.FalToken); // result = custstmt.Step(); // if (result != SQLitePCL.SQLiteResult.DONE) // { // return result; // } // // Resets the statement, to that it can be used again (with different parameters). // custstmt.Reset(); // custstmt.ClearBindings(); // } // } // return result; // }); // } // else // { // return SQLiteResult.DONE; // } //} /// <summary> /// 모든 자막 목록을 삭제한다. /// </summary> /// <returns>DB 처리 결과</returns> //public SQLiteResult DeleteSubtitle(SubtitleInfo sif) //{ // //모든 자막 FAL 삭제 (특별한 경우를 제외하고는 수행되지 않음 - 상위 폴더가 FAL에 등록되어 있으면 하위 파일은 접근 권한을 갖기 때문) // foreach (var entry in StorageApplicationPermissions.FutureAccessList.Entries) // { // if (entry.Metadata == typeof(SubtitleInfo).ToString()) // { // StorageApplicationPermissions.FutureAccessList.Remove(entry.Token); // } // } // using (var pstmt = conn.Prepare(DML_DELETE_SUBTITLE)) // { // pstmt.Bind("@OWNER_SEQ", sif.Path) ; // return pstmt.Step(); // } //} /// <summary> /// 재생목록 로우 펫치 /// </summary> /// <param name="stmt"></param> /// <returns></returns> private MediaInfo GetRowDataForPlayList(ISQLiteStatement stmt) { var mi = new MediaInfo() { Path = stmt.GetText("PATH"), Name = stmt.GetText("NAME"), FalToken = stmt.GetText2("FAL_TOKEN"), RunningTime = stmt.GetInteger2("RUNNING_TIME"), PausedTime = stmt.GetInteger2("PAUSED_TIME"), }; //재생목록에 추가된 시간 파싱 DateTime AddedDateTime; if (DateTime.TryParse(stmt.GetText2("ADDED_DATETIME"), out AddedDateTime)) { mi.AddedDateTime = AddedDateTime; } return(mi); }
/// <summary> /// 조회된 한 로우에 대한 데이터를 생성한다. /// </summary> /// <param name="stmt">DB 구문 객체</param> /// <returns>파일 정보</returns> private StorageItemInfo GetRowData(ISQLiteStatement stmt) { return(new StorageItemInfo() { Path = stmt.GetText("PATH"), SubType = (SubType)stmt.GetInteger("FOLDER_TYPE"), Name = stmt.GetText("NAME"), RootPath = stmt.GetText("ROOT_PATH"), FalToken = stmt.GetText2("FAL_TOKEN") }); }