public void Send_Email() { var newEvent = new Event { Id = 2, Subject = "test", Body = "body", Category = new Category { Id = 1 }, CreatedBy = new User { Id = 1, Email = "*****@*****.**" }, Date = DateTime.Today, From = DateTime.Now.AddHours(-1).TimeOfDay, To = DateTime.Now.AddHours(1).TimeOfDay, }; IUsersRepository userRepository = new FakeUserRepo(); var mailService = new MailService(userRepository); mailService.Send(EventStatus.Removed, newEvent); }
public IHttpActionResult CreateEvent(Event newEvent) { eventRepository.Create(newEvent); mailService.Send(EventStatus.New, newEvent); return Ok(); }
private void SetRecipients(MailMessage message, Event @event) { var recipients = userRepository.GetEmailsByCategory(@event.Category); foreach (var email in recipients) { message.To.Add(new MailAddress(email)); } }
private MailMessage CreateMailMessage(EventStatus status, Event @event) { var message = new MailMessage { Subject = PrepareSubject(status), Body = PrepareBodyAsHtml(@event), From = PrepareSender(@event), IsBodyHtml = true }; return message; }
//public void Create(Event newEvent) //{ // using (var connection = new SqlConnection(connectionString)) // { // connection.Open(); // var cmd = new SqlCommand(insertStatement, connection); // cmd.Parameters.Add("Id", SqlDbType.Int).Value = newEvent.Id; // cmd.Parameters.Add("CategoryId", SqlDbType.Int).Value = newEvent.Category.Id; // cmd.Parameters.Add("CreatedBy", SqlDbType.Int).Value = newEvent.CreatedBy.Id; // cmd.Parameters.Add("Date", SqlDbType.Date).Value = newEvent.Date; // cmd.Parameters.Add("TimeFrom", SqlDbType.Time).Value = newEvent.From; // cmd.Parameters.Add("TimeTo", SqlDbType.Time).Value = newEvent.To; // cmd.Parameters.Add("IsAllDayEvent", SqlDbType.Bit).Value = newEvent.IsAllDatEvent; // cmd.Parameters.Add("Subject", SqlDbType.NVarChar).Value = newEvent.Subject; // cmd.Parameters.Add("Body", SqlDbType.NVarChar).Value = newEvent.Body; // cmd.ExecuteNonQuery(); // } //} public void Create(Event newEvent) { using (var connection = new SqlConnection(connectionString)) { connection.Execute(insertStatement, new { Id = newEvent.Id, CategoryId = newEvent.Category.Id, CreatedBy = newEvent.CreatedBy.Id, Date = newEvent.Date, TimeFrom = newEvent.From, TimeTo = newEvent.To, IsAllDayEvent = newEvent.IsAllDatEvent, Subject = newEvent.Subject, Body = newEvent.Body }); } }
public void Create_Event() { var repo = new EventRepository(); var newEvent = new Event { Id = 2, Subject = "test", Body = "body", Category = new Category { Id = 1 }, CreatedBy = new User { Id = 1, Email = "*****@*****.**" }, Date = DateTime.Today, From = DateTime.Now.AddHours(-1).TimeOfDay, To = DateTime.Now.AddHours(1).TimeOfDay, }; repo.Create(newEvent); }
public Event GetById(int eventId) { var newEvent = new Event { Id = 2, Subject = "test fromt fake db", Body = "body", Category = new Category { Id = 1 }, CreatedBy = new User { Id = 1, Email = "*****@*****.**" }, Date = DateTime.Today, From = DateTime.Now.AddHours(-1).TimeOfDay, To = DateTime.Now.AddHours(1).TimeOfDay, }; return newEvent; }
public void Create(Event newEvent) { throw new NotImplementedException(); }
private string PrepareBodyAsHtml(Event @event) { return string.Format("<h2>{0}</h2><p>{1}</p>", @event.Subject, @event.Body); }
private MailAddress PrepareSender(Event @event) { return new MailAddress(@event.CreatedBy.Email); }
public void Send(EventStatus status, Event @event) { var message = CreateMailMessage(status, @event); SetRecipients(message, @event); Send(message); }