/// <summary> /// Refreshes the calendar. /// </summary> /// <param name="releaseCalendarPresenter">The release calendar presenter.</param> /// <param name="isMonthView">if set to <c>true</c> [is month view].</param> private void RefreshCalendar(ReleaseCalendarPresenter releaseCalendarPresenter, bool isMonthView) { releaseCalendarPresenter.ReleaseCalendar = new ReleaseCalendar(); AssignSelectedReleaseType(releaseCalendarPresenter); this.AssignValuesToPresenter(releaseCalendarPresenter); if (!string.IsNullOrEmpty(releaseCalendarPresenter.SelectedProjectIds)) { List<string> ids = releaseCalendarPresenter.SelectedProjectIds.Split(',').ToList(); releaseCalendarPresenter.AssignSelectedProjects(releaseCalendarPresenter.MasterProjects.Where(project => ids.Contains(project.ProjectID.ToString(CultureInfo.CurrentCulture))).ToList()); } IList<byte> releaseTypes = releaseCalendarPresenter.ProjectReleaseTypes.Where(environment => environment.Id != 0 && !string.IsNullOrEmpty(environment.IsSelected) && environment.IsSelected.Equals("true", StringComparison.OrdinalIgnoreCase)).Select(environment => Convert.ToByte(environment.Id)).ToList(); releaseTypes = releaseTypes.Count == 0 ? null : releaseTypes; IList<int> selectedIds = releaseCalendarPresenter.SelectedProjects.Count > 0 ? releaseCalendarPresenter.SelectedProjects.Select(selectedProject => selectedProject.ProjectID).ToList() : null; IList<ReleaseCountListItem> releaseCounts = null; if (isMonthView) { releaseCounts = this.RefreshMonthView(releaseCalendarPresenter, releaseTypes, selectedIds); } else { releaseCounts = this.RefreshDayView(releaseCalendarPresenter, releaseTypes, selectedIds); } UpdateCounts(releaseCalendarPresenter, releaseCounts); }
/// <summary> /// Initializes the month view presenter. /// </summary> /// <param name="dateTime">The date time.</param> /// <param name="releaseCalendarPresenter">The release calendar presenter.</param> private void InitializeMonthViewPresenter(DateTime dateTime, ReleaseCalendarPresenter releaseCalendarPresenter) { this.AssignCountValue(releaseCalendarPresenter, null, null); releaseCalendarPresenter.AssignReleases(this.releaseService.RetrieveListForMonth(dateTime, null, null, SessionData.Instance.UserInfo.Developer.DeveloperID)); IList<Release> releases = new List<Release>(); Dictionary<DateTime, IList<ReleaseListItem>> dictionary = new Dictionary<DateTime, IList<ReleaseListItem>>(); releaseCalendarPresenter.Releases.ForEach(item => AssignValuesToDictionary(dictionary, item)); AssignReleases(releases, dictionary); releaseCalendarPresenter.AssignMonthViewReleases(releases); releaseCalendarPresenter.TotalReleases = releaseCalendarPresenter.Releases.Count; this.AssignProjectReleaseTypes(releaseCalendarPresenter, true); releaseCalendarPresenter.AssignSelectedProjects(releaseCalendarPresenter.MasterProjects); }
/// <summary> /// Initializes the presenter. /// </summary> /// <param name="dateTime">The date time.</param> /// <param name="isMonthView">if set to <c>true</c> [is month view].</param> /// <returns> /// Instance of Release Calendar /// </returns> private ReleaseCalendarPresenter InitializePresenter(DateTime dateTime, bool isMonthView) { ReleaseCalendarPresenter releaseCalendarPresenter = new ReleaseCalendarPresenter() { ReleaseCalendar = new ReleaseCalendar() }; this.AssignValuesToPresenter(releaseCalendarPresenter); releaseCalendarPresenter.SelectedDate = dateTime; if (isMonthView) { this.InitializeMonthViewPresenter(dateTime, releaseCalendarPresenter); } else { releaseCalendarPresenter.AssignReleases(this.releaseService.RetrieveListForDate(dateTime, null, null, SessionData.Instance.UserInfo.Developer.DeveloperID, true)); releaseCalendarPresenter.Releases.Select(release => { return ValidateDates(release, dateTime); }).ToList(); releaseCalendarPresenter.TotalReleases = releaseCalendarPresenter.Releases.Count; this.AssignProjectReleaseTypes(releaseCalendarPresenter, isMonthView); releaseCalendarPresenter.AssignSelectedProjects(releaseCalendarPresenter.MasterProjects); } return releaseCalendarPresenter; }