コード例 #1
0
        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);
        }
コード例 #2
0
        public ActionResult <DeleteUserInfoResponse> DeleteUserInfo(DeleteUserInfoRequest request)
        {
            DeleteUserInfoResponse response = _accountDataService.DeleteUserInfo(request, _authContext);

            return(Ok(response));
        }