Ejemplo n.º 1
0
        /// <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);
        }