예제 #1
0
        public static List <RawDataItem> Read()
        {
            List <RawDataItem> dataList = new List <RawDataItem>();

            string       fileName = GetRawDataFileName();
            XSSFWorkbook workbook;

            using (FileStream file = new FileStream(fileName, FileMode.Open, FileAccess.Read))
            {
                workbook = new XSSFWorkbook(file);
            }

            int numberOfSheets = workbook.NumberOfSheets;

            for (int i = 0; i < numberOfSheets; i++)
            {
                ISheet sheet = workbook.GetSheetAt(i);

                RawDataItem rdi = new RawDataItem {
                    Name = sheet.SheetName
                };

                for (int row = 0; row <= sheet.LastRowNum; row++)
                {
                    var sheetRow = sheet.GetRow(row);
                    if (sheetRow != null)
                    {
                        RawBadgeItem bi = new RawBadgeItem {
                            Group = string.Empty
                        };
                        var cell0 = sheetRow.GetCell(0);
                        if (cell0 == null)
                        {
                            continue;
                        }

                        bi.Name = cell0.StringCellValue;
                        var cell1 = sheetRow.GetCell(1);
                        if (cell1 != null)
                        {
                            bi.Group = cell1.StringCellValue;
                        }

                        var cell2 = sheetRow.GetCell(2);
                        if (cell2 != null)
                        {
                            bi.SetTitleID = (int)cell2.NumericCellValue;
                        }

                        rdi.Badges.Add(bi);
                    }
                }

                dataList.Add(rdi);
            }



            return(dataList);
        }
예제 #2
0
        public static void DetermineIfSelected(RawBadgeItem bi)
        {
            bi.Selected = false;

            var           parts  = bi.Name.Split('/');
            List <string> matchs = new List <string>();

            parts.ToList().ForEach(a => matchs.Add(a.Trim().ToLowerInvariant()));


            var f = BadgeManager.List.SingleOrDefault(a => matchs.Contains(a.Name.Trim().ToLowerInvariant()));

            if (f != null && f.Selected)
            {
                bi.Selected = true;
            }
        }
예제 #3
0
        /*
         *  //
         *  this.Controls.Add(this.label1);
         *  this.Controls.Add(this.listBox1);
         */
        private void ListBox1_DrawItem(object sender, DrawItemEventArgs e)
        {
            RawBadgeItem bi = (RawBadgeItem)this.listBox1.Items[e.Index];


            if (bi.Selected)
            {
                e.Graphics.FillRectangle(Brushes.LightBlue, e.Bounds);
            }


            e.Graphics.DrawRectangle(Pens.Gray, e.Bounds);

            e.Graphics.DrawString(bi.Name, e.Font, Brushes.Black, e.Bounds.Left, e.Bounds.Top);

            e.Graphics.DrawString(bi.Group, e.Font, Brushes.Black, e.Bounds.Left + 500, e.Bounds.Top);

            e.Graphics.DrawString($"{bi.SetTitleID}", e.Font, Brushes.Black, e.Bounds.Left + 800, e.Bounds.Top);
        }