public Command(string commandText, TaskCommandType taskCommandType) { m_commandText = commandText; m_generateTime = DateTime.Now; m_execute = false; m_taskCommandType = taskCommandType; }
public Command(string commandText) { m_commandText = commandText; m_generateTime = DateTime.Now; m_execute = false; m_taskCommandType = TaskCommandType.Business; }
protected override void ExecuteAddIPTV(Task task) { int step = 1;//1.ONU核查 2.业务配置 #region 流程 foreach (CommandAndResponsePair pair in m_commands) { TaskCommandType cmt = pair.Command.TaskCommandType; pair.Msg = ExecuteComm(pair.Command); if (pair.Msg.CompletionCode == CommandResponseStatus.DENY) { pair.Msg.ParseErrorDesc(m_commBuilder, pair.Command.CommandText); break; } #region 验证ONU贝尔处理 step 1 if (pair.Step == 1 && pair.Msg.Information.Count <= 0)//贝尔 执行LST-ONU成功,实际无ONU数据,命令执行失败,跳出 { pair.Msg.CompletionCode = CommandResponseStatus.DENY; pair.Msg.ErrorDesc = ErrorDesc.OnuNotExist; break; } #endregion step++; } #endregion }
public List <Command> ParseTask2Commands(Task task, TaskCommandType taskCommandType) { switch (taskCommandType) { case TaskCommandType.Business: switch (task.Type) { case TaskType.NewBroadband: case TaskType.AddBroadband: case TaskType.NewIMS: case TaskType.AddIMS: case TaskType.NewIPTV: case TaskType.AddIPTV: return(ParseAddTask(task)); case TaskType.DelONU: return(ParseDelOnu(task)); case TaskType.DelBroadband: case TaskType.DelIMS: case TaskType.DelIPTV: return(ParseDelTask(task)); case TaskType.SameInstall: return(ParseSameInstall(task)); default: return(null); } case TaskCommandType.AddOnu: return(ParseAddOnu(task)); case TaskCommandType.DelOnu: return(ParseDelOnu(task)); case TaskCommandType.VerifyOnu: return(ParseLstOnu(task)); case TaskCommandType.VerifyVlan: return(ParseLstPortVlan(task)); case TaskCommandType.UPBandwidth: return(ParseUPBandwidth(task)); case TaskCommandType.ManageBusiness: return(ParseAddManagBuinss(task)); case TaskCommandType.DelManageBusiness: return(ParseDelManagBuinss(task)); case TaskCommandType.SameInstall: return(ParseSameInstall(task)); default: return(null); } }
protected override void ExecuteNewIPTV(Task task) { int step = 1;//1.核查ONU 2.更具需要添加ONU 3.业务配置 #region isAddOnu = false; foreach (CommandAndResponsePair pair in m_commands) { TaskCommandType cmt = pair.Command.TaskCommandType; #region step 2 || step 3 if (pair.Step == 2 || pair.Step == 3) { if (!isAddOnu) { continue; } } #endregion pair.Msg = ExecuteComm(pair.Command); #region 贝尔 OLT从password从修改到LOID认证方式,需执行CFG-ONU,不需要关注执行成功与失败 2016-06-24 by d.w if (pair.Msg.CompletionCode == CommandResponseStatus.DENY) { pair.Msg.ParseErrorDesc(m_commBuilder, pair.Command.CommandText); #region step 1 验证ONU处理,判定命令执行成功 if (pair.Step == 1 && pair.Msg.ErrorDesc == ErrorDesc.OnuNotExist) { pair.Msg.CompletionCode = CommandResponseStatus.COMPLD; isAddOnu = true; continue; } #endregion break; } #endregion #region step 2 ADD-ONU后睡几秒,防止IMS装失败:“generic.mo.duplicate.entry” if (pair.Step == 2) { Thread.Sleep(1000 * 25); } #endregion #region step 1 验证ONU处理 if (pair.Step == 1 && pair.Msg.Information.Count <= 0)//贝尔 执行LST-ONU成功,实际无ONU数据 { isAddOnu = true; } #endregion step++; } #endregion }
protected override void ExecuteAddIMS(Task task) { int step = 1;//1.ONU核查 2.核查语音端口号(不需要了) 3.业务配置 #region 流程 foreach (CommandAndResponsePair pair in m_commands) { TaskCommandType cmt = pair.Command.TaskCommandType; try { pair.Msg = ExecuteComm(pair.Command); if (pair.Msg.CompletionCode == CommandResponseStatus.DENY) { pair.Msg.ParseErrorDesc(m_commBuilder, pair.Command.CommandText); break; } } catch { } #region 验证ONU贝尔处理 step 1 if (pair.Step == 1 && pair.Msg.Information.Count <= 0)//贝尔 执行LST-ONU成功,实际无ONU数据,命令执行失败,跳出 { pair.Msg.CompletionCode = CommandResponseStatus.DENY; pair.Msg.ErrorDesc = ErrorDesc.OnuNotExist; break; } #endregion #region step 2 注释了 核查语音端口号 //if (pair.Step == 2 && pair.Msg.Information.Count > 0) //{ // foreach (Dictionary<string, string> item in pair.Msg.Information) // { // if (item.ContainsKey("ONUPORT")) // { // string port = item["ONUPORT"].ToString().Replace("NA", "1"); // //判断端口号是否被用 // if (task.OnuPort == port) // { // pair.Msg.CompletionCode = CommandResponseStatus.DENY; // pair.Msg.ErrorDesc = ErrorDesc.ImsPortAlreadyExist; // m_error = string.Format(" port:{0}", task.OnuPort); // return; // } // } // } //} #endregion step++; } #endregion }