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