private void btnReconciliation_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                btnReconciliation.IsEnabled = false;
                if (StartDate > EndDate)
                {
                    MessageBox.ShowBox("MessageID282", BMC_Icon.Information);
                    return;
                }

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

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

                IReports objReports = ReportsBusinessObject.CreateInstance();

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

                DataSet CashdeskDetails = null;
                //= objReports.GetCashDeskReconcilationDetails(StartDate, EndDate);
                switch (URoleBased.Count)
                {
                    case 0:
                        {
                            if (Security.SecurityHelper.CurrentUser.User_No == UserNo)
                            {
                                CashdeskDetails = objReports.GetCashDeskReconcilationDetails(StartDate, EndDate, UserNo, iRoute_No);
                            }
                            break;
                        }
                    case 1:
                        {
                            if (UserNo == 0)
                            {
                                CashdeskDetails = objReports.GetCashDeskReconcilationDetails(StartDate, EndDate, 0, iRoute_No);
                            }
                            else
                            {
                                CashdeskDetails = objReports.GetCashDeskReconcilationDetails(StartDate, EndDate, UserNo, iRoute_No);
                            }
                            break;
                        }
                }

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

                    cReportViewer.ShowCashDeskReconcilationReport(CashdeskDetails, StartDate, EndDate);
                    cReportViewer.SetOwner(System.Windows.Window.GetWindow(this));

                    cReportViewer.Show();
                }

                LogManager.WriteLog("ShowCashDeskReconcilationReport Successfull", LogManager.enumLogLevel.Info);
            }
            catch (Exception ex)
            {
                ExceptionManager.Publish(ex);
            }
            finally
            {
                btnReconciliation.IsEnabled = true;
            }
        }