public static void OnDinnerModifiedTimeEvent(NerdDinnerDomainEvents.DinnerModifiedTimeEvent ev) { //Time is modified on this event...We need to generate the emails to send to all users //Those email are then sent to the external bus so the real email sender process can send using (EventStoreNhib.UnitOfWork uow = new EventStoreNhib.UnitOfWork(DB.GetFactory().OpenSession(), false)) { EventStoreInfrastructure.IRepository<NerdDinnerDomain.Dinner> repDinners = uow.CreateRepository<NerdDinnerDomain.Dinner>(); NerdDinnerDomain.Dinner oDinner = repDinners.GetById(ev.EntityId); string fromemail = "*****@*****.**"; string fromname = "system info"; //Send to organizer EventStoreInfrastructure.IRepository<NerdDinnerDomain.User> repUsers = uow.CreateRepository<NerdDinnerDomain.User>(); NerdDinnerDomain.User oUser = repUsers.GetById( oDinner.Organizer_User_id ); string toemail = oUser.Forname + "." + oUser.Surname + "@" + oUser.Surname.ToString() + ".com"; string toname = oUser.Forname + " " + oUser.Surname; string message = "You have modified the time for dinner at " + oDinner.Location + " " + oDinner.Date.ToString(); MessageEndpoint.Bus.Send(new NerdCommandMessages.External.SendMail { MessageGuid = Guid.NewGuid(), FromEmail = fromemail, FromName = fromname, ToEmail = toemail, ToName = toname, Header = "Your dinner has changed", Message = message }); foreach (Guid userid in oDinner.Participants) { oUser = repUsers.GetById(userid); toemail = oUser.Forname + "." + oUser.Surname + "@" + oUser.Surname.ToString() + ".com"; toname = oUser.Forname + " " + oUser.Surname; message = "New dinner time at " + oDinner.Location + " " + oDinner.Date.ToString(); MessageEndpoint.Bus.Send(new NerdCommandMessages.External.SendMail { MessageGuid = Guid.NewGuid(), FromEmail = fromemail, FromName = fromname, ToEmail = toemail, ToName = toname, Header = "Dinner time has changed", Message = message }); } } }
public static void OnDinnerAddedParticipantEvent(NerdDinnerDomainEvents.DinnerAddedParticipantEvent ev) { //Send email to that user - and to organizer using (EventStoreNhib.UnitOfWork uow = new EventStoreNhib.UnitOfWork(DB.GetFactory().OpenSession(), false)) { EventStoreInfrastructure.IRepository<NerdDinnerDomain.Dinner> repDinners = uow.CreateRepository<NerdDinnerDomain.Dinner>(); NerdDinnerDomain.Dinner oDinner = repDinners.GetById(ev.EntityId); string fromemail = "*****@*****.**"; string fromname = "system info"; //Send to organizer EventStoreInfrastructure.IRepository<NerdDinnerDomain.User> repUsers = uow.CreateRepository<NerdDinnerDomain.User>(); NerdDinnerDomain.User oUserOrg = repUsers.GetById(oDinner.Organizer_User_id); NerdDinnerDomain.User oUser = repUsers.GetById(ev.User_id); string toemail = oUserOrg.Forname + "." + oUserOrg.Surname + "@" + oUserOrg.Surname.ToString() + ".com"; string toname = oUserOrg.Forname + " " + oUserOrg.Surname; string message = oUser.Forname + " " + oUser.Surname + " is coming to your dinner at " + oDinner.Location + " " + oDinner.Date.ToString(); MessageEndpoint.Bus.Send(new NerdCommandMessages.External.SendMail { MessageGuid = Guid.NewGuid(), FromEmail = fromemail, FromName = fromname, ToEmail = toemail, ToName = toname, Header = "Someone is coming to your dinner", Message = message }); toemail = oUser.Forname + "." + oUser.Surname + "@" + oUser.Surname.ToString() + ".com"; toname = oUser.Forname + " " + oUser.Surname; message = "You have registered for dinner at " + oDinner.Location + " " + oDinner.Date.ToString(); MessageEndpoint.Bus.Send(new NerdCommandMessages.External.SendMail { MessageGuid = Guid.NewGuid(), FromEmail = fromemail, FromName = fromname, ToEmail = toemail, ToName = toname, Header = "Dinner registration", Message = message }); } }
public void OnUserCreatedEvent(NerdDinnerDomainEvents.UserCreatedEvent ev) { //When a new user has been created THIS should happen string s1 = "USER " + ev.EntityId.ToString() + " was created " + ev.Forname + " " + ev.Surname; using (TextWriter w = System.IO.File.AppendText("UserCreatedEvent-domainevents.txt")) { w.WriteLine(DateTime.Now.ToString() + " " + s1); } }
private void onUserChangedNameEvent(NerdDinnerDomainEvents.UserChangedNameEvent oUserChangedNameEvent) { Forname = oUserChangedNameEvent.Forname; Surname = oUserChangedNameEvent.Surname; }
private void onUserCreatedEvent(NerdDinnerDomainEvents.UserCreatedEvent oUserCreatedEvent) { Id = oUserCreatedEvent.EntityId; Forname = oUserCreatedEvent.Forname; Surname = oUserCreatedEvent.Surname; Joined = oUserCreatedEvent.Joined; }
private void onDinnerRemovedParticipantEvent(NerdDinnerDomainEvents.DinnerRemovedParticipantEvent ev) { if (Participants.Contains(ev.User_id)) Participants.Remove(ev.User_id); }
private void onDinnerModifiedTimeEvent(NerdDinnerDomainEvents.DinnerModifiedTimeEvent oDinnerModifiedTimeEvent) { Date = oDinnerModifiedTimeEvent.Date; }
private void onDinnerModifiedLocationEvent(NerdDinnerDomainEvents.DinnerModifiedLocationEvent ev) { Location = ev.Location; }
private void onDinnerModifiedDescriptionEvent(NerdDinnerDomainEvents.DinnerModifiedDescriptionEvent ev) { Description = ev.Description; }
private void onDinnerCreatedEvent(NerdDinnerDomainEvents.DinnerCreatedEvent oUserCreatedEvent) { Id = oUserCreatedEvent.EntityId; Date = oUserCreatedEvent.Date; Location = oUserCreatedEvent.Location; Description = oUserCreatedEvent.Description; Organizer_User_id = oUserCreatedEvent.Organizer_User_id; }
private void onDinnerAddedParticipantEvent(NerdDinnerDomainEvents.DinnerAddedParticipantEvent ev) { if (!Participants.Contains(ev.User_id)) Participants.Add(ev.User_id); }
public static void OnUserOptedInForDinnerEvent(NerdDinnerDomainEvents.UserOptedInForDinnerEvent ev) { #if(false) string fromemail = "*****@*****.**"; string fromname = "system info"; using (Systementor.Database.Repositories.IUnitOfWork uow = DB.DataContext.CreateUnitOfWork(false)) { Systementor.Database.Repositories.IRepository<NerdDinnerDomain.User> rep = uow.CreateRepository<NerdDinnerDomain.User>(); Systementor.Database.Repositories.IRepository<NerdDinnerDomain.Dinner> repDinner = uow.CreateRepository<NerdDinnerDomain.Dinner>(); NerdDinnerDomain.Dinner oDinner = repDinner.Get(p => p.Id == args.DinnerId); NerdDinnerDomain.User oUser = rep.Get(p => p.Id == args.User_Id_Opted_In); NerdDinnerDomain.User o = rep.Get(p => p.Id == args.User_Id_Opted_In); if (args.Owner_User_id != args.User_Id_Opted_In) { string toemail = oUser.Forname + "." + oUser.Surname + "@" + args.Owner_User_id.ToString() + ".com"; string toname = oUser.Forname + " " + oUser.Surname; string message = "You have registered for dinner at " + oDinner.Location + " " + oDinner.Date.ToString(); MessageEndpoint.Bus.Send(new NerdCommandMessages.External.SendMail { MessageGuid = Guid.NewGuid(), FromEmail = fromemail, FromName = fromname, ToEmail = toemail, ToName = toname, Header = "You opted in for a dinner", Message=message }); } //Message to owner NerdDinnerDomain.User oUserOwner = rep.Get(p => p.Id == args.Owner_User_id); string toemailowner = oUserOwner.Forname + "." + oUserOwner.Surname + "@" + oUserOwner.Id.ToString() + ".com"; string tonameowner = oUserOwner.Forname + " " + oUserOwner.Surname; string messageowner = oUser.Forname + " " + oUser.Surname + " have registered for the dinner you are arranging at " + oDinner.Location + " " + oDinner.Date.ToString(); MessageEndpoint.Bus.Send(new NerdCommandMessages.External.SendMail { MessageGuid = Guid.NewGuid(), FromEmail = fromemail, FromName = fromname, ToEmail = toemailowner, ToName = tonameowner, Header = "Someone coming to your dinner", Message = messageowner }); } #endif }