/// <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)); } }
/// <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); }
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); }
/// <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; } }
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); }
/// <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); }
/// <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; }
/// <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); }
/// <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); }
/// <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); }
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); }
/// <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; } }