public async Task <Organizator> CreateNewOrganizator(OrganizatorResource resource) { try { Organizator organizator = new Organizator() { Name = resource.Name }; await _organizatorRepository.AddOrganizator(organizator); var createAdminResult = await _administratorService.CreateNewAdministrator(resource.CreatorId, organizator.OrganizatorId); if (!createAdminResult) { return(null); } var updateUserRole = await _userRepository.UpdateUserRoleToAdmin(resource.CreatorId); if (!updateUserRole) { return(null); } return(organizator); } catch (Exception e) { return(null); } }
public async Task <IActionResult> CreateOrganizator([FromForm] OrganizatorResource resource) { var claimId = _claimsService.GetUserId(HttpContext.User.Identity as ClaimsIdentity); if (claimId == 0) { return(Unauthorized("You don't have permission to create a new organization")); } resource.CreatorId = claimId; var user = await _userRepository.GetUserByIdAsync(resource.CreatorId); if (user is null) { return(NotFound("There was an error with your account")); } var result = await _organizatorService.CreateNewOrganizator(resource); if (result is null) { return(BadRequest("There was an unexpected error while creating an organization")); } return(Ok("New organizator has been created")); }