/// <summary> /// Handles a request /// </summary> /// <param name="request">The request</param> /// <param name="cancellationToken">Cancellation token</param> /// <returns> /// Response from the request /// </returns> public async Task <List <Stories> > Handle(GetStoryByUserIdQuery request, CancellationToken cancellationToken) { try { return(await repository.Stories.GetStoriesByUserId(request.UserId)); } catch (Exception ex) { logger.Error(ex, "Exception in method 'GetStoriesByUserIdHandler()'"); return(new List <Stories>()); } }
/// <summary> /// Updates the user name in stories. /// </summary> /// <param name="updateUserFullNameModel">The update user full name model.</param> public async Task UpdateUserNameInStories(UpdateUserFullNameModel updateUserFullNameModel) { using var scope = serviceScopeFactory.CreateScope(); var mediator = scope.ServiceProvider.GetRequiredService <IMediator>(); var getStoriesByUserIdQuery = new GetStoryByUserIdQuery(updateUserFullNameModel.Id); var stories = await mediator.Send(getStoriesByUserIdQuery); if (stories != null && stories.Any()) { stories.ForEach(x => x.Author = $"{updateUserFullNameModel.FirstName} {updateUserFullNameModel.LastName}"); } var updateStoriesCommand = new UpdateStoriesByUserIdCommand(updateUserFullNameModel.Id, stories); var response = await mediator.Send(updateStoriesCommand); }