public PsnDataFaultReasonStorageFtpStream(IStreamedData relayOnStream, IIdentifier id) { _relayOnStream = relayOnStream; _id = id; _faultReason = new Lazy <string>(() => { var buffer = new byte[10]; using (var stream = _relayOnStream.GetStreamForReading()) { stream.Read(buffer, 0, 10); } var result = string.Empty; result += "Номер протокола: 0x" + buffer[0].ToString("X2") + buffer[1].ToString("X2") + Environment.NewLine; result += "Причина создания дампа: " + buffer[3].ToString("X2") + " " + buffer[4].ToString("X2") + " " + buffer[5].ToString("X2") + " " + buffer[6].ToString("X2") + " " + " " + buffer[7].ToString("X2") + " " + buffer[8].ToString("X2") + " " + buffer[9].ToString("X2") + " " + buffer[10].ToString("X2"); return(result); }); }
private XDocument ReadXDocFromStream() { try { using (var stream = _streamReadableObject.GetStreamForReading()) { return(XDocument.Load(stream)); } } catch { // Бывает так, что файл не удается прочитать документ из потока (например, если файл был только что создан) return(new XDocument(new XElement("PsnDataInformations"))); } }
public void Add(IIdentifier id, IStreamedData data) { var filename = Path.Combine(_directoryPath, id.IdentyString); if (File.Exists(filename)) { throw new Exception("File allready exists " + filename); } using (var dst = File.Create(filename)) { using (var src = data.GetStreamForReading()) { src.CopyTo(dst); } } }
public IStreamedData Add(IIdentifier id, IStreamedData data, Action <double> progressChangeAction) { var saveFilename = Path.Combine(_path, "PSN." + id + ".data.bin"); if (File.Exists(saveFilename)) { throw new Exception("Ћог с такими данными уже сохранен в репозитории"); } using (var s = data.GetStreamForReading()) { using (var d = File.Create(saveFilename)) { s.CopyToWithProgress(d, progressChangeAction); } } return(new StreamedFile(saveFilename)); }
private XDocument ReadXDocFromStream() { XDocument doc; try { var stream = _streamReadableObject.GetStreamForReading(); using (stream) { doc = XDocument.Load(stream); } } catch { // Бывает так, что файл не удается прочитать документ из потока (например, если файл был только что создан) doc = new XDocument(new XElement(RootXmlElementName)); } return(doc); }
private XDocument ReadXDocFromStream() { XDocument doc; try { using (var stream = _streamReadableObject.GetStreamForReading()) { doc = XDocument.Load(stream); } } catch //(Exception ex) { // Ѕывает так, что файл не удаетс¤ прочитать документ из потока (например, если файл был только что создан) doc = new XDocument(new XElement("DeviceInformations")); } return(doc); }
public IStreamedData Add(IIdentifier id, IStreamedData sourceData, Action <double> progressChangeAction) { progressChangeAction(0.0); using (var zipFile = CreateZipFileInstance(_zipFilename)) { var saveFilename = "PSN." + id + ".data.bin"; if (zipFile.ContainsEntry(saveFilename)) { throw new Exception("Ћог с такими данными уже сохранен в репозитории"); } progressChangeAction(25.0); using (var stream = sourceData.GetStreamForReading()) { progressChangeAction(50.0); zipFile.UpdateEntry(saveFilename, stream); progressChangeAction(75.0); zipFile.Save(); // Ќевозможно использовать вне блока using } progressChangeAction(100.0); return(new PsnDataRelayStream(new StreamedZippedFile(_zipFilename, saveFilename), id)); } }
public Stream GetStreamForReading() { return(_data.GetStreamForReading()); }
public Stream GetStreamForReading() { var stream = _relayOnStream.GetStreamForReading(); return(stream); }
public Stream GetStreamForReading() { return(new ReadOnlySubStream(_streamReadableObject.GetStreamForReading(), _beginPositionInStream, _streamLength)); }