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);
        }
        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 HttpResponseMessage SearchFilterTickets(TicketFilter ticketFilter, string currentDate, string userId)
 {
     var ticketList = this.ticketService.SearchFilterTickets(ticketFilter, Convert.ToInt32(userId, CultureInfo.CurrentCulture), currentDate);
     return Request.CreateResponse(HttpStatusCode.OK, ticketList);
 }