private void OnVacationRequested(VacationIsRequested message) { var datesPeriod = new DatesPeriod(message.StartDate, message.EndDate); var calendarEvent = new CalendarEvent(message.EventId, CalendarEventTypes.Vacation, datesPeriod, VacationStatuses.Requested, this.EmployeeId); this.EventsById[message.EventId] = calendarEvent; }
protected override void InsertCalendarEvent(CalendarEvent calendarEvent, OnSuccessfulUpsertCallback onUpsert) { var eventId = calendarEvent.EventId; var newEvent = new VacationIsRequested() { EmployeeId = this.EmployeeId, EventId = eventId, StartDate = calendarEvent.Dates.StartDate, EndDate = calendarEvent.Dates.EndDate, TimeStamp = DateTimeOffset.Now }; this.Persist(newEvent, e => { this.OnVacationRequested(e); onUpsert(this.EventsById[eventId]); }); }