public async Task <UniversityCreationResultDTO> CreateUniversityAsync(UniversityCreateRequestViewDTO createRequestDTO) { var university = new University { Name = createRequestDTO.UniversityName, }; await universityRepository.AddAsync(university); await universityRepository.SaveChangesAsync(); UniversityAdminRegistrationDTO adminRegisterRequest = new UniversityAdminRegistrationDTO { FirstName = createRequestDTO.SubmitterFirstName, LastName = createRequestDTO.SubmitterLastName, Email = createRequestDTO.Email, Password = passwordGenerator.GeneratePassword(), UniversityId = university.Id }; await authService.RegisterUniversityAdminAsync(adminRegisterRequest); return(new UniversityCreationResultDTO { UniversityId = university.Id, UniversityName = university.Name, AdminEmail = adminRegisterRequest.Email, AdminPassword = adminRegisterRequest.Password }); }
public async Task ApproveRequestAsync(int id) { UniversityCreateRequest request = await requestsRepository.GetByIdAsync(id); if (request == null) { throw new BadRequestException("Creation request doesn't exist!"); } UniversityCreateRequestViewDTO registerDto = mapper.Map <UniversityCreateRequestViewDTO>(request); UniversityCreationResultDTO result = await universityRegistrationService .CreateUniversityAsync(registerDto); // TODO: load html letter template and fill it in await emailService.SendAsync( receiver : result.AdminEmail, subject : $"{result.UniversityName} registration", bodyHtml : "Your university is registered! Use these credentials to sign in to the system:" + $"<br>Email: {result.AdminEmail}<br>Password: {result.AdminPassword}"); requestsRepository.Remove(request); await requestsRepository.SaveChangesAsync(); }