public async Task <UserSignInResult> HandleAsync(SignInCommand command) { var commandHandlerAnswer = new CommandHandlerAggregateAnswer { ValidationResult = loginValidationHandler.Validate(command) }; var userSignInResult = new UserSignInResult { SignInResult = SignInResult.Failed }; if (command.IsValid) { var user = await userManager.FindByEmailAsync(command.Email); if (user != null) { var result = await signInManager.PasswordSignInAsync(user, command.Password, command.Remember, true); if (result.Succeeded) { await MergeClaims(user); return(new UserSignInResult { User = user, Token = tokenBuilder.CreateToken(user), SignInResult = result }); } } } return(userSignInResult); }
public async Task <ICommandHandlerAggregateAnswer> HandleAsync(PersonCreateCommand command) { var answer = new CommandHandlerAggregateAnswer { ValidationResult = this.createValidationHandler.Validate(command), AggregateRoot = await personRepository.Insert(new Person(command)) }; await personRepository.UnitOfWork.SaveChangesAsync(); return(answer); }
public async Task <ICommandHandlerAggregateAnswer> HandleAsync(CurrencyCreateCommand command) { var commandHandlerAnswer = new CommandHandlerAggregateAnswer { ValidationResult = this.createValidationHandler.Validate <CurrencyCreateCommand>(command) }; if (commandHandlerAnswer.ValidationResult.IsValid) { commandHandlerAnswer.AggregateRoot = await currencyRepository.Insert(new Currency(command)); } return(commandHandlerAnswer); }
public async Task <ApplicationUser> HandleAsync(UserUpdateImageCommand command) { var commandHandlerAnswer = new CommandHandlerAggregateAnswer { ValidationResult = updateImageValidationHandler.Validate(command) }; var user = await userManager.FindByIdAsync(command.Id.ToString()); if (commandHandlerAnswer.ValidationResult.IsValid) { user.Update(command); await userManager.UpdateAsync(user); } return(user); }
public async Task <IdentityResult> HandleAsync(UserRegisterCommand command) { var commandHandlerAnswer = new CommandHandlerAggregateAnswer { ValidationResult = registerValidationHandler.Validate(command) }; var identityResult = new IdentityResult(); if (commandHandlerAnswer.ValidationResult.IsValid) { var user = new ApplicationUser(command); identityResult = await userManager.CreateAsync(user); } return(identityResult); }
public async Task <ICommandHandlerAggregateAnswer> HandleAsync(PersonUpdateCommand command) { var answer = new CommandHandlerAggregateAnswer(); var person = await personRepository.Query(command.Id); if (person.IsNotNull()) { answer.ValidationResult = this.updateValidationHandler.Validate(command); if (command.IsValid) { answer.AggregateRoot = await personRepository.Update(person.Take(command)); } } return(answer); }
public async Task <ICommandHandlerAggregateAnswer> HandleAsync(CurrencyUpdateCommand command) { var currency = await currencyRepository.Query(command.Id); var commandHandlerAnswer = new CommandHandlerAggregateAnswer { ValidationResult = this.updateValidationHandler.Validate <CurrencyUpdateCommand>(command) }; if (commandHandlerAnswer.ValidationResult.IsValid) { commandHandlerAnswer.AggregateRoot = currencyRepository.Update(currency.Update(command)); } return(commandHandlerAnswer); }
public async Task <IdentityResult> HandleAsync(UserUpdateCommand command) { var commandHandlerAnswer = new CommandHandlerAggregateAnswer { ValidationResult = updateValidationHandler.Validate(command) }; var identityResult = new IdentityResult(); if (commandHandlerAnswer.ValidationResult.IsValid) { var user = await userManager.FindByEmailAsync(command.Email); user.Update(command); identityResult = await userManager.UpdateAsync(user); } return(identityResult); }