/// <summary> /// Executes Get User Detail Use Case /// </summary> /// <param name="input">The input<see cref="RegisterUserInput"/></param> /// <returns>The <see cref="Task"/></returns> public async Task Execute(UserDetailsInput input) { if (input is null) { _outputPort.WriteError(Messages.InputIsNull); _logger.LogInformation(Messages.InputIsNull); return; } else if (input.Id <= 0) { var message = string.Format(Messages.InvalidInputFor, Messages.UserId); _outputPort.WriteError(message); _logger.LogInformation(message); return; } _logger.LogInformation("Validation ok, retrieving user detail.."); var result = await _userRepository.GetById(input.Id); if (result == null) { _logger.LogInformation(Messages.CouldNotFindResult); _outputPort.NotFound(Messages.CouldNotFindResult); return; } var output = new UserDetailsOutput { User = (User)result }; this._outputPort.Standard(output); }
public async Task <IActionResult> GetUserById( [FromServices] IMediator mediator, [FromServices] UserDetailsPresenter presenter, [FromRoute][Required] UserDetailsInput input) { await mediator.PublishAsync(input); return(presenter.Result); }
public ActionResult ProcessDetails(UserDetailsInput input, User user) { if (ModelState.IsValid) { using (var db = new DataContext(user)) { user.Name = input.Name; user.Email = input.EmailAddress; user.Twitter = input.Twitter; db.SaveChanges(); } return(RedirectToAction("Index", "Home", new { area = "organizer" })); } return(View("Details")); }
public void Should_map_from_entity() { var entity = new User("foo") { Email = "email", Id = 2, Twitter = "twitter", ImageUrl = "image url", Name = "name" }; var input = new UserDetailsInput(entity); input.EmailAddress.ShouldEqual(entity.Email); input.Name.ShouldEqual(entity.Name); input.Twitter.ShouldEqual(entity.Twitter); }