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(); }
public IActionResult DeleteEvent(int eventId) { var deleteEventDto = new DeleteEventDto { EventId = eventId }; _eventService.DeleteEvent(deleteEventDto); return(Ok(deleteEventDto)); }
public DeleteEvent( DeleteEventDto deleteEventRequest, CloudTable eventsTable, string loginUserId, ILogger logger) { _deleteEventRequest = deleteEventRequest; _loginUserId = loginUserId; _eventsTable = eventsTable; _logger = logger; }
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); }
public void DeleteEvent(DeleteEventDto dto) { _eventRepo.DeleteEvent(dto); }