public async Task ReceiveOrders() { string ConnectionId = Context.ConnectionId; string GroupName = Context.User.FindFirst(ClaimTypes.PrimarySid).Value; await Groups.AddToGroupAsync(ConnectionId, Context.User.FindFirst(ClaimTypes.PrimarySid).Value); // listar todos os pedidos do usuário, ordenados por mais recente var request = new ListOrdersByUserRequest(Guid.Parse(Context.User.FindFirst(ClaimTypes.PrimarySid).Value)); var response = await mediator.Send(request, CancellationToken.None); await Clients.Group(GroupName).SendAsync("ReceiveOrders", response); }
public async Task <IActionResult> ChangeStatus(Guid order_id, EOrderStatus status_id) { try { string userId = User.FindFirst(ClaimTypes.PrimarySid).Value; var request = new UpdateStatusOrderRequest(order_id, status_id); var response = await _mediator.Send(request, CancellationToken.None); if (response.Success == true) { var requestList = new ListOrdersByUserRequest(Guid.Parse(userId)); var responseList = await _mediator.Send(requestList, CancellationToken.None); await this.ordersHubContext.Clients.Group(userId).SendAsync("ReceiveOrders", responseList); return(Ok(responseList)); } return(Ok()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }