public Object Accion(AfdEdoDataMdl afdDataMdl) { Type type = Type.GetType(afdDataMdl.dicAfdFlujo[afdDataMdl.ID_EstadoActual].clase); Object objNodo = Activator.CreateInstance(type, _cn, _transaction, _sDataAdapter); AfdNodoBase oNodoBase = (AfdNodoBase)objNodo; oNodoBase.AsignarID(afdDataMdl.ID_EstadoActual); return(objNodo.GetType().GetMethod("Accion").Invoke(objNodo, new[] { afdDataMdl })); }
protected Object Turnar(AfdEdoDataMdl afdDataMdl, long nodRegresar) { object oResultado = null; Int32 iTipoAristaIni = afdDataMdl.rtpclave; SIT_RED_NODO nodoInicial = _nodoDao.dmlSelectNodoID(afdDataMdl.AFDnodoActMdl.nodclave); SIT_RESP_TURNARDao turnarDao = new SIT_RESP_TURNARDao(_cn, _transaction, _sDataAdapter); List <SIT_RESP_TURNAR> lstTurnar = turnarDao.dmlSelectTurnarResp(afdDataMdl.repClave); foreach (SIT_RESP_TURNAR usrTurnar in lstTurnar) { afdDataMdl.ID_EstadoActual = (int)nodoInicial.nedclave; afdDataMdl.AFDnodoActMdl = nodoInicial; afdDataMdl.rtpclave = iTipoAristaIni; afdDataMdl.usrClaveDestino = usrTurnar.usrclave; afdDataMdl.Observacion = usrTurnar.turinstruccion; afdDataMdl.ID_AreaDestino = usrTurnar.araclave; afdDataMdl.ID_Capa = nodoInicial.nodcapa; oResultado = AccionBase(true); afdDataMdl.AFDnodoActMdl.nodregresar = nodRegresar; _nodoDao.dmlUpdateNodoRegresar(afdDataMdl.AFDnodoActMdl); // sera uno especial para el aerea que estos turnando RespMoverSigNodo(nodoInicial.nodclave, _afdEdoDataMdl.AFDnodoActMdl.nodclave, Constantes.RespuestaEstado.TURNADO, Constantes.RespuestaEstado.ANALIZAR); } if (lstTurnar.Count > 1) { _segDao.dmlUpdMultiple(afdDataMdl.AFDseguimientoMdl); } //List<Tuple<int, string, int>> lstPersonasTurnar = _afdEdoDataMdl.dicAuxRespuesta[ProcesoGralDao.PARAM_LISTA_TURNAR] as List<Tuple<int, string, int>>; //foreach (Tuple<int, string, int> areaTurnar in lstPersonasTurnar ) //{ // afdDataMdl.ID_EstadoActual = (int)nodoInicial.nedclave; // afdDataMdl.AFDnodoActMdl = nodoInicial; // afdDataMdl.rtpclave = iTipoAristaIni; // afdDataMdl.usrClaveDestino = areaTurnar.Item1; // afdDataMdl.Observacion = areaTurnar.Item2; // afdDataMdl.ID_AreaDestino = areaTurnar.Item3; // afdDataMdl.ID_Capa = nodoInicial.nodcapa; // oResultado = AccionBase(true); // afdDataMdl.AFDnodoActMdl.nodregresar = nodRegresar; // _nodoDao.dmlUpdateNodoRegresar(afdDataMdl.AFDnodoActMdl); // RespMoverSigNodo(nodoInicial.nodclave, _afdEdoDataMdl.AFDnodoActMdl.nodclave, Constantes.RespuestaEstado.TURNADO, Constantes.RespuestaEstado.ANALIZAR); //} return(oResultado); }