public async Task <ActionResult> RegisterCompany(RegisterOrganaizerViewModel registerModel) { var userId = User.Claims.GetUserClaim(AppClaims.IdClaim); var registerCompanyResult = await signInService.RegisterCompany(registerModel, userId); if (!registerCompanyResult.IsValid) { return(BadRequest(registerCompanyResult.Errors)); } return(NoContent()); }
public async Task <RegisterResult> RegisterCompany(RegisterOrganaizerViewModel model, string userId) { var user = await userManager.FindByIdAsync(userId); if (user is null) { return(new RegisterResult("User not found")); } if (await repository.Organizers.AnyAsync(x => x.OrganizerId == userId)) { return(new RegisterResult("You are organizer already!")); } var organaizer = new Organizer { User = user, InstType = model.InstType, PlaceName = model.PlaceName, Position = model.Position, TelNumber = model.TelNumber }; var complete = await repository.CreateAndSaveEntityAsync(organaizer); if (!complete) { return(new RegisterResult("Failed save to DataBase")); } await CheckRoleExists(AppRoles.organaizerRole); await userManager.AddToRoleAsync(user, AppRoles.organaizerRole); return(new RegisterResult()); }