public async Task NullResultFalse()
        {
            var command = new UpdateResultCommand(null);
            var handler = new UpdateResultHandler(_mock.Object);

            var result = await handler.Handle(command, CancellationToken.None);

            Assert.IsFalse(result);
        }
        public async Task HasId_True()
        {
            var command = new UpdateResultCommand(new QuizResult()
            {
                _id = "1"
            });
            var handler = new UpdateResultHandler(_mock.Object);

            var result = await handler.Handle(command, CancellationToken.None);

            Assert.IsTrue(result);
        }
Пример #3
0
    // 在登录界面显示一个小loading,检测自动更新 在回调函数里面处理需要更新或者不需要更新的情况
    public void CheckUpdate(UpdateResultHandler callback)
    {
        int versionInPackage = 0;       // 在包内的版本号
        int versionInData    = 0;       // 缓存目录的版本号

        // 读取程序包内的版本号文件
        TextAsset ta = Resources.Load(GameConfig.VERSION_FILE) as TextAsset;

        if (ta != null)
        {
            versionInPackage = Convert.ToInt32(ta.text);
        }

        // 读取dataPath下的文件(上次更新后的)
        versionInData = Convert.ToInt32(ReadLocalFile(GameConfig.VERSION_FILE, false));

        // 如果dataPath中的版本更低的话,那就是说安装了新的程序包。这个时候需要清理已下载的旧的资源文件
        if (versionInData > 0 && versionInData < versionInPackage)
        {
            CleanOldFiles();
        }

        // 本地版本号是程序包和dataPath中较新的那个
        localVersion = Mathf.Max(versionInPackage, versionInData);

        // 下载服务器的版本号文件,判定是否需要更新
        StartCoroutine(DownloadFile(GetFileServerURL() + GameConfig.VERSION_FILE, (WWW w) => {
            if (w != null && (w.error == null || string.IsNullOrEmpty(w.error)) && w.text != null)
            {
                // 从服务器获取一个版本号
                serverVersion = Convert.ToInt32(w.text);
                if (callback != null)
                {
                    callback(localVersion < serverVersion);
                }
            }
            else
            {
                Debug.Log("没有检查到更新服务器版本信息");
                // 连不上更新,暂时就直接进吧
                if (callback != null)
                {
                    callback(false);
                }
            }
        }));
    }
Пример #4
0
        public IActionResult PostJSON()
        {
            logger.LogInformation("Starting PostJSON Logging", null);
            var requestBody = HttpContext.Request.Body;

            var           requestLength    = HttpContext.Request.ContentLength;
            Task <string> jsonContentAsync = getJSONContent(requestBody);
            var           jsonContent      = jsonContentAsync.Result;

            logger.LogInformation("JSON Content: " + jsonContent);
            logger.LogInformation("Body Length: " + requestLength.ToString());

            BotUpdateRequest    allRequests         = new BotUpdateRequest();
            Result              result              = new Result();
            UpdateResultHandler updateResultHandler = new UpdateResultHandler();
            var returnString = "Hello from Chuckbot";

            if (jsonContent.Contains("result"))
            {
                logger.LogInformation("JSON Contains RESULT!  Total Results: " + allRequests.result.Count.ToString());
                JsonConvert.PopulateObject(jsonContent, allRequests);
                foreach (Result currentResult in allRequests.result)
                {
                    var currentMessage = currentResult.message;
                    updateResultHandler.ProcessUpdateRequest(currentMessage);
                }
            }
            else
            {
                try {
                    logger.LogInformation("Simple Update Request - Attempting to Serialize JSON");
                    JsonConvert.PopulateObject(jsonContent, result);
                    updateResultHandler.ProcessUpdateRequest(result.message);
                } catch (JsonException ex)
                {
                    returnString = ex.Message;
                    logger.LogError("Error Serializing SimpleJSON: " + ex.Message);
                }
            }

            return(Ok(returnString));
        }
Пример #5
0
    public UpdateProgressHandler onUpdateProgress;                                         // 更新包下载进度

    // 检测app是否需要更新。可能不需要处理
    public void CheckAppUpdate(UpdateResultHandler callback)
    {
        // 判断app是否需要更新。如91之类的平台可以用其sdk完成
    }