Esempio n. 1
0
 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");
            }
        }
Esempio n. 3
0
        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();
        }
Esempio n. 6
0
            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();
        }