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 });

            }
        }