protected virtual async Task <UserLoginData> CreateSuperAdmin(UserAdminInputData input, UserManager <User> userManager) { User superAdmin = new User() { Id = Guid.NewGuid().ToString(), FirstName = "Super", LastName = "Admin", OrganizationID = input.OrganizationID, Email = input.Email, UserName = input.Email, CreateBy = "Provider Organization", UpdateBy = "Provider Organization", CreateDate = DateTimeService.ProvideDateTime(), UpdateDate = DateTimeService.ProvideDateTime() }; string password = Guid.NewGuid().ToString(); await userManager.CreateAsync(superAdmin, password); await userManager.AddToRoleAsync(superAdmin, "SuperAdmin"); UserLoginData userLogin = new UserLoginData() { Password = password, UserName = input.Email }; return(userLogin); }
public async Task CreateNewRecord(SupplierInputModel model) { using (var transaction = DbContext.Database.BeginTransaction()) { Guid supplierOrganizationID = await CreateSupplierOrganization(model); UserAdminInputData data = new UserAdminInputData() { OrganizationID = supplierOrganizationID, Email = model.Email }; var loginData = await CreateSuperAdmin(data, _userManager); await CreateSupplier(model, supplierOrganizationID); //await EmailSender.SendEmailAsync(model.Email, "Your Supplier Organization is created", $"Your logging credentials UserName:{loginData.UserName} and Password: {loginData.Password}"); await EmailSender.SendEmailAsync("*****@*****.**", "Your Supplier Organization is created", $"Your logging credentials UserName:{loginData.UserName} and Password: {loginData.Password}"); transaction.Commit(); } }
public async Task CreateNewRecord(CustomerInputeModel model) { using (var transaction = DbContext.Database.BeginTransaction()) { Guid customerOrganizationID = await CreateCustomerOrganization(model); UserAdminInputData data = new UserAdminInputData() { OrganizationID = customerOrganizationID, Email = model.Email }; var loginData = await CreateSuperAdmin(data, _userManager); await CreateCustomer(model, customerOrganizationID); // change it if you are going to production, password protection is needed too //await EmailSender.SendEmailAsync(model.Email, "Your Customer Organization is created", $"Your logging credentials UserName:{loginData.UserName} and Password: {loginData.Password}"); await EmailSender.SendEmailAsync("*****@*****.**", "Your Customer Organization is created", $"Your logging credentials UserName:{loginData.UserName} and Password: {loginData.Password}"); transaction.Commit(); } }