public virtual async Task DoSomething(MyAuditTestDto input) { var reason = "Using Reason Provider by User form DoSomething: " + AbpSession.UserId; using (_reasonProvider.Use(reason)) { await base.Update(input); //await CurrentUnitOfWork.SaveChangesAsync(); } reason = "Entity with same value is created from Do Something Method"; using (_reasonProvider.Use(reason)) { input.Id = new Guid(); await base.Create(input); } await CurrentUnitOfWork.SaveChangesAsync(); }
public virtual async Task <RegisterOutput> Register(RegisterInput input) { try { CheckErrors(await _userManager.CheckDuplicateUsernameOrEmailAddressAsync(1, input.PhoneNumber, input.EmailAddress)); var user = await _userRegistrationManager.RegisterAsync( input.FirstName + " " + input.LastName, input.LastName, input.EmailAddress, input.PhoneNumber //phone number become a user name ); //register user extra information var additionalUserInfo = new ApplicationUser { UserId = user.Id, FirstName = input.FirstName, MiddleName = input.MiddleName, LastName = input.LastName, PrimaryEmailAddress = input.EmailAddress, PrimaryMobileNumber = input.PhoneNumber, IsVerified = false, IsActive = false, IsPasswordCreated = false, IsSuspended = false, }; var reason = "User Registration : Registration begin with basic information, Registered User Id is : " + user.Id; using (_reasonProvider.Use(reason)) { await _applicationUserReposatory.InsertAsync(additionalUserInfo); } var isEmailConfirmationRequiredForLogin = await SettingManager.GetSettingValueAsync <bool>(AbpZeroSettingNames.UserManagement.IsEmailConfirmationRequiredForLogin); var verificationEmailToken = await _userManager.GenerateEmailConfirmationTokenAsync(user); var verificationPhoneTokne = await _userManager.GenerateChangePhoneNumberTokenAsync(user, input.PhoneNumber); try { var message = "Your verification code is " + verificationPhoneTokne + ". Thank you"; var emailList = new System.Collections.Generic.List <string>(); emailList.Add(additionalUserInfo.PrimaryEmailAddress); var mailModel = new SendMailDto { Subject = "Sunrise Bank User Registration", Body = message, EmailAddresses = emailList }; await _emailService.UserVerificationMailHelper(mailModel); } catch (Exception) { throw new UserFriendlyException("Server response with an exception. Please try again."); } await CurrentUnitOfWork.SaveChangesAsync(); return(new RegisterOutput { CanLogin = user.IsActive && (user.IsEmailConfirmed || !isEmailConfirmationRequiredForLogin), IsSuccess = true, UserId = user.Id, RegisterMessage = "User Successfully registered", VerificationCode = "", VerificationEmailToken = verificationEmailToken, VerificationPhoneTokne = verificationPhoneTokne, }); } catch (Exception ex) { return(new RegisterOutput { CanLogin = false, IsSuccess = false, RegisterMessage = ex.Message }); } }