/// <summary>
 /// Assigns the report control.
 /// </summary>
 /// <param name="menuItem">The menu item.</param>
 /// <param name="reportPresenter">The report presenter.</param>
 private void AssignReportControl(string menuItem, ReportPresenter reportPresenter)
 {
     if (menuItem.Equals(ReportOption.ProjectsAtRisk.ToString()))
     {
         reportPresenter.AssignProjectAtRiskReportList(this.projectHourReportService.RetrieveProjectAtRisk(SessionData.Instance.UserInfo.Developer.DeveloperID));
     }
     else if (menuItem.Equals(ReportOption.ActiveProjects.ToString()))
     {
         reportPresenter.ReportFilter.SelectedClientProject = reportPresenter.ReportFilter.SelectedClientProject == -1 ? null : reportPresenter.ReportFilter.SelectedClientProject;
         reportPresenter.AssignProjects(this.projectHourReportService.RetrieveProjectList(reportPresenter.ReportFilter.IsInactive, SessionData.Instance.UserInfo.Developer.DeveloperID, reportPresenter.ReportFilter.SelectedClientProject));
     }
     else if (menuItem.Equals(ReportOption.ProjectHourBreakdown.ToString()))
     {
         this.AssignProjectHourBreakdown(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.ProjectHoursGraph.ToString()))
     {
         reportPresenter.AssignProjectHourGraph(this.projectHourReportService.RetrieveProjectHourGraph(reportPresenter.ReportFilter.DateFrom, reportPresenter.ReportFilter.DateTo, SessionData.Instance.UserInfo.Developer.DeveloperID));
     }
     else if (menuItem.Equals(ReportOption.ProjectHoursAllocation.ToString()))
     {
         reportPresenter.AssignProjectAllocationGraph(this.teamEngagementReportService.RetrieveProjectAllocation(reportPresenter.ReportFilter.DateFrom.Month, reportPresenter.ReportFilter.DateFrom.Year, SessionData.Instance.UserInfo.Developer.DeveloperID));
     }
     else if (menuItem.Equals(ReportOption.ProjectHoursAllocationDrillDown.ToString()))
     {
         reportPresenter.AssignProjectAllocationDrillDownGraph(this.teamEngagementReportService.RetrieveProjectAllocationDrilldown(reportPresenter.ReportFilter.SelectedProject, SessionData.Instance.UserInfo.Developer.DeveloperID));
     }
     else if (menuItem.Equals(ReportOption.ProjectHoursAnalysis.ToString()))
     {
         reportPresenter.AssignProjectHourAnalysisReportList(this.projectHourReportService.RetrieveProjectHourAnalysis(reportPresenter.ReportFilter.SelectedProject, reportPresenter.ReportFilter.DateFrom, reportPresenter.ReportFilter.DateTo));
     }
     else if (menuItem.Equals(ReportOption.ActivityReport.ToString()))
     {
         this.ActivityReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.ProjectHoursAnalysisDrillDown.ToString()))
     {
         reportPresenter.AssignProjectHourAnalysisReportList(this.projectHourReportService.RetrieveProjectHourAnalysis(reportPresenter.ReportFilter.SelectedProject, reportPresenter.ReportFilter.DateFrom, reportPresenter.ReportFilter.DateTo));
     }
     else if (menuItem.Equals(ReportOption.RoleAllocation.ToString()) || menuItem.Equals(ReportOption.RoleWiseAllocation.ToString()))
     {
         this.AssignRoleGroupAllocationDrillDown(menuItem, reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.TeamMemberHours.ToString()))
     {
         reportPresenter.AssignTeamMemberHourConsumption(this.timesheetReportService.RetrieveTeamMemberHoursConsumptions(reportPresenter.ReportFilter.DateFrom, reportPresenter.ReportFilter.DateTo, ApplicationSettings.Instance.TeamMemberProductiveHours, reportPresenter.ReportFilter.IsExceeded));
     }
     else if (menuItem.Equals(ReportOption.TimesheetDefaulters.ToString()))
     {
         reportPresenter.AssignTimesheetDefaulterInfo(this.reportService.RetrieveTimesheetDefaultersInfo(reportPresenter.ReportFilter.DateFrom, reportPresenter.ReportFilter.DateTo, reportPresenter.ReportFilter.HaveTimesheetFilled, SessionData.Instance.UserInfo.Developer.DeveloperID).ToList());
     }
     else if (menuItem.Equals(ReportOption.DailyReport.ToString()))
     {
         this.AssignDailyReportStatus(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.ProductivityGraph.ToString()))
     {
         this.AssignProductivityGraphReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.WeeklyProjectHourBurndown.ToString()))
     {
         reportPresenter.AssignWeeklyProjectHourBurnDown(this.projectHourReportService.RetrieveWeeklyProjectHourBurnDown(reportPresenter.ReportFilter.DateFrom, reportPresenter.ReportFilter.DateTo, reportPresenter.ReportFilter.SelectedProject));
     }
     else if (menuItem.Equals(ReportOption.WeeklyProjectStatus.ToString()))
     {
         reportPresenter.AssignWeeklyProjectStatus(this.projectHourReportService.RetrieveWeeklyProjectStatus(reportPresenter.ReportFilter.DateFrom, SessionData.Instance.UserInfo.Developer.DeveloperID));
     }
     else if (menuItem.Equals(ReportOption.MyConVsTimesheetWebsite.ToString()))
     {
         reportPresenter.AssignMyConTimesheet(this.timesheetReportService.RetrieveMyConTimesheet(reportPresenter.ReportFilter.DateFrom, reportPresenter.ReportFilter.DateTo, SessionData.Instance.UserInfo.Developer.DeveloperID));
     }
     else if (menuItem.Equals(ReportOption.RoleAllocationDrillDown.ToString()))
     {
         reportPresenter.AssignTeamMemberAllocationDrilldown(this.reportService.RetrieveDashboardRoleAllocationDrillDown(reportPresenter.ReportFilter.DateFrom, reportPresenter.ReportFilter.DateTo, SessionData.Instance.UserInfo.Developer.DeveloperID, Convert.ToString(reportPresenter.ReportFilter.SelectedRoleGroup, CultureInfo.CurrentCulture)));
     }
     else if (menuItem.Equals(ReportOption.EstimatedVsConsumedHours.ToString()))
     {
         reportPresenter.AssignEstimatedVsConsumed(this.projectHourReportService.RetrieveEstimatedVsConsumed(SessionData.Instance.UserInfo.Developer.DeveloperID));
     }
     else if (menuItem.Equals(ReportOption.TrendForProjectAndNonProjectHours.ToString()))
     {
         reportPresenter.AssignTrendForProjectAndNonProjectHours(this.projectHourReportService.RetrieveTrendForProjectAndNonProject(reportPresenter.ReportFilter.DateFrom, reportPresenter.ReportFilter.DateTo));
     }
     else if (menuItem.Equals(ReportOption.ProjectPercentStatus.ToString()))
     {
         reportPresenter.AssignProjectCompletionStatus(this.projectHourReportService.RetrieveProjectCompletionStatus(SessionData.Instance.UserInfo.Developer.DeveloperID));
     }
     else if (menuItem.Equals(ReportOption.DeveloperHourAnalysis.ToString()))
     {
         reportPresenter.AssignDeveloperHourAnalysis(this.projectHourReportService.RetrieveDeveloperHourAnalysis(reportPresenter.ReportFilter.SelectedProject, reportPresenter.ReportFilter.SelectedRoleGroup));
     }
     else if (menuItem.Equals(ReportOption.TeamMemberProjectAllocation.ToString()))
     {
         this.TeamMemberAssignmentsReports(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.ProjectComplianceStatus.ToString()))
     {
         reportPresenter.AssignProjectComplianceStatusReport(this.projectComplianceReportService.RetrieveComplianceStatusReport(reportPresenter.ReportFilter.DateFrom, reportPresenter.ReportFilter.DateTo, null, SessionData.Instance.UserInfo.Developer.DeveloperID));
     }
     else if (menuItem.Equals(ReportOption.NonComplianceDrillDown.ToString()))
     {
         this.AssignNonComplianceDrillDown(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.ProjectWeeklyHourConsumption.ToString()))
     {
         reportPresenter.AssignProjectWeeklyHoursConsumption(this.projectHourReportService.RetrieveProjectWeeklyHoursConsumption(reportPresenter.ReportFilter.SelectedProject, SessionData.Instance.UserInfo.Developer.DeveloperID));
     }
     else if (menuItem.Equals(ReportOption.GameChangersWeeklyStatus.ToString()))
     {
         this.AssignGameChangersWeeklyStatus(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.ComplianceSummaryGraph.ToString()))
     {
         this.AssignComplianceSummaryGraph(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.RoleProjectAllocation.ToString()))
     {
         reportPresenter.AssignDashboardRoleProjectAllocationList(this.reportService.RetrieveDashboardRoleProjectAllocation(reportPresenter.ReportFilter.DateFrom, reportPresenter.ReportFilter.DateTo, SessionData.Instance.UserInfo.Developer.DeveloperID, Convert.ToString(reportPresenter.ReportFilter.SelectedRoleGroup, CultureInfo.CurrentCulture)));
     }
     else if (menuItem.Equals(ReportOption.ProjectTeamMemberAllocation.ToString()) || menuItem.Equals(ReportOption.ProjectTeamMemberAllocationReport.ToString()))
     {
         this.ProjectTeamMemberAllocationReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.ProjectAllocation.ToString()))
     {
         reportPresenter.AssignDashboardRoleProjectAllocationList(this.reportService.RetrieveDashboardRoleProjectAllocation(reportPresenter.ReportFilter.DateFrom, reportPresenter.ReportFilter.DateTo, SessionData.Instance.UserInfo.Developer.DeveloperID, null));
     }
     else if (menuItem.Equals(ReportOption.Feedback.ToString()))
     {
         this.AssignFeedbackReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.TeamLeaveRoaster.ToString()) || menuItem.Equals(ReportOption.HrLeaveRoaster.ToString()))
     {
         this.AssignLeaveRoasterReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.NameLeaveRoaster.ToString()))
     {
         this.AssignMonthOrYearRoasterReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.SalarySheet.ToString()))
     {
         this.AssignSalarySheetReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.NameYearlyLeaveRoster.ToString()) || menuItem.Equals(ReportOption.TeamYearlyLeaveRoster.ToString()) || menuItem.Equals(ReportOption.HrYearlyLeaveRoster.ToString()))
     {
         this.AssignYearlyLeaveRoster(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.SpecialLeave.ToString()))
     {
         this.AssignSpecialLeaveReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.CardCompliance.ToString()))
     {
         this.AssignCardComplianceReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.SwipeInOut.ToString()))
     {
         this.AssignSwipeInOutReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.TaskReport.ToString()) || reportPresenter.SelectedMenuItem.Equals(ReportOption.TaskProjectReport.ToString()))
     {
         this.AssignTaskReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.ReleaseReport.ToString()))
     {
         this.AssignReleaseReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.TeamMemberReporting.ToString()))
     {
         this.AssignTeamMemberReporting(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.RoleProductivity.ToString()))
     {
         this.AssignRoleProductivityReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.MonthlyProductivity.ToString()))
     {
         this.AssignMonthlyProductivityReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.TeamMemberProductivityHour.ToString()))
     {
         this.AssignTeamProductivityReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.RoleProductivityDrilldown.ToString()))
     {
         this.AssignRoleProductivityDrilldownReport(reportPresenter);
     }
     else if (menuItem.Equals(ReportOption.ProjectHourConsumptionTrend.ToString()))
     {
         this.AssignProjectHourConsumption(reportPresenter);
     }
 }