public FileIOLog ReadFileIOLog(FileIOLog model) { return(Session.QueryOver <FileIOLog>() .Where(m => (m.UserId == model.UserId) && (m.FileId == model.FileId) && (m.FileIOLogSequence == model.FileIOLogSequence)) .SingleOrDefault <FileIOLog>()); }
public FileIOLog CreateFileIOLog(FileIOLog model) { FileIOLog rtn; Session.Clear(); rtn = Session.Save(model) as FileIOLog; Session.Flush(); return(rtn); }
public void UpdateFileIOLog(FileIOLog model) { Session.Clear(); Session.Update(model); Session.Flush(); }
public void DeleteFileIOLog(FileIOLog model) { Session.Clear(); Session.Delete(model); Session.Flush(); }
private void HandleStorCommand(String argument) { if (!isLogin) { SendResponse(ProtocolResponse.NotLoggedIn, "로그인 후 사용하세요."); return; } if (!ConnectUserDTP()) { return; } FileModel userFile = FileModel.FromString(argument); userFile.UserId = userId; FileModel serverFile = fileDao.ReadFileUsingUniqueId(userFile); FileIOLog mFileIOLog = new FileIOLog(); if (serverFile != null) { logger.Info("파일 로그를 남깁니다."); mFileIOLog.UserId = serverFile.UserId; mFileIOLog.IOTime = DateTime.Now; mFileIOLog.FileId = serverFile.FileId; mFileIOLog.FileIOLogSequence = fileIOLogDao.ReadMaxFileIOLogSequence(serverFile) + 1; if (serverFile.Name == userFile.Name) { mFileIOLog.IOType = "C"; } else { mFileIOLog.IOType = "R"; } fileIOLogDao.CreateFileIOLog(mFileIOLog); logger.Info("파일 최신화를 시작합니다."); logger.Info(serverFile.ToString()); if (serverFile.LastUpdateTime == userFile.LastUpdateTime) { logger.Info("이미 최신화 되어 있습니다."); serverDTP.SendAlreadyTheNewestFile(); serverDTP.CloseServerDTP(); SendResponse(ProtocolResponse.CloseDataConnection, "이미 최신화 되어 있습니다."); } else { logger.Info("최신화를 위해 체크섬을 전송합니다."); serverDTP.SendChecksumStream(serverFile); logger.Info("변경 스트림을 수신합니다."); serverDTP.ReceiveDifferenceStream(serverFile); serverDTP.CloseServerDTP(); SendResponse(ProtocolResponse.CloseDataConnection, "파일의 최신화가 완료되었습니다."); } serverFile.Name = userFile.Name; // 2014-07-24 ADD by KS serverFile.Size = userFile.Size; // 2014-07-24 ADD by KS serverFile.LastUpdateTime = userFile.LastUpdateTime; fileDao.UpdateFile(serverFile); } else { logger.Info("새 파일 전송을 시작합니다."); userFile.UserId = userId; userFile.FileId = fileDao.ReadMaxFileId(userId) + 1; fileDao.CreateFile(userFile); logger.Info("파일 로그를 남깁니다."); mFileIOLog.UserId = userId; mFileIOLog.IOTime = DateTime.Now; mFileIOLog.FileId = userFile.FileId; mFileIOLog.IOType = "N"; mFileIOLog.FileIOLogSequence = fileIOLogDao.ReadMaxFileIOLogSequence(userFile) + 1; fileIOLogDao.CreateFileIOLog(mFileIOLog); serverDTP.SendToRequestNewFile(); serverDTP.ReceiveFileStream(userFile); serverDTP.CloseServerDTP(); SendResponse(ProtocolResponse.CloseDataConnection, "파일이 정상적으로 수신되었습니다."); } }