public IList <RepresentingReport> SearchForUser(SearchModel searchModel)
        {
            try
            {
                IList <Report>             reports       = _reportDAO.SearchForUser(searchModel);
                IList <RepresentingReport> represReports = new List <RepresentingReport>();
                if (reports != null && reports.Any())
                {
                    foreach (var report in reports)
                    {
                        RepresentingReport representingReport = ConstructRepresentingReportByReport(report);
                        if (represReports != null)
                        {
                            represReports.Add(representingReport);
                        }
                    }
                }

                return(represReports);
            }
            catch (Exception e)
            {
                _customLogger.RecordError(e);
                throw;
            }
        }
        private RepresentingReport ConstructRepresentingReportByReport(Report report)
        {
            if (report == null)
            {
                return(null);
            }

            RepresentingReport representingReport = BLLAutomapper.Mapper.Map <RepresentingReport>(report);

            if (report.InternsId.HasValue)
            {
                representingReport.InternsFullName = _userDAO.GetById(report.InternsId.Value)?.FullName ?? string.Empty;
            }
            else
            {
                representingReport.InternsFullName = "";
            }

            if (report.MentorsId.HasValue)
            {
                representingReport.MentorsFullName = _userDAO.GetById(report.MentorsId.Value)?.FullName ?? string.Empty;
            }
            else
            {
                representingReport.MentorsFullName = "";
            }

            return(representingReport);
        }