示例#1
0
        public async Task <IActionResult> ChangeActivation(Guid id, Guid organizationUid)
        {
            var model = new CommonResult {
                IsOk = false
            };

            var projectUid = id;

            if (projectUid.IsEmptyGuid() ||
                organizationUid.IsEmptyGuid())
            {
                return(Json(model));
            }

            var request  = new ProjectChangeActivationRequest(CurrentUser.Id, organizationUid, projectUid);
            var response = await _projectService.ChangeActivationForProject(request);

            if (response.Status.IsNotSuccess)
            {
                return(Json(model));
            }

            model.IsOk = true;
            CurrentUser.IsActionSucceed = true;
            return(Json(model));
        }
示例#2
0
        public static ProjectChangeActivationRequest GetProjectChangeActivationRequest()
        {
            var project = GetOrganizationOneProjectOne();
            var request = new ProjectChangeActivationRequest(CurrentUserId, project.OrganizationUid, project.Uid);

            return(request);
        }
示例#3
0
        public async Task <ProjectChangeActivationResponse> ChangeActivationForProject(ProjectChangeActivationRequest request)
        {
            var response = new ProjectChangeActivationResponse();

            var currentUser = _cacheManager.GetCachedCurrentUser(request.CurrentUserId);

            if (!currentUser.IsAdmin)
            {
                response.SetInvalid();
                return(response);
            }

            var project = await _projectRepository.Select(x => x.Uid == request.ProjectUid);

            if (project.IsNotExist())
            {
                response.SetInvalid();
                response.ErrorMessages.Add("project_not_found");
                return(response);
            }

            if (project.OrganizationId != currentUser.OrganizationId)
            {
                response.SetFailed();
                return(response);
            }

            if (await _organizationRepository.Any(x => x.Id == project.OrganizationId && !x.IsActive))
            {
                response.SetInvalid();
                return(response);
            }

            var updatedEntity = _projectFactory.UpdateEntityForChangeActivation(project);
            var result        = await _projectRepository.Update(request.CurrentUserId, updatedEntity);

            if (result)
            {
                response.Item   = _projectFactory.CreateDtoFromEntity(updatedEntity);
                response.Status = ResponseStatus.Success;
                return(response);
            }

            response.SetFailed();
            return(response);
        }
        public static ProjectChangeActivationRequest GetProjectChangeActivationRequest()
        {
            var request = new ProjectChangeActivationRequest(CurrentUserId, OrganizationOneUid, OrganizationOneProjectOneUid);

            return(request);
        }