/// <summary>
 /// Retrieves the team allocations.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 /// <param name="fromDate">From date</param>
 /// <param name="toDate"> To  date</param>
 /// <param name="tab">The type of tab</param>
 private void RetrieveTeamAllocations(TeamDashboardPresenter presenter, DateTime? fromDate, DateTime? toDate, TeamViewType tab)
 {
     if (tab == TeamViewType.Team)
     {
         var teamAllocations = this.teamEngagementService.RetrieveDeveloperList(new List<int>() { presenter.TeamMember.DeveloperID }, null, fromDate, toDate, SessionData.Instance.UserInfo.Developer.DeveloperID);
         presenter.AssignTeamAllocationList(teamAllocations.Where(team => team.DeveloperID != presenter.TeamMember.DeveloperID).ToList());
         presenter.TotalAllocationHours = presenter.TeamAllocationList.Count > 0 ? (from a in presenter.TeamAllocationList select a.AllocatedHours).Sum() : 0;
     }
     else
     {
         presenter.AssignTeamAllocations(this.teamEngagementService.RetrieveDeveloperProjectList(presenter.TeamMember.DeveloperID, null, fromDate, toDate));
         presenter.TotalAllocationHours = presenter.TeamAllocations.Count > 0 ? (from a in presenter.TeamAllocations select a.AllocatedHours).Sum() : 0;
     }
 }
 /// <summary>
 /// Assigns the leave counts.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 /// <param name="teamViewType">Type of the team view.</param>
 /// <param name="durationOption">The duration option.</param>
 private void AssignLeaveCounts(TeamDashboardPresenter presenter, TeamViewType teamViewType, string durationOption)
 {
     if (teamViewType == TeamViewType.Team)
     {
         presenter.AssignLeaveCountByStatusList(this.RetrieveLeaveCountByStatusList(durationOption, presenter.TeamMember.DeveloperID, null));
     }
     else
     {
         presenter.AssignLeaveCountByStatusList(this.RetrieveLeaveCountByStatusList(durationOption, null, presenter.TeamMember.DeveloperID.ToString(CultureInfo.CurrentCulture)));
     }
 }
 /// <summary>
 /// Assigns the work items.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 private void AssignWorkItems(TeamDashboardPresenter presenter)
 {
     this.AssignTaskDetails(presenter, null);
     this.AssignBugDetails(presenter, null);
     var masterProjectlist = this.RetrieveMasterProjects();
     this.AssignWorkItemValues(presenter, masterProjectlist);
 }
        /// <summary>
        /// Initializes the presenter.
        /// </summary>
        /// <param name="presenter">The presenter.</param>
        private void InitializePresenter(TeamDashboardPresenter presenter)
        {
            this.AssignLeaveDetails(presenter);
            this.AssignLoanResourceDetails(presenter);
            this.AssignTicketData(presenter);
            var developerList = this.RetrieveDeveloperList(presenter.TeamMember.DeveloperID, null);
            if (developerList.Count > 0)
            {
                presenter.HasTeam = true;
            }

            presenter.SelectedStatus = InProgressStatus;
            var teamList = this.RetrieveDeveloperList(SessionData.Instance.UserInfo.Developer.DeveloperID, null);
            if (teamList.Count > 0)
            {
                teamList.Add(SessionData.Instance.UserInfo.Developer);
            }

            var result = teamList.Where(a => a.DeveloperID == presenter.TeamMember.DeveloperID).ToList();
            if (result.Count > 0)
            {
                presenter.IsUnderHierarchy = true;
            }

            switch (presenter.TeamViewType)
            {
                case TeamViewType.None:
                    this.AssignTeamDashboardValues(presenter);
                    break;

                case TeamViewType.Assignments:
                    this.RetrieveThisMonthTeamAllocations(presenter, presenter.TeamViewType);
                    break;

                case TeamViewType.Team:
                    this.AssignTeamValues(presenter);
                    break;

                case TeamViewType.WorkItems:
                    this.AssignWorkItems(presenter);
                    break;

                case TeamViewType.Leaves:

                    break;

                case TeamViewType.PersonalInformation:
                    break;

                case TeamViewType.Tickets:
                    this.AssignIssueDetails(presenter);
                    break;
            }
        }
 /// <summary>
 /// Assigns the loan resource details.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 private void AssignLoanResourceDetails(TeamDashboardPresenter presenter)
 {
     var teamMembers = this.RetrieveDeveloperList(SessionData.Instance.UserInfo.Developer.DeveloperID, null);
     presenter.AssignTeamMembersList(teamMembers);
     var supervisors = this.RetrieveDeveloperList(null, null);
     presenter.AssignSupervisorsList(supervisors.Where(s => s.DeveloperID != SessionData.Instance.UserInfo.Developer.DeveloperID).ToList());
 }
        public ActionResult RefreshTicketDashboardData(TeamDashboardPresenter presenter)
        {
            TicketFilter ticketFilter = new TicketFilter();
            if (presenter != null)
            {
                if (!string.IsNullOrEmpty(presenter.SelectedTicketDashboardStatusId))
                {
                    ticketFilter.StatusId = Convert.ToInt32(presenter.SelectedTicketDashboardStatusId, CultureInfo.CurrentCulture);
                }
                else
                {
                    ticketFilter.StatusId = 1; //// Show open ticket after removing the Status filter.
                }

                if (!string.IsNullOrEmpty(presenter.SelectedTicketDashboardPriorityId))
                {
                    ticketFilter.Priority = Convert.ToInt32(presenter.SelectedTicketDashboardPriorityId, CultureInfo.CurrentCulture);
                }

                if (!string.IsNullOrEmpty(Convert.ToString(presenter.StartDate, CultureInfo.CurrentCulture)))
                {
                    ticketFilter.StartDate = presenter.StartDate;
                }

                if (!string.IsNullOrEmpty(Convert.ToString(presenter.EndDate, CultureInfo.CurrentCulture)))
                {
                    if (presenter.EndDate == DateTime.MinValue)
                    {
                        ticketFilter.EndDate = null;
                    }
                    else
                    {
                        ticketFilter.EndDate = presenter.EndDate;
                    }
                }

                if (!string.IsNullOrEmpty(presenter.SelectedTicketDashboardAssignedToDeveloperId))
                {
                    var selectedAssignedToDeveloperIds = Convert.ToString(presenter.SelectedTicketDashboardAssignedToDeveloperId, CultureInfo.CurrentCulture);
                    var ticketAssignedToArray = selectedAssignedToDeveloperIds.Split(',');
                    foreach (var ticketAssignedTo in ticketAssignedToArray)
                    {
                        ticketFilter.DeveloperIds.Add(ticketAssignedTo);
                    }
                }

                if (!string.IsNullOrEmpty(presenter.SelectedTicketDashboardCreatedByDeveloperId))
                {
                    var selectedCreatedByIds = Convert.ToString(presenter.SelectedTicketDashboardCreatedByDeveloperId, CultureInfo.CurrentCulture);
                    var ticketCreatedByArray = selectedCreatedByIds.Split(',');
                    foreach (var ticketCreatedBy in ticketCreatedByArray)
                    {
                        ticketFilter.CreatedByIds.Add(ticketCreatedBy);
                    }
                }

                if (!string.IsNullOrEmpty(presenter.SelectedTicketDashboardClientId))
                {
                    var selectedClientIds = Convert.ToString(presenter.SelectedTicketDashboardClientId, CultureInfo.CurrentCulture);
                    var ticketSelectedClientArray = selectedClientIds.Split(',');
                    foreach (var ticketSelectedClient in ticketSelectedClientArray)
                    {
                        ticketFilter.ClientIds.Add(ticketSelectedClient);
                    }
                }

                if (!string.IsNullOrEmpty(presenter.SelectedTicketDashboardProjectId))
                {
                    var selectedProjectIds = Convert.ToString(presenter.SelectedTicketDashboardProjectId, CultureInfo.CurrentCulture);
                    var ticketProjectArray = selectedProjectIds.Split(',');
                    foreach (var ticketProject in ticketProjectArray)
                    {
                        ticketFilter.ProjectIds.Add(ticketProject);
                    }
                }

                IList<TicketCommentDetails> ticketCommentDetails = this.ticketService.RetrieveOpenTicketAdvanceCommentDetails(ticketFilter, userId: SessionData.Instance.UserInfo.Developer.DeveloperID);
                presenter.AssignTicketCommentList(ticketCommentDetails);
                presenter.AssignTicketCommentUnreadCounts(ticketCommentDetails);
                presenter.AssignDeveloperList(this.lookupService.RetrieveDeveloperListItem(SessionData.Instance.UserInfo.Developer.DeveloperID));
                presenter.AssignProjectsList(presenter.IncludeInactive ? this.lookupService.RetrieveTicketProjectListItem(null, null, null, false, SessionData.Instance.UserInfo.Developer.DeveloperID) : this.lookupService.RetrieveTicketProjectListItem(null, null, false, false, SessionData.Instance.UserInfo.Developer.DeveloperID));
                return this.PartialView(TicketDashboardPartialView, presenter);
            }

            return this.Json(string.Empty);
        }
        public ActionResult RefreshMyLeaves(TeamDashboardPresenter presenter, string durationOption)
        {
            if (presenter != null)
            {
                this.AssignLeaveCounts(presenter, presenter.TeamViewType, durationOption);
                return this.PartialView(MyLeavesPartialView, presenter);
            }

            return this.Json(string.Empty);
        }
        /// <summary>
        /// Assigns the task details.
        /// </summary>
        /// <param name="presenter">The presenter.</param>
        /// <param name="projectIds">The project ids.</param>
        private void AssignTaskDetails(TeamDashboardPresenter presenter, IList<int> projectIds)
        {
            int? count = null;
            if (presenter.TeamViewType == TeamViewType.None)
            {
                count = CountNumber;
            }

            presenter.AssignTaskList(this.developerService.RetrieveDeveloperTasks(projectIds, presenter.TeamMember.DeveloperID, count, presenter.SelectedStatus));
            presenter.AssignTeamPortalTaskList(this.taskService.RetrieveTeamPortalTask(projectIds, presenter.TeamMember.DeveloperID, count, presenter.SelectedStatus));
            presenter.AssignTaskStatusFilter(this.lookupService.RetrieveTaskStatusFilterList(SessionData.Instance.UserInfo.Developer.DeveloperID));
            presenter.AssignPriorityList(this.lookupService.RetrieveTaskPriorityList(SessionData.Instance.UserInfo.Developer.DeveloperID));
        }
 /// <summary>
 /// Assigns the ticket data.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 private void AssignTicketData(TeamDashboardPresenter presenter)
 {
     if (SessionData.Instance.UserInfo != null && SessionData.Instance.UserInfo.Developer != null)
     {
         var ticketData = this.ticketService.RetrieveTicketCommentDetails(projectIds: null, clientIds: null, assignedUserIds: null, assigneeFilter: null, userId: SessionData.Instance.UserInfo.Developer.DeveloperID);
         presenter.AssignTicketCommentList(ticketData);
         presenter.AssignTicketCommentUnreadCounts(ticketData);
         presenter.AssignTicketAssigneeFilterList(this.ticketService.ListTicketAssigneeFilter());
         presenter.AssignProjectsList(presenter.IncludeInactive ? this.lookupService.RetrieveTicketProjectListItem(null, null, null, false, SessionData.Instance.UserInfo.Developer.DeveloperID) : this.lookupService.RetrieveTicketProjectListItem(null, null, false, false, SessionData.Instance.UserInfo.Developer.DeveloperID));
         presenter.AssignTagList(this.lookupService.RetrieveTagList());
         presenter.AssignStatusList(this.ticketService.ListTicketsStatus());
         presenter.AssignPriorityList(this.lookupService.RetrievePriorityListItem(SessionData.Instance.UserInfo.Developer.DeveloperID));
         presenter.AssignDeveloperList(this.lookupService.RetrieveDeveloperListItem(SessionData.Instance.UserInfo.Developer.DeveloperID));
         var clients = this.lookupService.RetrieveClients(null, false, SessionData.Instance.UserInfo.Developer.DeveloperID);
         presenter.AssignTicketClient(clients.Sort());
         this.LoadChart(presenter);
     }
 }
 /// <summary>
 /// Loads the chart.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 private void LoadChart(TeamDashboardPresenter presenter)
 {
     var developerList = this.RetrieveDeveloperList(presenter.TeamMember.DeveloperID, null);
     if (developerList.Count > 0)
     {
         var manager = presenter.TeamMember.CopyObject<DeveloperListItem>();
         manager.ManagerID = null;
         developerList.Add(manager);
         var dic = developerList.ToDictionary(n => n.DeveloperID, n => n);
         developerList.AssignLevel(dic);
         presenter.AssignDeveloperList(developerList);
     }
 }
        /// <summary>
        /// Assigns the bug details.
        /// </summary>
        /// <param name="presenter">The presenter.</param>
        /// <param name="projectIds">The project ids.</param>
        private void AssignBugDetails(TeamDashboardPresenter presenter, IList<int> projectIds)
        {
            int? count = null;
            if (presenter.TeamViewType == TeamViewType.None)
            {
                count = CountNumber;
            }

            presenter.AssignBugList(this.developerService.RetrieveDeveloperBugs(projectIds, presenter.TeamMember.DeveloperID, count));
        }
 /// <summary>
 /// Retrieves next month team allocations.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 /// <param name="tab">The tab type.</param>
 private void RetrieveNextMonthTeamAllocations(TeamDashboardPresenter presenter, TeamViewType tab)
 {
     var nextMonthDates = RetrieveNextMonthDates();
     this.RetrieveTeamAllocations(presenter, nextMonthDates.Item1, nextMonthDates.Item2, tab);
 }
 /// <summary>
 /// Retrieves the timesheet defaulters.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 private void RetrieveTimesheetDefaulters(TeamDashboardPresenter presenter)
 {
     var developerList = this.RetrieveDeveloperList(presenter.TeamMember.DeveloperID, null);
     var fromDate = DateTimeHelper.RetrieveCurrentDateTime().AddDays(-1);
     var timesheetDefaulters = this.reportService.RetrieveTimesheetDefaulters(fromDate, fromDate, presenter.TeamMember.DeveloperID);
     var timesheetDefaultersList = (from timesheetDefaulter in timesheetDefaulters
                                    join developer in developerList
                                    on timesheetDefaulter.DeveloperID equals developer.DeveloperID
                                    select timesheetDefaulter).ToList();
     presenter.AssignTimesheetDefaulters(timesheetDefaultersList);
 }
 /// <summary>
 /// Assigns the team values.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 private void AssignTeamValues(TeamDashboardPresenter presenter)
 {
     this.RetrieveThisMonthTeamAllocations(presenter, presenter.TeamViewType);
     this.AssignLeaveCounts(presenter, presenter.TeamViewType, ThisMonth);
     this.RetrieveTimesheetDefaulters(presenter);
     this.LoadChart(presenter);
 }
        /// <summary>
        /// Marks the section action.
        /// </summary>
        /// <param name="presenter">The presenter.</param>
        /// <param name="modeId">The mode identifier.</param>
        /// <param name="viewId">The view identifier.</param>
        /// <returns>return Action</returns>
        public ActionResult MarkSectionAction(TeamDashboardPresenter presenter, string modeId, int? viewId)
        {
            StringCollection sc = new StringCollection();
            if (presenter.MarkedTicketIds.Contains(","))
            {
                var markedTicketsIds = presenter.MarkedTicketIds.Split(',');
                foreach (var items in markedTicketsIds)
                {
                    sc.Add(items);
                }
            }
            else
            {
                sc.Add(presenter.MarkedTicketIds);
            }

            if (modeId == "6")
            {
                var getRemoveMultipleTicketAssignments = this.ticketService.RemoveMultipleTicketAssignment(Convert.ToInt32(SessionData.Instance.UserInfo.Developer.DeveloperID, CultureInfo.CurrentCulture), sc);
                presenter.AssignRemoveMultipleTicketAssigneeDetail(getRemoveMultipleTicketAssignments);
            }
            else
            {
                this.ticketService.UpdateTickets(sc, Convert.ToInt32(SessionData.Instance.UserInfo.Developer.DeveloperID, CultureInfo.CurrentCulture), modeId);
            }

            var ticketresult = this.ticketService.RetrieveTicketCommentDetails(projectIds: null, clientIds: null, assignedUserIds: null, assigneeFilter: null, userId: SessionData.Instance.UserInfo.Developer.DeveloperID);
            presenter.AssignTicketCommentList(this.AssignTicketNavigation(ticketresult, viewId));
            presenter.AssignTicketCommentUnreadCounts(ticketresult);
            presenter.AssignDeveloperList(this.lookupService.RetrieveDeveloperListItem(SessionData.Instance.UserInfo.Developer.DeveloperID));
            presenter.AssignProjectsList(presenter.IncludeInactive ? this.lookupService.RetrieveTicketProjectListItem(null, null, null, false, SessionData.Instance.UserInfo.Developer.DeveloperID) : this.lookupService.RetrieveTicketProjectListItem(null, null, false, false, SessionData.Instance.UserInfo.Developer.DeveloperID));
            return this.PartialView(TicketDashboardPartialView, presenter);
        }
 /// <summary>
 /// Assigns the ticket details.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 private void AssignTicketDetails(TeamDashboardPresenter presenter)
 {
     if (SessionData.Instance.UserInfo != null && SessionData.Instance.UserInfo.Developer != null)
     {
         presenter.AssignProjectsList(presenter.IncludeInactive ? this.lookupService.RetrieveTicketProjectListItem(null, null, null, false, SessionData.Instance.UserInfo.Developer.DeveloperID) : this.lookupService.RetrieveTicketProjectListItem(null, null, false, false, SessionData.Instance.UserInfo.Developer.DeveloperID));
         presenter.AssignTicketAssigneeFilterList(this.ticketService.ListTicketAssigneeFilter());
     }
 }
        /// <summary>
        /// Adds the multiple ticket comments.
        /// </summary>
        /// <param name="presenter">The presenter.</param>
        /// <param name="ticketId">The ticket identifier.</param>
        /// <returns>add multiple comments</returns>
        public ActionResult AddMultipleTicketComments(TeamDashboardPresenter presenter, string ticketId)
        {
            if (!string.IsNullOrEmpty(presenter.Description) && !string.IsNullOrEmpty(ticketId))
            {
                presenter.Comment.Description = presenter.Description;
                presenter.Comment.TicketId = Convert.ToInt32(ticketId, CultureInfo.CurrentCulture);
                this.ticketService.PostComment(presenter.Comment, SessionData.Instance.UserInfo.Developer.DeveloperID);
                var ticketResult = this.ticketService.RetrieveTicketCommentDetails(projectIds: null, clientIds: null, assignedUserIds: null, assigneeFilter: null, userId: SessionData.Instance.UserInfo.Developer.DeveloperID);
                presenter.AssignTicketCommentUnreadCounts(ticketResult);
                presenter.AssignTicketCommentList(ticketResult);
                presenter.AssignDeveloperList(this.lookupService.RetrieveDeveloperListItem(SessionData.Instance.UserInfo.Developer.DeveloperID));
                presenter.AssignProjectsList(presenter.IncludeInactive ? this.lookupService.RetrieveTicketProjectListItem(null, null, null, false, SessionData.Instance.UserInfo.Developer.DeveloperID) : this.lookupService.RetrieveTicketProjectListItem(null, null, false, false, SessionData.Instance.UserInfo.Developer.DeveloperID));
            }

            return this.PartialView(TicketDashboardPartialView, presenter);
        }
        /// <summary>
        /// Indexes the specified tab identifier.
        /// </summary>
        /// <param name="tabId">The tab identifier.</param>
        /// <param name="developerId">The developer identifier.</param>
        /// <returns>view of task</returns>
        public ActionResult Index(string tabId, string developerId)
        {
            TeamDashboardPresenter presenter = new TeamDashboardPresenter();
            presenter.TeamMember = string.IsNullOrWhiteSpace(developerId) ? SessionData.Instance.UserInfo.Developer : this.developerService.RetrieveByDeveloperId(Convert.ToInt32(developerId, CultureInfo.CurrentCulture), SessionData.Instance.UserInfo.Developer.DeveloperID);

            if (presenter.TeamMember.DeveloperID != SessionData.Instance.UserInfo.Developer.DeveloperID && !SessionUserManager.IsUserHR() && this.RetrieveDeveloperList(SessionData.Instance.UserInfo.Developer.DeveloperID, null).Count() == 0)
            {
                this.AddBreadcrumbItem(Resources.TeamMemberDashboard, Url.TeamDashboardAction());
                return this.Redirect(Url.TeamDashboardAction());
            }
            else
            {
                if (SessionUserManager.IsUserHR() || this.RetrieveDeveloperList(SessionData.Instance.UserInfo.Developer.DeveloperID, null).Count() > 0)
                {
                    this.AddBreadcrumbItem(Resources.Assignments, Url.AssignmentsAction());
                }
            }

            var tabName = this.RetrieveTeamViewType(tabId);
            if (tabName.Equals(NoTab))
            {
                this.AddBreadcrumbItem(Resources.TeamMemberDashboard, Url.TeamDashboardAction());
            }
            else
            {
                this.AddBreadcrumbItem(string.Format(CultureInfo.CurrentCulture, CommonUrlFormat, Resources.TeamMemberDashboard, tabName), Url.TeamDashboardAction());
            }

            presenter.TeamMember.DeveloperImage = presenter.TeamMember.LoginID.RetrieveDeveloperImageName();
            presenter.AssignDevelopers(SessionData.Instance.AllDevelopers);
            AssignTeamViewType(presenter, tabId);
            this.InitializePresenter(presenter);

            return this.View(presenter);
        }
        public ActionResult RefreshBugDetail(TeamDashboardPresenter presenter)
        {
            IList<int> projectIds = null;
            if (presenter != null)
            {
                if (!string.IsNullOrEmpty(presenter.SelectedBugProjectId))
                {
                    projectIds = presenter.SelectedBugProjectId.Split(',').Select(id => Convert.ToInt32(id, CultureInfo.CurrentCulture)).ToList();
                }

                this.AssignBugDetails(presenter, projectIds);

                return this.PartialView(BugDetailPartialView, presenter);
            }

            return this.Json(string.Empty);
        }
        public ActionResult Index(TeamDashboardPresenter presenter)
        {
            if (SessionUserManager.IsUserHR() || this.RetrieveDeveloperList(presenter.TeamMember.DeveloperID, null).Count() > 0)
            {
                this.AddBreadcrumbItem(Resources.Assignments, Url.AssignmentsAction());
            }

            this.AddBreadcrumbItem(Resources.TeamMemberDashboard, Url.TeamDashboardAction());
            presenter.TeamMember = this.developerService.RetrieveByDeveloperId(presenter.TeamMember.DeveloperID, SessionData.Instance.UserInfo.Developer.DeveloperID);
            presenter.TeamMember.DeveloperImage = presenter.TeamMember.LoginID.RetrieveDeveloperImageName();
            presenter.AssignDevelopers(SessionData.Instance.AllDevelopers);
            this.InitializePresenter(presenter);
            return this.View(presenter);
        }
 /// <summary>
 /// Assigns the type of the team view.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 /// <param name="tabId">The tab identifier.</param>
 private static void AssignTeamViewType(TeamDashboardPresenter presenter, string tabId)
 {
     presenter.TeamViewType = string.IsNullOrEmpty(tabId) ? TeamViewType.None : (TeamViewType)Enum.Parse(typeof(TeamViewType), tabId);
 }
        public ActionResult RefreshTeamAllocations(TeamDashboardPresenter presenter, string durationOption)
        {
            if (presenter != null)
            {
                if (!string.IsNullOrEmpty(durationOption) && durationOption.Equals(ThisMonth, StringComparison.OrdinalIgnoreCase))
                {
                    this.RetrieveThisMonthTeamAllocations(presenter, presenter.TeamViewType);
                }
                else if (!string.IsNullOrEmpty(durationOption) && durationOption.Equals(NextMonth, StringComparison.OrdinalIgnoreCase))
                {
                    this.RetrieveNextMonthTeamAllocations(presenter, presenter.TeamViewType);
                }

                if (presenter.TeamViewType == TeamViewType.Team)
                {
                    return this.PartialView(TeamAllocationContainerPartialView, presenter);
                }
                else if (presenter.TeamViewType == TeamViewType.Assignments)
                {
                    return this.PartialView(TeamAllocationPartialView, presenter);
                }
                else
                {
                    this.AssignAllocatedWorkItems(presenter);
                    this.AssignTicketDetails(presenter);
                    this.RefreshTicketDetail(presenter);
                    return this.PartialView(AllocationsAndWorkItemsPartialView, presenter);
                }
            }

            return this.Json(string.Empty);
        }
 /// <summary>
 /// Assigns the leave details.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 private void AssignLeaveDetails(TeamDashboardPresenter presenter)
 {
     var leaveTypes = this.lookupService.RetrieveLeaveTypes(SessionData.Instance.UserInfo.Developer.DeveloperID).ToList();
     presenter.AssignLeaveTypes(leaveTypes);
     var leaveDayTypes = this.lookupService.RetrieveLeaveDayTypes(SessionData.Instance.UserInfo.Developer.DeveloperID).ToList();
     presenter.AssignLeaveDayTypes(leaveDayTypes);
     var holidays = this.lookupService.RetrieveHolidays(DateTime.Now.Year, SessionData.Instance.UserInfo.Developer.DeveloperID).Select(holiday => holiday.Date.ToString(MonthDateFormat, CultureInfo.CurrentCulture)).ToList();
     for (int count = 0; count < holidays.Count; count++)
     {
         if (count == 0)
         {
             presenter.Holidays = holidays[count];
         }
         else
         {
             presenter.Holidays = string.Format(CultureInfo.CurrentCulture, "{0},{1}", presenter.Holidays, holidays[count]);
         }
     }
 }
        public ActionResult RefreshTicketDetail(TeamDashboardPresenter presenter)
        {
            TicketFilter ticketFilter = new TicketFilter();
            if (presenter != null)
            {
                if (!string.IsNullOrEmpty(presenter.SelectedTicketFilterStatusId))
                {
                    ticketFilter.TicketFilterId = presenter.SelectedTicketFilterStatusId;
                }
                else
                {
                    ticketFilter.TicketFilterId = null;
                }

                if (!string.IsNullOrEmpty(presenter.SelectedTicketProjectId))
                {
                    if (!string.IsNullOrEmpty(ticketFilter.TicketFilterId))
                    {
                        presenter.AssignTicketCommentList(this.ticketService.RetrieveTicketCommentDetails(projectIds: presenter.SelectedTicketProjectId, clientIds: null, assignedUserIds: null, assigneeFilter: Convert.ToByte(ticketFilter.TicketFilterId), userId: SessionData.Instance.UserInfo.Developer.DeveloperID));
                    }
                    else
                    {
                        presenter.AssignTicketCommentList(this.ticketService.RetrieveTicketCommentDetails(projectIds: presenter.SelectedTicketProjectId, clientIds: null, assignedUserIds: null, assigneeFilter: null, userId: SessionData.Instance.UserInfo.Developer.DeveloperID));
                    }
                }
                else if (!string.IsNullOrEmpty(ticketFilter.TicketFilterId))
                {
                    presenter.AssignTicketCommentList(this.ticketService.RetrieveTicketCommentDetails(projectIds: null, clientIds: null, assignedUserIds: null, assigneeFilter: Convert.ToByte(ticketFilter.TicketFilterId), userId: SessionData.Instance.UserInfo.Developer.DeveloperID));
                }
                else
                {
                    presenter.AssignTicketCommentList(this.ticketService.RetrieveTicketCommentDetails(projectIds: null, clientIds: null, assignedUserIds: null, assigneeFilter: null, userId: SessionData.Instance.UserInfo.Developer.DeveloperID));
                }

                return this.PartialView(TicketDetailPartialView, presenter);
            }

            return this.Json(string.Empty);
        }
 /// <summary>
 /// Assigns the team dashboard values.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 private void AssignTeamDashboardValues(TeamDashboardPresenter presenter)
 {
     this.RetrieveThisMonthTeamAllocations(presenter, presenter.TeamViewType);
     this.AssignAllocatedWorkItems(presenter);
     this.AssignLeaveCounts(presenter, presenter.TeamViewType, ThisMonth);
 }
 /// <summary>
 /// Views the ticket comments.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 /// <param name="ticketId">The ticket identifier.</param>
 /// <returns>return comment</returns>
 public ActionResult ViewTicketComments(TeamDashboardPresenter presenter, int ticketId)
 {
     var ticketInfos = this.ticketService.RetrieveTicketDetails(Convert.ToString(ticketId, CultureInfo.CurrentCulture), Convert.ToString(SessionData.Instance.UserInfo.Developer.DeveloperID));
     presenter.AssignTicketCommentDetail(ticketInfos);
     return this.PartialView(MultipeTicketCommentsPartialView, presenter);
 }
 /// <summary>
 /// Assigns the allocated work items.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 private void AssignAllocatedWorkItems(TeamDashboardPresenter presenter)
 {
     var masterProjectlist = this.RetrieveMasterProjects();
     this.AssignWorkItemValues(presenter, masterProjectlist);
     this.AssignTaskDetails(presenter, null);
     this.AssignBugDetails(presenter, masterProjectlist.Select(p => p.ProjectID).ToList());
 }
        /// <summary>
        /// Tickets the dashboard navigation filter.
        /// </summary>
        /// <param name="presenter">The presenter.</param>
        /// <param name="viewsId">The views identifier.</param>
        /// <returns>
        /// return Action
        /// </returns>
        public ActionResult TicketDashboardNavigationFilter(TeamDashboardPresenter presenter, int viewsId)
        {
            if (viewsId > 0)
            {
                presenter.TeamMember = SessionData.Instance.UserInfo.Developer;
                this.AssignTicketData(presenter);
                presenter.AssignTicketCommentUnreadCounts(presenter.TicketCommentDetails);
                var ticketResult = new List<TicketCommentDetails>();
                presenter.AssignTicketCommentList(this.AssignTicketNavigation(presenter.TicketCommentDetails, viewsId));
            }

            return this.PartialView(TicketDashboardPartialView, presenter);
        }
 /// <summary>
 /// Assigns the issue details.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 private void AssignIssueDetails(TeamDashboardPresenter presenter)
 {
     presenter.AssignProjectsList(presenter.IncludeInactive ? this.lookupService.RetrieveTicketProjectListItem(null, null, null, false, SessionData.Instance.UserInfo.Developer.DeveloperID) : this.lookupService.RetrieveTicketProjectListItem(null, null, false, false, SessionData.Instance.UserInfo.Developer.DeveloperID));
     presenter.AssignTicketClient(this.lookupService.RetrieveClients(null, null, SessionData.Instance.UserInfo.Developer.DeveloperID));
 }
 /// <summary>
 /// Assigns the work item values.
 /// </summary>
 /// <param name="presenter">The presenter.</param>
 /// <param name="projects">The projects.</param>
 private void AssignWorkItemValues(TeamDashboardPresenter presenter, IList<ProjectFillItem> projects)
 {
     presenter.AssignTaskProjects(projects);
     presenter.AssignBugProjects(projects);
     presenter.AssignSelectedTaskProjects(presenter.TaskProjects);
     presenter.AssignSelectedBugProjects(presenter.BugProjects);
 }