コード例 #1
0
        /// <summary>
        /// 根据Response解析result结果
        /// </summary>
        /// <param name="url">提交eSight的url</param>
        /// <param name="hrm">eSight返回的http result</param>
        /// <returns>解析过的结果,JObject</returns>
        public JObject HCCheckResult(string url, HttpResponseMessage hrm)
        {
            if (hrm.IsSuccessStatusCode)
            {
                string retVal = hrm.Content.ReadAsStringAsync().Result;
                LogUtil.HWLogger.API.Info("Huawei return:" + retVal);
                JObject data = JsonUtil.DeserializeObject <JObject>(hrm.Content.ReadAsStringAsync().Result);
                return(data);
            }
            else
            {
                string webErrorCode = ConstMgr.ErrorCode.SYS_UNKNOWN_ERR;
                if (hrm != null)
                {
                    int statusCode = CoreUtil.GetObjTranNull <int>(hrm.StatusCode);
                    if (statusCode >= 400 && statusCode <= 600)
                    {
                        webErrorCode = "-50" + statusCode;
                    }
                }


                LogUtil.HWLogger.API.ErrorFormat("Accessing[{0}] ,StatusCode:[{1}],ReasonPhrase:[{2}], Error occurred: [{3}]",
                                                 url, hrm.StatusCode, hrm.ReasonPhrase, hrm.Content.ReadAsStringAsync().Result);

                throw new ESSessionExpceion(webErrorCode, this,
                                            String.Format("Accessing[{0}] ,StatusCode:[{1}],ReasonPhrase:[{2}], Error occurred: [{3}]",
                                                          url, hrm.StatusCode, hrm.ReasonPhrase, hrm.Content.ReadAsStringAsync().Result));
            }
        }
コード例 #2
0
        /// <summary>
        /// 根据eSight返回的状态,返回更新到数据库的状态。
        /// </summary>
        /// <param name="oldStatus">旧的数据库状态</param>
        /// <param name="taskStatus">eSight返回的taskStatus</param>
        /// <param name="taskResult">eSight返回的taskResult</param>
        /// <param name="taskCode">eSight返回的taskCode</param>
        /// <returns>判断后的任务状态</returns>
        private string GetTaskStatus(string oldStatus, string taskStatus, string taskResult, string taskCode)
        {
            if (taskResult == "Failed")
            {
                return(ConstMgr.HWESightTask.SYNC_STATUS_HW_FAILED);
            }
            if (CoreUtil.GetObjTranNull <int>(taskCode) != 0)
            {
                return(ConstMgr.HWESightTask.SYNC_STATUS_HW_FAILED);
            }

            if (taskResult == "Success")
            {
                return(ConstMgr.HWESightTask.SYNC_STATUS_FINISHED);
            }
            if (taskStatus == "Complete")
            {
                return(ConstMgr.HWESightTask.SYNC_STATUS_FINISHED);
            }
            if (taskStatus == "Running")
            {
                return(ConstMgr.HWESightTask.SYNC_STATUS_CREATED);
            }


            return(oldStatus);
        }
コード例 #3
0
        public void GetObjTranNullTestInt1()
        {
            int    testNum = 123;
            string testStr = "123aa";

            Assert.AreNotEqual(CoreUtil.GetObjTranNull <int>(testStr), testNum);
        }
        /// <summary>
        /// 删除失败的软件源任务
        /// </summary>
        private WebReturnResult <int> DeleteTask(object eventData)
        {
            var ret = new WebReturnResult <int>()
            {
                Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR), Description = "", Data = 0
            };

            try
            {
                LogUtil.HWLogger.UI.Info("Deleting failed software source task...");
                int deleteTaskResult = ESightEngine.Instance.ClearAllFailedSoftwareSourceTask();

                ret.Code        = 0;
                ret.Data        = deleteTaskResult;
                ret.Description = "Deleting failed software source task successful!";
                LogUtil.HWLogger.UI.InfoFormat("Deleting failed software source task successful! the ret is [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                LogUtil.HWLogger.UI.Error("Deleting failed software source task failed: ", ex);
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Data        = 0;
                ret.Description = ex.Message;
            }
            catch (Exception ex)
            {
                LogUtil.HWLogger.UI.Error("Deleting failed software source task failed: ", ex);
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Data        = 0;
                ret.Description = ex.InnerException.Message ?? ex.Message;
            }
            return(ret);
        }
コード例 #5
0
        /// <summary>
        /// 根据eSight返回的状态,返回更新到数据库的状态。
        /// </summary>
        /// <param name="oldStatus">旧的数据库状态</param>
        /// <param name="taskStatus">eSight返回的taskStatus</param>
        /// <param name="taskResult">eSight返回的taskResult</param>
        /// <param name="taskCode">eSight返回的taskCode</param>
        /// <returns>判断后的任务状态</returns>
        private string GetTaskStatus(string oldStatus, string taskStatus, string taskResult, string taskCode)
        {
            if (taskResult == "Failed")
            {
                return(ConstMgr.HWESightTask.SYNC_STATUS_HW_FAILED);                       //失败优先返回
            }
            if (string.Equals(taskResult, "Partion Success", StringComparison.OrdinalIgnoreCase))
            {
                return(ConstMgr.HWESightTask.SYNC_STATUS_HW_PFAILED);
            }
            //部分成功
            //返回非0,默认返回错误。
            if (CoreUtil.GetObjTranNull <int>(taskCode) != 0)
            {
                return(ConstMgr.HWESightTask.SYNC_STATUS_HW_FAILED);
            }
            //成功,返回finishe.
            if (taskResult == "Success")
            {
                return(ConstMgr.HWESightTask.SYNC_STATUS_FINISHED);
            }
            //完成,返回finishe.
            if (taskStatus == "Complete")
            {
                return(ConstMgr.HWESightTask.SYNC_STATUS_FINISHED);
            }
            //正在运行
            if (taskStatus == "Running")
            {
                return(ConstMgr.HWESightTask.SYNC_STATUS_CREATED);
            }

            return(oldStatus);
        }
 private void SetErrorCode(int errorCount, string innerErrorCode, string innerErrorModel, ref int errorCode, ref string errorModel)
 {
     if (errorCount == 1)
     {
         errorCode  = CoreUtil.GetObjTranNull <int>(innerErrorCode);
         errorModel = innerErrorModel;
     }
 }
コード例 #7
0
        public void HCDeleteTest()
        {
            _esSession.Open();
            JObject result = _esSession.HCDelete(ConstMgr.HWESightHost.URL_LOGIN);

            Console.WriteLine(result);
            Assert.AreEqual(CoreUtil.GetObjTranNull <int>(result.Property("code")), 0);
        }
        /// <summary>
        /// 加载模板列表, 用于模板列表UI、添加模板任务UI
        /// </summary>
        public static WebReturnLGResult <DeployTemplate> GetTemplateList(object eventData)
        {
            var ret = new WebReturnLGResult <DeployTemplate>()
            {
                Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR)
            };

            try
            {
                //1. 解析js传过来的参数
                var jsData            = JsonUtil.SerializeObject(eventData);
                var webOneESightParam = JsonUtil.DeserializeObject <WebOneESightParam <ParamPagingOfQueryTemplate> >(jsData);
                LogUtil.HWLogger.UI.InfoFormat("Querying template list, the param is [{0}]", jsData);
                int    pageNo       = -1;
                int    pageSize     = int.MaxValue;
                string templateType = "";
                if (webOneESightParam.Param != null)
                {
                    pageSize     = webOneESightParam.Param.PageSize;
                    pageNo       = webOneESightParam.Param.PageNo;
                    templateType = webOneESightParam.Param.TemplateType;
                }

                //2. 根据HostIP获取IESSession
                IESSession esSession = ESSessionHelper.GetESSession(webOneESightParam.ESightIP);
                //3. 获取模板列表数据
                var deployTemplate = esSession.DeployWorker.QueryTemplatePage(pageNo, pageSize, templateType);
                //4. 返回数据
                ret.Code        = 0;
                ret.Data        = deployTemplate.Data;
                ret.TotalNum    = deployTemplate.TotalNum;
                ret.Description = "";
                LogUtil.HWLogger.UI.InfoFormat("Querying template list successful, the ret is [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Description = ex.Message;
                ret.Data        = null;
                ret.TotalNum    = 0;
                LogUtil.HWLogger.UI.Error("Querying template list failed: ", ex);
            }
            catch (Exception ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Description = ex.InnerException.Message ?? ex.Message;
                ret.Data        = null;
                ret.TotalNum    = 0;
                LogUtil.HWLogger.UI.Error("Querying template list failed: ", ex);
            }
            return(ret);
        }
コード例 #9
0
        /// <summary>
        /// 获取eSight列表数据
        /// </summary>
        /// <param name="queryParam">
        /// The query Param.
        /// </param>
        /// <returns>
        /// The <see>
        ///         <cref>WebReturnLGResult</cref>
        ///     </see>
        ///     .
        /// </returns>
        public static WebReturnLGResult <HWESightHost> GetList(ParamPagingOfQueryESight queryParam)
        {
            var ret = new WebReturnLGResult <HWESightHost>
            {
                Code = CoreUtil.GetObjTranNull <int>(
                    ConstMgr.ErrorCode.SYS_UNKNOWN_ERR),
                Description = string.Empty
            };

            try
            {
                // 1. 处理参数
                var jsData = JsonUtil.SerializeObject(queryParam);
                HWLogger.UI.InfoFormat("Querying eSight list, the param is [{0}]", jsData);
                var pageSize = queryParam.PageSize;
                var pageNo   = queryParam.PageNo;
                var hostIp   = queryParam.HostIp;

                // 2. 获取数据
                var hwESightHostList = ESightDal.Instance.GetList();
                var filterList       = hwESightHostList.Where(x => x.HostIP.Contains(hostIp)).Skip((pageNo - 1) * pageSize)
                                       .Take(pageSize).ToList();

                // 3. 返回数据
                ret.Code        = 0;
                ret.Data        = filterList;
                ret.TotalNum    = hwESightHostList.Count();
                ret.Description = string.Empty;

                HWLogger.UI.InfoFormat("Querying eSight list successful, the ret is [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Description = ex.Message;
                ret.Data        = null;
                ret.TotalNum    = 0;
                HWLogger.UI.Error("Querying eSight list failed: ", ex);
            }
            catch (Exception ex)
            {
                HWLogger.UI.Error(ex);
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Description = ex.InnerException?.Message ?? ex.Message;
                ret.Data        = null;
                ret.TotalNum    = 0;
                HWLogger.UI.Error("Querying eSight list failed: ", ex);
            }

            return(ret);
        }
コード例 #10
0
        /// <summary>
        /// 获取eSight列表数据
        /// </summary>
        /// <param name="eventData"></param>
        /// <returns></returns>
        private WebReturnLGResult <HWESightHost> GetList(object eventData)
        {
            var ret = new WebReturnLGResult <HWESightHost>()
            {
                Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR), Description = ""
            };

            try
            {
                //1. 处理参数
                var jsData            = JsonUtil.SerializeObject(eventData);
                var webOneESightParam = JsonUtil.DeserializeObject <WebOneESightParam <ParamPagingOfQueryESight> >(jsData);
                LogUtil.HWLogger.UI.InfoFormat("Querying eSight list, the param is [{0}]", jsData);
                int    pageSize = webOneESightParam.Param.PageSize;
                int    pageNo   = webOneESightParam.Param.PageNo;
                string hostIp   = webOneESightParam.Param.HostIp;
                //2. 获取数据
                ESightEngine.Instance.InitESSessions();
                List <HWESightHost> hwESightHostList = ESSessionHelper.GethwESightHostList();
                var filterList = hwESightHostList.Where(x => x.HostIP.Contains(hostIp)).Skip((pageNo - 1) * pageSize).Take(pageSize).ToList();
                //3. 返回数据
                ret.Code        = 0;
                ret.Data        = filterList;
                ret.TotalNum    = hwESightHostList.Count();
                ret.Description = "";

                LogUtil.HWLogger.UI.InfoFormat("Querying eSight list successful, the ret is [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Description = ex.Message;
                ret.Data        = null;
                ret.TotalNum    = 0;
                LogUtil.HWLogger.UI.Error("Querying eSight list failed: ", ex);
            }
            catch (Exception ex)
            {
                LogUtil.HWLogger.UI.Error(ex);
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Description = ex.InnerException.Message ?? ex.Message;
                ret.Data        = null;
                ret.TotalNum    = 0;
                LogUtil.HWLogger.UI.Error("Querying eSight list failed: ", ex);
            }
            return(ret);
        }
 private void SetSaveResultWhenComplete(int errorCount, int eSightCount, int errorCode, string errorModel, ref WebReturnResult <List <WebReturnESightResult> > ret)
 {
     if (errorCount == 0)
     {
         ret.Code = 0;
     }
     else if (errorCount == eSightCount)
     {
         ret.Code = errorCode;
     }
     else
     {
         ret.Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_PART_ERR);
     }
     ret.ErrorModel = errorModel;
 }
コード例 #12
0
 /// <summary>
 /// 根据Response解析result结果
 /// </summary>
 /// <param name="url">提交eSight的url</param>
 /// <param name="res">eSight返回的http result</param>
 /// <exception cref="ESSessionExpceion">ESSessionExpceion</exception>
 private void CheckResult(string url, HttpResponseMessage res)
 {
     if (!res.IsSuccessStatusCode)
     {
         string webErrorCode = ConstMgr.ErrorCode.SYS_UNKNOWN_ERR;
         int    statusCode   = CoreUtil.GetObjTranNull <int>(res.StatusCode);
         if (statusCode >= 400 && statusCode <= 600)
         {
             webErrorCode = "-50" + statusCode;
         }
         var resultStr = res.Content.ReadAsStringAsync().Result;
         var errMsg    = $"Accessing[{url}] ,StatusCode:[{res.StatusCode}],ReasonPhrase:[{res.ReasonPhrase}], Error occurred: [{resultStr}]";
         logger.Api.Error(errMsg);
         throw new ESSessionExpceion(webErrorCode, this, errMsg);
     }
 }
        /// <summary>
        /// 获取已上传软件源列表,用于软件源管理UI,添加OS模板中的查询软件源UI
        /// </summary>
        /// <param name="eventData"></param>
        /// <returns></returns>
        public static WebReturnLGResult <SourceItem> GetSoftwareList(object eventData)
        {
            var ret = new WebReturnLGResult <SourceItem>()
            {
                Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR), Description = ""
            };

            try
            {
                //1. 解析js传过来的参数
                var jsData            = JsonUtil.SerializeObject(eventData);
                var webOneESightParam = JsonUtil.DeserializeObject <WebOneESightParam <ParamOnlyPagingInfo> >(jsData);
                LogUtil.HWLogger.UI.InfoFormat("Querying software list, the param is [{0}]", jsData);
                int pageSize = webOneESightParam.Param.PageSize;
                int pageNo   = webOneESightParam.Param.PageNo;
                //2. 根据HostIP获取IESSession
                IESSession esSession = ESSessionHelper.GetESSession(webOneESightParam.ESightIP);
                //3. 获取软件源列表数据
                var softwareSourceList = esSession.SoftSourceWorker.QuerySoftwarePage(pageNo, pageSize);
                //4. 返回数据
                ret.Code        = 0;
                ret.Data        = softwareSourceList.Data;
                ret.TotalNum    = softwareSourceList.TotalNum;
                ret.Description = "";

                LogUtil.HWLogger.UI.InfoFormat("Querying software list successful, the ret is [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Description = ex.Message;
                ret.Data        = null;
                ret.TotalNum    = 0;
                LogUtil.HWLogger.UI.Error("Querying software list failed: ", ex);
            }
            catch (Exception ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Description = ex.InnerException.Message ?? ex.Message;
                ret.Data        = null;
                ret.TotalNum    = 0;
                LogUtil.HWLogger.UI.Error("Querying software list failed: ", ex);
            }
            return(ret);
        }
        /// <summary>
        /// 添加模板任务
        /// </summary>
        private WebReturnResult <JObject> Save(object eventData)
        {
            var ret = new WebReturnResult <JObject>()
            {
                Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR)
            };

            try
            {
                //1. 获取UI传来的参数
                var jsData            = JsonUtil.SerializeObject(eventData);
                var webOneESightParam = JsonUtil.DeserializeObject <WebOneESightParam <ParamOfAddDeployTask> >(jsData);
                LogUtil.HWLogger.UI.InfoFormat("Saving template task..., the param is [{0}]", jsData);
                //2. 根据HostIP获取IESSession
                IESSession esSession = ESSessionHelper.GetESSession(webOneESightParam.ESightIP);
                //3. 保存
                DeployTask deployTask = new DeployTask();
                deployTask.DeviceDn  = webOneESightParam.Param.DeviceDn;
                deployTask.Templates = webOneESightParam.Param.Templates;
                string taskName = esSession.DeployWorker.AddDeployTask(webOneESightParam.Param.TaskSourceName, deployTask);
                //4. 返回数据
                JObject taskObject = new JObject();
                taskObject.Add("taskName", taskName);
                ret.Code        = 0;
                ret.Description = "";
                ret.Data        = taskObject;
                LogUtil.HWLogger.UI.InfoFormat("Saving template task completed! the ret is [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                LogUtil.HWLogger.UI.Error("Saving template task failed: ", ex);
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Description = ex.Message;
                ret.Data        = null;
            }
            catch (Exception ex)
            {
                LogUtil.HWLogger.UI.Error("Saving template task failed: ", ex);
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Description = ex.InnerException.Message ?? ex.Message;
                ret.Data        = null;
            }
            return(ret);
        }
        /// <summary>
        /// 加载服务器列表, 用于服务器列表UI、添加升级任务UI、添加模板任务UI
        /// </summary>
        public static QueryPageResult <HWDevice> GetServerList(object eventData)
        {
            var ret = new QueryPageResult <HWDevice>()
            {
                Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR)
            };

            try
            {
                //1. 解析js传过来的参数
                var jsData            = JsonUtil.SerializeObject(eventData);
                var webOneESightParam = JsonUtil.DeserializeObject <WebOneESightParam <DeviceParam> >(jsData);
                LogUtil.HWLogger.UI.InfoFormat("Querying server list, the param is [{0}]", jsData);
                //2. 根据HostIP获取IESSession
                IESSession esSession = ESSessionHelper.GetESSession(webOneESightParam.ESightIP);
                //3. 获取服务器列表数据
                var hwDevicePageResult = esSession.QueryHWPage(webOneESightParam.Param);
                //4. 返回数据
                ret = hwDevicePageResult;
                LogUtil.HWLogger.UI.InfoFormat("Querying server list successful, the ret is [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Description = ex.Message;
                ret.Data        = null;
                ret.TotalSize   = 0;
                ret.TotalPage   = 0;
                LogUtil.HWLogger.UI.Error("Querying server list failed: ", ex);
            }
            catch (Exception ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Description = ex.InnerException.Message ?? ex.Message;
                ret.Data        = null;
                ret.TotalSize   = 0;
                ret.TotalPage   = 0;
                LogUtil.HWLogger.UI.Error("Querying server list failed: ", ex);
            }
            return(ret);
        }
        /// <summary>
        /// 加载模板任务列表
        /// </summary>
        private QueryPageResult <HWESightTask> GetTaskList(object eventData)
        {
            var ret = new QueryPageResult <HWESightTask>()
            {
                Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR)
            };

            try
            {
                //1. 解析js传过来的参数
                var jsData            = JsonUtil.SerializeObject(eventData);
                var webOneESightParam = JsonUtil.DeserializeObject <WebOneESightParam <QueryDeployParam> >(jsData);
                LogUtil.HWLogger.UI.InfoFormat("Querying template task list, the param is [{0}]", jsData);
                //2. 根据HostIP获取IESSession
                IESSession esSession = ESSessionHelper.GetESSession(webOneESightParam.ESightIP);
                //3. 获取模板列表数据
                QueryPageResult <HWESightTask> templateTaskList = esSession.DeployWorker.FindDeployTaskWithSync(webOneESightParam.Param);
                //4. 返回数据
                ret = templateTaskList;
                LogUtil.HWLogger.UI.InfoFormat("Querying template task list successful, the ret is [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Description = ex.Message;
                ret.Data        = null;
                ret.TotalPage   = 0;
                ret.TotalSize   = 0;
                LogUtil.HWLogger.UI.Error("Querying template task list failed: ", ex);
            }
            catch (Exception ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Description = ex.InnerException.Message ?? ex.Message;
                ret.Data        = null;
                ret.TotalPage   = 0;
                ret.TotalSize   = 0;
                LogUtil.HWLogger.UI.Error("Querying template task list failed: ", ex);
            }
            return(ret);
        }
コード例 #17
0
        /// <summary>
        /// 查询升级任务详情
        /// </summary>
        /// <param name="eventData">JS参数</param>
        /// <returns></returns>
        private WebReturnResult <BasePackageDNProgress> GetTaskDetail(object eventData)
        {
            var ret = new WebReturnResult <BasePackageDNProgress>()
            {
                Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR)
            };

            try
            {
                //1. 解析js传过来的参数
                var jsData            = JsonUtil.SerializeObject(eventData);
                var webOneESightParam = JsonUtil.DeserializeObject <WebOneESightParam <ParamOfQueryFirmewareDetail> >(jsData);
                LogUtil.HWLogger.UI.InfoFormat("Querying firmware task detail, the param is [{0}]", jsData);
                //2. 根据HostIP获取IESSession
                IESSession esSession = ESSessionHelper.GetESSession(webOneESightParam.ESightIP);
                //3. 获取升级任务详情
                string taskName           = webOneESightParam.Param.TaskName;
                string dn                 = webOneESightParam.Param.DN;
                var    firmwareTaskDetail = esSession.BasePackageWorker.QueryDeployTaskDNProcess(taskName, dn);
                //4. 返回数据
                ret.Code        = firmwareTaskDetail.Code;
                ret.Data        = firmwareTaskDetail.Data;
                ret.Description = firmwareTaskDetail.Description;
                LogUtil.HWLogger.UI.InfoFormat("Querying firmware task detail successful, the ret is [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Description = ex.Message;
                ret.Data        = null;
                LogUtil.HWLogger.UI.Error("Querying firmware task detail failed: ", ex);
            }
            catch (Exception ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Description = ex.InnerException.Message ?? ex.Message;
                ret.Data        = null;
                LogUtil.HWLogger.UI.Error("Querying firmware task detail failed: ", ex);
            }
            return(ret);
        }
        private WebReturnResult <DeployTemplate> GetTemplateDetail(object eventData)
        {
            var ret = new WebReturnResult <DeployTemplate>()
            {
                Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR)
            };

            try
            {
                //1. 解析js传过来的参数
                var jsData            = JsonUtil.SerializeObject(eventData);
                var webOneESightParam = JsonUtil.DeserializeObject <WebOneESightParam <ParamOfQueryTemplateDetail> >(jsData);
                LogUtil.HWLogger.UI.InfoFormat("Querying template detail, the param is [{0}]", jsData);
                //2. 根据HostIP获取IESSession
                IESSession esSession = ESSessionHelper.GetESSession(webOneESightParam.ESightIP);
                //3. 获取升级任务详情
                string templateName   = webOneESightParam.Param.TemplateName;
                var    templateDetail = esSession.DeployWorker.QueryDeployTemplate(templateName);
                //4. 返回数据
                ret.Code        = 0;
                ret.Data        = templateDetail;
                ret.Description = "Operation success.";
                LogUtil.HWLogger.UI.InfoFormat("Querying template detail successful, the ret is [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Description = ex.Message;
                ret.Data        = null;
                LogUtil.HWLogger.UI.Error("Querying template detail failed: ", ex);
            }
            catch (Exception ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Description = ex.InnerException.Message ?? ex.Message;
                ret.Data        = null;
                LogUtil.HWLogger.UI.Error("Querying template detail failed: ", ex);
            }
            return(ret);
        }
コード例 #19
0
        /// <summary>
        /// 删除已上传的升级包
        /// </summary>
        /// <param name="eventData"></param>
        /// <returns></returns>
        private WebReturnResult <int> DeleteBasepackage(object eventData)
        {
            var ret = new WebReturnResult <int>()
            {
                Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR)
            };

            try
            {
                //1. 解析js传过来的参数
                var jsData            = JsonUtil.SerializeObject(eventData);
                var webOneESightParam = JsonUtil.DeserializeObject <WebOneESightParam <ParamOfQueryBasePackageDetail> >(jsData);
                LogUtil.HWLogger.UI.InfoFormat("Deleting basepackage..., the param is [{0}]", jsData);
                //2. 根据HostIP获取IESSession
                IESSession esSession = ESSessionHelper.GetESSession(webOneESightParam.ESightIP);
                //3. 获取升级任务详情
                string basepackageName = webOneESightParam.Param.BasepackageName;
                esSession.BasePackageWorker.DeleteBasePackage(basepackageName);
                //4. 返回数据
                ret.Code        = 0;
                ret.Data        = 1;
                ret.Description = "delete FMBasePackage File success.";
                LogUtil.HWLogger.UI.InfoFormat("Deleting basepackage successful, the ret is [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Description = ex.Message;
                ret.Data        = 0;
                LogUtil.HWLogger.UI.Error("Deleting basepackage failed: ", ex);
            }
            catch (Exception ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Description = ex.InnerException.Message ?? ex.Message;
                ret.Data        = 0;
                LogUtil.HWLogger.UI.Error("Deleting basepackage failed: ", ex);
            }
            return(ret);
        }
        /// <summary>
        /// 查询服务器详细信息
        /// </summary>
        /// <param name="eventData">JS传递的参数</param>
        /// <returns></returns>
        public static WebReturnResult <QueryListResult <HWDeviceDetail> > GetDeviceDetail(object eventData)
        {
            var ret = new WebReturnResult <QueryListResult <HWDeviceDetail> >()
            {
                Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR)
            };

            try
            {
                //1. 解析js传过来的参数
                var jsData            = JsonUtil.SerializeObject(eventData);
                var webOneESightParam = JsonUtil.DeserializeObject <ParamOfQueryDeviceDetail>(jsData);
                LogUtil.HWLogger.UI.InfoFormat("Querying server detail, the param is [{0}]", jsData);
                //2. 根据HostIP获取IESSession
                IESSession esSession = ESSessionHelper.GetESSession(webOneESightParam.ESightIP);
                //3. 获取升级任务详情
                string dn = webOneESightParam.DN;
                var    hwDeviceDetailList = esSession.DviWorker.QueryForDeviceDetail(dn);
                //4. 返回数据
                ret.Code        = 0;
                ret.Data        = hwDeviceDetailList;
                ret.Description = "Succeeded in querying server details.";
                LogUtil.HWLogger.UI.InfoFormat("Querying server detail successful, the ret is [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Description = ex.Message;
                ret.Data        = null;
                LogUtil.HWLogger.UI.Error("Querying server detail failed: ", ex);
            }
            catch (Exception ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Description = ex.InnerException.Message ?? ex.Message;
                ret.Data        = null;
                LogUtil.HWLogger.UI.Error("Querying server detail failed: ", ex);
            }
            return(ret);
        }
        /// <summary>
        /// 删除软件源
        /// </summary>
        private WebReturnResult <int> Delete(object eventData)
        {
            var ret = new WebReturnResult <int>()
            {
                Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR), Description = "", Data = 0
            };

            try
            {
                //1. 获取UI传来的参数
                var jsData            = JsonUtil.SerializeObject(eventData);
                var webOneESightParam = JsonUtil.DeserializeObject <WebOneESightParam <string> >(jsData);
                LogUtil.HWLogger.UI.InfoFormat("Deleting software source..., the param is [{0}]", jsData);
                //2. 根据HostIP获取IESSession
                IESSession esSession = ESSessionHelper.GetESSession(webOneESightParam.ESightIP);
                //3. 删除模板
                esSession.SoftSourceWorker.DeleteSoftwareSource(webOneESightParam.Param);
                //4. 返回数据
                ret.Code        = 0;
                ret.Data        = 1;
                ret.Description = "";
                LogUtil.HWLogger.UI.InfoFormat("Deleting software source successful! the ret is: [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                LogUtil.HWLogger.UI.Error("Deleting software source failed: ", ex);
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Data        = 0;
                ret.Description = ex.Message;
            }
            catch (Exception ex)
            {
                LogUtil.HWLogger.UI.Error("Deleting software source failed: ", ex);
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Data        = 0;
                ret.Description = ex.InnerException.Message ?? ex.Message;
            }
            return(ret);
        }
        /// <summary>
        /// 删除模板任务
        /// </summary>
        private WebReturnResult <int> Delete(object eventData)
        {
            var ret = new WebReturnResult <int>()
            {
                Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR)
            };

            try
            {
                //1. 获取UI传来的参数
                var jsData            = JsonUtil.SerializeObject(eventData);
                var webOneESightParam = JsonUtil.DeserializeObject <WebOneESightParam <ParamOfDeleteTask> >(jsData);
                LogUtil.HWLogger.UI.InfoFormat("Deleting template task..., the param is [{0}]", jsData);
                //2. 根据HostIP获取IESSession
                IESSession esSession = ESSessionHelper.GetESSession(webOneESightParam.ESightIP);
                //3. 删除模板任务
                int deleteResult = esSession.DeployWorker.DeleteTask(webOneESightParam.Param.TaskId);
                //4. 返回数据
                ret.Code        = 0;
                ret.Description = "Deleting template task successful!";
                ret.Data        = deleteResult;
                LogUtil.HWLogger.UI.InfoFormat("Deleting template task successful! the ret is [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                LogUtil.HWLogger.UI.Error("Deleting template task failed: ", ex);
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Description = ex.Message;
                ret.Data        = 0;
            }
            catch (Exception ex)
            {
                LogUtil.HWLogger.UI.Error("Deleting template task failed: ", ex);
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Description = ex.InnerException.Message ?? ex.Message;
                ret.Data        = 0;
            }
            return(ret);
        }
        /// <summary>
        /// 加载软件源任务列表
        /// </summary>
        private WebReturnResult <List <HWESightTask> > GetSoftwareSourceTaskList(object eventData)
        {
            var ret = new WebReturnResult <List <HWESightTask> >()
            {
                Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR), Description = ""
            };

            try
            {
                LogUtil.HWLogger.UI.InfoFormat("Querying software source task list...");
                //1.
                ESightEngine.Instance.InitESSessions();
                //2. 获取软件源任务数据
                List <HWESightTask> hwESightTaskList = new List <HWESightTask>(ESightEngine.Instance.FindAllSoftwareSourceTaskWithSync());
                //3. 组织数据
                ret.Code        = 0;
                ret.Data        = hwESightTaskList;
                ret.Description = "";
                LogUtil.HWLogger.UI.InfoFormat("Querying software source task list successful, the ret is: [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Description = ex.Message;
                ret.Data        = null;
                LogUtil.HWLogger.UI.Error("Querying software source task list failed: ", ex);
            }
            catch (Exception ex)
            {
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Description = ex.InnerException.Message ?? ex.Message;
                ret.Data        = null;
                LogUtil.HWLogger.UI.Error("Querying software source task list failed: ", ex);
            }
            return(ret);
        }
コード例 #24
0
        public void HCCheckResultTest()
        {
            //HttpResponseMessage hrm = new HttpResponseMessage(System.Net.HttpStatusCode.BadRequest);

            /*
             * objectContent = new StringContent(content);
             * objectContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
             *
             * HttpClientExtensions.PostAsJsonAsync<T>:
             *
             * await httpClient.PostAsJsonAsync(url, json);
             */
            HttpResponseMessage rsp = new HttpResponseMessage(System.Net.HttpStatusCode.OK);

            //rsp.Content.Headers.Add("application/json");
            //rsp.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            rsp.Content =
                new StringContent("{\"code\":0,\"data\":\"bfec0163 - dd56 - 473e-b11f - 6d5845e1b684\", \"description\":\"Operation success.\"}"
                                  , Encoding.UTF8, "application/json");
            JObject jObject = _esSession.HCCheckResult("https://127.0.0.1", rsp);

            Console.WriteLine(jObject);
            Assert.AreEqual(CoreUtil.GetObjTranNull <int>(jObject.Property("code")), 0);
        }
コード例 #25
0
 /// <summary>
 /// 获得一个JObject的属性值,当该属性为不存在时,返回一个default 值的 期待对象。
 /// </summary>
 /// <typeparam name="T">目标类型</typeparam>
 /// <param name="result">需要解析的Json对象</param>
 /// <param name="name">属性名</param>
 /// <returns></returns>
 private static T GetJObjectPropVal <T>(JObject result, string name)
 {
     return(CoreUtil.GetObjTranNull <T>(result.Property(name).Value));
 }
        /// <summary>
        /// 保存软件源
        /// </summary>
        private WebReturnResult <List <WebReturnESightResult> > Save(object eventData)
        {
            var ret = new WebReturnResult <List <WebReturnESightResult> >()
            {
                Code = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR), Description = ""
            };

            try
            {
                //1. 获取UI传来的参数
                var jsData    = JsonUtil.SerializeObject(eventData);
                var newJsData = CommonBLLMethodHelper.HidePassword(jsData);
                LogUtil.HWLogger.UI.InfoFormat("Saving software source..., the param is [{0}]", newJsData);
                var webMutilESightsParam = JsonUtil.DeserializeObject <WebMutilESightsParam <SoftwareSource> >(jsData);
                //2. 根据HostIP获取IESSession
                List <WebReturnESightResult> webReturnESightResultList = new List <WebReturnESightResult>();
                int    eSightCount = webMutilESightsParam.ESights.Count;
                int    errorCount  = 0;
                int    errorCode   = 0;
                string errorModel  = "";
                foreach (string hostIP in webMutilESightsParam.ESights)
                {
                    IESSession esSession = null;
                    //3. 保存软件源
                    WebReturnESightResult webReturnESightResult = new WebReturnESightResult();
                    try
                    {
                        esSession = ESSessionHelper.GetESSession(hostIP);
                        esSession.SoftSourceWorker.UploadSoftwareSource(webMutilESightsParam.Data);

                        webReturnESightResult.ESightIp    = hostIP;
                        webReturnESightResult.Code        = 0;
                        webReturnESightResult.Description = "successful";
                        LogUtil.HWLogger.UI.InfoFormat("Saving software source successful on eSight [{0}]", webReturnESightResult.ESightIp);
                    }
                    catch (BaseException ex)
                    {
                        webReturnESightResult.ESightIp    = hostIP;
                        webReturnESightResult.Code        = CommonUtil.CoreUtil.GetObjTranNull <int>(ex.Code);
                        webReturnESightResult.ErrorModel  = ex.ErrorModel;
                        webReturnESightResult.Description = ex.Message;
                        errorCount++;
                        SetErrorCode(errorCount, ex.Code, ex.ErrorModel, ref errorCode, ref errorModel);
                        LogUtil.HWLogger.UI.Error(string.Format("Saving software source failed on eSight [{0}]: ", webReturnESightResult.ESightIp), ex);
                    }
                    catch (Exception ex)
                    {
                        webReturnESightResult.ESightIp    = hostIP;
                        webReturnESightResult.Code        = CommonUtil.CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                        webReturnESightResult.Description = ex.Message;
                        errorCount++;
                        SetErrorCode(errorCount, ConstMgr.ErrorCode.SYS_UNKNOWN_ERR, "", ref errorCode, ref errorModel);
                        LogUtil.HWLogger.UI.Error(string.Format("Saving software source failed on eSight [{0}]: ", webReturnESightResult.ESightIp), ex);
                    }
                    webReturnESightResultList.Add(webReturnESightResult);
                }
                SetSaveResultWhenComplete(errorCount, eSightCount, errorCode, errorModel, ref ret);
                ret.Description = "";
                ret.Data        = webReturnESightResultList;
                LogUtil.HWLogger.UI.InfoFormat("Saving software source completed! the ret is [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                LogUtil.HWLogger.UI.Error("Saving software source failed: ", ex);
                ret.Code        = CoreUtil.GetObjTranNull <int>(ex.Code);
                ret.ErrorModel  = ex.ErrorModel;
                ret.Description = ex.Message;
                ret.Data        = null;
            }
            catch (Exception ex)
            {
                LogUtil.HWLogger.UI.Error("Saving software source failed: ", ex);
                ret.Code        = CoreUtil.GetObjTranNull <int>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR);
                ret.Description = ex.InnerException.Message ?? ex.Message;
                ret.Data        = null;
            }
            return(ret);
        }
        /// <summary>
        /// The process request.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "application/json";
            context.Response.AddHeader("Access-Control-Allow-Origin", "*");
            var action = context.Request.QueryString["action"];

            switch (action)
            {
            case "list":
                var query = new ParamPagingOfQueryESight();
                query.PageNo   = 1;
                query.PageSize = 100000;

                query.HostIp = context.Request.Form["hostIP"] ?? string.Empty;
                var list = ESightHelper.GetList(query);
                Task.Run(() =>
                {
                    ESightEngine.Instance.CheckAllESightConnection();
                });
                context.Response.Write(JsonUtil.SerializeObject(list).Replace("null", "\"\""));
                break;

            case "test":
                var testModel = new HWESightHost();
                testModel.HostIP       = context.Request.Form["hostIP"];
                testModel.HostPort     = Convert.ToInt32(context.Request.Form["hostPort"]);
                testModel.LoginAccount = context.Request.Form["loginAccount"];
                testModel.LoginPd      = context.Request.Form["LoginPd"];
                context.Response.Write(JsonUtil.SerializeObject(ESightHelper.Test(testModel)));
                break;

            case "add":
                var addModel = new HWESightHost();
                addModel.AliasName              = context.Request.Form["aliasName"];
                addModel.HostIP                 = context.Request.Form["hostIP"];
                addModel.HostPort               = Convert.ToInt32(context.Request.Form["hostPort"]);
                addModel.LoginAccount           = context.Request.Form["loginAccount"];
                addModel.SystemID               = context.Request.Form["systemId"];
                addModel.LoginPd                = context.Request.Form["LoginPd"];
                addModel.SubscripeNeDeviceError = string.Empty;
                addModel.SubscripeAlarmError    = string.Empty;
                context.Response.Write(JsonUtil.SerializeObject(ESightHelper.Add(addModel)));
                break;

            case "update":
                var updateModel = new HWESightHost();
                updateModel.AliasName    = context.Request.Form["aliasName"];
                updateModel.HostIP       = context.Request.Form["hostIP"];
                updateModel.HostPort     = Convert.ToInt32(context.Request.Form["hostPort"]);
                updateModel.LoginAccount = context.Request.Form["loginAccount"];
                updateModel.SystemID     = context.Request.Form["systemId"];
                updateModel.LoginPd      = context.Request.Form["LoginPd"];
                if (!string.IsNullOrWhiteSpace(updateModel.LoginAccount))
                {
                    context.Response.Write(JsonUtil.SerializeObject(ESightHelper.Update(updateModel)));
                }
                else
                {
                    context.Response.Write(JsonUtil.SerializeObject(ESightHelper.UpdateWithOutPass(updateModel)));
                }
                break;

            case "delete":
                var ids    = context.Request.Form["ids"];
                var result = ESightHelper.Delete(ids);
                context.Response.Write(JsonUtil.SerializeObject(result));
                break;

            default:
                var ret = new WebReturnLGResult <HWESightHost>
                {
                    Code = CoreUtil.GetObjTranNull <int>(
                        ConstMgr.ErrorCode.SYS_UNKNOWN_ERR),
                    Description = string.Empty
                };
                ret.Code = -999999;
                context.Response.Write(JsonUtil.SerializeObject(ret));
                break;
            }
        }