Example #1
0
        public SoftwareUpdateResult SoftwareUpdate([FromBody] SoftwareUpdateRequest param)
        {
            try
            {
                if (param == null)
                {
                    return(new SoftwareUpdateResult {
                        StatusCode = "000003", Result = "请求错误,请检查输入参数!"
                    });
                }
                var version = long.Parse(param.Version.Replace(".", ""));
                var updpath = new DirectoryInfo(CdmConfiguration.SoftwareUpdatePath).GetFiles("*.zip");
                var ret     = new SoftwareUpdateResult
                {
                    NewVersionFileName = string.Empty,
                    StatusCode         = "000000"
                };
                foreach (FileInfo fileInfo in updpath)
                {
                    var tmp = fileInfo.Name.Replace(".", "");
                    var reg = new Regex(@"\d+");
                    var m   = reg.Match(tmp).ToString();
                    if (long.Parse(m) > version)
                    {
                        ret.NewVersionFileName = fileInfo.Name;
                        ret.FileContent        = File.ReadAllBytes(fileInfo.FullName);
                        break;
                    }
                }

                return(ret);
            }
            catch (Exception ex)
            {
                Log.InfoFormat("SoftwareUpdate :{0}.", JsonConvert.SerializeObject(param));
                Log.Error("SoftwareUpdate", ex);
                return(new SoftwareUpdateResult {
                    StatusCode = "000003", Result = ex.Message
                });
            }
        }
Example #2
0
      public static SwlResult CampaignTargetCompletion(DbConnector dbConn, BplIdentity targetId, SoftwareUpdateResult updateResult) {
         var target = dbConn.ExecuteBpl(new CampaignTargetGetById { TargetId = targetId });
         if (target == null) {
            Log.Warn("CAMPAIGN TARGET with ID {0} not found in database, EXITING !!!", targetId);
            return SwlResult.NOT_FOUND;
         }

         var targetStatus = CampaignTargetStatus.Failed;

         if (updateResult == SoftwareUpdateResult.Success) {
            var di = dbConn.ExecuteBpl(new DeviceGetById { DeviceId = target.DeviceId });
            if (di == null) {
               Log.Error("Device with ID: {0} not found in database, EXITING !!!", target.DeviceId);
               return SwlResult.INVALID_DATA;
            }

            dbConn.ExecuteBpl(new DeviceInstallAdd(di.DeviceId, target.CampaignType, target.CampaignDstInstallId));

            targetStatus = CampaignTargetStatus.Success;
         }

         return LogisticsHelpers.CampaignTargetSetStatus(dbConn, targetId, targetStatus);
      }