コード例 #1
0
        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());
        }
コード例 #2
0
        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());
        }