示例#1
0
        private static void TestReadMappedSummaryTable(ITableReader tableReader)
        {
            var dict = tableReader.Rows
                       .Where(r => r["Name"] != null)
                       .ToDictionary(r => r.GetValue <string>("Name"), r => r["Value"]);

            Assert.AreEqual(7, dict.Count);

            var normalReader = new TableMappingReader <NameValue>()
                               .Map(o => o.Name)
                               .Map(o => o.Value);

            var nameValueList = normalReader.Read(tableReader);

            Assert.GreaterOrEqual(nameValueList.Count, 2);
            Assert.IsTrue(nameValueList.Any(o => o.Name != o.Value));

            var nameNameReader = new TableMappingReader <NameValue>()
                                 .Map(o => o.Name)
                                 .Map(o => o.Value, "Name");

            nameValueList = nameNameReader.Read(tableReader);
            Assert.GreaterOrEqual(nameValueList.Count, 2);
            Assert.GreaterOrEqual(nameValueList.Count(o => !string.IsNullOrEmpty(o.Name)), 2);
            Assert.IsFalse(nameValueList.Any(o => o.Name != o.Value));

            nameValueList = normalReader.Read(tableReader);
            Assert.GreaterOrEqual(nameValueList.Count, 2);
            Assert.IsTrue(nameValueList.Any(o => o.Name != o.Value));
        }
示例#2
0
 public TableDisplayVM(Table table, ITableReader tableReader)
 {
     _table       = table;
     _tableReader = tableReader;
     IsVisible    = true;
     Load();
 }
示例#3
0
        internal void Generating(ITableReader tableReader, IClassWriter classWriter)
        {
            tableReader.Close();
            classWriter.ClearProperty();

            string className = FileMedia.QUERY_CLASS_PRE + Misc.GetPublicName(tableReader.TableName);

            classWriter.ClassName = className;

            if (string.IsNullOrEmpty(classWriter.NameSpace))
            {
                classWriter.NameSpace = _nameSpace;
            }

            try
            {
                tableReader.Open();

                while (tableReader.Read())
                {
                    TableColumn tableColumn  = tableReader.CurrentColumn().Value;
                    string      propertyName = Misc.GetPublicName(tableColumn.Name);
                    classWriter.AppendProperty(propertyName, tableColumn, tableColumn.DotNetType);
                }

                classWriter.WriteOut();
            }
            finally
            {
                tableReader.Close();
            }
        }
示例#4
0
        public void Generating(ITableReader tableReader, IClassWriter classWriter, IClassLogicWriter classLogicWriter, IMapWriter mapWriter)
        {
            tableReader.Close();
            classWriter.ClearProperty();
            mapWriter.ClearItem();

            if (classLogicWriter != null)
            {
                classLogicWriter.ClearProperty();
            }

            string className = FileMedia.ENTITY_CLASS_PRE + Misc.GetPublicName(tableReader.TableName);

            classWriter.NameSpace = _nameSpace;
            classWriter.ClassName = className;

            if (classLogicWriter != null)
            {
                classLogicWriter.ClassNameSpace      = _nameSpace;
                classLogicWriter.ClassName           = className;
                classLogicWriter.ClassLogicNameSpace = _logicNameSpace;
                classLogicWriter.ClassLogicName      = className + "Helper";
            }

            mapWriter.ClassName    = string.Format("{0}.{1}", _nameSpace, className);
            mapWriter.AssemblyName = _assemblyName;
            mapWriter.TableName    = tableReader.TableName;

            try
            {
                tableReader.Open();

                while (tableReader.Read())
                {
                    TableColumn tableColumn  = tableReader.CurrentColumn().Value;
                    string      propertyName = Misc.GetPublicName(tableColumn.Name);
                    classWriter.AppendProperty(propertyName, tableColumn, tableColumn.DotNetType);

                    if (classLogicWriter != null)
                    {
                        classLogicWriter.AppendProperty(propertyName, tableColumn.DotNetType, tableColumn.IsKey);
                    }

                    mapWriter.AppendItem(new MapItem(propertyName, tableColumn.Name, tableColumn.DatabaseType, tableColumn.IsKey, tableColumn.CanBeNull, tableColumn.MaxLength, true, true));
                }

                classWriter.WriteOut();

                if (classLogicWriter != null)
                {
                    classLogicWriter.WriteOut();
                }

                mapWriter.WriteOut();
            }
            finally
            {
                tableReader.Close();
            }
        }
示例#5
0
        public void Load(ITableReader reader)
        {
            Debug.Assert(reader != null);

            foreach (byte b in Signature)
            {
                if (reader.ReadByte() != b)
                {
                    throw new CorruptedStreamException();
                }
            }

            DataPosition = reader.ReadLong();
            TableVersion = reader.ReadUInt();
            DateTime creation = reader.ReadTime();
            DateTime access   = reader.ReadTime();
            DateTime write    = reader.ReadTime();
            uint     nextId   = reader.ReadUInt();

            DoLoad(reader);

            LastWriteTime  = write;
            LastAccessTime = access;
            CreationTime   = creation;
            m_nextId       = nextId;

            IsDirty = false;
        }
 public UserSyncProcessor(ITableReader<UserEntry> reader, 
     IAFAccess afAccess,
     AFElementTemplate userTemplate)
 {
     _reader = reader;
     _afAccess = afAccess;
     _template = userTemplate;
 }
 public FormTableImporter(ITableReader reader) : this()
 {
     this.reader          = reader;
     this.SelectedColumns = new int[reader.NumColumns];
     for (int i = 0; i < SelectedColumns.Length; i++)
     {
         SelectedColumns[i] = -1;
     }
 }
示例#8
0
        public static void Copy(ITableReader tableReader, ITableWriter tableWriter)
        {
            while (tableReader.Read())
            {
                tableWriter.Next();

                Copy <string>(tableReader, tableWriter);
            }
        }
示例#9
0
        /// <summary>
        /// Initialize from a source, every item is added by calling InsertOrUpdate
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="writer"></param>
        /// <param name="copyFrom"></param>
        /// <returns></returns>
        public static async Task Initialize <T>(this ITableWriter <T> writer, ITableReader <T> copyFrom)
        {
            var list = await copyFrom.GetAll();

            foreach (var item in list)
            {
                var item1 = item;
                await writer.InsertOrUpdate(item, obj => item1);
            }
        }
示例#10
0
 private void Trace(ITableReader reader)
 {
     foreach (var row in reader.Rows)
     {
         foreach (var columnName in reader.Columns)
         {
             Console.Write(row[columnName]);
             Console.Write("\t");
         }
         Console.WriteLine();
     }
 }
示例#11
0
            //protected:
            protected override void DoLoad(ITableReader reader)
            {
                int allCount         = (int)reader.ReadLong();
                int ndxFirstDelFrame = (int)reader.ReadLong();

                if (allCount <= ndxFirstDelFrame)
                {
                    throw new CorruptedStreamException();
                }

                m_frameCount       = allCount;
                m_ndxFirstDelFrame = ndxFirstDelFrame;
            }
示例#12
0
 public GPXProcessor(ITableReader<GPXEntry> reader, 
     IGPXRowProcessor rowProcessor,
     IAFAccess afAccess,
     ITableWriter<GPXEntry> writer,
     [Named("GpxElement")] AFElementTemplate gpxTemplate,
     [Named("GpxEventFrame")] AFElementTemplate efTemplate)
 {
     _reader = reader;
     _rowProcessor = rowProcessor;
     _afAccess = afAccess;
     _writer = writer;
     _template = gpxTemplate;
     _efTemplate = efTemplate;
 }
 public FormTableImporterPlayer(ITableReader reader, IList <Player> players) : base(reader)
 {
     this.players = players;
     AddColumnInfo("Tag Number", "ID", "#", "Number", "Tag");
     AddColumnInfo("Name", "Player");
     AddColumnInfo("Primary Position", "Position", "Primary");
     AddColumnInfo("Primary Grade", "Grade");
     AddColumnInfo("Secondary Position", "Secondary");
     AddColumnInfo("Secondary Grade");
     AddColumnInfo("Primary Position and Grade");
     AddColumnInfo("Secondary Position and Grade");
     AddColumnInfo("Team Size", "Preferred Team Size");
     this.Text = "Import Players";
     DrawData();
 }
示例#14
0
文件: DBTable.cs 项目: Adel-dz/Hub
        void Init(ITableReader reader)
        {
            int ndx = m_header.FirstDeletedFrameIndex;

            Assert(m_recycledData.Count == 0);

            while (ndx != NULL_INDEX)
            {
                m_recycledData.Add(ndx);
                reader.Position = GetFramePosition(ndx);
                ndx             = reader.ReadInt();
            }

            m_recycledData.Sort();
        }
示例#15
0
        public void ReadAdHocTableExcelDataReader()
        {
            ITableReader reader = AdoTableReader.ReadContiguousExcelTableWithHeader(XlsTestFilePath, null, 17);
            //Trace(reader);

            var xlsResult = reader.Rows.ToListOfDictionaries();

            reader = AdoTableReader.ReadContiguousExcelTableWithHeader(TestFilePath, null, 17);
            //Trace(reader);

            var xlsxResult = reader.Rows.ToListOfDictionaries();

            Assert.AreEqual(xlsResult, xlsxResult);

            Assert.AreEqual(1895, xlsResult.Count);
        }
示例#16
0
        private void OpenRom()
        {
            var romStream = OpenRomFile();

            _loaderRomManager = new LoadedRomManager(romStream, _definitionLoader);

            var tables = _loaderRomManager.Rom.Tables.Select(t => new TableDisplayVM(t, _loaderRomManager));

            var data = tables.GroupBy(g => g.Category)
                       .Select(g => new GroupTableDisplayVM()
            {
                Name = g.Key, Tables = g.Select(a => a).ToList()
            })
                       .ToList();

            GroupedTables = data;
        }
        public FitbitProcessor(
            IAFAccess afAccess,
            ITableReader<UserEntry> reader, 
            IFitbitUserFactory fitbitUserFactory,
            Dictionary<string, FitbitUser> fitbitUserCache,
            FitbitStreams fitbitStreams,
            FitbitValuesConverter fitbitConverter,
            AFElementTemplate elementTemplate)
        {
            _afAccess = afAccess;
            _reader = reader;
            _fitbitUserFactory = fitbitUserFactory;
            _fitbitUserCache = fitbitUserCache;
            _template = elementTemplate;
            _fitbitStreams = fitbitStreams;
            _fitbitConverter = fitbitConverter;

            _count = 0;
        }
示例#18
0
            public void Load(ITableReader reader)
            {
                Assert(reader != null);

                byte[] sign  = Signature;
                byte[] bytes = reader.ReadBytes(sign.Length);

                for (int i = 0; i < sign.Length; ++i)
                {
                    if (sign[i] != bytes[i])
                    {
                        throw new CorruptedStreamException();
                    }
                }

                uint ver        = reader.ReadUInt();
                uint tag        = reader.ReadUInt();
                int  nTotal     = reader.ReadInt();
                int  ndxDeleted = reader.ReadInt();
                int  sz         = reader.ReadInt();

                if (nTotal <= ndxDeleted || sz <= 0)
                {
                    throw new CorruptedStreamException();
                }

                CreationTime  = reader.ReadTime();
                LastWriteTime = reader.ReadTime();

                Version                = ver;
                Tag                    = tag;
                FrameCount             = nTotal;
                FirstDeletedFrameIndex = ndxDeleted;
                FrameSize              = sz;
                DataOffset             = reader.Position;

                IsDirty = false;
            }
        public static CompaniesUsersAddresses LoadFrom(ITableReader reader)
        {
            Company[] companies = null;
            User[] users = null;
            Address[] addresses = null;

            foreach (ITable table in reader.GetTables())
            {
                switch (table.Name)
                {
                    case "Companies":
                        companies = new CompanyParser().GetAll(table).ToArray();
                        break;
                    case "Users":
                        users = new UserParser().GetAll(table).ToArray();
                        break;
                    case "Addresses":
                        addresses = new AddressParser().GetAll(table).ToArray();
                        break;
                }
            }

            return new CompaniesUsersAddresses(companies, users, addresses);
        }
示例#20
0
 public static void Copy(ITableReader tableReader, IDataWriter dataWriter)
 {
     Copy(new TableToArrayReader(tableReader), dataWriter.As <int>());
 }
示例#21
0
 public Serializer(XLSSConfig config, ITableReader reader)
 {
     _config = config;
     _reader = reader;
 }
示例#22
0
        public static async Task <ReaderMatch <TEntity> > GetSingle <TEntity>(this ITableReader <TEntity> reader, TEntity match)
        {
            var r = await reader.Get(match);

            return(await Task.FromResult(new ReaderMatch <TEntity>(r)));
        }
示例#23
0
        public static async Task <ReaderMatch <IEnumerable <TEntity> > > QueryAll <TEntity>(this ITableReader <TEntity> reader, System.Linq.Expressions.Expression <Func <TEntity, bool> > query)
        {
            var items = await reader.GetAll();

            if (items != null)
            {
                return(await Task.FromResult(new ReaderMatch <IEnumerable <TEntity> >(items.Where(query.Compile()))));
            }

            return(await Task.FromResult(new ReaderMatch <IEnumerable <TEntity> >(new TEntity[0]) { IsMatch = false }));
        }
示例#24
0
 public Repository(LtConnection connection, ISqlBuilder sqlBuilder, ITableReader <TEntity> tableReader)
 {
     _connection  = connection ?? throw new ArgumentNullException(nameof(connection));
     _sqlBuilder  = sqlBuilder ?? throw new ArgumentNullException(nameof(sqlBuilder));
     _tableReader = tableReader ?? throw new ArgumentNullException(nameof(connection));
 }
示例#25
0
 /// <summary>
 /// Create a new enumerator to read through the table rows
 /// </summary>
 /// <param name="reader">the table to read lines from</param>
 public TableEnumerator(ITableReader reader)
 {
     this.reader = reader;
 }
示例#26
0
 public FamilyReader(ITableReader tableReader)
 {
     this.tableReader = tableReader;
 }
示例#27
0
        /// <summary>
        ///     Read list of entity instances from raw table reader.
        /// </summary>
        /// <param name="tableReader"></param>
        /// <returns></returns>
        public IList <T> Read(ITableReader tableReader)
        {
            Check.DoRequireArgumentNotNull(tableReader, nameof(tableReader));

            return(Mapper.Map <IEnumerable <ITableRowReader>, IList <T> >(tableReader.Rows));
        }
示例#28
0
 protected abstract void DoLoad(ITableReader reader);
示例#29
0
            //protected:
            protected override void DoLoad(ITableReader reader)
            {
                int count = (int)reader.ReadLong();

                DataCount = count;
            }
示例#30
0
 public TableToArrayReader(ITableReader tableReader)
 {
     this.tableReader = tableReader;
 }