private void ReceiveFile(ClientRequest request) { Auxiliary.WriteLog("Receiving the file " + request.Request); FileInfo info = null; try { ShortFileInfo fromFileList = GetFromFileList(request.Request); if (fromFileList != null) { this._files.Remove(fromFileList); info = new FileInfo(Path.Combine(this._DestinationDirectory.FullName, fromFileList.FileName)); if (!info.Directory.Exists) { info.Directory.Create(); } FileStream stream = info.Create(); stream.Write(request.BinaryResponse, 0, request.BinaryResponse.Length); stream.Close(); } _filesUpdated++; } catch (Exception exception) { Auxiliary.WriteLog( $"Exception while receiving file \"{request.Request}\"\r\nDestination: {((info != null) ? info.FullName : "FileInfo is null")}\r\n{exception.ToString()}"); } }
private ShortFileInfo GetFileInfo(string s) { if (s.Trim() != "") { string[] strArray = s.Split(new char[] { '\t' }); if (strArray.Length >= 3) { ShortFileInfo info = new ShortFileInfo { FileName = strArray[0], CreationTime = CasProtocol.Convert.StringToDateTime(strArray[1]) }; int.TryParse(strArray[2], out info.FileSize); return(info); } } return(null); }
private void ParseFileList(string files) { Auxiliary.WriteLog("Files for product " + this._Product + ":\r\n" + files); this._files = new List <ShortFileInfo>(); if (files != ":empty:") { string[] strArray = files.Split(new char[] { '\n' }); for (int i = 0; i < strArray.Length; i++) { ShortFileInfo fileInfo = this.GetFileInfo(strArray[i]); if (fileInfo != null) { FileInfo info2 = new FileInfo(Path.Combine(this._SourceDirectory.FullName, fileInfo.FileName)); if ((!info2.Exists || (info2.LastWriteTimeUtc < fileInfo.CreationTime)) || (System.Convert.ToInt32(info2.Length) != fileInfo.FileSize)) { this._files.Add(fileInfo); } } } } }