public async virtual Task <IActionResult> SetOrderAsync(ResourceOrderModel <TResource> resourceOrderModel) { if (!User.IsAuthorized(ResourceType)) { return(Unauthorized()); } var orderResourceEvent = new OrderResource <TResource>(resourceOrderModel); var context = await _mediator.Send(orderResourceEvent); if (context != null) { resourceOrderModel = context; } if (resourceOrderModel.Errors.Any()) { foreach (var error in resourceOrderModel.Errors) { ModelState.AddModelError(error.Key, error.Value); } } if (!ModelState.IsValid) { return(PartialView("_Order", resourceOrderModel)); } var update = await _repository.SetOrderAsync(resourceOrderModel); if (update <= 0) { return(BadRequest()); } _logger.LogResourceOrdered(ResourceType); var resourceOrderedEvent = new ResourceOrdered <TResource>(); await _mediator.Publish(resourceOrderedEvent); var resourcePersistedEvent = new ResourcePersisted <TResource>(); await _mediator.Publish(resourcePersistedEvent); return(Ok()); }
public async virtual Task <IActionResult> GetOrderAsync(string facets = "") { if (!User.IsAuthorized(ResourceType)) { return(Unauthorized()); } var model = new ResourceOrderModel <TResource>() { Facets = facets }; var resourceList = await _repository.GetOrderAsync(model); if (resourceList is null) { return(NotFound()); } model.Resources = resourceList; return(PartialView("_Order", model)); }