private Ja2Data.SlfFile.Record DownloadUnstreucturedRecord(SlfRecord aUnstructuredRec) { Ja2Data.SlfFile.Record.Header _header = this.DownloadSlfRecordHeader(aUnstructuredRec.SlfRecordHeader); Ja2Data.SlfFile.Record _rec = new Ja2Data.SlfFile.Record(_header); _rec.Data = aUnstructuredRec.UnstructuredData.Data; return(_rec); }
private Ja2Data.SlfFile.Record DownloadTxtRecord(SlfRecordText aTxtRecord) { Ja2Data.SlfFile.Record.Header _header = this.DownloadSlfRecordHeader(aTxtRecord.SlfRecordHeader); Ja2Data.SlfFile.Record _rec = new Ja2Data.SlfFile.Record(_header); _rec.Data = Ja2Data.Common.StringToByteArray(aTxtRecord.TextData, (int)_header.uiLength); return(_rec); }
private Ja2Data.SlfFile.Record DownloadJsdRecord(long aJsdRecordId) { Ja2DataEntities _context = new Ja2DataEntities(); SlfRecordJsd _jsdRec = _context.SlfRecordJsd.First(x => x.SlfRecordJsdId == aJsdRecordId); Ja2Data.SlfFile.Record _jsdFile = this.DownloadJsdRecord(_jsdRec); _context = null; return(_jsdFile); }
private Ja2Data.SlfFile.Record DownloadStiRecord(long aStiRecordId) { Ja2DataEntities _context = new Ja2DataEntities(); SlfRecordStci _stiRec = _context.SlfRecordStci.First(x => x.SlfRecordId == aStiRecordId); Ja2Data.SlfFile.Record _stiFile = this.DownloadStiRecord(_stiRec); _context = null; return(_stiFile); }
public SlfInfo DownloadSlfFile(string aFileName, DateTime aDateCreated, int aDataInfoId) { this.FContext = new Ja2DataEntities(); this.FContext.Configuration.AutoDetectChangesEnabled = false; string _fileName = Path.GetFileName(aFileName); SlfFile _slfRec = this.FContext.SlfFile .Where(x => x.FileName.ToUpper() == _fileName.ToUpper() && x.UserId == this.FUserId && x.DateCreated > aDateCreated && x.DataInfoId == aDataInfoId) .FirstOrDefault(); Ja2Data.SlfFile.Header _slfHeader = new Ja2Data.SlfFile.Header(); _slfHeader.fContainsSubDirectories = _slfRec.ContainsSubDirectories; _slfHeader.iEntries = _slfRec.EntriesCount; _slfHeader.iReserved = _slfRec.Reserved; _slfHeader.iSort = _slfRec.Sort; _slfHeader.iUsed = _slfRec.Used; _slfHeader.iVersion = _slfRec.Version; _slfHeader.LibName = _slfRec.LibName; _slfHeader.PathToLibrary = _slfRec.PathToLibrary; List <Ja2Data.SlfFile.Record> _records = new List <Ja2Data.SlfFile.Record>(_slfRec.EntriesCount); foreach (SlfRecordJsd _jsdRecord in _slfRec.SlfRecordJsd) { Ja2Data.SlfFile.Record _rec = this.DownloadJsdRecord(_jsdRecord.SlfRecordJsdId); _records.Add(_rec); } foreach (SlfRecord _unstructuredRec in _slfRec.SlfRecord) { Ja2Data.SlfFile.Record _rec = this.DownloadUnstreucturedRecord(_unstructuredRec); _records.Add(_rec); } foreach (SlfRecordStci _stciRecord in _slfRec.SlfRecordStci) { Ja2Data.SlfFile.Record _rec = this.DownloadStiRecord(_stciRecord.SlfRecordId); _records.Add(_rec); } foreach (SlfRecordText _txtRecord in _slfRec.SlfRecordText) { Ja2Data.SlfFile.Record _rec = this.DownloadTxtRecord(_txtRecord); _records.Add(_rec); } Ja2Data.SlfFile _slfFile = new Ja2Data.SlfFile(_slfHeader, _records); _slfFile.Save(aFileName); return(new SlfInfo(_slfRec, 0)); }
private Ja2Data.SlfFile.Record DownloadStiRecord(SlfRecordStci aStciRecord) { Ja2Data.SlfFile.Record.Header _header = this.DownloadSlfRecordHeader(aStciRecord.SlfRecordHeader); Ja2Data.SlfFile.Record _rec = new Ja2Data.SlfFile.Record(_header); if (aStciRecord.StciIndexed.Count != 0) { _rec.Data = this.DownloadStiIndexed(aStciRecord, (int)_header.uiLength); } else if (aStciRecord.StciRgb.Count != 0) { _rec.Data = this.DownloadStciRgb(aStciRecord, (int)_header.uiLength); } return(_rec); }
protected SlfRecordHeader CreateSlfRecordHeader(Ja2Data.SlfFile.Record aRecord) { SlfRecordHeader _newSlfRecordHeader = new SlfRecordHeader(); _newSlfRecordHeader.FileNameExtention = aRecord.FileNameExtention; _newSlfRecordHeader.FileName = aRecord.FileName; _newSlfRecordHeader.FileTime = aRecord.FileTime; _newSlfRecordHeader.Length = aRecord.Length; _newSlfRecordHeader.Offset = aRecord.Offset; _newSlfRecordHeader.Reserved = aRecord.Reserved; _newSlfRecordHeader.Reserved2 = aRecord.Reserved2; _newSlfRecordHeader.UserId = this.FUserId; _newSlfRecordHeader.DateCreated = DateTime.Now; return(_newSlfRecordHeader); }
private Ja2Data.SlfFile.Record DownloadJsdRecord(SlfRecordJsd aJsdRecord) { this.FJsdCells = new List <JsdCell>(100 * aJsdRecord.NumberOfStructuresStored); string _queryString = @"Select T.JsdTileId, C.RowNumber, C.CellNumber, Value from JsdTileCell C inner join JsdTile T on C.JsdTileId = T.JsdTileId inner join JsdStructure S on S.JsdStructureId = T.JsdStructureId inner join SlfRecordJsd SRJ on SRJ.SlfRecordJsdId = S.SlfRecordJsdId where SRJ.SlfRecordJsdId = @JsdFileId" ; DbRawSqlQuery _query = this.FContext.Database.SqlQuery(typeof(JsdCell), _queryString, new SqlParameter("@JsdFileId", aJsdRecord.SlfRecordJsdId)); var _enum = _query.GetEnumerator(); while (_enum.MoveNext()) { this.FJsdCells.Add(((JsdCell)_enum.Current)); } Ja2Data.SlfFile.Record.Header _header = this.DownloadSlfRecordHeader(aJsdRecord.SlfRecordHeader); Ja2Data.SlfFile.Record _jsdRec = new Ja2Data.SlfFile.Record(_header); _jsdRec.Data = new byte[_header.uiLength]; int _flags = 0; foreach (JsdRecordHeaderFlag _flag in aJsdRecord.JsdRecordHeaderFlag) { _flags |= _flag.JsdHeaderFlags.Mask.Value; } Ja2Data.JsdFile.Header _jsdHeader = new Ja2Data.JsdFile.Header( aJsdRecord.ID, (ushort)aJsdRecord.NumberOfStructuresAndOrImages, (ushort)aJsdRecord.NumberOfStructuresStored, (ushort)aJsdRecord.StructureDataSize, (byte)_flags, aJsdRecord.Unused, (ushort)aJsdRecord.NumberOfImageTileLocsStored ); Ja2Data.JsdFile _jsdFile = new Ja2Data.JsdFile(_jsdHeader); if (aJsdRecord.JsdAuxData.Count > 0) { JsdAuxData _jsdAuxData = aJsdRecord.JsdAuxData.First(); if (aJsdRecord.NumberOfImageTileLocsStored > 0) { Array.Copy(_jsdAuxData.TileLocationData, _jsdFile.TileLocData, _jsdFile.TileLocData.Length); } int i = 0; foreach (AuxDataJsdAux _aux in _jsdAuxData.AuxDataJsdAux) { _jsdFile.Auxilarity[i] = this.DownloadAuxObjectData(_aux.AuxObjectData); i++; } } if (aJsdRecord.JsdStructure.Count > 0) { int i = 0; foreach (JsdStructure _struct in aJsdRecord.JsdStructure) { _jsdFile.Structs[i] = this.DownloadJsdStructure(_struct, _jsdFile.IsHighDefenition); i++; } } using (MemoryStream _ms = new MemoryStream(_jsdRec.Data)) { _jsdFile.Save(_ms); } return(_jsdRec); }