Example #1
0
        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);
            }
        }
Example #2
0
        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"));
        }