/// <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 Handle(RegisterInput input) { if (input is null) { outputPort.WriteError(Message.InputIsNull); return; } var account = await accountService.CreateAccountAsync(); var appUser = new ApplicationUser() { Email = input.Email, UserName = input.UserName, AccountId = ((Account)account).Id, }; var res = await userManager.CreateAsync(appUser, input.Password); if (res.Succeeded) { await unitOfWork.Save(); await signInManager.SignInAsync(appUser, false); var token = tokenGenerator.GenerateToken(appUser); BuildOutput(token, account, appUser); } else { var message = res.Errors.Select(x => x.Description).Aggregate((a, b) => a + "\n" + b.ToString()); outputPort.WriteError(message); } }
public async Task Handle(LoginInput input) { if (input is null) { outputPort.WriteError(Message.InputIsNull); return; } var res = await signInManager.PasswordSignInAsync( input.UserName, input.Password, false, false); if (res.Succeeded) { var appUser = await userManager.FindByNameAsync(input.UserName); var token = tokenFactory.GenerateToken(appUser); BuildOutput(token, appUser); } else { outputPort.WriteError("Not found"); } }
public async Task Handle(DeleteTableInput input) { if (input is null) { outputPort.WriteError(Message.InputIsNull); return; } try { var table = await tableRepository.GetTableAsync(input.TableId, input.AccountId); foreach (var a in table.GetTasks()) { a.Delete(); } table.Delete(); await unitOfWork.Save(); BuildOutput(table); } catch (Exception e) { outputPort.WriteError(e.Message); } }
/// <summary> /// The Execute /// </summary> /// <param name="input">The input<see cref="RegisterUserInput"/></param> /// <returns>The <see cref="Task"/></returns> public async Task Execute(RegisterUserInput input) { if (input is null) { _outputPort.WriteError(Messages.InputIsNull); _logger.LogInformation("Input is null"); return; } _logger.LogInformation("Validation ok, Registering new user detail.."); input.User.Guid = Guid.NewGuid().ToString(); await _userRepository.Insert(input.User); var lastInsertedId = 1; if (lastInsertedId <= 0) { _logger.LogInformation(Messages.CouldNotRegister); this._outputPort.NotFound(Messages.CouldNotRegister); return; } var output = new RegisterUserOutput { Id = lastInsertedId }; _outputPort.Standard(output); }
public async Task Handle(GetTableDetailsInput input) { if (input is null) { outputPort.WriteError(Message.InputIsNull); return; } try { var table = await tableRepository.GetTableAsync(input.TableId, input.AccountId); BuildOutput(table); } catch (Exception e) { outputPort.WriteError(e.Message); } }
public async Task Handle(ChangeTableTitleInput input) { if (input is null) { outputPort.WriteError(Message.InputIsNull); return; } try { var table = await tableRepository.GetTableAsync(input.TableId, input.AccountId); table.ChangeName(input.Title); await unitOfWork.Save(); BuildOutput(table); } catch (Exception e) { outputPort.WriteError(e.Message); } }
public async Task Handle(AddTaskInput input) { if (input is null) { outputPort.WriteError(Message.InputIsNull); return; } try { var table = await tableRepository.GetTableAsync(input.TableId, input.AccountId); var task = await tableService.AddTask(table, input.TaskText); await unitOfWork.Save(); BuildOutput(task); } catch (Exception e) { outputPort.WriteError(e.Message); } }
public async Task Handle(CreateTableInput input) { if (input is null) { outputPort.WriteError(Message.InputIsNull); return; } try { var account = await accountRepository.GetAccountAsync(input.AccountId); var table = await tableService.CreateTable(input.TableName, account); await unitOfWork.Save(); BuildOutput(table); } catch (Exception e) { outputPort.WriteError(e.Message); } }
public async Task Handle(GetAccountDetailsInput input) { if (input is null) { outputPort.WriteError(Message.InputIsNull); return; } try { var appUser = await userManager.Users .FirstOrDefaultAsync(x => x.AccountId.Equals(input.AccountId)); var account = await accountRepository.GetAccountAsync(input.AccountId); BuildOutput(account, appUser); } catch { } }