public async Task <IntegrationChangeActivationResponse> ChangeActivationForIntegration(IntegrationChangeActivationRequest request) { var response = new IntegrationChangeActivationResponse(); var currentUser = _cacheManager.GetCachedCurrentUser(request.CurrentUserId); if (!currentUser.IsAdmin) { response.SetInvalid(); return(response); } if (await _organizationRepository.Any(x => x.Id == currentUser.OrganizationId && !x.IsActive)) { response.SetInvalidBecauseNotActive("organization"); return(response); } var integration = await _integrationRepository.Select(x => x.Uid == request.IntegrationUid); if (integration.IsNotExist()) { response.SetInvalidBecauseNotFound("integration"); return(response); } if (integration.OrganizationId != currentUser.OrganizationId) { response.SetInvalid(); return(response); } _integrationFactory.UpdateEntityForChangeActivation(integration); var result = await _integrationRepository.Update(request.CurrentUserId, integration); if (result) { response.Item = _integrationFactory.CreateDtoFromEntity(integration); response.Status = ResponseStatus.Success; return(response); } response.SetFailed(); return(response); }
public static IntegrationChangeActivationRequest GetIntegrationChangeActivationRequest() { var request = new IntegrationChangeActivationRequest(CurrentUserId, UidOne); return(request); }