public async Task <IntegrationClientDeleteResponse> DeleteIntegrationClient(IntegrationClientDeleteRequest request) { var response = new IntegrationClientDeleteResponse(); 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 integrationClient = await _integrationClientRepository.Select(x => x.Uid == request.IntegrationClientUid); if (integrationClient.IsNotExist()) { response.SetInvalidBecauseNotFound("integration_client"); return(response); } if (integrationClient.OrganizationId != currentUser.OrganizationId) { response.SetInvalid(); return(response); } var integration = await _integrationRepository.SelectById(integrationClient.IntegrationId); if (integration.IsNotExist()) { response.SetInvalidBecauseNotFound("integration"); return(response); } var result = await _integrationClientRepository.Delete(request.CurrentUserId, integrationClient.Id); if (result) { response.Status = ResponseStatus.Success; return(response); } response.SetFailed(); return(response); }
public async Task <IActionResult> ClientDelete(Guid id) { var integrationClientUid = id; if (integrationClientUid.IsEmptyGuid()) { return(RedirectToAccessDenied()); } var request = new IntegrationClientDeleteRequest(CurrentUser.Id, integrationClientUid); var response = await _integrationService.DeleteIntegrationClient(request); if (response.Status.IsNotSuccess) { return(Json(new CommonResult { IsOk = false, Messages = response.ErrorMessages })); } CurrentUser.IsActionSucceed = true; return(Json(new CommonResult { IsOk = true })); }
public static IntegrationClientDeleteRequest GetIntegrationClientDeleteRequest() { var request = new IntegrationClientDeleteRequest(CurrentUserId, OrganizationOneIntegrationOneIntegrationClientOneUid); return(request); }