public static int codigoOperacionEnActivo(Dreams arriba, Dreams abajo, DateTime inicio, DateTime fin) { int codigo = 0; if (diferencia(inicio, arriba.fecha_fin) == 0.0 && diferencia(fin, abajo.fecha_inicio) == 0) { codigo = 1; } else if (diferencia(inicio, arriba.fecha_fin) == 0 && diferencia(fin, abajo.fecha_inicio) > 0.0) { codigo = 2; } else if (diferencia(arriba.fecha_inicio, inicio) > 0 && diferencia(fin, abajo.fecha_inicio) == 0.0) { /** * Indica que la fecha fin coicide exactamente con la fecha fin del evento. * **/ codigo = 3; } else if (diferencia(arriba.fecha_inicio, inicio) > 0 && diferencia(fin, abajo.fecha_inicio) > 0.0) { codigo = 4; } else { codigo = 5; } return(codigo); }
public static int codigoOperacion(Dreams evento, DateTime inicio, DateTime fin) { int codigo = 0; if (diferencia(inicio, evento.fecha_inicio) == 0.0 && diferencia(fin, evento.fecha_fin) == 0) { codigo = 1; } else if (diferencia(inicio, evento.fecha_inicio) == 0 && diferencia(fin, evento.fecha_fin) != 0.0) { codigo = 2; } else if (diferencia(inicio, evento.fecha_inicio) != 0 && diferencia(fin, evento.fecha_fin) == 0.0) { /** * Indica que la fecha fin coicide exactamente con la fecha fin del evento. * **/ codigo = 3; } else { codigo = 4; } return(codigo); }
public static void setDreams(DateTime fecha_inicio, DateTime fecha_fin, string comentarios, int usuario_id, int tipo_actividad_id, byte automatico, int semaforo_id) { using (ISession session = NHibernateSession.openSession()) { try { using (ITransaction transaction = session.BeginTransaction()) { Dreams ob = new Dreams(); ob.fecha_inicio = fecha_inicio; ob.fecha_fin = fecha_fin; ob.comentarios = comentarios; ob.usuario_id = usuario_id; ob.tipo_actividad_id = tipo_actividad_id; ob.automatico = automatico; ob.semaforo_id = semaforo_id; session.Save(ob); transaction.Commit(); } // getSumaDeDiferencias(dreams); } catch (Exception e) { System.Console.WriteLine(e.ToString()); //errorLog.Error("Error:\n" + e); } finally { session.Close(); } } }
public static void GetDiferenciaFechas(Dreams evento) { var d = evento.fecha_fin ?? DateTime.Now; var diff = d - evento.fecha_inicio; evento.duracion = diff.TotalMinutes; }
public static Dreams getUltimoEvento(Dreams evento, ISession session) { List <Dreams> dreams = session.QueryOver <Dreams>().Where(x => x.usuario_id == evento.usuario_id).OrderBy(x => x.id).Desc.Take(10).List().ToList(); /*** * Regresa el ultimo evento. * **/ return(dreams[0]); }
public TeleportTrigger(EntityData data, Vector2 offset) : base(data, offset) { bonfire = data.Bool("bonfire"); room = data.Attr("room"); spawnPointX = data.Int("spawnPointX"); spawnPointY = data.Int("spawnPointY"); dreams = data.Enum("Dreaming", Dreams.NoChange); keepKey = data.Bool("KeepKey", true); }
public void StartNewDream() { if (CurrentDream != null && CurrentDream.IsActive()) { return; } Dreams.Add(new Dream()); CurrentDream.Start(); }
/// <summary> /// Извлечение новой записи из таблицы Dreams /// </summary> /// <param name="newDream"></param> public void Insert(Dreams newDream) { using (var dbConn = new SQLiteConnection(App.DB_PATH)) { dbConn.RunInTransaction(() => { dbConn.Insert(newDream); }); } }
public void Initialize() { var network = Main.Network; Random random = new Random(); for (int i = 0; i < NumberOfImages; i++) { // Generate random input vectors Dreams.Add(new Sample()); } }
/// <summary> /// Удаление выбранной записи /// </summary> /// <param name="Id"></param> public void DeleteDream(Dreams Id) { using (var dbConn = new SQLiteConnection(App.DB_PATH)) { var existingDream = dbConn.Query <Dreams>("select * from Dreams where Id =" + Id).FirstOrDefault(); if (existingDream != null) { dbConn.RunInTransaction(() => { dbConn.Delete(existingDream); }); } } }
public void passAmountODreamsAndNightmares() { Dreams.Clear(); Nightmares.Clear(); for (int i = 0; i < TotalDreams; i++) { Dream d = new Dream(); Dreams.Add(d); } for (int i = 0; i < TotalNightmares; i++) { Nightmare n = new Nightmare(); Nightmares.Add(n); } }
public virtual Dreams GetTemporal() { Dreams d = new Dreams(); d.fecha_inicio = this.fecha_inicio; d.fecha_fin = this.fecha_fin; d.usuario_id = this.usuario_id; d.semaforo_id = this.semaforo_id; d.tipo_actividad_id = this.tipo_actividad_id; d.duracion = this.duracion; d.actividad = this.actividad; d.comentarios = this.comentarios; d.sql_id = this.sql_id; d.automatico = this.automatico; return(d); }
/// <summary> /// Обновление выбранной записи /// </summary> /// <param name="dreams"></param> public void UpdateDream(Dreams dreams) { using (var dbConn = new SQLiteConnection(App.DB_PATH)) { var existingDream = dbConn.Query <Dreams>("select * from Dreams where Id =" + dreams.Id).FirstOrDefault(); if (existingDream != null) { existingDream.Date = dreams.Date; existingDream.Text = dreams.Text; existingDream.Star = dreams.Star; existingDream.Tag = dreams.Tag; dbConn.RunInTransaction(() => { dbConn.Update(existingDream); }); } } }
public static int insertaSuenoEnActivo(int id_evento_arriba, int id_evento_abajo, String comentarios, DateTime inicio, DateTime fin, bool esPrimero) { int response = -1; String c = comentarios.Equals("") ? "Sueño Manual" : comentarios; if (esPrimero) { using (ISession session = NHibernateSession.openSession()) { using (ITransaction transaction = session.BeginTransaction()) { try { Dreams evento_arriba = session.QueryOver <Dreams>().Where(x => x.id == id_evento_arriba).List().Single();//Obtiene el evento de arriba. Dreams nuevo = new Dreams(); nuevo.fecha_inicio = inicio; nuevo.fecha_fin = fin; nuevo.comentarios = c; nuevo.usuario_id = evento_arriba.usuario_id; nuevo.tipo_actividad_id = (int)StatusActividad.SUENO; nuevo.sql_id = 0; nuevo.automatico = 0; nuevo.semaforo_id = calcularSemaforoId(inicio, fin); session.Save(nuevo); transaction.Commit(); response = 0; } catch (Exception e) { transaction.Rollback(); response = -1; } finally { if (session != null) { session.Close();//Cerramos la sesión. } } } } } else { using (ISession session = NHibernateSession.openSession()) { using (ITransaction transaction = session.BeginTransaction()) { try { Dreams evento_arriba = session.QueryOver <Dreams>().Where(x => x.id == id_evento_arriba).List().Single(); //Obtiene el evento de arriba. Dreams evento_abajo = session.QueryOver <Dreams>().Where(x => x.id == id_evento_abajo).List().Single(); //Obtiene el evento de abajo. int codigoOperacion = codigoOperacionEnActivo(evento_arriba, evento_abajo, inicio, fin); Dreams nuevo = new Dreams(); switch (codigoOperacion) { case 1: nuevo.fecha_inicio = evento_arriba.fecha_fin ?? DateTime.Now; nuevo.fecha_fin = evento_abajo.fecha_inicio; nuevo.comentarios = c; nuevo.usuario_id = evento_abajo.usuario_id; nuevo.tipo_actividad_id = (int)StatusActividad.SUENO; nuevo.sql_id = 0; nuevo.automatico = 0; nuevo.semaforo_id = calcularSemaforoId(inicio, fin); session.Save(nuevo); transaction.Commit(); response = 0; break; case 2: nuevo.fecha_inicio = evento_arriba.fecha_fin ?? DateTime.Now; nuevo.fecha_fin = fin; nuevo.comentarios = c; nuevo.usuario_id = evento_abajo.usuario_id; nuevo.tipo_actividad_id = (int)StatusActividad.SUENO; nuevo.sql_id = 0; nuevo.automatico = 0; DateTime z = evento_arriba.fecha_fin ?? DateTime.Now; nuevo.semaforo_id = calcularSemaforoId(z, fin); session.Save(nuevo); transaction.Commit(); response = 0; break; case 3: nuevo.fecha_inicio = inicio; nuevo.fecha_fin = evento_abajo.fecha_inicio; nuevo.comentarios = c; nuevo.usuario_id = evento_abajo.usuario_id; nuevo.tipo_actividad_id = (int)StatusActividad.SUENO; nuevo.sql_id = 0; nuevo.automatico = 0; nuevo.semaforo_id = calcularSemaforoId(inicio, evento_abajo.fecha_inicio); session.Save(nuevo); transaction.Commit(); response = 0; break; case 4: nuevo.fecha_inicio = inicio; nuevo.fecha_fin = fin; nuevo.comentarios = c; nuevo.usuario_id = evento_abajo.usuario_id; nuevo.tipo_actividad_id = (int)StatusActividad.SUENO; nuevo.sql_id = 0; nuevo.automatico = 0; nuevo.semaforo_id = calcularSemaforoId(inicio, fin); session.Save(nuevo); transaction.Commit(); response = 0; break; default: break; } } catch (Exception e) { transaction.Rollback(); response = -1; } finally { if (session != null) { session.Close();//Cerramos la sesión. } } } } } return(response); }
public static List <Dreams> GetEventosActivos(List <Dreams> eventos, DateTime fecha_fin) { /** * Este metodo agregara los eventos * **/ List <Dreams> nueva = new List <Dreams>(); Dreams actual; Dreams siguiente; Dreams activo; //if(fecha_inicio_primero > fecha_fin ) omite el primer registro. for (int index = 0; index < eventos.Count; index++) { if (index == 0) { var primero = eventos.ElementAt(index); if (primero.fecha_inicio > fecha_fin) { } else { actual = eventos.ElementAt(index); LogsysDreamControllerHelper.GetDiferenciaFechas(actual); nueva.Add(actual); /** * A la nueva lista se le agrega el evento actual. * */ if (index + 1 < eventos.Count) { siguiente = eventos.ElementAt(index + 1);//Se obtiene el siguiente elemento. if (!actual.fecha_inicio.Equals(siguiente.fecha_fin)) { activo = new Dreams(); activo.tipo_actividad_id = (int)StatusActividad.ACTIVO; activo.actividad = "activo"; DateTime z = siguiente.fecha_fin ?? DateTime.Now; //activo.fecha_inicio = siguiente.fecha_fin; activo.fecha_inicio = z; activo.fecha_fin = actual.fecha_inicio; activo.usuario_id = actual.usuario_id; GetDiferenciaFechas(activo); nueva.Add(activo); } } } } else { actual = eventos.ElementAt(index); LogsysDreamControllerHelper.GetDiferenciaFechas(actual); nueva.Add(actual); /** * A la nueva lista se le agrega el evento actual. * */ if (index + 1 < eventos.Count) { siguiente = eventos.ElementAt(index + 1);//Se obtiene el siguiente elemento. if (!actual.fecha_inicio.Equals(siguiente.fecha_fin)) { activo = new Dreams(); activo.tipo_actividad_id = (int)StatusActividad.ACTIVO; activo.actividad = "activo"; DateTime s = siguiente.fecha_fin ?? DateTime.Now; //activo.fecha_inicio = siguiente.fecha_fin; activo.fecha_inicio = s; activo.fecha_fin = actual.fecha_inicio; activo.usuario_id = actual.usuario_id; GetDiferenciaFechas(activo); nueva.Add(activo); } } } } return(nueva); }
public static int insertarSueno(int id_evento, String comentarios, DateTime inicio, DateTime fin) { int response = -1; String c = comentarios.Equals("") ? "Sueño Manual" : comentarios; using (ISession session = NHibernateSession.openSession()) { using (ITransaction transaction = session.BeginTransaction()) { try { Dreams evento = session.QueryOver <Dreams>().Where(x => x.id == id_evento).List().Single();//Obtiene el primer elemento Dreams temporal; temporal = evento.GetTemporal(); int codigoOp; DateTime aux = Convert.ToDateTime("0001-01-01"); if (fin == Convert.ToDateTime("0001-01-01 00:00:00")) { /*** * Verifica si la fecha que se manda desde el servicio es null, * para insertar sueño en el evento actual. * ***/ Dreams ultimo = getUltimoEvento(evento, session); ultimo.fecha_fin = inicio; ultimo.semaforo_id = calcularSemaforoId(ultimo.fecha_inicio, ultimo.fecha_fin); if (ultimo.fecha_inicio == inicio) { ultimo.tipo_actividad_id = (int)StatusActividad.SUENO; ultimo.fecha_fin = null; session.Update(ultimo); } else { Dreams nuevo = new Dreams(); nuevo.fecha_inicio = inicio; nuevo.fecha_fin = null; nuevo.semaforo_id = calcularSemaforoId(inicio, null); nuevo.comentarios = c; nuevo.sql_id = 999; nuevo.automatico = 0; nuevo.usuario_id = ultimo.usuario_id; if (ultimo.tipo_actividad_id == (int)StatusActividad.SUENO) { /**Verificamos si el evento actual sea un sueño**/ nuevo.tipo_actividad_id = (int)StatusActividad.INACTIVO; } else { nuevo.tipo_actividad_id = (int)StatusActividad.SUENO; } session.SaveOrUpdate(ultimo); session.Save(nuevo); } //transaction.Commit(); response = 0; } else { //Inicio if (evento.fecha_fin == null) { int auxActividad = evento.tipo_actividad_id; /** * El if Verifica si la fecha_fin es null * **/ if (evento.fecha_inicio == inicio) {//Verifica si la fecha_inicio del evento coincide con la fecha inicio del sueño /*****/ evento.fecha_fin = fin; evento.tipo_actividad_id = (int)StatusActividad.SUENO; evento.comentarios = c; evento.semaforo_id = calcularSemaforoId(evento.fecha_inicio, evento.fecha_fin); Dreams nuevo = new Dreams(); nuevo.fecha_inicio = fin; nuevo.fecha_fin = null; //nuevo.comentarios = c; nuevo.comentarios = "Automatico"; nuevo.usuario_id = evento.usuario_id; //nuevo.tipo_actividad_id = (int)StatusActividad.SUENO; nuevo.tipo_actividad_id = auxActividad; //nuevo.sql_id = 0; nuevo.sql_id = 999; nuevo.automatico = 0; nuevo.semaforo_id = calcularSemaforoId(nuevo.fecha_inicio, DateTime.Now);//Se agrego response = 0; session.Update(evento); session.Save(nuevo); response = 0; } else if (inicio > evento.fecha_inicio) { evento.fecha_fin = inicio; evento.semaforo_id = calcularSemaforoId(evento.fecha_inicio, evento.fecha_fin); Dreams nuevo = new Dreams(); var d = evento.fecha_fin ?? DateTime.Now; nuevo.fecha_inicio = d; nuevo.fecha_fin = fin; nuevo.comentarios = c; nuevo.usuario_id = evento.usuario_id; nuevo.tipo_actividad_id = (int)StatusActividad.SUENO; nuevo.sql_id = 0; nuevo.automatico = 0; nuevo.semaforo_id = calcularSemaforoId(nuevo.fecha_inicio, nuevo.fecha_fin);//Se agrego Dreams nuevo2 = new Dreams(); //var b = evento.fecha_fin ?? DateTime.Now; nuevo2.fecha_inicio = fin; nuevo2.fecha_fin = null; nuevo2.comentarios = "Automatico"; nuevo2.comentarios = evento.comentarios; nuevo2.usuario_id = evento.usuario_id; nuevo2.tipo_actividad_id = evento.tipo_actividad_id; nuevo2.sql_id = 999; nuevo2.automatico = 0; nuevo2.semaforo_id = calcularSemaforoId(nuevo2.fecha_inicio, DateTime.Now);//Se agrego session.Update(evento); session.Save(nuevo); session.Save(nuevo2); response = 0; //nuevo.semaforo_id = calcularSemaforoId(inicio, fin); } } else { codigoOp = codigoOperacion(evento, inicio, fin); switch (codigoOp) { case 1: //Cambia el status actual del evento a sueño. evento.tipo_actividad_id = (int)StatusActividad.SUENO; evento.comentarios = c; session.Update(evento); response = 0; break; case 2: //La fecha inicio del sueño coincide con la fecha_inicio del evento evento.tipo_actividad_id = (int)StatusActividad.SUENO; evento.comentarios = c; evento.fecha_fin = fin; evento.semaforo_id = calcularSemaforoId(evento.fecha_inicio, evento.fecha_fin); temporal.fecha_inicio = fin; temporal.semaforo_id = calcularSemaforoId(temporal.fecha_inicio, temporal.fecha_fin);//Se agrego session.Save(temporal); session.Update(evento); response = 0; break; case 3: //La fecha fin del sueño coincide con la fecha_fin del evento pero el inicio del sueño no coincide con la fecha_inicio del evento evento.fecha_inicio = inicio; evento.comentarios = c; evento.tipo_actividad_id = (int)StatusActividad.SUENO; //Agregue 22/11/2018 evento.semaforo_id = calcularSemaforoId(evento.fecha_inicio, evento.fecha_fin); temporal.fecha_fin = inicio; temporal.semaforo_id = calcularSemaforoId(temporal.fecha_inicio, temporal.fecha_fin);//Se agrego session.Save(temporal); session.Update(evento); response = 0; break; case 4: //Cuando el inicio y el fin del sueño no coiciden exactamente con la fecha_inicio y fecha_fin del evento. evento.fecha_fin = inicio; evento.semaforo_id = calcularSemaforoId(evento.fecha_inicio, evento.fecha_fin); Dreams nuevo = new Dreams(); nuevo.fecha_inicio = inicio; nuevo.fecha_fin = fin; nuevo.comentarios = c; nuevo.usuario_id = evento.usuario_id; nuevo.tipo_actividad_id = (int)StatusActividad.SUENO; nuevo.sql_id = 0; nuevo.automatico = 0; nuevo.semaforo_id = calcularSemaforoId(inicio, fin);//Se agrego Dreams nuevo2 = new Dreams(); nuevo2.fecha_inicio = fin; nuevo2.fecha_fin = temporal.fecha_fin; nuevo2.comentarios = temporal.comentarios; nuevo2.usuario_id = temporal.usuario_id; nuevo2.tipo_actividad_id = temporal.tipo_actividad_id; nuevo2.sql_id = temporal.sql_id; nuevo2.semaforo_id = calcularSemaforoId(nuevo.fecha_inicio, nuevo.fecha_fin);//Se agrego nuevo.automatico = temporal.automatico; nuevo.semaforo_id = calcularSemaforoId(fin, temporal.fecha_fin); session.Save(nuevo); session.Save(nuevo2); session.Update(evento); response = 0; break; default: break; } //fin } } Recalculo recalculo = new Recalculo(); recalculo.Id_Evento = id_evento; recalculo.Procesado = 0; /* * Se manda un registro a la tabla de recalculo * **/ session.Save(recalculo); transaction.Commit(); /*** * Se manda a llamar al storedProcedure para recalcular semaforos * en la base de datos de logsys_dreams. * **/ } catch (Exception e) { transaction.Rollback(); response = -1; } finally { if (session != null) { session.Close();//Cerramos la sesión. } } } } return(response); }
public static void getEventMonitor(List <Dreams> dreams, int user_id, DateTime fecha, Boolean isBitacora) { /** * El parametro Fecha corresponde a la fecha_fin que se le pondra al * evento actual, es decir el evento que esta en monitor. **/ using (ISession session = NHibernateSession.openSession()) { try { using (ITransaction transaction = session.BeginTransaction()) { List <Monitor> monitor = null; if (isBitacora) { monitor = session.QueryOver <Monitor>().Where(x => x.Usuario_Id == user_id).And(x => x.Actividad_Actual_Id != (int)StatusActividad.ACTIVO).List().ToList(); //Aqui entrara para la app de la Bitacora. } else { monitor = session.QueryOver <Monitor>(). Where(x => x.Usuario_Id == user_id).List().ToList(); //Aqui entrara para la app de Monitor. } /** * La bandera isBitacora sirve para identificar si el llamado al metodo es para la Bitacora, ya que en bitacora solo * nos interesa los de estado inactivo, para la app de monitor tambien nos importan los activos. * **/ Dreams nuevo = new Dreams(); var m = monitor.Single(); var existe = false; foreach (Dreams dream in dreams) { if (dream.fecha_inicio == m.Fecha_Inicio) { /**Si entra indica que el evento ya esta en dreams**/ dream.fecha_fin = fecha; existe = true; break; } } if (!existe) { nuevo.fecha_inicio = m.Fecha_Inicio; nuevo.fecha_fin = fecha; nuevo.id = m.Id; nuevo.usuario_id = m.Usuario_Id; nuevo.tipo_actividad_id = m.Actividad_Actual_Id; if (isBitacora) { dreams.Add(nuevo); } else { dreams.Insert(0, nuevo); //Agrega el evento de monitor en el primer indice para la app de Monitor. } } else { /* * var temporal = dreams.ElementAt(dreams.Count - 1);//El ultimo elemento * dreams.Insert(0, temporal); * dreams.RemoveAt(dreams.Count-1);*/ } } }catch (Exception e) { } finally { session.Close(); } } }