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)); }
public static ProjectChangeActivationRequest GetProjectChangeActivationRequest() { var project = GetOrganizationOneProjectOne(); var request = new ProjectChangeActivationRequest(CurrentUserId, project.OrganizationUid, project.Uid); return(request); }
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); }