public void Initialize()
 {
     _testReport = new Report(
        ReportTypeEnum.HighPriority,
        "Test message",
        "40.104669",
        "-88.242254",
        "University of Illinois Campus",
        DateTime.UtcNow,
        new User("test.user"));
     _testReport.CreateReport(null);
 }
  public void TestCreateReportWithNoFile()
  {
      Report report = new Report(
          ReportTypeEnum.HighPriority, 
          "Test message", 
          "40.104669", 
          "-88.242254", 
          "University of Illinois Campus",
          DateTime.UtcNow,
          new User("test.user"));
      string result = report.CreateReport(null);
 
      Assert.IsTrue(result.Equals("success"), result);
  }
        public void TestCreateReport()
        {
            ReportTypeEnum reportTypeId = (ReportTypeEnum)Enum.Parse(
                typeof(ReportTypeEnum),
                TestContext.DataRow["ReportTypeId"].ToString());
            String message = TestContext.DataRow["Message"].ToString();
            String latitude = TestContext.DataRow["Latitude"].ToString();
            String longitude = TestContext.DataRow["Longitude"].ToString();
            String location = TestContext.DataRow["Location"].ToString();
            DateTime dateReported = Convert.ToDateTime(TestContext.DataRow["DateReported"]);
            User user = new User
            {
                UserName = TestContext.DataRow["UserName"].ToString()
            };
            String expectedResult = TestContext.DataRow["Result"].ToString();

            Report report = new Report(reportTypeId, message, latitude,
                longitude, location, dateReported, user);
            string actualResult = report.CreateReport(new TestContentLocator());
            Assert.IsTrue(actualResult.Contains(expectedResult), actualResult);
        }
        /// <summary>
        /// Process Request saves the user report including photos,video, and audio given the HttpContext
        /// </summary>
        public void ProcessRequest(HttpContext context)
        {
            HttpRequest request = context.Request;
            HttpResponse response = context.Response;
            String jsonString = String.Empty;
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            try
            {
                HttpPostedFile photo1 = request.Files["photo1"];
                HttpPostedFile photo2 = request.Files["photo2"];
                HttpPostedFile photo3 = request.Files["photo3"];
                HttpPostedFile video = request.Files["video"];
                HttpPostedFile audio = request.Files["audio"];

                Report report = new Report
                {
                    ReportTypeId = (ReportTypeEnum) Int16.Parse(request.Form["reportTypeId"]),
                    Latitude = request.Form["lat"],
                    Longitude = request.Form["lng"],
                    Location = request.Form["location"],
                    DateReported = Convert.ToDateTime(request.Form["timeStamp"]),
                    User = new User(request.Form["userName"]),
                    Message = request.Form["desc"]
                };
                AddMedia(report, photo1, photo2, photo3, video, audio);

                jsonString = serializer.Serialize(
                    new { result = report.CreateReport(new WebContentLocator()) });
            }
            catch (Exception ex)
            {
                jsonString = serializer.Serialize(new { result = ex.Message });
            }
            finally
            {
                response.Write(jsonString);
                response.ContentType = "application/json";
            }
        }