public DataTable GetActiveProductGroupList()
        {
            ProductGroupDAL productGroup = new ProductGroupDAL();

            try
            {
                LumexDBPlayer db = LumexDBPlayer.Start();
                DataTable dt = productGroup.GetActiveProductGroupList(db);
                db.Stop();

                return dt;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                productGroup = null;
            }
        }
        public DataTable SaveProductGroup()
        {
            ProductGroupDAL productGroup = new ProductGroupDAL();

            try
            {
                LumexDBPlayer db = LumexDBPlayer.Start(true);
                DataTable dt = productGroup.SaveProductGroup(this, db);
                db.Stop();

                return dt;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                productGroup = null;
            }
        }
        public DataTable GetDeletedProductGroupListByDateRangeAll(string fromDate, string toDate, string search)
        {
            ProductGroupDAL productGroup = new ProductGroupDAL();

            try
            {
                LumexDBPlayer db = LumexDBPlayer.Start();
                DataTable dt = productGroup.GetDeletedProductGroupListByDateRangeAll(fromDate, toDate, search, db);
                db.Stop();

                return dt;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                productGroup = null;
            }
        }
        public DataTable GetProductGroupListByWHId(string WhId)
        {
            ProductGroupDAL productGroup = new ProductGroupDAL();

            try
            {
                LumexDBPlayer db = LumexDBPlayer.Start();
                DataTable dt = productGroup.GetProductGroupListByWHId(WhId, db);
                db.Stop();

                return dt;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                productGroup = null;
            }
        }
        public void UpdateProductGroup()
        {
            ProductGroupDAL productGroup = new ProductGroupDAL();

            try
            {
                LumexDBPlayer db = LumexDBPlayer.Start(true);
                productGroup.UpdateProductGroup(this, db);
                db.Stop();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                productGroup = null;
            }
        }
        public string DeleteProductGroup(string productGroupId, string forceToDelete)
        {
            ProductGroupDAL productGroup = new ProductGroupDAL();

            try
            {
                LumexDBPlayer db = LumexDBPlayer.Start(true);
                string status = productGroup.DeleteProductGroup(productGroupId, forceToDelete, db);
                db.Stop();

                return status;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                productGroup = null;
            }
        }
        public void UpdateProductGroupActivation(string productGroupId, string activationStatus)
        {
            ProductGroupDAL productGroup = new ProductGroupDAL();

            try
            {
                LumexDBPlayer db = LumexDBPlayer.Start(true);
                productGroup.UpdateProductGroupActivation(productGroupId, activationStatus, db);
                db.Stop();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                productGroup = null;
            }
        }
        public bool CheckDuplicateProductGroup(string productGroupName,string warehouse,string salescenter)
        {
            ProductGroupDAL productGroup = new ProductGroupDAL();

            try
            {
                LumexDBPlayer db = LumexDBPlayer.Start();
                bool status = productGroup.CheckDuplicateProductGroup(productGroupName,warehouse,salescenter, db);
                db.Stop();
                return status;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                productGroup = null;
            }
        }