public HttpResponseMessage Nlog(ErrorLog el) { try { if (!ModelState.IsValid) { return(this.Request.CreateResponse(HttpStatusCode.BadRequest, "your fields are not valid")); } string key = ConfigurationManager.AppSettings["Sendgrid.key"]; SendgridEmail svc = new SendgridEmail(key); string htmlBody = $@"<ul> <li>Name: {el.Name}</li> <li>Email: {el.Email}</li> <li>Phone Number: {el.Phone}</li> <li>Message Deatails: {el.Message}</li> </ul>"; Email msg = new Email { Body = htmlBody, From = el.Name, Subject = "Logfile", To = el.Email }; string envPath = HttpRuntime.AppDomainAppPath; string fileName = $"{envPath}\\logs\\2018-05-18.log"; byte[] fileData = null; FileInfo fileInfo = new FileInfo(fileName); long FileLength = fileInfo.Length; FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); BinaryReader br = new BinaryReader(fs); fileData = br.ReadBytes((int)FileLength); svc.SendMail(msg, true, fileName, fileData); return(this.Request.CreateResponse(HttpStatusCode.OK, "Successfully sent your mail!")); } catch (Exception ex) { return(this.Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
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)); }