コード例 #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 DeleteUserInfoResponse Process(DeleteUserInfoRequest request)
        {
            try
            {
                if (request.UserId == 0)
                {
                }

                var  userDao = new UserInfoDao();
                bool result  = userDao.DeleteUser(request.UserId);

                return(new DeleteUserInfoResponse()
                {
                    Token = request.Token, ResultType = ResultType.OK
                });
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                return(new DeleteUserInfoResponse()
                {
                    Token = request.Token, ResultType = ResultType.Error
                });
            }
        }
コード例 #3
0
        private void DeleteUserMS(User user, DeviceController deviceInfo)
        {
            var deviceId     = deviceInfo.DeviceID;
            var deviceUserId = user.UserCode.ToInt32();

            Log.Info("Invoke WebSocketOperation...");
            var operation             = new WebSocketOperation(deviceId);
            var deleteUserInfoRequest = new DeleteUserInfoRequest()
            {
                Token = operation.Token, UserId = deviceUserId
            };
            string rawRequest = DataContractSerializationHelper.Serialize(deleteUserInfoRequest);

            Log.DebugFormat("Request: {0}", rawRequest);
            var rawResponse = operation.Execute(rawRequest);

            Log.DebugFormat("Response: {0}", rawResponse);

            Log.Info("Deleting UserAuthentications from database...");
            var authentications = user.UserAuthentications.FindAll(x => x.DeviceID == deviceId);

            authentications.ForEach(x => _userAuthenticationRepo.Delete(x.UserAuthenticationID));
        }
コード例 #4
0
        public void DeleteUser(User user, DeviceController device)
        {
            if (user == null || device == null)
            {
                return;
            }

            var deviceID   = device.DeviceID;
            var deviceCode = device.Code.ToInt32();

            var userCode = user.UserCode.ToInt32();

            Log.Info("Invoke WebSocketOperation...");
            var operation             = new WebSocketOperation(deviceCode);
            var deleteUserInfoRequest = new DeleteUserInfoRequest()
            {
                Token = operation.Token, UserId = userCode
            };
            string rawRequest  = DataContractSerializationHelper.Serialize(deleteUserInfoRequest);
            var    rawResponse = operation.Execute(rawRequest);

            if (string.IsNullOrWhiteSpace(rawResponse))
            {
                throw new Exception(string.Format("Delete user id:[{0}], device user id:[{1}] to device id:[{2}] fails. Response is empty, maybe the device is not register to device system.",
                                                  user.UserID, userCode, deviceID));
            }

            var response = DataContractSerializationHelper.Deserialize <DeleteUserInfoResponse>(rawResponse);

            Log.InfoFormat("Delete user id:[{0}], device user id:[{1}] to device id:[{2}], result:[{3}]", user.UserID, userCode, deviceID, response.ResultType);

            if (response.ResultType != ResultType.OK)
            {
                throw new Exception(string.Format("Delete user id:[{0}], device user id:[{1}] to device id:[{2}] fails.", user.UserID, userCode, deviceID));
            }
        }
コード例 #5
0
        public ActionResult <DeleteUserInfoResponse> DeleteUserInfo(DeleteUserInfoRequest request)
        {
            DeleteUserInfoResponse response = _accountDataService.DeleteUserInfo(request, _authContext);

            return(Ok(response));
        }