public void DataListManipulations()
        {
            string            name = "test";
            DataList <double> list = new DataList <double>(name);

            Assert.IsTrue(list.Name == name);
            Assert.IsTrue(list.Count == 0);
            Assert.IsTrue(list.StorageType == typeof(double));

            list.Add(1.1);
            list.Add(2.2);

            Assert.IsTrue(list.Count == 2);
            Assert.IsTrue(list[0] == 1.1);
            Assert.IsTrue(list[1] == 2.2);

            Assert.IsTrue(list[list.IndexOf(2.2)] == 2.2);

            Assert.IsFalse(list.Contains(0.0));
            Assert.IsFalse(list.Remove(0.0));

            Assert.IsTrue(list.Contains(1.1));
            Assert.IsTrue(list.Remove(1.1));
            Assert.IsFalse(list.Contains(1.1));
            Assert.IsTrue(list.Count == 1);

            list.InsertAt(0, 3.3);
            Assert.IsTrue(list.Contains(3.3));
            Assert.IsTrue(list.Count == 2);

            list.Clear();
            Assert.IsFalse(list.Contains(2.2));
            Assert.IsTrue(list.Count == 0);
        }
Exemple #2
0
        /****************************************************************
         *                           Data Node
         ***************************************************************/

        public Node Data()
        {
            var dataResult = new Data()
            {
                AnchorToken = Expect(TokenCategory.DATA)
            };

            dataResult.Add(new Identifier()
            {
                AnchorToken = Expect(TokenCategory.IDENTIFIER)
            });

            Expect(TokenCategory.DIV);
            var dataValues = new DataList();

            dataValues.Add(ExpectLiteral());

            while (CurrentToken == TokenCategory.COMMA)
            {
                Expect(TokenCategory.COMMA);
                dataValues.Add(ExpectLiteral());
            }

            Expect(TokenCategory.DIV);
            dataResult.Add(dataValues);
            return(dataResult);
        }
Exemple #3
0
        private void buttonSave_Click(object sender, System.EventArgs e)
        {
            string filename = this.textFolder.Text + '\\';

            filename += this.textName.Text + ".csv";

            if (File.Exists(filename))
            {
                if (MessageBox.Show("ファイルがすでに存在しています。\n上書きしますか?", "上書き確認",
                                    MessageBoxButtons.YesNo) != DialogResult.Yes)
                {
                    return;
                }
            }

            DataList list = new DataList();

            Channel  channel  = (Channel)this.comboChannel.SelectedIndex;
            Spectrum spectrum = this.wave.GetSpectrum(channel);
            int      m        = this.checkedListType.CheckedIndices.Count;

            int    length = this.wave.Count;
            double fs     = this.wave.Header.sampleRate;

            double[] label = new double[length];
            for (int i = 0; i < length; ++i)
            {
                label[i] = fs / length * i;
            }
            list.Add("周波数", label);

            for (int i = 0; i < m; ++i)
            {
                Property type  = (Property)this.checkedListType.CheckedIndices[i];
                double[] data  = WaveData.GetData(spectrum, type);
                string   title = (string)this.checkedListType.CheckedItems[i];
                list.Add(title, data);
            }

            char delim;

            switch (this.comboDelim.SelectedIndex)
            {
            case 0: delim = ','; break;

            case 1: delim = '\t'; break;

            default: delim = ' '; break;
            }

            try
            {
                list.Save(filename, delim, false);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemple #4
0
        public DataList ToDataList()
        {
            DataList data = new DataList();

            data.Add(Id, "id");
            data.Add(Name, "name");

            return(data);
        }
Exemple #5
0
        public DataList ToDataList()
        {
            DataList data = new DataList();

            data.Add(Id, "id");
            data.Add(Sender, "sender");
            data.Add(Content, "content");
            data.Add(SendTime.ToString("O"), "send_time");

            return(data);
        }
Exemple #6
0
 private void Form1_Load(object sender, EventArgs e)
 {
   DataList list = new DataList();
   list.Add(new DataEdit(1, "Rocky"));
   list.Add(new DataEdit(2, "Fred"));
   list.Add(new DataEdit(3, "Mary"));
   list.Add(new DataEdit(4, "George"));
   list.BeginEdit();
   this.dataListBindingSource.DataSource = list;
   this.dataListBindingSource.ListChanged += new ListChangedEventHandler(dataListBindingSource_ListChanged);
 }
Exemple #7
0
        public DataList ToDataList()
        {
            DataList data = new DataList();

            data.Add(Id, "id");
            data.Add(EventId, "event_id");
            data.Add(Type, "type");
            data.Add(Comment, "comment");

            return(data);
        }
Exemple #8
0
        private void Form1_Load(object sender, EventArgs e)
        {
            DataList list = new DataList();

            list.Add(new DataEdit(1, "Rocky"));
            list.Add(new DataEdit(2, "Fred"));
            list.Add(new DataEdit(3, "Mary"));
            list.Add(new DataEdit(4, "George"));
            list.BeginEdit();
            this.dataListBindingSource.DataSource   = list;
            this.dataListBindingSource.ListChanged += new ListChangedEventHandler(dataListBindingSource_ListChanged);
        }
Exemple #9
0
        public void readDataFromConsole()
        {
            string input = Console.ReadLine();

            while (!string.IsNullOrEmpty(input))
            {
                TextList.Add(input);
                input = Console.ReadLine();
            }
            if (TextList != null)
            {
                foreach (string s in TextList)
                {
                    Console.WriteLine(s);
                }

                for (int i = 0; i <= 5; i++)
                {
                    DataList.Add(TextList[i]);
                }
                Console.WriteLine("Count : {0}", DataList.Count);
                Console.WriteLine("Count : {0}", TextList.Count);
                EnteredDateForAverageFootfallsPerHour      = TextList[6];
                EnteredDateForAverageDailyFootfallsInAWeek = TextList[7];
                MonthAndYear = TextList[8];
                IsDataRead   = true;
            }
        }
Exemple #10
0
        /// <summary>
        /// Updates collection if necessary.
        /// </summary>
        protected override void UpdateData()
        {
            base.UpdateData();
            if (!_needUpdate)
            {
                return;
            }

            _needUpdate = false;
            foreach (var item in _data.Values)
            {
                RemovePropertyChangedListener(item);
            }

            Data.Clear();
            DataList.Clear();
            foreach (var item in _parentCollection)
            {
                if (_filter(item))
                {
                    string id = GetId(item);
                    Data.Add(id, item);
                    DataList.Add(new KeyValuePair <string, T>(id, item));
                }

                AddPropertyChangedListener(item);
            }
        }
Exemple #11
0
        private void ParseDataSection([NotNull] string line)
        {
            // Check for label
            var labelIndex = line.IndexOf(":", StringComparison.Ordinal);

            if (labelIndex > -1)
            {
                var label  = line.Substring(0, labelIndex);
                var offset = DataList.SelectMany(a => a).ToArray().Length;
                DataTable.Add(label, offset);

                if (line.Length > labelIndex + 1)
                {
                    line = line.Substring(labelIndex + 1).Trim(' ', '\t');
                }
                else
                {
                    return;
                }
            }

            var lineSplit = line.Split(new[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries);

            if (lineSplit.Length != 2)
            {
                throw new ArgumentException("Invalid Syntax (parameter count): " + line);
            }

            var data = ParseDataDefinition(lineSplit[0], lineSplit[1]);

            if (data != null)
            {
                DataList.Add(data.Encode());
            }
        }
Exemple #12
0
 public LinkColumn(string name, Type DataType, bool allowsnull, object def, Table thisTable, Column linkedcolumn) : base(name, DataType, allowsnull, def, thisTable)
 {
     try
     {
         if (linkedcolumn.IsPkey)
         {
             linkedColumn = linkedcolumn;
             SetFkeyProperty(true);
             DataType = linkedColumn.DataType;
             Default  = DataType.GetDefaultValue();
             for (int i = 0; i < DataList.Count; i++)
             {
                 DataList.Add(new DataObject(GetHashCode(), Default));
             }
         }
         else
         {
             throw new ArgumentException("You can connect this column only with PrimaryKeyColumn");
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
 }
        private void GetData(CategoryModel category)
        {
            int index = -1;

            if (SelectedData != null)
            {
                index = DataList.IndexOf(SelectedData);
            }

            DataList.Clear();
            if (category != null)
            {
                foreach (var data in storageHandler.GetData(category))
                {
                    DataList.Add(data);
                }
            }
            OnPropertyChanged(nameof(DataList));

            if (index > -1 && index < DataList.Count)
            {
                SelectedData = DataList[index];
            }
            else
            {
                SelectedData = null;
            }
            OnPropertyChanged(nameof(SelectedData));
        }
    /*
     * used to create a Datablock struct filled with recorded information and then saved into the data list
     * this method MUST BE CALLED INSIDE AddDataBlock()
     * inputs: a string representing the name of the game object being recorded
     *         a generic value of type T that represents the actual data value being recorded
     * fields used: objName
     */
    protected virtual void AddDataBlock <T>(string dataName, T value)
    {
        DataBlock db = new DataBlock(dataName, value.ToString(), this.objName, this.Id);

        //Debug.Log("db: " + value.ToString());
        DataList.Add(db);
    }
 public ProducerMonitorViewModel() : base("生产者数据监控")
 {
     ContentId = ToolContentId;
     MessageSubscribeRelations.AddSubscribe(MessageType.All, new Relation()
     {
         CanUninstall     = false,
         IsActive         = true,
         IsKeep           = true,
         RelationDescribe = "数据监视器WSDE类消息监听",
         RelationGuid     = GuidWSDEDataComeEvent,
         RelationAction   = messageData =>
         {
             base.BindingPropInOtherTask(() =>
             {
                 JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
                 //var response = javaScriptSerializer.Deserialize<WSDESubVoterSelectRequest>(messageData.MessageData);
                 if (DataList.Count() > _maxKeep)
                 {
                     for (int i = 0; i < DataList.Count() - _maxKeep; i++)
                     {
                         DataList.RemoveAt(0);
                     }
                 }
                 DataList.Add(messageData);
             });
         },
     });
 }
Exemple #16
0
        private async Task ExecuteRefresh()
        {
            try
            {
                int?id   = Selected?.ID;
                var logs = await _dbservicewms.GetLogs(DateFrom.TimeStamp, DateTo.TimeStamp);

                DataList.Clear();
                foreach (var p in logs)
                {
                    DataList.Add(new LogViewModel
                    {
                        ID       = p.ID,
                        Severity = (EnumLogWMS)p.Severity,
                        Source   = p.Source,
                        Message  = p.Message,
                        Time     = p.Time
                    });
                }
                foreach (var l in DataList)
                {
                    l.Initialize(_warehouse);
                }
                Records = DataList.Count();
                if (id != null)
                {
                    Selected = DataList.FirstOrDefault(p => p.ID == id);
                }
            }
            catch (Exception e)
            {
                _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception,
                                    string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
            }
        }
Exemple #17
0
        public void AddEntry(DataList entry, string tableName, string rowName = "")
        {
            int index = data.names.IndexOf(tableName);

            // Create new table
            if (index == -1)
            {
                data.Add(new DataList(), tableName);
                index = data.names.IndexOf(tableName);
            }

            int id = 0;

            while (((DataList)data.Get(index)).Get($"{id}") != null)
            {
                id++;
            }

            if (rowName == "")
            {
                rowName = id.ToString();
            }

            // Add entry
            ((DataList)data.Get(index)).Add(entry, rowName);
        }
        private async Task ExecuteRefresh()
        {
            try
            {
                int?erpid = Selected?.ERPID;
                DataList.Clear();
                var cmderp = await _dbservicewms.GetCommandERPs(DateTime.Now.AddHours(-1), DateTime.Now, (int)EnumCommandERPStatus.Active);

                foreach (var p in cmderp)
                {
                    DataList.Add(new CommandERPViewModel
                    {
                        ID        = p.ID,
                        ERPID     = p.ERP_ID,
                        Reference = p.Reference,
                        Command   = p.Command,
                        Status    = (EnumCommandERPStatus)p.Status,
                        Time      = p.Time
                    });
                }
                foreach (var l in DataList)
                {
                    l.Initialize(_warehouse);
                }
                if (erpid != null)
                {
                    Selected = DataList.FirstOrDefault(p => p.ERPID == erpid);
                }
            }
            catch (Exception e)
            {
                _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception,
                                    string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
            }
        }
Exemple #19
0
 /// <summary>
 /// 添加新项,并自动按照当前排序规则整理列表,之后定位到该项
 /// </summary>
 /// <param name="t">要添加的新项</param>
 public void AddItem(T t)
 {
     DataList.Add(t);
     ClearSelection();
     Rows[Rows.Count - 1].Selected = true;
     Refresh();
 }
Exemple #20
0
 private void ExecuteRefresh()
 {
     try
     {
         UserViewModel u = Selected;
         DataList.Clear();
         foreach (var p in _warehouse.DBService.GetUsers())
         {
             DataList.Add(
                 new UserViewModel
             {
                 UserName        = p.User1.ToUpper(),
                 Password1       = p.Password,
                 Password2       = p.Password,
                 AccessLevelWMS  = (EnumUserAccessLevel)(p.AccessLevel / 10),
                 AccessLevelMFCS = (EnumUserAccessLevel)(p.AccessLevel % 10)
             });
         }
         foreach (var l in DataList)
         {
             l.Initialize(_warehouse);
         }
         if (u != null)
         {
             Selected = DataList.FirstOrDefault(p => p.UserName == u.UserName);
         }
     }
     catch (Exception e)
     {
         _warehouse.AddEvent(Database.Event.EnumSeverity.Error, Database.Event.EnumType.Exception,
                             string.Format("{0}.{1}: {2}", this.GetType().Name, (new StackTrace()).GetFrame(0).GetMethod().Name, e.Message));
     }
 }
        /// <summary>
        /// 新增对象
        /// </summary>
        /// <param name="t"></param>
        public void Add(T t)
        {
            if (!CheckValidName(t))
            {
                throw new JException(t.Name + "的名称重复。");
            }

            if (BeforeSave != null)
            {
                BeforeSave(t);
            }
            if (Provider.Add(t) > 0)
            {
                DataList.Add(t);
                if (AfterSaved != null)
                {
                    AfterSaved(t);
                }
            }
            if (t.Id == null)
            {
                throw new JException("ID is empty");
                //t.Id = CreateId();
            }
        }
Exemple #22
0
        public static DataList<ImageInfo> GetImages(String artistName, String albumName, Boolean getOneImage)
        {
            try
            {
                DataList<ImageInfo> returnList = new DataList<ImageInfo>();

                const String select = "SELECT IMAGE_DATA, IMAGE_EXTENSION, WEB_URL FROM ALBUM_IMAGE WHERE ALBUM_NAME = @ALBUM_NAME and ARTIST_NAME = @ARTIST_NAME ";

                using (DataReader reader = Static.Db.CallReader(select,
                    Static.Db.NewParameter("@ALBUM_NAME", albumName),
                    Static.Db.NewParameter("@ARTIST_NAME", artistName)))
                {
                    while (reader.Read())
                    {
                        returnList.Add(new ImageInfo { Data = reader["IMAGE_DATA"], Extension = reader["IMAGE_EXTENSION"], webUrl = reader["WEB_URL"] });

                        if (getOneImage)
                            break;
                    }
                }

                return returnList;
            }
            catch (Exception e)
            {
                Logging.Error(typeof(ClientDb), e);
                return null;
            }
        }
Exemple #23
0
        public async void DebugginAsync(RichTextBox richTextBox, ListBox listBoxer, ProgressBar progressBar)
        {
            HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument();
            document.LoadHtml(html: _getBodyHtml);

            var htmlNodes = document.DocumentNode.SelectNodes("//tr/td/a");

            // var htmlNodes = document.DocumentNode.SelectNodes("//ul/li/a");

            foreach (HtmlNode node in htmlNodes)
            {
                listBoxer.Items.Add(node.Attributes["href"].Value);
                DataList.Add(node.Attributes["href"].Value);
                // DataList.Add(node.OuterHtml);
            }

            List <string> releaseUri = new List <string>();

            //List<string> idCollection = new List<string>();

            for (int i = 0; i < DataList.Count; i++)
            {
                string collectionId = "";
                if (DataList[i].IndexOf("ID") != -1)
                {
                    for (int k = 0; k <= 4; k++)
                    {
                        //idCollection.Add(DataList[i][i + k].ToString());
                        int indexer = DataList[i].IndexOf("ID") + 2;
                        collectionId += DataList[i][indexer + k];
                    }
                }
                releaseUri.Add($"https://www.olx.kz/ajax/misc/contact/phone/{collectionId}/?pt=");
                richTextBox.Text += $" https://www.olx.kz/ajax/misc/contact/phone/{collectionId}/?pt= ";
            }

            var bodyCollection = new List <string>();

            HtmlAgilityPack.HtmlDocument doc      = new HtmlAgilityPack.HtmlDocument();
            List <string> getPhoneTokenCollection = new List <string>();
            List <string> getPhoneRequestUrls     = new List <string>();

            string[] splitChar = { };

            for (int i = 0; i < DataList.Count; i++)
            {
                doc.LoadHtml(await GetCodeAsync(DataList[i], progressBar));
                HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//section/script");
                foreach (HtmlNode node in nodes)
                {
                    splitChar = node.InnerText.Split(new string[] { "var", "=", "'", "phoneToken", ";", "\n", " " }, StringSplitOptions.RemoveEmptyEntries);
                    getPhoneTokenCollection.Add(splitChar[0]);
                }
            }



            MessageBox.Show("End;");
        }
Exemple #24
0
    private void Form1_Load(object sender, EventArgs e)
    {
      var list = new DataList();
      list.Add(new Data { Id = 213, Name = "abc" });
      list.Add(new Data { Id = 113, Name = "qwe" });
      list.Add(new Data { Id = 413, Name = "zcx" });
      list.Add(new Data { Id = 233, Name = "abc" });
      list.Add(new Data { Id = 215, Name = "ler" });

      this.dataListBindingSource.DataSource = list;

      this.sortedBindingSource.DataSource = new Csla.SortedBindingList<Data>(list);

      var filtered = new Csla.FilteredBindingList<Data>(list);
      this.filteredBindingSource.DataSource = filtered;
      //filtered.ApplyFilter("Name", "abc");
    }
Exemple #25
0
        public BaiduPlatformCategoryEntityBase(int categorySysNo, string categoryName, int number, decimal price)
        {
            this.CategorySysNo = categorySysNo;
            string tags = categoryName.Replace('、', '\\').Replace('/', '\\');

            this.DataList = new List <BaiduPlatformCategoryData>();
            DataList.Add(new BaiduPlatformCategoryData(tags, number, price));
        }
Exemple #26
0
        public DataList ToFullDataList()
        {
            DataList data = new DataList();

            // Simple
            data.Add(Id, "id");
            data.Add(Author, "author");
            data.Add(Name, "name");
            data.Add(Address.ToString(), "address");
            data.Add(StartDate.ToString("O"), "start_date");
            data.Add(Price, "price");
            data.Add(Description, "description");
            data.Add(Tags, "tags");
            data.Add(Visible, "visible");

            // Complex
            DataList sportsDl = new DataList();

            foreach (string sport in Sports)
            {
                sportsDl.Add(sport);
            }
            DataList linksDl = new DataList();

            foreach (string link in Links)
            {
                linksDl.Add(link);
            }
            DataList imagesDl = new DataList();

            foreach (string image in Images)
            {
                imagesDl.Add(image);
            }
            DataList coordinatesDl = new DataList();

            coordinatesDl.Add(Latitude);
            coordinatesDl.Add(Longitude);

            data.Add(sportsDl, "sports");
            data.Add(linksDl, "links");
            data.Add(imagesDl, "images");
            data.Add(coordinatesDl, "coordinates");

            return(data);
        }
 private async void LoadData()
 {
     IsBusy = true;
     await foreach (var item in LoadMoreData().ConfigureAwait(false))
     {
         DataList.Add(item);
     }
     IsBusy = false;
 }
        public void ProcessFile(string filename)
        {
            DataList.Clear();

            using var fileReader = File.OpenText(filename);
            var csv = new CsvReader(fileReader, CultureInfo.InvariantCulture);



            var foo = csv.Context.AutoMap <MsftMftData>();

            var o = new TypeConverterOptions
            {
                DateTimeStyle = DateTimeStyles.AssumeUniversal & DateTimeStyles.AdjustToUniversal
            };

            csv.Context.TypeConverterOptionsCache.AddOptions <MsftMftData>(o);

            foo.Map(t => t.Line).Ignore();
            foo.Map(t => t.Tag).Ignore();

            foo.Map(m => m.CreationTime0x10).Convert(row =>
                                                     DateTime.Parse(row.Row.GetField <string>("CreationTime0x10").Replace("Z", "")));
            foo.Map(m => m.CreationTime0x30).Convert(row =>
                                                     DateTime.Parse(row.Row.GetField <string>("CreationTime0x30").Replace("Z", "")));
            foo.Map(m => m.LastModificationTime0x10).Convert(row =>
                                                             DateTime.Parse(row.Row.GetField <string>("LastModificationTime0x10").Replace("Z", "")));
            foo.Map(m => m.LastModificationTime0x30).Convert(row =>
                                                             DateTime.Parse(row.Row.GetField <string>("LastModificationTime0x30").Replace("Z", "")));
            foo.Map(m => m.LastChangeTime0x10).Convert(row =>
                                                       DateTime.Parse(row.Row.GetField <string>("LastChangeTime0x10").Replace("Z", "")));
            foo.Map(m => m.LastChangeTime0x30).Convert(row =>
                                                       DateTime.Parse(row.Row.GetField <string>("LastChangeTime0x30").Replace("Z", "")));
            foo.Map(m => m.LastAccessTime0x10).Convert(row =>
                                                       DateTime.Parse(row.Row.GetField <string>("LastAccessTime0x10").Replace("Z", "")));
            foo.Map(m => m.LastAccessTime0x30).Convert(row =>
                                                       DateTime.Parse(row.Row.GetField <string>("LastAccessTime0x30").Replace("Z", "")));


            csv.Context.RegisterClassMap(foo);



            var records = csv.GetRecords <MsftMftData>();

            var ln = 1;

            foreach (var record in records)
            {
                Log.Debug("Line # {Line}, Record: {RawRecord}", ln, csv.Context.Parser.RawRecord);
                record.Line = ln;
                record.Tag  = TaggedLines.Contains(ln);
                DataList.Add(record);

                ln += 1;
            }
        }
Exemple #29
0
        public BaiduPlatformManufacturerEntity(BaiduManufacturerEntity brand)
        {
            this.ManufacturerSysNo = brand.ManufacturerSysNo;
            this.ManufacturerType  = brand.Type;
            this.InitialPingYin    = brand.InitialPingYin;

            this.DataList = new List <BaiduPlatformManufacturerData>();
            DataList.Add(new BaiduPlatformManufacturerData(brand.ManufacturerName, brand.ProductCount, brand.MinPrice));
        }
        public void ProcessFile(string filename)
        {
            DataList.Clear();

            using var fileReader = new StreamReader(filename, CodePagesEncodingProvider.Instance.GetEncoding(1252));
            var config = new CsvConfiguration(CultureInfo.InvariantCulture)
            {
                BadDataFound = null,
            };

            var csv = new CsvReader(fileReader, config);



            var o = new TypeConverterOptions
            {
                DateTimeStyle = DateTimeStyles.AssumeUniversal & DateTimeStyles.AdjustToUniversal
            };

            csv.Context.TypeConverterOptionsCache.AddOptions <SigcheckTroyData>(o);

            var foo = csv.Context.AutoMap <SigcheckTroyData>();

            //path,verified,date,publisher,company,description,product,product version,file version,machine type,binary version,original name,internal name,copyright,comments,entropy,md5,sha1,pesha1,pesha256,sha256,imp

            foo.Map(t => t.Line).Ignore();
            foo.Map(t => t.Tag).Ignore();

            foo.Map(t => t.Verified).Convert(t => t.Row.GetField("Verified") == "Signed");

            foo.Map(t => t.Timestamp).Name("Date");
            foo.Map(t => t.ProductVersion).Name("Product Version");
            foo.Map(t => t.FileVersion).Name("File Version");
            foo.Map(t => t.MachineType).Name("Machine Type");
            foo.Map(t => t.BinaryVersion).Name("Binary Version");
            foo.Map(t => t.OriginalName).Name("Original Name");
            foo.Map(t => t.InternalName).Name("Internal Name");


            csv.Context.RegisterClassMap(foo);



            var records = csv.GetRecords <SigcheckTroyData>();

            var ln = 1;

            foreach (var sc in records)
            {
                Log.Debug("Line # {Line}, Record: {RawRecord}", ln, csv.Context.Parser.RawRecord);

                sc.Line = ln;
                sc.Tag  = TaggedLines.Contains(ln);
                DataList.Add(sc);
                ln += 1;
            }
        }
Exemple #31
0
 public override BaseData ReadData(string data)
 {
     string[] temp = data.Split(',');
     for (int i = 0; i < temp.Length; i++)
     {
         DataList.Add((Type)i, temp[i]);
     }
     return(this);
 }
Exemple #32
0
        /// <summary>
        /// Update the <see cref="DataList"/> based on different settings.
        /// </summary>
        /// <param name="layout">Specifies if the data is represented in columns or rows.</param>
        /// <param name="firstIsName">The indication if the first row/column has the names of the variables.</param>
        public void UpdateDataList(Layout layout, bool firstIsName)
        {
            // Set some variables.
            Layout      = layout;
            FirstIsName = firstIsName;
            var offset = FirstIsName ? 1 : 0;

            // Remove the named ranges from the workbook.
            foreach (var data in DataList)
            {
                Globals.ExcelAddIn.Application.ActiveWorkbook.Names.Item(data.RangeName.Name).Delete();
            }

            // Clear the current list of date.
            DataList.Clear();
            LagList.Clear();
            DummyList.Clear();

            // Populate the list with data.
            if (Layout == Layout.Columns)
            {
                for (var column = 0; column < Range.Columns.Count; column++)
                {
                    // Name of the variable.
                    var header = FirstIsName
                        ? Convert.ToString(((Range)Sheet.Cells[Range.Row, Range.Column + column]).Value2)
                        : "Var_" + (column + 1);

                    // Range of the data.
                    var upperLeftCell  = Sheet.Cells[Range.Row + offset, Range.Column + column];
                    var lowerRightCell = Sheet.Cells[Range.Row + Range.Rows.Count - 1, Range.Column + column];
                    var dataRange      = Sheet.Range[upperLeftCell, lowerRightCell];

                    // Add the data to the list.
                    DataList.Add(new Data(Sheet, dataRange, header));
                }
            }
            else
            {
                for (var row = 0; row < Range.Rows.Count; row++)
                {
                    // Name of the variable.
                    var header = FirstIsName
                        ? Convert.ToString(((Range)Sheet.Cells[Range.Row + row, Range.Column]).Value2)
                        : "";

                    // Range of the data.
                    var upperLeftCell  = Sheet.Cells[Range.Row + row, Range.Column + offset];
                    var lowerRightCell = Sheet.Cells[Range.Row + row, Range.Column + Range.Columns.Count - 1];
                    var dataRange      = Sheet.Range[upperLeftCell, lowerRightCell];

                    // Add the data to the list.
                    DataList.Add(new Data(Sheet, dataRange, header));
                }
            }
        }
        public BaiduPlatformCategoryManufacturerEntity(int categorySysNo, string categoryName, string pathSegment,
                                                       string brandSegment, string manufacturerName, int number, decimal price)
        {
            this.CategorySysNo = categorySysNo;
            this.PathSegment   = pathSegment;
            this.BrandSegment  = brandSegment;

            this.DataList = new List <BaiduPlatformCategoryManufacturerData>();
            DataList.Add(new BaiduPlatformCategoryManufacturerData(categoryName, manufacturerName, number, price));
        }
Exemple #34
0
        private void Search_Click(object sender, EventArgs e)
        {
            btnSearch.Enabled = false;
            txtSearch.Enabled = false;

            lstResults.Items.Clear();

            var videos = new DataList<Video>();

            ResultsList.Bind(videos);
            ResultsList.ViewFunc = (v) => new string[] { v.Title };

            Task.Factory.StartNew(() =>
                {
                    //Query.Search(txtSearch.Text, 2, videos)

                    foreach (var video in youtubedl.Search(txtSearch.Text, 2))
                    {
                        videos.Add(video);
                    }
                });

            btnSearch.Enabled = true;
            txtSearch.Enabled = true;
        }
 /// <summary>
 /// 筛选附件记录
 /// </summary>
 /// <param name="ids">编号列表(例如:0,1,79,80)</param>
 /// <returns>返回附件记录记录数据列表</returns>
 public DataList<AttachmentItem> SelectAttachment(string ids)
 {
     DataList<AttachmentItem> list = new DataList<AttachmentItem>();
     if (!string.IsNullOrEmpty(ids))
     {
         ids = ids.Replace(" ", string.Empty);
         string[] arrIds = ids.Split(',');
         if (arrIds.Length > 0)
         {
             string trueIds = "0";
             foreach (string id in arrIds)
             {
                 if (Regex.IsMatch(id, @"^\d+$")) { trueIds += string.Format("{0},", id); }
             }
             if (trueIds.Length > 1) { trueIds = trueIds.Substring(0, trueIds.Length - 1); }
             using (IDataReader reader = conn.ExecuteReader(string.Format("SELECT [ID], [Name], [Path], [Type], [Size], [Publish] FROM [Attach] WHERE [ID] IN ({0})", trueIds)))
             {
                 while (reader.Read())
                 {
                     AttachmentItem item = new AttachmentItem();
                     item.ID = reader.GetInt32(0);
                     item.Name = reader.GetString(1);
                     item.Path = reader.GetString(2);
                     item.Type = reader.GetString(3);
                     item.Size = reader.GetInt32(4);
                     item.Publish = reader.GetDateTime(5);
                     list.Add(item);
                 }
             }
         }
     }
     return list;
 }
        private DataList<ImageInfo> getImages(string artistName, string albumName, Int64? fileId, Boolean getOneImage)
        {
            try
            {
                DataList<ImageInfo> returnList = new DataList<ImageInfo>();

                if (canCallAmazon(artistName, albumName))
                {
                    AmazonECS service = new AmazonECSQuery(accessKeyId, "");
                    byte[] returnArr = null;
                    ItemSearchRequest request = new ItemSearchRequest();
                    request.SearchIndex = "Music";
                    request.ResponseGroup = new List<String>(new String[] { "Images" });
                    request.Artist = artistName;
                    request.Title = albumName;

                    ItemSearchResponse response = service.ItemSearch(request);
                    if (response.Items.Count == 1)
                    {
                        DataList<Item> items = new DataList<Item>(response.Items[0].Item);

                        foreach (Item itm in items)
                        {
                            if (itm.MediumImage != null)
                            {
                                String url = itm.MediumImage.URL;
                                String extension = Static.GetFileExtension(itm.MediumImage.URL);
                                String md5Hash;

                                using (WebClient Client = new WebClient())
                                {
                                    returnArr = Client.DownloadData(url);
                                    md5Hash = new Hex(MD5Stream.GetHash(returnArr));
                                    returnList.Add(new ImageInfo { Data = returnArr, Extension = extension, webUrl = url, md5Hash = md5Hash });
                                }
                                if (getOneImage)
                                    break;
                            }
                        }

                        if (returnList.Count > 0)
                            calledAmazon(artistName, albumName, true);
                        Logging.Info(typeof(AmazonAssociatesImageProvider), String.Format("Amazon Search for {0} ({1}) {2} results", artistName, albumName, returnList.Count));

                    }
                    else if (response.Items.Count > 1)
                        Logging.Warn(typeof(AmazonAssociatesImageProvider), "More than one search result");
                    else
                        Logging.Warn(typeof(AmazonAssociatesImageProvider), String.Format("No search result ({0}, {1})", artistName, albumName));
                }
                else
                {
                    Logging.Debug(typeof(AmazonAssociatesImageProvider), String.Format("Will not call Amazon, because of last calls: {0}, {1}, {2}", artistName, albumName, fileId));
                }
                return returnList;
            }
            catch (Exception e)
            {
                Logging.Error(typeof(AmazonAssociatesImageProvider), e);
                calledAmazon(artistName, albumName, false);
                return null;
            }
        }
 /// <summary>
 /// 筛选评论
 /// </summary>
 /// <param name="artId">大于零则筛选相关文章下的评论</param>
 /// <param name="intCurPage">当前页</param>
 /// <param name="btePerPage">每页总数</param>
 /// <param name="selAll">是否筛选所有数据</param>
 /// <returns>返回评论数据列表</returns>
 public DataList<CommentItem> SelectComment(int artId, int intCurPage, int btePerPage, bool selAll)
 {
     DataList<CommentItem> list = new DataList<CommentItem>();
     string where = string.Empty;
     if (artId > 0) { where += string.Format(" AND [PostID] = {0}", artId); }
     if (!selAll) { where += " AND [Verify] <> 0"; }
     if (!string.IsNullOrEmpty(where)) { where = "[ID] > 0" + where; }
     int rows = 0;
     using (IDataReader reader = conn.ExecutePager("[Comment]", "[ID], [PostID], [Author], [Title], [Mail], [URL], [Content], [Reply], [IsTB], [Publish], [Verify]", where, "[Publish]", "DESC", intCurPage, btePerPage, ref rows))
     {
         while (reader.Read())
         {
             CommentItem item = new CommentItem();
             item.ID = reader.GetInt32(0);
             item.PostID = reader.GetInt32(1);
             item.Author = reader.GetString(2);
             item.Title = reader.GetString(3);
             item.Mail = reader.GetString(4);
             item.URL = reader.GetString(5);
             item.Content = reader.GetString(6);
             item.Reply = reader.GetString(7);
             item.Trackback = reader.GetInt32(8) == 0 ? false : true;
             item.Publish = reader.GetDateTime(9);
             item.Verify = reader.GetInt32(10) == 0 ? false : true;
             list.Add(item);
         }
     }
     list.Number = rows;
     return list;
 }
 /// <summary>
 /// 选择用户
 /// </summary>
 /// <param name="intCurPage">当前页码</param>
 /// <param name="btePerPage">每页数量</param>
 /// <returns>返回页面数据列表</returns>
 public DataList<UserItem> SelectUser(int intCurPage, int btePerPage)
 {
     DataList<UserItem> list = new DataList<UserItem>();
     int rows = 0;
     using (IDataReader reader = conn.ExecutePager("[User]", "[ID], [UserID], [Password], [Name], [LastIP], [LastTime], [Locked]", null, null, null, intCurPage, btePerPage, ref rows))
     {
         while (reader.Read())
         {
             UserItem item = new UserItem();
             item.ID = reader.GetInt32(0);
             item.UserID = reader.GetString(1);
             item.Password = reader.GetString(2);
             item.Name = reader.GetString(3);
             item.LastIP = reader.GetString(4);
             item.LastTime = reader.GetDateTime(5);
             item.Locked = reader.GetInt32(6) == 0 ? false : true;
             list.Add(item);
         }
     }
     list.Number = rows;
     return list;
 }
Exemple #39
0
        public static DataList<string> GetFolders(String[] folders)
        {
            DataList<String> returnList = new DataList<string>();

            foreach (String folder in folders)
            {
                if (Directory.Exists(folder))
                {
                    returnList.Add(folder);
                    returnList.Import(GetFolders(Directory.GetDirectories(folder)));
                }
            }
            return returnList;
        }
Exemple #40
0
        public static DataList<String> GetFiles(String[] droppedObjects)
        {
            DataList<String> returnList = new DataList<string>();
            DataList<String> sortedList = new DataList<String>(droppedObjects);
            sortedList.Sort(
            delegate(String s1, String s2)
            {
                return s1.CompareTo(s2);
            });
            droppedObjects = sortedList.ToArray();

            foreach (String s in droppedObjects)
                if (File.Exists(s))
                    returnList.Add(s);
                else if (Directory.Exists(s))
                {
                    DataList<String> subElements = new DataList<string>();
                    subElements.Import(Directory.GetFiles(s));
                    subElements.Import(Directory.GetDirectories(s));
                    returnList.Import(GetFiles(subElements.ToArray()));
                }

            return returnList;
        }
 /// <summary>
 /// 筛选引用通告记录
 /// </summary>
 /// <param name="intCurPage">当前页码</param>
 /// <param name="btePerPage">分页大小</param>
 /// <returns>返回引用通告记录数据列表</returns>
 public DataList<TrackbackLogItem> SelectTrackbackLog(int intCurPage, int btePerPage)
 {
     DataList<TrackbackLogItem> list = new DataList<TrackbackLogItem>();
     int rows = 0;
     using (IDataReader reader = conn.ExecutePager("[TrackbackLog]", "[ID], [Error], [Message], [URL], [Publish]", null, "[Publish]", "DESC", intCurPage, btePerPage, ref rows))
     {
         while (reader.Read())
         {
             TrackbackLogItem item = new TrackbackLogItem();
             item.ID = reader.GetInt32(0);
             item.Error = reader.GetInt32(1) == 0 ? false : true;
             item.Message = reader.GetString(2);
             item.URL = reader.GetString(3);
             item.Publish = reader.GetDateTime(4);
             list.Add(item);
         }
     }
     list.Number = rows;
     return list;
 }
 /// <summary>
 /// 筛选附件记录
 /// </summary>
 /// <param name="intCurPage">当前页码</param>
 /// <param name="btePerPage">分页大小</param>
 /// <returns>返回附件记录记录数据列表</returns>
 public DataList<AttachmentItem> SelectAttachment(int intCurPage, int btePerPage)
 {
     DataList<AttachmentItem> list = new DataList<AttachmentItem>();
     int rows = 0;
     using (IDataReader reader = conn.ExecutePager("[Attach]", "[ID], [Name], [Path], [Type], [Size], [Publish]", null, "[ID]", "DESC", intCurPage, btePerPage, ref rows))
     {
         while (reader.Read())
         {
             AttachmentItem item = new AttachmentItem();
             item.ID = reader.GetInt32(0);
             item.Name = reader.GetString(1);
             item.Path = reader.GetString(2);
             item.Type = reader.GetString(3);
             item.Size = reader.GetInt32(4);
             item.Publish = reader.GetDateTime(5);
             list.Add(item);
         }
     }
     list.Number = rows;
     return list;
 }
 /// <summary>
 /// 选择链接
 /// </summary>
 /// <param name="intCurPage">当前页码</param>
 /// <param name="btePerPage">分页大小</param>
 /// <param name="home">是否是首页链接</param>
 /// <param name="selAll">是否选择所有数据</param>
 /// <returns>返回页面数据列表</returns>
 public DataList<FellowItem> SelectFellow(int intCurPage, int btePerPage, bool home, bool selAll)
 {
     DataList<FellowItem> list = new DataList<FellowItem>();
     string sqlWhere = string.Empty;
     if (home) { sqlWhere += " AND [Home] <> 0"; }
     if (!selAll) { sqlWhere += " AND [Show] <> 0"; }
     if (!string.IsNullOrEmpty(sqlWhere)) { sqlWhere = "[ID] > 0" + sqlWhere; }
     int rows = 0;
     using (IDataReader reader = conn.ExecutePager("[Fellow]", "[ID], [Name], [URL], [Explain], [Logo], [Style], [Sorting], [Home], [Show]", sqlWhere, "[Sorting]", "ASC", intCurPage, btePerPage, ref rows))
     {
         while (reader.Read())
         {
             FellowItem item = new FellowItem();
             item.ID = reader.GetInt32(0);
             item.Name = reader.GetString(1);
             item.URL = reader.GetString(2);
             item.Explain = reader.GetString(3);
             item.Logo = reader.GetString(4);
             item.Style = reader.GetString(5);
             item.Sorting = reader.GetInt32(6);
             item.Home = reader.GetInt32(7) == 0 ? false : true;
             item.Show = reader.GetInt32(8) == 0 ? false : true;
             list.Add(item);
         }
     }
     list.Number = rows;
     return list;
 }
 /// <summary>
 /// 筛选自定义标签
 /// </summary>
 /// <param name="intCurPage">当前页码</param>
 /// <param name="btePerPage">分页大小</param>
 /// <param name="selAll">是否在所有数据里筛选</param>
 /// <returns>返回自定义标签数据列表</returns>
 public DataList<MyTagItem> SelectMyTag(int intCurPage, int btePerPage, bool selAll)
 {
     DataList<MyTagItem> list = new DataList<MyTagItem>();
     string sqlWhere = selAll ? string.Empty : "[Show] <> 0";
     int rows = 0;
     using (IDataReader reader = conn.ExecutePager("[MyTag]", "[ID], [Key], [Intro], [Code], [Publish], [Priority], [Show]", sqlWhere, "[Priority]", "ASC", intCurPage, btePerPage, ref rows))
     {
         while (reader.Read())
         {
             MyTagItem item = new MyTagItem();
             item.ID = reader.GetInt32(0);
             item.Key = reader.GetString(1);
             item.Intro = reader.GetString(2);
             item.Code = reader.GetString(3);
             item.Publish = reader.GetDateTime(4);
             item.Priority = reader.GetInt32(5);
             item.Show = reader.GetInt32(6) == 0 ? false : true;
             list.Add(item);
         }
     }
     list.Number = rows;
     return list;
 }
 /// <summary>
 /// 筛选分类
 /// </summary>
 /// <param name="nav">是否是导航,-1:默认,0:不是,1:是</param>
 /// <param name="jump">是否是外链,-1:默认,0:不是,1:是</param>
 /// <param name="selAll">是否筛选所有数据</param>
 /// <returns>返回分类数据列表</returns>
 public DataList<ColumnItem> SelectColumn(int nav, int jump, bool selAll)
 {
     DataList<ColumnItem> list = new DataList<ColumnItem>();
     string where = selAll ? string.Empty : " AND [Show] <> 0";
     switch (nav)
     {
         case 0: { where += " AND [IsNav] = 0"; break; }
         case 1: { where += " AND [IsNav] <> 0"; break; }
     }
     switch (jump)
     {
         case 0: { where += " AND [IsJump] = 0"; break; }
         case 1: { where += " AND [IsJump] <> 0"; break; }
     }
     list.Number = Convert.ToInt32(conn.ExecuteScalar(string.Format("SELECT COUNT([ID]) FROM [Column] WHERE [ID] > 0{0};", where)));
     using (IDataReader reader = conn.ExecuteReader(string.Format("SELECT [ID], [Name], [Local], [Intro], [Sorting], [PostCount], [Show], [IsNav], [IsJump], [JumpUrl], [Target], [ListTpl], [ViewTpl], [PageSize] FROM [Column] WHERE [ID] > 0{0} ORDER BY [Sorting] ASC, [ID] ASC", where)))
     {
         while (reader.Read())
         {
             ColumnItem item = new ColumnItem();
             item.ID = reader.GetInt32(0);
             item.Name = reader.GetString(1);
             item.Local = reader.GetString(2);
             item.Intro = reader.GetString(3);
             item.Sorting = reader.GetInt32(4);
             item.PostCount = reader.GetInt32(5);
             item.Show = reader.GetInt32(6) == 0 ? false : true;
             item.Nav = reader.GetInt32(7) == 0 ? false : true;
             item.Jump = reader.GetInt32(8) == 0 ? false : true;
             item.JumpUrl = reader.GetString(9);
             item.Target = reader.GetString(10);
             item.ListTemplate = reader.GetString(11);
             item.ViewTemplate = reader.GetString(12);
             item.PageSize = reader.GetInt32(13);
             list.Add(item);
         }
     }
     return list;
 }
Exemple #46
0
 private void skinButtonReset_Click(object sender, EventArgs e)
 {
     this.skinButtonReset.Enabled = false;
     ThreadQueue.QueueUserWorkItem(delegate (object o) {
         VGen0 method = null;
         VGen0 gen2 = null;
         VGen0 gen3 = null;
         string username = this.gpgTextBoxUser.Text + "_t_e_m_p_";
         string pwd = this.gpgTextBoxUser.Text + "_p_a_s_s_";
         if (!User.Login(username, pwd, Program.Settings.Login.DefaultServer, Program.Settings.Login.DefaultPort) && User.CreateLogin(username, pwd, this.gpgTextBoxEmail.Text, Program.Settings.Login.DefaultServer, Program.Settings.Login.DefaultPort))
         {
             User.Login(username, pwd, Program.Settings.Login.DefaultServer, Program.Settings.Login.DefaultPort);
         }
         DataList queryData = null;
         if (User.GetProtocol() == null)
         {
             queryData = DataAccess.GetQueryData("CheckResetInfo", new object[] { this.gpgTextBoxUser.Text, this.gpgTextBoxEmail.Text });
         }
         else
         {
             queryData = new DataList();
             queryData.Add(new DataRecord(new string[0], new string[0]));
         }
         if (queryData.Count > 0)
         {
             if (User.ResetPassword(this.gpgTextBoxUser.Text, this.gpgTextBoxEmail.Text))
             {
                 if (method == null)
                 {
                     method = delegate {
                         this.skinButtonReset.Hide();
                         this.skinButtonCancel.Hide();
                         this.skinButtonOK.Show();
                         this.gpgLabelConfirm.Show();
                         base.AcceptButton = this.skinButtonOK;
                         base.CancelButton = this.skinButtonOK;
                     };
                 }
                 base.Invoke(method);
             }
             else
             {
                 if (gen2 == null)
                 {
                     gen2 = delegate {
                         DlgMessage.ShowDialog(Loc.Get("<LOC>Your account name and email address do not match."));
                         this.skinButtonReset.Enabled = true;
                     };
                 }
                 base.Invoke(gen2);
             }
         }
         else
         {
             if (gen3 == null)
             {
                 gen3 = delegate {
                     DlgMessage.ShowDialog(Loc.Get("<LOC>Your account name and email address do not match."));
                     this.skinButtonReset.Enabled = true;
                 };
             }
             base.Invoke(gen3);
         }
     }, new object[0]);
 }
        private void fillLastCalls()
        {
            const String select = "SELECT AMAZON_ASSOCIATES_ID, ARTIST_NAME, ALBUM_NAME, CALLED, SUCCESS FROM AMAZON_ASSOCIATES";

            lastCalls = new DataList<AmazonAssociates>();
            using(DataReader reader = Static.Db.CallReader(select))
            {
            while (reader.Read())
            {
                lastCalls.Add(
                    new AmazonAssociates
                    {
                        AssociatesId = reader["AMAZON_ASSOCIATES_ID"],
                        ArtistName = reader["ARTIST_NAME"],
                        AlbumName = reader["ALBUM_NAME"],
                        LastCalled = reader["CALLED"],
                        Success = reader["SUCCESS"]
                    });
            }
            }
        }
Exemple #48
0
        public static DataList<TrackImage> GetImages(this DataList<Album> thisList)
        {
            DataList<TrackImage> returnList = new DataList<TrackImage>();

            foreach (Album alb in thisList)
            {
                if (alb.Image != null)
                    if (returnList.Find(img => img.Md5HashString == alb.Image.Md5HashString) == null)
                        returnList.Add(alb.Image);
            }
            return returnList;
        }
 /// <summary>
 /// 选择相关文章
 /// </summary>
 /// <param name="outId">例外文章编号</param>
 /// <param name="limit">取得行数</param>
 /// <param name="tags">标签列表</param>
 /// <param name="mode">模式:A-文章,P-单页</param>
 /// <param name="selAll">是否在所有数据里筛选</param>
 /// <returns>返回文章数据列表</returns>
 public DataList<PostItem> SelectRelatedPost(int outId, int limit, string tags, string mode, bool selAll)
 {
     if (!string.IsNullOrEmpty(tags)) { tags = DataBase.SqlEncode(tags); }
     DataList<PostItem> list = new DataList<PostItem>();
     string sqlWhere = string.Format("[Mode] = '{0}'", mode);
     sqlWhere += selAll ? string.Empty : " AND ([Show] <> 0)";
     if (!string.IsNullOrEmpty(tags))
     {
         sqlWhere += " AND (";
         string[] arrTag = tags.Split(',');
         bool noOne = false;
         foreach (string tag in arrTag)
         {
             if (!string.IsNullOrEmpty(tag))
             {
                 sqlWhere += noOne ? " OR" : string.Empty;
                 sqlWhere += string.Format(" ([Tags] = '{0}' OR [Tags] LIKE '{0},%' OR [Tags] LIKE '%,{0},%' OR [Tags] LIKE '%,{0}')", tag.Trim());
                 noOne = true;
             }
         }
         sqlWhere += ")";
     }
     int rows = 0;
     using (IDataReader reader = conn.ExecutePager("[Post]", "[ID], [ColumnID], [Tags], [Local], [Title], [Explain], [Content], [Author], [Publish], [Password], [Fine], [Vote], [Reader], [PostCount], [Show], [SwitchCMT], [SwitchTB], [AutoVerifyCMT], [AutoVerifyTB], [Attachments]", sqlWhere, "[ID]", "DESC", 1, limit, ref rows))
     {
         while (reader.Read())
         {
             PostItem item = new PostItem();
             item.ID = reader.GetInt32(0);
             item.ColumnID = reader.GetInt32(1);
             item.Tags = reader.GetString(2);
             item.Local = reader.GetString(3);
             item.Title = reader.GetString(4);
             item.Explain = reader.GetString(5);
             item.Content = reader.GetString(6);
             item.Author = reader.GetString(7);
             item.Publish = reader.GetDateTime(8);
             item.Password = reader.GetString(9);
             item.Fine = reader.GetInt32(10) == 0 ? false : true;
             item.Vote = reader.GetInt32(11);
             item.Reader = reader.GetInt32(12);
             item.PostCount = reader.GetInt32(13);
             item.Show = reader.GetInt32(14) == 0 ? false : true;
             item.SwitchComment = reader.GetInt32(15) == 0 ? false : true;
             item.SwitchTrackback = reader.GetInt32(16) == 0 ? false : true;
             item.AutoVerifyComment = reader.GetInt32(17) == 0 ? false : true;
             item.AutoVerifyTrackback = reader.GetInt32(18) == 0 ? false : true;
             item.Attachments = reader.GetString(19);
             list.Add(item);
         }
     }
     list.Number = rows;
     return list;
 }
 /// <summary>
 /// 选择文章
 /// </summary>
 /// <param name="cid">分类ID,为0则选择全部数据</param>
 /// <param name="tag">标签字段</param>
 /// <param name="key">搜索关键字</param>
 /// <param name="intCurPage">当前页码</param>
 /// <param name="btePerPage">分页大小</param>
 /// <param name="orderMode">排序模式:0-按时间倒序,1-编号倒序,2-按阅读数倒序,3-按投票数,4-随机</param>
 /// <param name="mode">模式:A-文章,P-单页</param>
 /// <param name="selAll">是否在所有数据里筛选</param>
 /// <returns>返回文章数据列表</returns>
 public DataList<PostItem> SelectPost(int cid, string tag, string key, int intCurPage, int btePerPage, int orderMode, string mode, bool selAll)
 {
     string putOrder = orderMode == 4 ? string.Empty : "[Fine] DESC, ";
     if (!string.IsNullOrEmpty(tag)) { tag = DataBase.SqlEncode(tag); }
     if (!string.IsNullOrEmpty(key)) { key = DataBase.SqlEncode(key); }
     DataList<PostItem> list = new DataList<PostItem>();
     string[] orderPar = { "[Publish]", "DESC" };
     switch (orderMode)
     {
         case 1: { orderPar[0] = "[ID]"; orderPar[1] = "DESC"; break; }
         case 2: { orderPar[0] = "[Reader]"; orderPar[1] = "DESC"; break; }
         case 3: { orderPar[0] = "[Vote]"; orderPar[1] = "DESC"; break; }
         case 4: { orderPar[0] = (conn.DBMode == DbMode.MSSQL ? "NEWID()" : "RND([ID])"); orderPar[1] = string.Empty; break; }
     }
     string sqlWhere = string.IsNullOrEmpty(mode) ? "[ID] > 0" : string.Format("[Mode] = '{0}'", mode);
     sqlWhere += cid == 0 ? string.Empty : string.Format(" AND ([ColumnID] = {0})", cid);
     sqlWhere += selAll ? string.Empty : " AND ([Show] <> 0)";
     sqlWhere += string.IsNullOrEmpty(tag) ? string.Empty : string.Format(" AND ([Tags] = '{0}' OR [Tags] LIKE '{0},%' OR [Tags] LIKE '%,{0},%' OR [Tags] LIKE '%,{0}')", tag);
     sqlWhere += string.IsNullOrEmpty(key) ? string.Empty : string.Format(" AND ([Title] LIKE '%{0}%' OR [Content] LIKE '%{0}%')", key);
     int rows = 0;
     using (IDataReader reader = conn.ExecutePager("[Post]", "[ID], [ColumnID], [Tags], [Local], [Title], [Explain], [Content], [Author], [Publish], [Password], [Fine], [Vote], [Reader], [PostCount], [Show], [SwitchCMT], [SwitchTB], [AutoVerifyCMT], [AutoVerifyTB], [Attachments]", sqlWhere, putOrder + orderPar[0], orderPar[1], intCurPage, btePerPage, ref rows))
     {
         while (reader.Read())
         {
             PostItem item = new PostItem();
             item.ID = reader.GetInt32(0);
             item.ColumnID = reader.GetInt32(1);
             item.Tags = reader.GetString(2);
             item.Local = reader.GetString(3);
             item.Title = reader.GetString(4);
             item.Explain = reader.GetString(5);
             item.Content = reader.GetString(6);
             item.Author = reader.GetString(7);
             item.Publish = reader.GetDateTime(8);
             item.Password = reader.GetString(9);
             item.Fine = reader.GetInt32(10) == 0 ? false : true;
             item.Vote = reader.GetInt32(11);
             item.Reader = reader.GetInt32(12);
             item.PostCount = reader.GetInt32(13);
             item.Show = reader.GetInt32(14) == 0 ? false : true;
             item.SwitchComment = reader.GetInt32(15) == 0 ? false : true;
             item.SwitchTrackback = reader.GetInt32(16) == 0 ? false : true;
             item.AutoVerifyComment = reader.GetInt32(17) == 0 ? false : true;
             item.AutoVerifyTrackback = reader.GetInt32(18) == 0 ? false : true;
             item.Attachments = reader.GetString(19);
             list.Add(item);
         }
     }
     list.Number = rows;
     return list;
 }