Beispiel #1
0
        public async Task <InstituteRegirstrationModel> RegisterNewInstitute(InstituteRegirstrationModel model)
        {
            var userDetails = new User()
            {
                UserName          = model.Email,
                Email             = model.Email,
                FirstName         = model.FirstName,
                LastName          = model.LastName,
                PhoneNumber       = model.PhoneNumber,
                EmailConfirmed    = true,
                IsDeleted         = false,
                EmailNotification = true,
                SmsNotification   = true,
            };
            var emailExists = await _userManager.FindByEmailAsync(model.Email);

            if (emailExists != null)
            {
                throw new ValidationException("Email Already exists.");
            }
            var result = await _userManager.CreateAsync(userDetails, model.Password);

            if (!result.Succeeded)
            {
                throw new ValidationException("Registration failed.");
            }
            await _userManager.AddToRoleAsync(userDetails, "admin");

            string jwt = await _jwtTokenGenerator.GenerateToken(userDetails);

            model.Token = jwt;
            Institution objInstitution = new Institution
            {
                InstituteName   = model.InstituteName,
                Hostnames       = model.Hostname,
                IdNumber        = model.IdNumber,
                IdType          = model.IdType,
                Status          = "Active",
                AdministratorId = userDetails.Id,
                Type            = (InstitutionType)model.InstitutionType
            };

            _dbContext.Institutions.Add(objInstitution);
            await _dbContext.SaveChangesAsync();

            return(model);
        }
Beispiel #2
0
 public async Task <InstituteRegirstrationModel> RegisterInstitute([FromBody] InstituteRegirstrationModel model)
 {
     try
     {
         return(await _manager.RegisterNewInstitute(model));
     }
     catch (GenericException ex)
     {
         return(new InstituteRegirstrationModel
         {
             error = ex.Code
         });
     }
     catch (Exception ex)
     {
         return(new InstituteRegirstrationModel
         {
             error = ex.Message,
             stackTrace = ex.StackTrace
         });
     }
 }
 public async Task <InstituteRegirstrationModel> RegisterNewInstitute(InstituteRegirstrationModel model)
 {
     return(await _repo.RegisterNewInstitute(model));
 }