/// <summary> /// 返回IESSession /// </summary> /// <param name="hostIP">eSight IP</param> /// <param name="aliasName">别名</param> /// <param name="port">eSight 端口</param> /// <param name="userAccount">对应的账号</param> /// <param name="passowrd">对应的密码</param> /// <param name="timeoutSec">连接超时时间,默认:ConstMgr.HWESightHost.DEFAULT_TIMEOUT_SEC</param> /// <returns></returns> public IESSession SaveNewESSession(string hostIP, string aliasName, int port, string userAccount, string passowrd, int timeoutSec = ConstMgr.HWESightHost.DEFAULT_TIMEOUT_SEC) { //测试连接... using (ESSession eSSession = new ESSession()) { eSSession.SetHttpMode(_isHttps); eSSession.InitESight(hostIP, port, userAccount, passowrd, timeoutSec); eSSession.Open(); } IESSession iESSession = null; iESSession = FindESSession(hostIP); //查找已有的eSesssion,防止重复 if (iESSession == null) //没有找到已有的eSight. { iESSession = new ESSession(); iESSession.SetHttpMode(_isHttps); //设置默认协议为全局。 } iESSession.InitESight(hostIP, port, userAccount, passowrd, timeoutSec); //初始化eSight. iESSession.HWESightHost.AliasName = aliasName; //初始化eSight别名. iESSession.Open(); //尝试打开连接,可能会抛出异常。 iESSession.SaveToDB(); //保存到数据库 lock (eSightSessions) //锁定向量,防止并发 { eSightSessions[iESSession.HWESightHost.HostIP.ToUpper()] = iESSession; //存储到缓存。 } return(iESSession); }
/// <summary> /// 查找eSight主机信息,并且打开. /// </summary> /// <param name="hostIP">主机IP</param> /// <returns>返回查找到的eSight,没有找到返回为null</returns> public IESSession FindAndOpenESSession(string hostIP) { try { IESSession iESSession = FindESSession(hostIP); //Find eSightHost... HWESightHost hwESightHost = HWESightHostDal.Instance.FindByIP(hostIP); if (iESSession != null) { if (IsSameESightHost(hwESightHost, iESSession.HWESightHost)) { iESSession.Open(); } else { iESSession.InitESight(hwESightHost, ConstMgr.HWESightHost.DEFAULT_TIMEOUT_SEC); iESSession.Open(); } } return(iESSession); } catch (Exception se) { LogUtil.HWLogger.API.Error(se); throw; } }
private static void ValidateESSession(IESSession esSession) { if (esSession == null) { throw new ESSessionExpceion(ConstMgr.ErrorCode.NET_ESIGHT_NOFOUND, esSession, "没有发现ESSession!"); } }
private static void ConnectESSession(IESSession esSession) { if (string.IsNullOrEmpty(esSession.OpenID)) { esSession.Open(); } }
public void SaveNewESSessionTest() { IESSession iSession = ESightEngine.Instance.SaveNewESSession(_hwESightHost.HostIP, _hwESightHost.HostPort, _hwESightHost.LoginAccount, _hwESightHost.LoginPwd); Assert.IsNotNull(iSession); iSession = ESightEngine.Instance.SaveESSession(_hwESightHost.HostIP, "Tom", _hwESightHost.HostPort); Assert.IsNotNull(iSession); }
/// <summary> /// 根据eSight IP获取ESSession对象 /// </summary> /// <param name="hostIP">eSight IP</param> /// <returns></returns> public static IESSession GetESSession(string hostIP) { IESSession esSession = ESightEngine.Instance.FindESSession(hostIP); ValidateESSession(esSession); ConnectESSession(esSession); return(esSession); }
public void RemoveESSessionTest1() { IESSession iSession = ESightEngine.Instance.SaveNewESSession(_hwESightHost.HostIP, _hwESightHost.HostPort, _hwESightHost.LoginAccount, _hwESightHost.LoginPwd); Assert.IsNotNull(iSession); iSession = ESightEngine.Instance.FindESSession(_hwESightHost.HostIP); ESightEngine.Instance.RemoveESSession(new int[] { iSession.HWESightHost.ID }); }
public void RemoveESSessionTest() { IESSession iSession = ESightEngine.Instance.SaveNewESSession(_hwESightHost.HostIP, _hwESightHost.HostPort, _hwESightHost.LoginAccount, _hwESightHost.LoginPwd); Assert.IsNotNull(iSession); bool removed = ESightEngine.Instance.RemoveESSession(new string[] { _hwESightHost.HostIP }); Assert.IsTrue(removed); }
public void FindAndOpenESSessionTest() { IESSession iSession = ESightEngine.Instance.SaveNewESSession(_hwESightHost.HostIP, _hwESightHost.HostPort, _hwESightHost.LoginAccount, _hwESightHost.LoginPwd); Assert.IsNotNull(iSession); iSession = ESightEngine.Instance.FindAndOpenESSession(_hwESightHost.HostIP); Assert.IsNotNull(iSession); Assert.IsTrue(iSession.IsConnected()); }
/// <summary> /// 刷新密码。时机是每次启动时,这里会加在这个单例的初始化。 /// 重置密钥,并且更新密码。 /// 规则1:密钥须支持可更新,并明确更新周期,在一次性可编程的芯片中保存的密钥除外 /// 说明:工作密钥及密钥加密密钥在使用过程中,都应保证其可以更新。对于根密钥暂不要求必须支持可更新。 /// </summary> public void RefreshPwds() { LogUtil.HWLogger.DEFAULT.InfoFormat("Refresh password with encryption..."); lock (_lockRefreshPwds) { lock (eSightSessions) { using (var mutex = new System.Threading.Mutex(false, "huawei.sccmplugin.engine")) { if (mutex.WaitOne(TimeSpan.FromSeconds(60), false)) { string oldMainKey = ""; //2017-10-11 检查是否需要升级的密钥。 if (!EncryptUtil.IsCompatibleVersion()) { oldMainKey = EncryptUtil.GetMainKey1060(); LogUtil.HWLogger.DEFAULT.InfoFormat("oldMainKey:{0}", oldMainKey); if (string.IsNullOrEmpty(oldMainKey)) { return; } EncryptUtil.ClearAndUpgradeKey(); } else { //旧的key oldMainKey = EncryptUtil.GetMainKeyWithoutInit(); if (string.IsNullOrEmpty(oldMainKey)) { return; } //重新初始化主密钥。 EncryptUtil.InitMainKey(); } string newMainKey = EncryptUtil.GetMainKeyFromPath(); // LogUtil.HWLogger.DEFAULT.InfoFormat("Change key,oldMainKey={1},newMainKey={1}",oldMainKey,newMainKey); //遍历所有session. IList <HWESightHost> hostlist = ESightEngine.Instance.ListESHost(); foreach (HWESightHost eSightHost in hostlist) { string pwd = EncryptUtil.DecryptWithKey(oldMainKey, eSightHost.LoginPwd); string enPwd = EncryptUtil.EncryptWithKey(newMainKey, pwd); IESSession iESSession = FindESSession(eSightHost.HostIP); iESSession.HWESightHost.LoginPwd = enPwd; eSightSessions[eSightHost.HostIP.ToUpper()] = iESSession; iESSession.SaveToDB(); } } } } } LogUtil.HWLogger.DEFAULT.InfoFormat("Refresh password with encryption successful!"); }
public static void ClassInitialize(TestContext context) { _hwESightHost = new HWESightHost(); _hwESightHost.HostIP = "127.0.0.1"; _hwESightHost.HostPort = 32102; _hwESightHost.LoginAccount = "test"; _hwESightHost.LoginPwd = "test"; _esSession = new ESSession(); _esSession.SetHttpMode(true); _esSession.InitESight(_hwESightHost, ConstMgr.HWESightHost.DEFAULT_TIMEOUT_SEC); }
/// <summary> /// 删除一个已有的eSight. /// </summary> /// <param name="hostIP">eSight IP</param> /// <returns>默认返回成功</returns> public bool RemoveESSession(string hostIP) { IESSession iESSession = FindESSession(hostIP); if (iESSession != null)//没有找到已有的eSight. { eSightSessions.Remove(hostIP.ToUpper()); iESSession.DeleteESight(); } return(true); }
/// <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="hostIP">eSight IP</param> /// <param name="aliasName">别名</param> /// <param name="port">eSight 端口</param> /// <returns></returns> public IESSession SaveESSession(string hostIP, string aliasName, int port) { IESSession iESSession = null; iESSession = FindESSession(hostIP); if (iESSession != null) { SaveNewESSession(hostIP, aliasName, port, iESSession.HWESightHost.LoginAccount, iESSession.HWESightHost.LoginPwd); } else { throw new BaseException(ConstMgr.ErrorCode.NET_ESIGHT_NOFOUND, this, "Sytem can not find this eSight"); } return(iESSession); }
public void TestOpenId() { ESightEngine.Instance.SaveNewESSession(_hwESightHost.HostIP, _hwESightHost.HostPort, _hwESightHost.LoginAccount, _hwESightHost.LoginPwd); IESSession iSession = ESightEngine.Instance.FindAndOpenESSession(_hwESightHost.HostIP); DeviceParam queryDeviceParam = new DeviceParam(); queryDeviceParam.ServerType = ConstMgr.HWDevice.SERVER_TYPE_BLADE; queryDeviceParam.StartPage = 1; queryDeviceParam.PageSize = 100; queryDeviceParam.PageOrder = "ipAddress"; queryDeviceParam.OrderDesc = true; QueryPageResult <HWDevice> hwDevicePageResult = iSession.QueryHWPage(queryDeviceParam); LogUtil.HWLogger.DEFAULT.Info(hwDevicePageResult); Assert.IsTrue(!string.IsNullOrEmpty(iSession.OpenID)); }
/// <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> /// 查询已有的连接列表 /// </summary> /// <returns>返回已有的连接列表</returns> public IList <IESSession> ListESSessions() { lock (eSightSessions) { IList <IESSession> retList = new List <IESSession>(); IList <HWESightHost> hostList = ListESHost(); Dictionary <string, HWESightHost> tmpSessions = new Dictionary <string, HWESightHost>(); foreach (HWESightHost hwESightHost in hostList) { tmpSessions[hwESightHost.HostIP.ToUpper()] = hwESightHost; if (eSightSessions.ContainsKey(hwESightHost.HostIP.ToUpper()))//Already exists... { IESSession iESession = eSightSessions[hwESightHost.HostIP.ToUpper()]; if (IsSameESightHost(hwESightHost, iESession.HWESightHost)) { retList.Add(eSightSessions[hwESightHost.HostIP.ToUpper()]); } else//If not same reinit. 将list增加给retlist { iESession.InitESight(hwESightHost, ConstMgr.HWESightHost.DEFAULT_TIMEOUT_SEC); retList.Add(iESession); } } else {//Create new... IESSession iESSession = new ESSession(); iESSession.SetHttpMode(_isHttps); iESSession.InitESight(hwESightHost, ConstMgr.HWESightHost.DEFAULT_TIMEOUT_SEC); eSightSessions[hwESightHost.HostIP.ToUpper()] = iESSession; retList.Add(iESSession); } } //Clean unused sessions. IList <IESSession> existsList = new List <IESSession>(eSightSessions.Values); foreach (IESSession ieSSession in existsList) { if (!tmpSessions.ContainsKey(ieSSession.HWESightHost.HostIP.ToUpper())) { eSightSessions.Remove(ieSSession.HWESightHost.HostIP.ToUpper()); } } return(retList); } }
/// <summary> /// 查找eSight主机信息,并且打开. /// </summary> /// <param name="hostIP">主机IP</param> /// <returns>返回查找到的eSight,没有找到返回为null</returns> public IESSession FindAndOpenESSession(string hostIP) { try { IESSession iESSession = FindESSession(hostIP); if (iESSession != null) { iESSession.Open(); iESSession.SaveToDB();//保存状态。 } return(iESSession); } catch (Exception se) { LogUtil.HWLogger.API.Error(se); throw; } }
/// <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> /// 加载服务器列表, 用于服务器列表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> /// <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); }
/// <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); }
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">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 ApiResult <BasePackageDetail> GetFirmwareDetails(object eventData) { var ret = new ApiResult <BasePackageDetail>(false, ConstMgr.ErrorCode.SYS_UNKNOWN_ERR, "", "", null); try { //1. 解析js传过来的参数 var jsData = JsonUtil.SerializeObject(eventData); var webOneESightParam = JsonUtil.DeserializeObject <WebOneESightParam <ParamOfQueryBasePackageDetail> >(jsData); LogUtil.HWLogger.UI.InfoFormat("Querying basepackage detail, the param is: [{0}] [{1}]", webOneESightParam.ESightIP, webOneESightParam.Param.BasepackageName); //2. 根据HostIP获取IESSession IESSession esSession = ESSessionHelper.GetESSession(webOneESightParam.ESightIP); //3. 获取固件升级包明细数据 QueryObjectResult <BasePackageDetail> basePackageDetail = esSession.BasePackageWorker.QueryBasePackageDetail(webOneESightParam.Param.BasepackageName); //4. 组织数据 ret.Code = basePackageDetail.Code.ToString(); ret.Success = basePackageDetail.Code == 0 ? true : false; ret.Data = basePackageDetail.Data; LogUtil.HWLogger.UI.InfoFormat("Querying basepackage detail successful, the ret is: [{0}]", JsonUtil.SerializeObject(ret)); } catch (BaseException ex) { ret.Code = string.Format("{0}{1}", ex.ErrorModel, ex.Code); ret.Success = false; ret.ExceptionMsg = ex.Message; ret.Data = null; LogUtil.HWLogger.UI.Error("Querying basepackage detail failed: ", ex); } catch (Exception ex) { ret.Code = ConstMgr.ErrorCode.SYS_UNKNOWN_ERR; ret.Success = false; ret.ExceptionMsg = ex.InnerException.Message ?? ex.Message; ret.Data = null; LogUtil.HWLogger.UI.Error("Querying basepackage detail failed: ", ex); } return(ret); }
/// <summary> /// 删除模板 /// </summary> private ApiResult Delete(object eventData) { ApiResult ret = new ApiResult(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR, ""); try { LogUtil.HWLogger.UI.InfoFormat("Deleting template..., the param is [{0}]", JsonUtil.SerializeObject(eventData)); //1. 获取UI传来的参数 var jsData = eventData as Dictionary <string, object>; string hostIP = DictHelper.GetDicValue(jsData, "hostIP"); string templateName = DictHelper.GetDicValue(jsData, "templateName"); //2. 根据HostIP获取IESSession IESSession esSession = ESSessionHelper.GetESSession(hostIP); //3. 删除模板 esSession.DeployWorker.DelDeployTemplate(templateName); LogUtil.HWLogger.UI.Info("Deleting template successful!"); ret.Code = "0"; ret.Success = true; ret.Msg = "Deleting template successful!"; } catch (BaseException ex) { LogUtil.HWLogger.UI.Error("Deleting template failed: ", ex); ret.Code = string.Format("{0}{1}", ex.ErrorModel, ex.Code); ret.Success = false; ret.ExceptionMsg = ex.Message; } catch (Exception ex) { LogUtil.HWLogger.UI.Error("Deleting template failed: ", ex); ret.Code = ConstMgr.ErrorCode.SYS_UNKNOWN_ERR; ret.Success = false; ret.ExceptionMsg = ex.InnerException.Message ?? ex.Message; } return(ret); }
public void SaveESSessionFaileTest() { IESSession iSession = ESightEngine.Instance.SaveESSession("133.300.621.118", "Tom", 1433); }