/// <summary> /// Assigns the values. /// </summary> /// <param name="presenter">The presenter.</param> private void AssignTeamAllocationValues(TeamAllocationPresenter presenter) { IList<int> projectids = presenter.SelectedProjects.Count > 0 ? presenter.SelectedProjects.Select(s => s.ProjectID).ToList() : null; presenter.DeveloperInfo = this.developerService.RetrieveWithManagerInfo(new List<int>() { presenter.DeveloperId }, SessionData.Instance.UserInfo.Developer.DeveloperID); if (presenter.DeveloperInfo != null) { presenter.DeveloperInfo.DeveloperImage = presenter.DeveloperInfo.LoginID.RetrieveDeveloperImageName(); } presenter.PreviousMonthSummary = this.teamEngagementService.RetrieveCount(new List<int>() { presenter.DeveloperId }, presenter.SelectedDate.RetrievePreviousMonthStartDate(), presenter.SelectedDate.RetrievePreviousMonthEndDate(), projectids, false, false, SessionData.Instance.UserInfo.Developer.DeveloperID); presenter.NextMonthSummary = this.teamEngagementService.RetrieveCount(new List<int>() { presenter.DeveloperId }, presenter.SelectedDate.RetrieveNextMonthStartDate(), presenter.SelectedDate.RetrieveNextMonthEndDate(), projectids, false, false, SessionData.Instance.UserInfo.Developer.DeveloperID); presenter.CurrentMonthSummary = this.teamEngagementService.RetrieveCount(new List<int>() { presenter.DeveloperId }, presenter.SelectedDate.RetrieveCurrentMonthStartDate(), presenter.SelectedDate.RetrieveCurrentMonthEndDate(), projectids, false, false, SessionData.Instance.UserInfo.Developer.DeveloperID); presenter.AssignTeamAllocationList(this.teamEngagementService.RetrieveList(presenter.DeveloperId, presenter.SelectedDate.RetrieveCurrentMonthStartDate(), presenter.SelectedDate.RetrieveCurrentMonthEndDate(), projectids, SessionData.Instance.UserInfo.Developer.DeveloperID)); this.AssignTeamEngagementList(presenter); }
public PartialViewResult DeleteAllocationListRecord(TeamAllocationPresenter presenter, string allocationId, string partialId, string developerId, string startDate, string endDate, string projectId, string pageFlag, string date) { this.SetProjectListInPresenter(presenter); var developerList = this.developerService.RetrieveList(null, null, SessionData.Instance.UserInfo.Developer.DeveloperID); presenter.AssignDeveloperList(developerList.Where(x => x.DeveloperID != presenter.DeveloperId).ToList()); var teamAllocationList = presenter.TeamAllocationList.ToList(); var removableListItem = partialId == "0" ? presenter.TeamAllocationList.Single(r => r.AllocationID == Convert.ToInt32(allocationId)) : presenter.TeamAllocationList.Single(r => r.PartialID == Convert.ToInt32(partialId)); if (removableListItem != null) { if (partialId == "0") { ModelState.Clear(); this.teamEngagementService.Delete(Convert.ToInt32(developerId, CultureInfo.CurrentCulture), Convert.ToInt32(projectId, CultureInfo.CurrentCulture), Convert.ToDateTime(startDate, CultureInfo.InvariantCulture), Convert.ToDateTime(endDate, CultureInfo.InvariantCulture)); var projectids = presenter.SelectedProjects.Count > 0 ? presenter.SelectedProjects.Select(s => s.ProjectID).ToList() : null; presenter.SelectedDate = (!string.IsNullOrEmpty(pageFlag) && pageFlag.Equals(DateCurrentPage, StringComparison.OrdinalIgnoreCase)) || !string.IsNullOrEmpty(date) ? Convert.ToDateTime(date) : DateTimeHelper.RetrieveCurrentDateTime(); var startDateTime = (string.IsNullOrEmpty(pageFlag) && string.IsNullOrEmpty(date)) || (!string.IsNullOrEmpty(pageFlag) && pageFlag.Equals(DateCurrentPage, StringComparison.OrdinalIgnoreCase)) ? presenter.SelectedDate : presenter.SelectedDate.RetrieveCurrentMonthStartDate(); var endDateTime = !string.IsNullOrEmpty(pageFlag) && pageFlag.Equals(FromCalendarPage, StringComparison.OrdinalIgnoreCase) ? presenter.SelectedDate.RetrieveCurrentMonthEndDate() : (!string.IsNullOrEmpty(pageFlag) && pageFlag.Equals(DateCurrentPage, StringComparison.OrdinalIgnoreCase) ? presenter.SelectedDate : (DateTime?)null); presenter.AssignTeamAllocationList(this.RetrieveTeamAllocationList(presenter, projectids, startDateTime, endDateTime)); foreach (var allocationList in teamAllocationList.Where(item => item.PartialID > 0).ToList()) { presenter.TeamAllocationList.Add(allocationList); } presenter.IdSuffixValue = presenter.TeamAllocationList.Count; } else { ModelState.Clear(); teamAllocationList.Remove(removableListItem); presenter.AssignTeamAllocationList(teamAllocationList); } } presenter.IdSuffixValue = presenter.TeamAllocationList.Count; return this.PartialView(AllocationListConstant, presenter); }
/// <summary> /// Assigns the team engagement list. /// </summary> /// <param name="presenter">The presenter.</param> private void AssignTeamEngagementList(TeamAllocationPresenter presenter) { var loanResourceList = this.loanResourceService.RetrieveList(presenter.DeveloperId, presenter.SelectedDate.RetrieveCurrentMonthStartDate(), presenter.SelectedDate.RetrieveCurrentMonthEndDate()); loanResourceList = loanResourceList.Where(l => l.LoanResourceID != null && l.AvailableLoanHours > 0).Select(AssignManagerShortName).ToList(); foreach (var loanResource in loanResourceList) { var teamAllocationItem = new TeamEngagementDateListItem { Date = loanResource.Date, IsHoliday = loanResource.IsHoliday, ProjectName = loanResource.ManagerShortName, ProjectID = loanResource.LoanResourceID, ProjectAllocatedHours = loanResource.AvailableLoanHours, TotalAvailableHours = loanResource.AvailableLoanHours, IsLoanResource = true, LoanResourceTooltip = loanResource.ManagerName }; presenter.TeamAllocationList.Add(teamAllocationItem); } var teamAllocationList = presenter.TeamAllocationList.GroupBy(p => new { date = p.Date.Value, isHoliday = p.IsHoliday }).Select(grp => new TeamEngagementDateListItem { Date = grp.Key.date, TeamEngagementItems = grp.OrderBy(g => g.Priority).ToList(), IsHoliday = grp.Key.isHoliday }).ToList(); teamAllocationList.ForEach(t => { t.TotalAllocatedHours = t.TeamEngagementItems.Where(i => i.IsLoanResource == false).Select(s => s.TotalAllocatedHours).FirstOrDefault(); t.TotalAvailableHours = t.TeamEngagementItems.Where(i => i.IsLoanResource == false).Select(s => s.TotalAvailableHours).FirstOrDefault(); }); presenter.AssignTeamAllocationList(teamAllocationList); }
/// <summary> /// Manages the allocation. /// </summary> /// <param name="developerId">The developer identifier.</param> /// <param name="date">The date.</param> /// <param name="pageFlag">The page flag.</param> /// <returns> /// Manage Allocation Page /// </returns> public ActionResult ManageAllocation(int developerId, string date, string pageFlag) { this.AddBreadcrumbItem(Resources.Assignments, Url.AssignmentsAction()); this.AddBreadcrumbItem(Resources.ViewAllocations, Url.ViewAllocationAction()); var presenter = new TeamAllocationPresenter(); presenter.LeaveDays = this.RetireveLeavesDetails(developerId.ToString()); this.SetProjectListInPresenter(presenter); presenter.DeveloperId = developerId; var developerList = this.developerService.RetrieveList(null, null, SessionData.Instance.UserInfo.Developer.DeveloperID); presenter.AssignDeveloperList(developerList.Where(x => x.DeveloperID != developerId).ToList()); var projectids = presenter.SelectedProjects.Count > 0 ? presenter.SelectedProjects.Select(s => s.ProjectID).ToList() : null; presenter.DeveloperInfo = this.developerService.RetrieveWithManagerInfo(new List<int>() { presenter.DeveloperId }, SessionData.Instance.UserInfo.Developer.DeveloperID); if (presenter.DeveloperInfo != null) { presenter.DeveloperInfo.DeveloperImage = presenter.DeveloperInfo.LoginID.RetrieveDeveloperImageName(); } presenter.SelectedDate = (!string.IsNullOrEmpty(pageFlag) && pageFlag.Equals(DateCurrentPage, StringComparison.OrdinalIgnoreCase)) || !string.IsNullOrEmpty(date) ? Convert.ToDateTime(date) : DateTimeHelper.RetrieveCurrentDateTime(); var startDate = (string.IsNullOrEmpty(pageFlag) && string.IsNullOrEmpty(date)) || (!string.IsNullOrEmpty(pageFlag) && pageFlag.Equals(DateCurrentPage, StringComparison.OrdinalIgnoreCase)) ? presenter.SelectedDate : presenter.SelectedDate.RetrieveCurrentMonthStartDate(); var endDate = !string.IsNullOrEmpty(pageFlag) && pageFlag.Equals(FromCalendarPage, StringComparison.OrdinalIgnoreCase) ? presenter.SelectedDate.RetrieveCurrentMonthEndDate() : (!string.IsNullOrEmpty(pageFlag) && pageFlag.Equals(DateCurrentPage, StringComparison.OrdinalIgnoreCase) ? presenter.SelectedDate : (DateTime?)null); presenter.AssignTeamAllocationList(this.RetrieveTeamAllocationList(presenter, projectids, startDate, endDate)); if (presenter.TeamAllocationList.Count >= 0) { if (!string.IsNullOrEmpty(pageFlag) && pageFlag.Equals(FromCalendarPage, StringComparison.OrdinalIgnoreCase)) { presenter.SelectedDate = DateTimeHelper.RetrieveCurrentDateTime(); } presenter.TeamAllocationList.Add(new TeamEngagementDateListItem() { Date = presenter.SelectedDate, EndDate = presenter.SelectedDate, ProjectAllocatedHours = 0, AllocationID = 0, PartialID = 1 }); } presenter.IdSuffixValue = presenter.TeamAllocationList.Count; return this.View(ManageAllocationConstant, presenter); }