public async Task <IActionResult> GetByIdAsync(int id) { var response = await _placeService.FindByIdAsync(id); if (!response.Success) { return(BadRequest(response)); } return(Ok(response)); }
public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { SavePlaceResource savePlaceResource; if (context.ActionArguments.ContainsKey("savePlaceResource")) { savePlaceResource = (SavePlaceResource)context.ActionArguments["savePlaceResource"]; } else { context.Result = new BadRequestObjectResult(new ErrorResource("Wrong argument provided.")); return; } DataResponse <PlaceResource> placeByIdResource = null; if (context.ActionArguments.ContainsKey("id")) { var placeId = (int)context.ActionArguments["id"]; placeByIdResource = await _placeService.FindByIdAsync(placeId); if (!placeByIdResource.Success) { context.Result = new NotFoundObjectResult(new ErrorResource("Place no found.")); return; } } var placeByNameResource = await _placeService.FindByNameAsync(savePlaceResource.Name); if (placeByNameResource.Success && placeByNameResource.Data != null) { if (placeByIdResource == null || placeByNameResource.Data.Id != placeByIdResource.Data.Id) { context.Result = new BadRequestObjectResult( new ErrorResource("There is another place with this name.")); return; } } await next(); }
public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { SaveReservationResource saveReservationResource; if (context.ActionArguments.ContainsKey("saveReservationResource")) { saveReservationResource = (SaveReservationResource)context.ActionArguments["saveReservationResource"]; } else { context.Result = new BadRequestObjectResult(new ErrorResource("Wrong argument provided.")); return; } if (context.ActionArguments.ContainsKey("id")) { var reservationId = (int)context.ActionArguments["id"]; var reservationResource = await _reservationService.FindByIdAsync(reservationId); if (!reservationResource.Success) { context.Result = new NotFoundObjectResult(new ErrorResource("Reservation no found.")); return; } } var placeResource = await _placeService.FindByIdAsync(saveReservationResource.PlaceId); if (!placeResource.Success) { context.Result = new NotFoundObjectResult(new ErrorResource("Place no found.")); return; } await next(); }