/// <summary>
        /// Gets a list of reports from the database.
        /// </summary>
        /// <returns>The list of Report object.</returns>
        public static List<Report> GetReports()
        {
            SqlDataReader reader = ReportsDAO.GetReports();
            List<Report> reports = new List<Report>();

            try
            {
                int oReportId = reader.GetOrdinal("ReportId");
                int oReportType = reader.GetOrdinal("ReportType");
                int oMarkerImage = reader.GetOrdinal("MarkerImage");
                int oMessage = reader.GetOrdinal("Message");
                int oLatitude = reader.GetOrdinal("Latitude");
                int oLongitude = reader.GetOrdinal("Longitude");
                int oLocation = reader.GetOrdinal("Location");
                int oTimeStamp = reader.GetOrdinal("TimeStamp");
                int oUserName = reader.GetOrdinal("UserName");
                int oFirstName = reader.GetOrdinal("FirstName");
                int oLastName = reader.GetOrdinal("LastName");
                int oGender = reader.GetOrdinal("Gender");
                int oEmail = reader.GetOrdinal("Email");
                int oPhoneNumber = reader.GetOrdinal("PhoneNumber");
                int oAddress = reader.GetOrdinal("Address");
                int oZipCode = reader.GetOrdinal("ZipCode");

                while (reader.Read())
                {
                    Report report = new Report
                    {
                        ReportId = Convert.ToInt32(reader[oReportId]),
                        ReportType = reader[oReportType].ToString(),
                        MarkerImage = reader[oMarkerImage].ToString(),
                        Message = reader[oMessage].ToString(),
                        Latitude = reader[oLatitude].ToString(),
                        Longitude = reader[oLongitude].ToString(),
                        Location = reader[oLocation].ToString(),
                        DateReported = Convert.ToDateTime(reader[oTimeStamp]),
                        User = new User 
                        {
                            UserName = reader[oUserName].ToString(),
                            FirstName = reader[oFirstName].ToString(),
                            LastName = reader[oLastName].ToString(),
                            Gender = reader[oGender].ToString(),
                            Email = reader[oEmail].ToString(),
                            PhoneNumber = reader[oPhoneNumber].ToString(),
                            Address = reader[oAddress].ToString(),
                            ZipCode = reader[oZipCode].ToString()
                        }
                    };

                    for (int i = 1; i <= 5; i++)
                    {
                        String mediaUrl = reader["Media" + i].ToString();
                        if (!String.IsNullOrEmpty(mediaUrl))
                        {
                            report.AddUrlList(mediaUrl);
                        }
                    }
                    reports.Add(report);
                }
            }
            catch (Exception)
            {

            }
            finally
            {
                reader.Close();
            }
            return reports;
        }
        /// <summary>
        /// Gets a list of reports from the database.
        /// </summary>
        /// <returns>The list of Report object.</returns>
        public static List <Report> GetReports()
        {
            SqlDataReader reader  = ReportsDAO.GetReports();
            List <Report> reports = new List <Report>();

            try
            {
                int oReportId    = reader.GetOrdinal("ReportId");
                int oReportType  = reader.GetOrdinal("ReportType");
                int oMarkerImage = reader.GetOrdinal("MarkerImage");
                int oMessage     = reader.GetOrdinal("Message");
                int oLatitude    = reader.GetOrdinal("Latitude");
                int oLongitude   = reader.GetOrdinal("Longitude");
                int oLocation    = reader.GetOrdinal("Location");
                int oTimeStamp   = reader.GetOrdinal("TimeStamp");
                int oUserName    = reader.GetOrdinal("UserName");
                int oFirstName   = reader.GetOrdinal("FirstName");
                int oLastName    = reader.GetOrdinal("LastName");
                int oGender      = reader.GetOrdinal("Gender");
                int oEmail       = reader.GetOrdinal("Email");
                int oPhoneNumber = reader.GetOrdinal("PhoneNumber");
                int oAddress     = reader.GetOrdinal("Address");
                int oZipCode     = reader.GetOrdinal("ZipCode");

                while (reader.Read())
                {
                    Report report = new Report
                    {
                        ReportId     = Convert.ToInt32(reader[oReportId]),
                        ReportType   = reader[oReportType].ToString(),
                        MarkerImage  = reader[oMarkerImage].ToString(),
                        Message      = reader[oMessage].ToString(),
                        Latitude     = reader[oLatitude].ToString(),
                        Longitude    = reader[oLongitude].ToString(),
                        Location     = reader[oLocation].ToString(),
                        DateReported = Convert.ToDateTime(reader[oTimeStamp]),
                        User         = new User
                        {
                            UserName    = reader[oUserName].ToString(),
                            FirstName   = reader[oFirstName].ToString(),
                            LastName    = reader[oLastName].ToString(),
                            Gender      = reader[oGender].ToString(),
                            Email       = reader[oEmail].ToString(),
                            PhoneNumber = reader[oPhoneNumber].ToString(),
                            Address     = reader[oAddress].ToString(),
                            ZipCode     = reader[oZipCode].ToString()
                        }
                    };

                    for (int i = 1; i <= 5; i++)
                    {
                        String mediaUrl = reader["Media" + i].ToString();
                        if (!String.IsNullOrEmpty(mediaUrl))
                        {
                            report.AddUrlList(mediaUrl);
                        }
                    }
                    reports.Add(report);
                }
            }
            catch (Exception)
            {
            }
            finally
            {
                reader.Close();
            }
            return(reports);
        }