public HttpResponseMessage GetSingleEmergencyReport(int id)
        {
            var repository = new EmergencyReportsRepository();
            var result     = repository.GetEmergencyReportById(id);

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
        public HttpResponseMessage GetEmergencyReportsByProperty(string property)
        {
            var repository = new EmergencyReportsRepository();
            var result     = repository.GetAllEmergencyReports().Where(er => er.PropertyName == property);

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
        public HttpResponseMessage GetEmergencyReportsList()
        {
            var repository = new EmergencyReportsRepository();
            var result     = repository.GetAllEmergencyReports();

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
        public HttpResponseMessage EditEmergencyReport(int Id, EmergencyReportsDto emergencyreport)
        {
            var repository = new EmergencyReportsRepository();
            var result     = repository.Edit(Id, emergencyreport);

            if (result)
            {
                return(Request.CreateResponse(HttpStatusCode.OK));
            }
            return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Report could not be updated"));
        }
        public HttpResponseMessage AddEmergencyReport(EmergencyReportsDto newEmergencyReport)
        {
            var repository            = new EmergencyReportsRepository();
            var id                    = repository.Create(newEmergencyReport);
            var emergencyReportToSend = repository.GetEmergencyReportForEmail(id);

            var bodyOfEmail =
                $@"Below is an emergency report generated by the on call manager:<br/>
Date: {emergencyReportToSend.Date} <br/>
Manager Name: {emergencyReportToSend.ManagerName} <br/>
Caller: {emergencyReportToSend.Caller}<br/>
Caller Phone Number: {emergencyReportToSend.CallerPhoneNumber}<br/>
Property Name: {emergencyReportToSend.PropertyName}<br/>
Address: {emergencyReportToSend.Address}<br/>
Incident Description: {emergencyReportToSend.IncidentDescription}<br/>
Action Taken: {emergencyReportToSend.ActionTaken}<br/>
";

            SendgridEmail.Execute(emergencyReportToSend.ManagerEmail, emergencyReportToSend.ManagerName, bodyOfEmail);


            return(Request.CreateResponse(HttpStatusCode.Created));
        }