public async Task <CommandResponseDto> UpdateProductOption(UpdateProductOptionCommand command) { try { await _mediator.Send(command); } catch (Exception ex) { return(CommandResponseDto.Fail(GetErrorMessage(ex))); } return(CommandResponseDto.Success); }
private async Task HandleConnection( CancellationTokenSource cancellationTokenSource, StreamReader reader, StreamWriter writer) { var json = await reader.ReadJsonAsync(cancellationTokenSource.Token); var loginDto = json.FromJson <LoginDto>(); var commandResponseDto = new CommandResponseDto { ErrorCode = (int)CommandErrorCode.Success }; if (!TryAuthorize(loginDto)) { commandResponseDto.ErrorCode = (int)CommandErrorCode.WrongLogin; await writer.WriteLineAsync(commandResponseDto.ToJson()).ConfigureAwait(false); return; } await writer.WriteLineAsync(commandResponseDto.ToJson()).ConfigureAwait(false); var connection = _connectionFactory.Create(loginDto); lock (ConnectionsLock) { _connections.Add(connection); } try { await connection.RunAsync(reader, writer, cancellationTokenSource).ConfigureAwait(false); } finally { lock (ConnectionsLock) { _connections.Remove(connection); } Log.Info($"{loginDto.Login} disconnected"); } }
private async Task HandleIncomingDataAsync(StreamReader reader, CancellationToken cancellationToken) { while (!cancellationToken.IsCancellationRequested) { try { var command = await _adminCommandFactory.CreateAsync(reader, cancellationToken).ConfigureAwait(false); if (command == null) { if (reader.EndOfStream) { return; } continue; } if (!(command is StartPushingStateAdminCommand)) { continue; } command.Validate(_game); var commandResponseDto = command.Execute(_game); Send(commandResponseDto); _pushDataState = PushDataState.First; } catch (CommandException exception) { var commandResponseDto = new CommandResponseDto { ErrorCode = (int)exception.ErrorCode, Message = exception.Message }; Send(commandResponseDto); } } }
public async Task CreateProductOptionShouldReturnErrorWhenFail() { // Arrange _productOptionService.Setup(x => x.CreateProductOption(It.IsAny <CreateProductOptionCommand>())).ReturnsAsync(CommandResponseDto.Fail("Error message!")); var controller = new ProductOptionsController(_productOptionService.Object); // Act var response = await controller.CreateOption(Guid.NewGuid(), new ProductOptionRequestDto()); // Assert Assert.IsInstanceOfType(response, typeof(BadRequestErrorMessageResult)); Assert.AreEqual(((BadRequestErrorMessageResult)response).Message, "Error message!"); }
public async Task UpdateProductShouldReturnErrorWhenFail() { // Arrange _productInterface.Setup(x => x.UpdateProduct(It.IsAny <UpdateProductCommand>())).ReturnsAsync(CommandResponseDto.Fail("Error update message!")); var controller = new ProductsController(_productInterface.Object); // Act var response = await controller.Update(Guid.NewGuid(), new Business.Dtos.Product.Request.ProductRequestDto()); // Assert Assert.IsInstanceOfType(response, typeof(BadRequestErrorMessageResult)); Assert.AreEqual(((BadRequestErrorMessageResult)response).Message, "Error update message!"); }