Ejemplo n.º 1
0
 public void setEstado(ArtefactoContenedor contenedor)
 {
     for (int i = 0; i < estados.Count; i++)
     {
         Estado e = estados[i];
         if (e.contenedor.getNombre().Equals(contenedor.getNombre())) // Estado nuevo de la tarea
         {
             e.comienzo     = DateTime.Now;
             e.estadoActual = true;
             string actores_ids = "[";
             foreach (Actor a in actores)
             {
                 actores_ids += "\"" + a.getId() + "\", ";
             }
             if (actores_ids.Length - 2 > 0)
             {
                 actores_ids.Remove(actores_ids.Length - 2);
             }
             actores_ids += "]";
             String message = String.Format("{{\"user_id\": \"{0}\", \"tarea_id\": \"{1}\", \"estado\": \"{2}\", \"participantes\": {3}}}", Actor.actual.getId(), this.getNombre(), e.contenedor.getNombre(), actores_ids);
             AmqpClient.Publish("topic_logs", "Tarea.Cambio.Estado", message);
         }
         else if (e.estadoActual == true) // Estado viejo. Disparo evento para registrar el tiempo que lleva en dicho estado la tarea
         {
             e.tiempoEstado = e.tiempoEstado + (DateTime.Now - e.comienzo);
             e.estadoActual = false;
             //Disparar evento de cambio de estado
         }
         estados[i] = e;
     }
 }
Ejemplo n.º 2
0
 public Estado(ArtefactoContenedor t, bool e, DateTime c, TimeSpan ts)
 {
     contenedor   = t;
     estadoActual = e;
     comienzo     = c;
     tiempoEstado = ts;
 }
Ejemplo n.º 3
0
 public void setPadre(ArtefactoContenedor ac)
 {
     padre = ac;
 }
Ejemplo n.º 4
0
 public static void addEstado(ArtefactoContenedor contenedor)
 {
     estados.Add(new Estado(contenedor, false, System.DateTime.MinValue, TimeSpan.Zero));
 }