Beispiel #1
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);
        }
        /// <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>
        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);
        }
Beispiel #4
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);
        }
        /// <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>
        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 <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 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);
        }
        /// <summary>
        /// 添加升级包
        /// </summary>
        private ApiListResult <WebReturnESightResult> Save(object eventData)
        {
            var ret = new ApiListResult <WebReturnESightResult>(ConstMgr.ErrorCode.SYS_UNKNOWN_ERR, "");

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

                        webReturnESightResult.ESightIp    = hostIP;
                        webReturnESightResult.Code        = 0;
                        webReturnESightResult.Description = "successful";
                        LogUtil.HWLogger.UI.InfoFormat("Saving basepackage 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);
                        LogUtil.HWLogger.UI.Error(string.Format("Saving basepackage 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.InnerException.Message ?? ex.Message;
                        errorCount++;
                        SetErrorCode(errorCount, ConstMgr.ErrorCode.SYS_UNKNOWN_ERR, "", ref errorCode);
                        LogUtil.HWLogger.UI.Error(string.Format("Saving basepackage failed on eSight [{0}]: ", webReturnESightResult.ESightIp), ex);
                    }
                    webReturnESightResultList.Add(webReturnESightResult);
                }
                SetSaveResultWhenComplete(errorCount, eSightCount, errorCode, ref ret);
                ret.Data = webReturnESightResultList;
                LogUtil.HWLogger.UI.InfoFormat("Saving basepackage completed! the ret is [{0}]", JsonUtil.SerializeObject(ret));
            }
            catch (BaseException ex)
            {
                LogUtil.HWLogger.UI.Error("Saving basepackage failed: ", ex);
                ret.Code         = string.Format("{0}{1}", ex.ErrorModel, ex.Code);
                ret.Success      = false;
                ret.ExceptionMsg = ex.Message;
                ret.Data         = null;
            }
            catch (Exception ex)
            {
                LogUtil.HWLogger.UI.Error("Saving basepackage failed: ", ex);
                ret.Code         = ConstMgr.ErrorCode.SYS_UNKNOWN_ERR;
                ret.Success      = false;
                ret.ExceptionMsg = ex.InnerException.Message ?? ex.Message;
                ret.Data         = null;
            }
            return(ret);
        }