예제 #1
0
        public static async Task RefreshExcelDataAsync()
        {
            LoadSettingsAsync();

            Data       = new List <Catlouge>();
            Categories = new List <string>()
            {
                "All"
            };
            MainClass = new List <MainClass>()
            {
                new MainClass()
                {
                    Name = "All", SubCategory = new List <string>()
                    {
                        "All"
                    }
                }
            };
            try
            {
                using (var cn = new OleDbConnection(ConnectionStringExcel))
                {
                    cn.Open();
                    OleDbCommand cmd = new OleDbCommand("Select * from [Sheet1$] ", cn);
                    var          dr  = await cmd.ExecuteReaderAsync();

                    Catlouge ct;
                    while (dr.Read())
                    {
                        ct = new Catlouge();
                        if (dr["Sr No"] == DBNull.Value)
                        {
                            break;
                        }
                        ct.SrNo         = Convert.ToInt32(dr["Sr No"]);
                        ct.UniqueNo     = Convert.ToString(dr["UNIQUENO"]).Trim();
                        ct.ImagePath    = ImagesFolderPath + ct.UniqueNo + ".jpg";
                        ct.Title        = Convert.ToString(dr["Title"]).Trim();
                        ct.Category     = Convert.ToString(dr["Category"]).Trim();
                        ct.SubCategory  = Convert.ToString(dr["Sub Class"]).Trim();
                        ct.SubCategory2 = Convert.ToString(dr["Sub Class2"]).Trim();
                        ct.Synopsis     = Convert.ToString(dr["SYNOPSIS"]).Trim();
                        ct.Language     = Convert.ToString(dr["LANGUAGE"]).Trim();
                        ct.Year         = Convert.ToInt32(dr["YEAR"] == DBNull.Value ? 1900 : dr["YEAR"]);
                        ct.Duration     = Convert.ToDouble(dr["DURATION"] == DBNull.Value ? 0.0 : dr["DURATION"]);
                        ct.bW           = Convert.ToString(dr["B&W"]).Trim();
                        ct.Director     = Convert.ToString(dr["DIRECTOR"]).Trim();
                        ct.Producer     = "";// dt.Columns.Contains("Producer") ? Convert.ToString(dr["Producer"]).Trim() : "";
                        ct.MainClass    = Convert.ToString(dr["Main Class"]).Trim();
                        ct.MainClass2   = Convert.ToString(dr["Main Class2"]).Trim();
                        ct.CastCrew     = Convert.ToString(dr["Cast & Crew"]).Trim();

                        if (!Categories.Contains(ct.Category) && !string.IsNullOrWhiteSpace(ct.Category))
                        {
                            Categories.Add(ct.Category);
                        }

                        if (!MainClass[0].SubCategory.Contains(ct.SubCategory) && !string.IsNullOrWhiteSpace(ct.SubCategory))
                        {
                            MainClass[0].SubCategory.Add(ct.SubCategory);
                        }

                        if (!MainClass[0].SubCategory.Contains(ct.SubCategory2) && !string.IsNullOrWhiteSpace(ct.SubCategory2))
                        {
                            MainClass[0].SubCategory.Add(ct.SubCategory2);
                        }

                        if (!File.Exists(ct.ImagePath))
                        {
                            ct.ImagePath = null;
                        }

                        if (!MainClass.Select(v => v.Name).Contains(ct.MainClass) || !MainClass.Select(v => v.Name).Contains(ct.MainClass2))
                        {
                            if (!MainClass.Select(v => v.Name).Contains(ct.MainClass) && !string.IsNullOrWhiteSpace(ct.MainClass))
                            {
                                MainClass.Add(new MainClass
                                {
                                    ID          = MainClass.Count + 1,
                                    Name        = ct.MainClass,
                                    SubCategory = new List <string>()
                                    {
                                        "All"
                                    }
                                });

                                if (!string.IsNullOrWhiteSpace(ct.SubCategory))
                                {
                                    MainClass.Last().SubCategory.Add(ct.SubCategory);
                                }

                                if (!string.IsNullOrWhiteSpace(ct.SubCategory2))
                                {
                                    MainClass.Last().SubCategory.Add(ct.SubCategory2);
                                }
                            }

                            if (!MainClass.Select(v => v.Name).Contains(ct.MainClass2) && !string.IsNullOrWhiteSpace(ct.MainClass2))
                            {
                                MainClass.Add(new MainClass
                                {
                                    ID          = MainClass.Count + 1,
                                    Name        = ct.MainClass2,
                                    SubCategory = new List <string>()
                                    {
                                        "All"
                                    }
                                });

                                if (!string.IsNullOrWhiteSpace(ct.SubCategory))
                                {
                                    MainClass.Last().SubCategory.Add(ct.SubCategory);
                                }

                                if (!string.IsNullOrWhiteSpace(ct.SubCategory2))
                                {
                                    MainClass.Last().SubCategory.Add(ct.SubCategory2);
                                }
                            }
                        }
                        else
                        {
                            MainClass catTemp = MainClass.Where(v => v.Name == ct.MainClass || v.Name == ct.MainClass2).FirstOrDefault();
                            if (!catTemp.SubCategory.Contains(ct.SubCategory) && !string.IsNullOrWhiteSpace(ct.SubCategory))
                            {
                                catTemp.SubCategory.Add(ct.SubCategory);
                            }
                            if (!catTemp.SubCategory.Contains(ct.SubCategory2) && !string.IsNullOrWhiteSpace(ct.SubCategory2))
                            {
                                catTemp.SubCategory.Add(ct.SubCategory2);
                            }
                        }

                        Data.Add(ct);
                    }

                    cmd = new OleDbCommand("Select * from [Sheet3$]", cn);
                    dr  = await cmd.ExecuteReaderAsync();

                    while (dr.Read())
                    {
                        string strCategory = dr["Category"] == DBNull.Value ? string.Empty : Convert.ToString(dr["Category"]);
                        if (!Categories.Contains(strCategory) && !string.IsNullOrWhiteSpace(strCategory))
                        {
                            Categories.Add(strCategory);
                        }
                    }

                    cmd = new OleDbCommand("Select * from [Sheet4$]", cn);
                    dr  = await cmd.ExecuteReaderAsync();

                    while (dr.Read())
                    {
                        string strMainClass = dr["MainClass"] == DBNull.Value ? string.Empty : Convert.ToString(dr["MainClass"]);
                        string strSubClass  = dr["SubClass"] == DBNull.Value ? string.Empty : Convert.ToString(dr["SubClass"]);

                        if (!MainClass[0].SubCategory.Contains(strSubClass) && !string.IsNullOrWhiteSpace(strSubClass))
                        {
                            MainClass[0].SubCategory.Add(strSubClass);
                        }


                        if (!MainClass.Select(v => v.Name).Contains(strMainClass) && !string.IsNullOrWhiteSpace(strMainClass))
                        {
                            MainClass.Add(new MainClass
                            {
                                ID          = MainClass.Count + 1,
                                Name        = strMainClass,
                                SubCategory = new List <string>()
                                {
                                    "All"
                                }
                            });

                            if (!string.IsNullOrWhiteSpace(strSubClass))
                            {
                                MainClass.Last().SubCategory.Add(strSubClass);
                            }
                        }
                        else if (!string.IsNullOrWhiteSpace(strMainClass))
                        {
                            MainClass catTemp = MainClass.Where(v => v.Name == strMainClass).FirstOrDefault();
                            if (!catTemp.SubCategory.Contains(strSubClass) && !string.IsNullOrWhiteSpace(strSubClass))
                            {
                                catTemp.SubCategory.Add(strSubClass);
                            }
                        }
                    }
                    cn.Close();
                }

                //Apply Sorting in Category
                Categories = Categories.OrderBy(c => c == "All" ? "A" : c).ToList();
                //Apply Sorting in MainClass & SubCategory
                MainClass = MainClass.OrderBy(v => v.Name == "All" ? "A" : v.Name).ToList();
                foreach (var item in MainClass)
                {
                    item.SubCategory = item.SubCategory.OrderBy(v => v == "All" ? "A" : v).ToList();
                }
            }
            catch (Exception Ex)
            {
            }
        }
예제 #2
0
        public static async Task RefreshDataAsync()
        {
            LoadSettingsAsync();

            Data       = new List <Catlouge>();
            Categories = new List <string>()
            {
                "All"
            };
            MainClass = new List <MainClass>()
            {
                new MainClass()
                {
                    Name = "All", SubCategory = new List <string>()
                    {
                        "All"
                    }
                }
            };
            try
            {
                using (var cn = new OleDbConnection(ConnectionString))
                {
                    cn.Open();
                    OleDbCommand cmd = new OleDbCommand("Select * from tbl_ECatlouge;", cn);
                    var          dr  = await cmd.ExecuteReaderAsync();

                    Catlouge ct;
                    while (dr.Read())
                    {
                        ct             = new Catlouge();
                        ct.SrNo        = Convert.ToInt32(dr["Sr No"]);
                        ct.UniqueNo    = Convert.ToString(dr["UNIQUENO"]).Trim();
                        ct.ImagePath   = ImagesFolderPath + ct.UniqueNo + ".jpg";
                        ct.Title       = Convert.ToString(dr["Title"]).Trim();
                        ct.Category    = Convert.ToString(dr["Category"]).Trim();
                        ct.SubCategory = Convert.ToString(dr["Sub Category"]).Trim();
                        ct.Synopsis    = Convert.ToString(dr["SYNOPSIS"]).Trim();
                        ct.Language    = Convert.ToString(dr["LANGUAGE"]).Trim();
                        ct.Year        = Convert.ToInt32(dr["YEAR"] == DBNull.Value ? 1900 : dr["YEAR"]);
                        ct.Duration    = Convert.ToDouble(dr["DURATION"] == DBNull.Value ? 0.0 : dr["DURATION"]);
                        ct.bW          = Convert.ToString(dr["B&W"]).Trim();
                        ct.Director    = Convert.ToString(dr["DIRECTOR"]).Trim();
                        ct.Producer    = Convert.ToString(dr["Producer"]).Trim();
                        ct.MainClass   = Convert.ToString(dr["MainClass"]).Trim();
                        ct.CastCrew    = Convert.ToString(dr["Cast & Crew"]).Trim();

                        if (!Categories.Contains(ct.Category))
                        {
                            Categories.Add(ct.Category);
                        }

                        if (!MainClass[0].SubCategory.Contains(ct.SubCategory))
                        {
                            MainClass[0].SubCategory.Add(ct.SubCategory);
                        }

                        if (!File.Exists(ct.ImagePath))
                        {
                            ct.ImagePath = null;
                        }

                        if (!MainClass.Select(v => v.Name).Contains(ct.Category))
                        {
                            MainClass.Add(new MainClass
                            {
                                ID          = MainClass.Count + 1,
                                Name        = ct.Category,
                                SubCategory = new List <string>()
                                {
                                    "All", ct.SubCategory
                                }
                            });
                        }
                        else
                        {
                            MainClass catTemp = MainClass.Where(v => v.Name == ct.Category).FirstOrDefault();
                            if (!catTemp.SubCategory.Contains(ct.SubCategory))
                            {
                                catTemp.SubCategory.Add(ct.SubCategory);
                            }
                        }

                        Data.Add(ct);
                    }
                    cn.Close();
                }
            }
            catch (Exception Ex)
            {
            }
        }