public DataTable GetPurchaseRequisitionById(string purchaseRequisitionId)
        {
            PurchaseRequisitionDAL purchaseRequisition = new PurchaseRequisitionDAL();

            try
            {
                LumexDBPlayer db = LumexDBPlayer.Start();
                DataTable dt = purchaseRequisition.GetPurchaseRequisitionById(purchaseRequisitionId, db);
                db.Stop();

                return dt;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                purchaseRequisition = null;
            }
        }
        public DataTable GetPurchaseRequisitionsListByWarehouseDateRangeAndStatus(string warehouseId, string fromDate, string toDate, string status)
        {
            PurchaseRequisitionDAL purchaseRequisition = new PurchaseRequisitionDAL();

            try
            {
                LumexDBPlayer db = LumexDBPlayer.Start();
                DataTable dt = purchaseRequisition.GetPurchaseRequisitionsListByWarehouseDateRangeAndStatus(warehouseId, fromDate, toDate, status, db);
                db.Stop();

                return dt;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                purchaseRequisition = null;
            }
        }
        public string SavePurchaseRequisition(List<PurchaseRequisitionBLL> purchaseRequisitions, string warehouseId, string narration)
        {
            PurchaseRequisitionDAL purchaseRequisition = new PurchaseRequisitionDAL();

            try
            {
                LumexDBPlayer db = LumexDBPlayer.Start(true);
                string purchaseRequisitionId = purchaseRequisition.SavePurchaseRequisition(purchaseRequisitions, warehouseId, narration, db);
                db.Stop();

                return purchaseRequisitionId;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                purchaseRequisition = null;
            }
        }
        public string ApprovePurchaseRequisitionAndCreatePurchaseOrder(DataTable dt, string purchaseRequisitionId, string warehouseId)
        {
            PurchaseRequisitionDAL purchaseRequisition = new PurchaseRequisitionDAL();

            try
            {
                LumexDBPlayer db = LumexDBPlayer.Start(true);
                string msg = purchaseRequisition.ApprovePurchaseRequisitionAndCreatePurchaseOrder(dt, purchaseRequisitionId, warehouseId, db);
                db.Stop();

                return msg;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                purchaseRequisition = null;
            }
        }
        public DataTable GetPurchaseRequisitionsApprovalListByWarehouse(string warehouseId)
        {
            PurchaseRequisitionDAL purchaseRequisition = new PurchaseRequisitionDAL();

            try
            {
                LumexDBPlayer db = LumexDBPlayer.Start();
                DataTable dt = purchaseRequisition.GetPurchaseRequisitionsApprovalListByWarehouse(warehouseId, db);
                db.Stop();

                return dt;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                purchaseRequisition = null;
            }
        }