public async Task DeleteUserInformation()
        {
            var user = fillTestDbHelper.Users.FirstOrDefault();
            await deleteUsersService.DeleteUserInformationAsync(user.Id);

            var actualUser = await loadUsersService.GetUserAsync(user.Id);

            Assert.True(actualUser.NameSecond == null &&
                        actualUser.Photo == null &&
                        (actualUser.Phones == null || !actualUser.Phones.Any()) &&
                        (actualUser.Emails == null || !actualUser.Emails.Any()) &&
                        actualUser.About == null &&
                        actualUser.City == null &&
                        actualUser.Country == null &&
                        actualUser.Language == null);
        }
        public async Task <IActionResult> OperationCompleted([FromHeader] string encryptedOperationId, [FromHeader] string nodeId)
        {
            try
            {
                var nodeConnection = connectionsService.GetNodeConnection(Convert.ToInt64(nodeId));
                if (nodeConnection != null)
                {
                    byte[] decryptedRequestData = Encryptor.SymmetricDataDecrypt(
                        Convert.FromBase64String(encryptedOperationId),
                        nodeConnection.SignPublicKey,
                        nodeConnection.SymmetricKey,
                        NodeData.Instance.NodeKeys.Password).DecryptedData;
                    string operationId = Encoding.UTF8.GetString(decryptedRequestData);
                    ChangeUserNodeOperation operation = await changeNodeOperationsService.CompleteOperationAsync(operationId, nodeConnection.Node.Id).ConfigureAwait(false);

                    await updateUsersService.EditUserNodeAsync(operation.UserId, nodeConnection.Node.Id).ConfigureAwait(false);

                    await deleteUsersService.DeleteUserInformationAsync(operation.UserId).ConfigureAwait(false);

                    nodeNoticeService.SendUserNodeChangedNodeNoticeAsync(operation.UserId, nodeConnection.Node.Id);
                    noticeService.SendUserNodeChangedNoticeAsync(operation.UserId, nodeConnection.Node.Id);
                    BlockSegmentVm segment = await BlockSegmentsService.Instance.CreateUserNodeChangedSegmentAsync(
                        operation.UserId,
                        nodeConnection.Node.Id,
                        NodeSettings.Configs.Node.Id).ConfigureAwait(false);

                    BlockGenerationHelper.Instance.AddSegment(segment);
                    return(StatusCode(StatusCodes.Status200OK));
                }
                return(StatusCode(StatusCodes.Status400BadRequest));
            }
            catch (CryptographicException)
            {
                return(StatusCode(StatusCodes.Status403Forbidden));
            }
            catch (Exception ex)
            {
                Logger.WriteLog(ex);
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }