private List <ProjectMileStone> GetProjectMileStones(int itemsPerPage, int pageNumber, out int dataCount)
        {
            try
            {
                var projectMilestoneList = new ProjectMileStoneServices().GetAllOrderedProjectMileStones(itemsPerPage, pageNumber, out dataCount);

                if (!projectMilestoneList.Any())
                {
                    dataCount          = 0;
                    ViewBag.TotalPages = 0;
                    ViewBag.Page       = 1;
                    return(new List <ProjectMileStone>());
                }
                ViewBag.PrDataCount = dataCount.ToString(CultureInfo.InvariantCulture);

                var totalPages = dataCount / itemsPerPage;

                if (dataCount % itemsPerPage != 0)
                {
                    totalPages++;
                }

                ViewBag.TotalPages = totalPages;
                ViewBag.Page       = pageNumber;
                projectMilestoneList.Remove(projectMilestoneList.Find(m => m.ProjectMileStoneId == (int)ProjectMilestoneNotAvailable.Not_Available));
                projectMilestoneList.ForEach(m =>
                {
                    var milestone = new ProjectMileStoneServices().GetProjectMileStone(m.ProjectMileStoneId);

                    if (milestone != null && milestone.ProjectMileStoneId > 0)
                    {
                        m.ParentName = milestone.Title;
                    }
                    else
                    {
                        m.ParentName = "N/A";
                    }

                    m.ProjectName = m.Project.Name;

                    m.DateDueString = m.DateDue.ToString("yyyy/MM/dd");
                    m.MileStoneName = m.MilestoneStatu.Name;
                });
                return(projectMilestoneList);
            }
            catch (Exception ex)
            {
                ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message);
                dataCount          = 0;
                ViewBag.TotalPages = 0;
                ViewBag.Page       = 1;
                return(new List <ProjectMileStone>());
            }
        }
        private List <ProjectMileStone> ProjectMileStonesForReport(long projectId)
        {
            try
            {
                var projectMilestoneList = new ProjectMileStoneServices().GetAllOrderedProjectMileStonesByProject(projectId);

                if (!projectMilestoneList.Any())
                {
                    return(new List <ProjectMileStone>());
                }

                projectMilestoneList.ForEach(m =>
                {
                    if (m.ParentId > 0)
                    {
                        var milestone = new ProjectMileStoneServices().GetProjectMileStone(m.ParentId);
                        if (milestone != null && milestone.ProjectMileStoneId > 0)
                        {
                            m.ParentName = milestone.Title;
                        }
                        else
                        {
                            m.ParentName = "N/A";
                        }
                    }

                    m.ProjectName   = m.Project.Name;
                    m.DateDueString = m.DateDue.ToString("yyyy/MM/dd");
                    m.MileStoneName = m.MilestoneStatu.Name;
                });
                return(projectMilestoneList);
            }
            catch (Exception ex)
            {
                ErrorLogger.LogEror(ex.StackTrace, ex.Source, ex.Message);
                return(new List <ProjectMileStone>());
            }
        }