private static void EnsureEventExists(Domain.Entities.Event @event) { if (@event == null) { throw new UseCaseException(HttpStatusCode.NotFound, "Event was not found."); } }
protected override void Handle(AddEventCommand request) { var _event = new Domain.Entities.Event(Guid.NewGuid(), request.Name, request.Description, request.Localization, request.StartDate, request.EndDate, request.OrganiserId, request.CategoryId); _dbContext.Events.Add(_event); if (_dbContext.SaveChanges() == 0) { throw new Exception("Could not add event"); } }
public async Task <UseCaseResult <Guid> > Handle([NotNull] EditEvent request, CancellationToken cancellationToken) { if (request == null) { throw new ArgumentNullException(nameof(request)); } var currentDiver = await currentUser.GetCurrentDiverAsync(); if (currentDiver == null) { logger.LogError("No diver record found for username [{username}]!", currentUser.Username); return(UseCaseResult <Guid> .NotFound()); } var evt = await eventRepository.FindByIdAsync(request.EventId); if (evt == null) { var newEvent = new Domain.Entities.Event( request.Title, request.Description, request.Location, request.MeetingPoint, request.StartTime, request.EndTime, currentDiver.Id); await eventRepository.InsertAsync(newEvent); return(UseCaseResult <Guid> .Success(newEvent.Id)); } var wasEdited = evt.Edit( currentDiver.Id, request.Title, request.Description, request.Location, request.MeetingPoint, request.StartTime, request.EndTime); if (!wasEdited) { return(UseCaseResult <Guid> .Fail(resultCategory : ResultCategory.AccessDenied)); } await eventRepository.UpdateAsync(evt); return(UseCaseResult <Guid> .Success(evt.Id)); }
public void DeleteBooking(Booking booking) { var evt = new Domain.Entities.Event { Action = "Delete", Transaction = Guid.NewGuid().ToString(), Table = "Booking", TableId = booking.Id, Content = $"{{Id : {booking.Id}}}", EventDate = DateTime.UtcNow }; _serviceManager.Event.CreateEvent(evt); _serviceManager.Save(); }
public void InsertBooking(Booking booking) { var evt = new Domain.Entities.Event { Action = "Insert", Transaction = Guid.NewGuid().ToString(), Table = "Booking", TableId = booking.Id, Content = JsonConvert.SerializeObject(booking), EventDate = DateTime.Now }; _serviceManager.Event.CreateEvent(evt); _serviceManager.Save(); }
public async Task <int> Handle(AddEvent request, CancellationToken cancellationToken) { var ev = new Domain.Entities.Event { Address = request.Address, Description = request.Description, EventName = request.EventName, EventTime = request.EventTime, LogoUri = request.LogoUri }; _dbContext.Events.Add(ev); await _dbContext.SaveChangesAsync(); return(ev.Id); }
public void UpdateBooking(Booking oldBooking, Booking newBooking) { bool flightChanged = oldBooking.FlightId != newBooking.FlightId; bool seatChanged = oldBooking.SeatId != newBooking.SeatId; if (!flightChanged && !seatChanged) { return; } var evt = new Domain.Entities.Event { Action = "Update", Transaction = Guid.NewGuid().ToString(), Table = "Booking", TableId = newBooking.Id, Content = JsonConvert.SerializeObject(newBooking), EventDate = DateTime.UtcNow }; _serviceManager.Event.CreateEvent(evt); _serviceManager.Save(); }