/// <summary> /// GetAssessments - returns a list of assessments meeting the specified criteria. If no arguments are supplied, returns all /// assessments in the database. If an identity is passed as an argument, then only the assessments owned by the identity are /// returned. /// </summary> /// <param name="uid">Optional Integer - Identity to use when retrieving assessments. Default to 0.</param> /// <param name="alt">Optional AssessmentLoadType - used to limit the size of the child data retrieved. Defaults to TableOnly.</param> /// <returns>Returns a List of Assessment objects</returns> public List <Assessment> GetAssessments(int uid = 0, AssessmentLoadType alt = AssessmentLoadType.TableOnly) { // Recycle context to ensure we get updates made in other contexts context.Dispose(); context = new OwaspSAMMContext(); var results = new List <Assessment>(); try { if (uid == 0) { // Return all assessments results = context.Assessments.Fill(alt) .OrderBy(o => o.ApplicationName) .ToList(); } else { // Filter Assessments by user ID results = context.Assessments.Fill(alt) .Where(o => o.OwnerID == uid) .OrderBy(o => o.ApplicationName) .ToList(); } } catch (Exception ex) { throw new ApplicationException("Error: OwaspSAMMRepository.GetAssessments", ex); } return(results); }