Beispiel #1
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, HttpMethod.PUT, HttpMethod.DELETE, Route = "events/{id}")] HttpRequest request,
            [Table("Events", Connection = "ConnectionStrings:StorageConnectionString")] CloudTable eventsTable,
            string id,
            ILogger logger)
        {
            await eventsTable.CreateIfNotExistsAsync();

            if (request.AuthenticateRequest(out var loginUserId, out var loginUserEmail))
            {
                if (request.Method == HttpMethod.PUT)
                {
                    var updateEventRequest = await request.DeserializeRequestAsync <UpdateEventDto>();

                    updateEventRequest.Id = id;

                    return(await new UpdateEventHandler(updateEventRequest, eventsTable, loginUserEmail, loginUserId, logger).ProcessAsync());
                }

                if (request.Method == HttpMethod.DELETE)
                {
                    var deleteEventRequest = new DeleteEventDto
                    {
                        Id = id
                    };

                    return(await new DeleteEventHandler(deleteEventRequest, eventsTable, loginUserId, logger).ProcessAsync());
                }
            }

            logger.LogWarning("Unauthorized Request to update-event");
            return(new UnauthorizedResult());
        }
        public void DeleteEvent(DeleteEventDto dto)
        {
            var eventToDelete = _context.Events
                                .Single(e => e.EventId == dto.EventId);

            eventToDelete.IsActive = false;
            _context.SaveChanges();
        }
Beispiel #3
0
        public IActionResult DeleteEvent(int eventId)
        {
            var deleteEventDto = new DeleteEventDto
            {
                EventId = eventId
            };

            _eventService.DeleteEvent(deleteEventDto);
            return(Ok(deleteEventDto));
        }
Beispiel #4
0
 public DeleteEvent(
     DeleteEventDto deleteEventRequest,
     CloudTable eventsTable,
     string loginUserId,
     ILogger logger)
 {
     _deleteEventRequest = deleteEventRequest;
     _loginUserId        = loginUserId;
     _eventsTable        = eventsTable;
     _logger             = logger;
 }
Beispiel #5
0
        public static bool ValidateRequest(DeleteEventDto deleteEventRequest)
        {
            var hasErrors = false;
            var errors    = new StringBuilder();

            if (string.IsNullOrEmpty(deleteEventRequest?.Id))
            {
                hasErrors = true;
                errors.AppendLine($"{nameof(deleteEventRequest.Id)} is required.");
            }

            if (hasErrors)
            {
                throw new ValidationException(errors.ToString());
            }

            return(true);
        }
Beispiel #6
0
 public void DeleteEvent(DeleteEventDto dto)
 {
     _eventRepo.DeleteEvent(dto);
 }