public IIssuesDTO GetIssue(int issueId)
        {
            IIssuesDTO issueDTO = null;

            try
            {
                using (EmployeePortalEntities portal = new EmployeePortalEntities())
                {
                    var issue = portal.Issues.Include("Employee").Where(i => i.IssueId == issueId && i.IsActive);
                    if (issue != null)
                    {
                        issueDTO = (IIssuesDTO)DTOFactory.Instance.Create(DTOType.IssuesDTO);
                        EntityConverter.FillDTOFromEntity(issue, issueDTO);
                    }

                    // issueDTO.PostedByName = issue.Employee.FirstName;
                    var issueHistoryList = portal.GetIssueHistoryByIssueId(issueId).ToList();
                    if (issueHistoryList.Count > 0)
                    {
                        issueDTO.IssueHistories = new List <IComplexIssueHistoryDTO>();
                        IComplexIssueHistoryDTO issueHistoryDTO = null;

                        foreach (var issueHistory in issueHistoryList)
                        {
                            issueHistoryDTO = (IComplexIssueHistoryDTO)DTOFactory.Instance.Create(DTOType.IssueHistoriesDTO);
                            EntityConverter.FillDTOFromComplexObject(issueHistory, issueHistoryDTO);
                            issueDTO.IssueHistories.Add(issueHistoryDTO);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ExceptionManager.HandleException(ex);
                throw new DACException(ex.Message);
            }

            return(issueDTO);
        }