public DeleteUserInfoResponse DeleteUserInfo(DeleteUserInfoRequest request, IAuthContext authContext) { DeleteUserInfoResponse response = new DeleteUserInfoResponse(); var userProviderRepo = _unitOfWork.GetRepository <UserProvider>(); var accountRepo = _unitOfWork.GetRepository <Account>(); var userProviderRecord = userProviderRepo.Get(x => x.UserId.ToString() == authContext.UserId && x.Provider.ToString() == request.ProviderId); if (userProviderRecord != null) { userProviderRepo.Delete(userProviderRecord); var obsoleteAccounts = accountRepo.GetList(x => x.UserId.ToString() == authContext.UserId && x.ProviderId.ToString() == request.ProviderId); foreach (Account acc in obsoleteAccounts) { accountRepo.Delete(acc); } var result = _unitOfWork.SaveChanges(); if (result > 0) { response.Status = "Deleted " + authContext.UserId + " " + Provider.GetInstance(int.Parse(request.ProviderId)).Text; return(response); } } response.Status = "Could not find given provider information for the user"; return(response); }
public ActionResult <DeleteUserInfoResponse> DeleteUserInfo(DeleteUserInfoRequest request) { DeleteUserInfoResponse response = _accountDataService.DeleteUserInfo(request, _authContext); return(Ok(response)); }