Exemple #1
0
 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);
 }
Exemple #2
0
 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);
 }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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));
        }
Exemple #6
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);
        }
Exemple #8
0
        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);
        }