Esempio n. 1
0
 public IActionResult Ver(VerViewModel modelo)
 {
     if (ModelState.IsValid)
     {
     }
     return(View(modelo));
 }
        public object CheckVersion([FromUri] VerViewModel verModel)
        {
            LogUtil.Info(string.Format("设备:{0},类型:{1},当前版本:{2},获取新版本...", verModel.Mac, verModel.Type, verModel.Ver));

            var result = SingleInstance <SysService> .Instance.CheckVersion(verModel);

            return(OK(result));
        }
Esempio n. 3
0
        /// <summary>
        /// 检查版本信息
        /// </summary>
        /// <param name="verModel">版本信息参数</param>
        /// <returns>版本信息结果</returns>
        public object CheckVersion(VerViewModel verModel)
        {
            //校验设备表示
            bool isExist = SingleInstance <PrinterService> .Instance.CheckEquipmentIsExists(verModel.Mac);

            if (!isExist)
            {
                LogUtil.Info($"设备不存在-{JsonUtil.Serialize(verModel)}");
                throw new MessageException("设备不存在!");
            }

            //更改设备对应版本号
            bool result = SingleInstance <PrinterService> .Instance.UpdatePrintVersion(verModel);

            if (!result)
            {
                throw new MessageException($"更新打印机{verModel.Mac}版本号失败,请重试");
            }

            //获取版本
            Dictionary <string, object> verDic = new Dictionary <string, object>();
            ConditionCollection         cc     = new ConditionCollection();

            cc.Add(new Condition("objec_type", TryConvertUtil.ToString(verModel.Type)));
            cc.Add(new Condition("status_code", StatusCodeType.Valid.GetHashCode()));

            int isNeed = 0;

            string newVer   = string.Empty;
            string filePath = string.Empty;
            var    lastVer  = this.GetRepository <McpSysVersionInfo>().GetModel(cc);

            if (lastVer != null)
            {
                var isUpdate  = false;
                var serVer    = 0;
                var curVer    = 0;
                var serVers   = lastVer.ObjectVersion.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries);
                var curVers   = verModel.Ver.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries);
                var maxLength = Math.Max(serVers.Length, curVers.Length);

                for (var i = 0; i < maxLength; i++)
                {
                    serVer = i < serVers.Length ? TryConvertUtil.ToInt(serVers[i]) : 0;
                    curVer = i < curVers.Length ? TryConvertUtil.ToInt(curVers[i]) : 0;
                    if (serVer != curVer)
                    {
                        isUpdate = serVer > curVer;
                        break;
                    }
                    else
                    {
                        continue;
                    }
                }

                if (isUpdate)
                {
                    isNeed   = lastVer.IsForce > 0 ? 2 : 1;
                    newVer   = lastVer.ObjectVersion;
                    filePath = lastVer.VersionFile;
                }
            }

            verDic.Add("IsNeedUpdate", isNeed);
            verDic.Add("NewVer", newVer);
            verDic.Add("UpdateFilePath", filePath);

            LogUtil.Info(string.Format("设备:{0},当前版本:{1},获取新版本...", verModel.Mac, verModel.Ver));

            return(verDic);
        }