Beispiel #1
0
        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));
        }