public async Task <IDataResult <TokenModel> > SignInAsync(SignInModel signInModel) { var validation = new SignInModelValidator().Validate(signInModel); if (validation.IsError) { return(DataResult <TokenModel> .Error(validation.Message)); } var signedInModel = await UserRepository.SignInAsync(signInModel); validation = SignInService.Validate(signedInModel, signInModel); if (validation.IsError) { return(DataResult <TokenModel> .Error(validation.Message)); } var userLogModel = new UserLogModel(signedInModel.Id, LogType.SignIn); await UserLogApplicationService.AddAsync(userLogModel); await UnitOfWork.SaveChangesAsync(); var tokenModel = SignInService.CreateToken(signedInModel); return(DataResult <TokenModel> .Success(tokenModel)); }
public async Task <IDataResult <TokenModel> > SignInAsync(SignInModel signInModel) { var validation = new SignInModelValidator().Valid(signInModel); if (!validation.Success) { return(new ErrorDataResult <TokenModel>(validation.Message)); } var signedInModel = await UserRepository.SignInAsync(signInModel); if (!SignInService.Validate(signedInModel, signInModel)) { return(new ErrorDataResult <TokenModel>(Texts.LoginPasswordInvalid)); } var tokenModel = SignInService.CreateToken(signedInModel); var addUserLogModel = new AddUserLogModel(signedInModel.UserId, LogType.SignIn); await UserLogApplicationService.AddAsync(addUserLogModel); await UnitOfWork.SaveChangesAsync(); return(new SuccessDataResult <TokenModel>(tokenModel)); }