Example #1
0
        public void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var item = e.AddedItems[0] as ExcelTab;

            if (item == null)
            {
                return;
            }
            SelectedHeader = item;

            WorkSheetEnum en;

            if (WorkSheetEnum.TryParse(SelectedHeader.Content, out en))
            {
                switch (en)
                {
                case WorkSheetEnum.菜色編號對照:
                    FrameContent = new DishSubPage();
                    break;

                case WorkSheetEnum.供應商編號對照:
                    FrameContent = new SupplierSubPage();
                    break;

                case WorkSheetEnum.食材編號對照:
                    FrameContent = new MaterialSubPage();
                    break;
                }
            }
        }
Example #2
0
        private static List <T> DumpContent <T>(WorkSheetEnum type)
        {
            var rtnList = new List <T>();

            if (string.IsNullOrEmpty(RootSetting.DownloadLocalDir) ||
                string.IsNullOrEmpty(RootSetting.TempFileName))
            {
                return(rtnList);
            }

            if (ExcelFullContent == null ||
                ExcelFullContent == new ExcelQueryFactory())
            {
                ExcelFullContent = new ExcelQueryFactory(LocalFileName);
            }


            var tabIndex = (int)type;

            switch (tabIndex)
            {
            case (int)WorkSheetEnum.菜色編號對照:
                ExcelFullContent.AddMapping <Dish>(p => p.C_DishKey, "菜色編號");
                ExcelFullContent.AddMapping <Dish>(p => p.C_DishName, "菜色名稱");
                rtnList = ExcelFullContent.Worksheet <T>(type.ToString()).ToList();
                //var workSheet0 = ExcelFullContent.Worksheet(selectedTab.Content);
                //rtnList = ConvertCells(workSheet0, WorkSheetEnum.菜色編號對照);
                //return rtnList;
                break;

            case (int)WorkSheetEnum.供應商編號對照:
                ExcelFullContent.AddMapping <Supplier>(p => p.C_SupplierKey, "供應商統編");
                ExcelFullContent.AddMapping <Supplier>(p => p.C_SupplierName, "供應商名稱");
                rtnList = ExcelFullContent.Worksheet <T>(type.ToString()).ToList();
                //rtnList = ConvertCells(workSheet1, WorkSheetEnum.供應商編號對照);
                //return rtnList;
                break;

            case (int)WorkSheetEnum.食材編號對照:
                ExcelFullContent.AddMapping <Material>(p => p.C_MaterialKey, "食材編號");
                ExcelFullContent.AddMapping <Material>(p => p.C_MaterialName, "食材名稱");
                ExcelFullContent.AddMapping <Material>(p => p.C_MaterialCatagory, "食材類別");
                rtnList = ExcelFullContent.Worksheet <T>(type.ToString()).ToList();
                //rtnList = ConvertCells(workSheet2, WorkSheetEnum.食材編號對照);
                //return rtnList;
                break;
            }

            return(rtnList);
        }
Example #3
0
        private static List <ExcelTab> GetExcelTabList(IEnumerable <string> enumerable)
        {
            var rtnList = new List <ExcelTab>();

            foreach (var headerContent in enumerable)
            {
                WorkSheetEnum key;
                if (WorkSheetEnum.TryParse(headerContent, out key))
                {
                    var newItem = new ExcelTab()
                    {
                        Key     = ((int)key).ToString("000"),
                        Content = headerContent,
                    };
                    if (!rtnList.Contains(newItem))
                    {
                        rtnList.Add(newItem);
                    }
                }
            }
            rtnList = rtnList.OrderBy(p => p.Key).ToList();
            return(rtnList);
        }