private void ShowExpenseDetailsReport(DateTime reportDate, string reportPeriod,bool IsGamingDayBasedReport,string SiteCode)
        {
            try
            {
                LogManager.WriteLog("Inside ShowExpenseDetailsReport method", LogManager.enumLogLevel.Info);

                if (reportDate > System.DateTime.Now)
                {   
                    MessageBox.ShowBox("MessageID281", BMC_Icon.Information);
                    return;
                }

                IReports objReports = ReportsBusinessObject.CreateInstance();

                LogManager.WriteLog("Fetching report data from database...", LogManager.enumLogLevel.Info);

                DataSet expenseDetails = objReports.GetExpenseDetails(reportDate, reportPeriod, IsGamingDayBasedReport);

                if (expenseDetails.Tables[0].Rows.Count == 0)
                {
                    LogManager.WriteLog("No Records found for the selected criteria - Return", LogManager.enumLogLevel.Info);
                    MessageBox.ShowBox("MessageID261", BMC_Icon.Information);
                    return;
                }

                using (CReportViewer cReportViewer = new CReportViewer())
                {
                    LogManager.WriteLog("Report data fetched successfully from database", LogManager.enumLogLevel.Info);

                    cReportViewer.ShowExpenseDetailsReport(expenseDetails, reportDate, reportPeriod, IsGamingDayBasedReport,SiteCode);
                    cReportViewer.ShowDialog();                    
                }

				LogManager.WriteLog("ShowExpenseDetailsReport Successfull", LogManager.enumLogLevel.Info);
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
				MessageBox.ShowBox("MessageID262", BMC_Icon.Error);
            }
        }