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); }
/// <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> /// 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> /// 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> /// 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); } }