public static void DeleteFile(UpdateFile uFile) { SqlCommand command = new SqlCommand("DELETE FROM LiveUpdate WHERE FS_KEY = " + uFile.Key); ExecuteCommand(command); command = new SqlCommand("DELETE FROM LiveUpdate_FileData WHERE FD_KEY = " + uFile.DataKey); ExecuteCommand(command); }
public static void AddUpdateFile(UpdateFile uFile) { if (uFile.DataRow.RowState == DataRowState.Detached) { uFile.DataKey = InsertData(uFile); uFile.CreateDate = DateTime.Now; dataFileInfo.Rows.Add(uFile.DataRow); } else { UpdateData(uFile); } }
public static byte[] GetFile(UpdateFile uFile) { return GetFileData(uFile); }
public void SaveTo(UpdateFile uFile, string path) { if (!File.Exists(Path.GetDirectoryName(path))) Directory.CreateDirectory(Path.GetDirectoryName(path)); path = Path.Combine(path, uFile.Name); try { string md5 = Helper.ComputeMD5Checksum(path); if (md5 != uFile.MD5) { byte[] bytes = Data.GetFile(uFile); SaveToDisk(path, bytes); FileInfo info = new FileInfo(path); info.LastWriteTime = uFile.FileDate; log.InfoFormat("Updated: {0}, {1}, {2}", uFile.Name, uFile.DestinationPath, uFile.FileSize); } } catch (IOException e) { log.Error(e.Message); } }
public void SaveAs(UpdateFile uFile, string path) { byte[] bytes = Data.GetFile(uFile); SaveToDisk(path, bytes); }
public void DeleteFile(UpdateFile uFile) { Data.DeleteFile(uFile); HasChanges = true; }
private static void UpdateData(UpdateFile uFile) { byte[] bytes = GetFileData(uFile); SqlCommand command = new SqlCommand("UPDATE LiveUpdate_FileData SET FD_DATA = @Data WHERE FD_KEY = @Key"); command.Parameters.Add("@Data", SqlDbType.Binary, 0, "FD_DATA").Value = bytes; command.Parameters.Add("@Key", SqlDbType.Int, 0, "FD_Key").Value = uFile.DataKey; ExecuteCommand(command); }
private static int InsertData(UpdateFile uFile) { byte[] bytes = GetFileData(uFile); uFile.Name = Path.GetFileName(uFile.Name); SqlCommand command = new SqlCommand("INSERT INTO LiveUpdate_FileData VALUES(@Data) SELECT @@IDENTITY"); command.Parameters.Add("@Data", SqlDbType.Binary, 0, "FD_DATA").Value = bytes; object key = ExecuteScalarCommand(command); return int.Parse(key.ToString()); }
private static byte[] GetFileData(UpdateFile uFile) { if (uFile.DataRow.RowState == DataRowState.Detached) { using (BinaryReader reader = new BinaryReader(File.Open(uFile.Name, FileMode.Open, FileAccess.Read), Encoding.UTF8)) { byte[] bytes = new byte[reader.BaseStream.Length]; reader.Read(bytes, 0, bytes.Length); return bytes; } } else { SqlCommand command = new SqlCommand("SELECT FD_DATA FROM LiveUpdate_FileData WHERE FD_KEY = " + uFile.DataKey); object data = ExecuteScalarCommand(command); return (byte[])data; } }