public void EditEvent(Guid actorId, Guid eventId, EventForm eventForm) { if (eventForm.IsNull() || !eventForm.IsCorrectlyFilled()) { return; } var optionEvent = _eventRepository.Get(eventId); optionEvent.Do(@event => { var optionTracker = _trackerRepository.Get(@event.TrackerId); optionTracker.Do(tracker => { if (actorId != tracker.UserId) { return; } @event.Title = eventForm.Title; @event.ModificationDate = DateTime.Now; _eventRepository.Update(@event); }); }); }
public Guid CreateEvent(Guid actorId, Guid trackerId, EventForm eventForm) { if (eventForm.IsNull() || !eventForm.IsCorrectlyFilled()) { return(Guid.Empty); } var optionTracker = _trackerRepository.Get(trackerId); return(optionTracker.Match( Some: tracker => { if (actorId != tracker.UserId) { return Guid.Empty; } var eventId = Guid.NewGuid(); var @event = new Event(eventId, trackerId, eventForm.Title, DateTime.Now, DateTime.Now); _eventRepository.Save(@event); return eventId; }, None: Guid.Empty)); }