/// <summary> /// Values the tuple. /// </summary> /// <param name="conn">La conexión a SQLite.</param> public void LoadComponentesAndCircuits(SQLite_Connector conn, Tablero tab = null) { var ctos = conn.Select<Circuito>(TABLE_CIRCUIT.SelectAll(this.CreatePrimaryKeyCondition()), Circuito.CircuitoParser); //Guarda los circuitos existentes string compQ; foreach (Circuito c in ctos) { if (tab != null) c.Tension = tab.Sistema.Tension; compQ = TABLE_COMPONENT.SelectAll(String.Format("\"cir_id\" = {0}", c.Id)); if (!this.Circuitos.ContainsKey(c.ToString())) this.Circuitos.Add(c.ToString(), c); var cmps = conn.Select<Componente>(compQ, Componente.ComponentParser); cmps.ForEach(x => { x.Circuito = c; x.CircuitoName = c.ToString(); if (!this.Componentes.ContainsKey(x.Id)) { this.Componentes.Add(x.Id, x); c.Componentes.Add(x.Id, x); } }); } }
/// <summary> /// Borra la instancia de la base de datos /// </summary> /// <param name="conn">La conexión a SQLite.</param> /// <returns> /// Verdadero si se borra el elemento /// </returns> public bool Delete(SQLite_Connector conn) { string condition = String.Format(" conn_id = {0} AND conn_type = 1 ", this.Id); var tot = conn.SelectValue<long>("SELECT Count(conn_id) FROM destination WHERE" + condition); if (tot == 0) { Boolean ctoFlag = false, tabFlag = false;//, destTab; //El circuito borrará los componentes string[] keys = this.Circuitos.Keys.ToArray(); foreach (string key in keys) ctoFlag = this.Circuitos[key].Delete(conn); tabFlag = conn.DeletebyColumn(this.TableName, this.PrimaryKey, this.Id); if (tabFlag) { TabalimApp.CurrentProject.Tableros.Remove(this.Id); ////Tambien se debe borrar de la tabla destination //string condition = String.Format(" conn_id = {0} AND conn_type = 1 ", this.Id); //destTab = conn.Delete("destination", condition); } return ctoFlag && tabFlag; } else return false; }
/// <summary> /// Crea un registro del objeto en la base de datos. /// </summary> /// <param name="conn">La conexión a SQLite.</param> /// <param name="input">La entrada que necesita la conexión.</param> public Boolean Create(SQLite_Connector conn, Object input) { Circuito cto = input as Circuito; this.Circuito = cto; return(conn.Insert(this)); }
/// <summary> /// Crea un registro del objeto en la base de datos. /// </summary> /// <param name="conn">La conexión a SQLite.</param> /// <param name="input">La entrada que necesita la conexión.</param> public bool Create(SQLite_Connector conn, object input) { Tablero tablero = input as Tablero; this.TableroId = tablero.Id; this.Tension = tablero.Sistema.Tension; return(conn.Insert(this)); }
private object LoadTablero(SQLite_Connector conn, object input) { Tablero t = input as Tablero; if (t.Componentes.Count == 0) { t.LoadComponentesAndCircuits(conn); } return(t); }
/// <summary> /// Borra la instancia de la base de datos /// </summary> /// <param name="conn">La conexión a SQLite.</param> /// <returns> /// Verdadero si se borra el elemento /// </returns> /// <exception cref="NotImplementedException"></exception> public bool Delete(SQLite_Connector conn) { Boolean prjFlag = false, tabFlag = true; int[] keys = this.Tableros.Keys.ToArray(); foreach (int key in keys) { tabFlag = this.Tableros[key].Delete(conn) && tabFlag; } return(prjFlag && tabFlag); }
/// <summary> /// Borra la instancia de la base de datos /// </summary> /// <param name="conn">La conexión a SQLite.</param> /// <returns> /// Verdadero si se borra el elemento /// </returns> public bool Delete(SQLite_Connector conn) { Boolean cmpFlag = conn.DeletebyColumn(this.TableName, this.PrimaryKey, this.Id); if (cmpFlag) { Circuito.Componentes.Remove(this.Id); if (Circuito.Componentes.Count == 0) { Circuito.Delete(conn); } TabalimApp.CurrentTablero.Componentes.Remove(this.Id); } return(cmpFlag); }
/// <summary> /// Borra la instancia de la base de datos /// </summary> /// <param name="conn">La conexión a SQLite.</param> /// <returns> /// Verdadero si se borra el elemento /// </returns> public bool Delete(SQLite_Connector conn) { Boolean succed = conn.DeletebyColumn(this.TableName, this.PrimaryKey, this.Id); if (succed) { //Tambien se debe borrar de la tabla destination string condition = String.Format(" conn_id = {0} AND conn_type = 0 ", this.Id); succed = conn.Delete("destination", condition); if (succed)//Actualizar la memoria { //ToDo } } return(succed); }
/// <summary> /// Borra la instancia de la base de datos /// </summary> /// <param name="conn">La conexión a SQLite.</param> /// <returns> /// Verdadero si se borra el elemento /// </returns> /// <exception cref="NotImplementedException"></exception> public bool Delete(SQLite_Connector conn) { Boolean succed = conn.DeletebyColumn(this.TableName, this.PrimaryKey, this.Id); if (succed) { //Tambien se debe borrar de la tabla destination string condition = String.Format(" alim_id = {0} ", this.Id); succed = conn.Delete("destination", condition); if (succed)//Actualizar la memoria { runtime.TabalimApp.CurrentProject.Lineas.Remove(this.Id); } } return(succed); }
/// <summary> /// Borra la instancia de la base de datos /// </summary> /// <param name="conn">La conexión a SQLite.</param> /// <returns> /// Verdadero si se borra el elemento /// </returns> public bool Delete(SQLite_Connector conn) { Boolean cmpFlag = false, ctoFlag = false; int[] ids = this.Componentes.Keys.ToArray(); foreach (int id in ids) { cmpFlag = this.Componentes[id].Delete(conn); } ctoFlag = conn.DeletebyColumn(this.TableName, this.PrimaryKey, this.Id); if (ctoFlag) { TabalimApp.CurrentTablero.Circuitos.Remove(this.ToString()); } return(ctoFlag && cmpFlag); }
/// <summary> /// Inicializa la información de la aplicación /// </summary> /// <returns>La información de la base de datos</returns> public Object InitApplication(SQLite_Connector conn, Object input) { try { var prjs = conn.Select <Project>(TABLE_PROYECTOS.SelectAll("\"prj_name\" = 'Sin Proyecto'")); CurrentProject = prjs[0]; string query = TABLE_HP_WATTS.SelectAll(); List <HPItem> items = conn.Select <HPItem>(query); //Se carga las referencias de los tableros //sin cargar circuitos ni componentes var tabs = conn.Select <Tablero>(TABLE_TABLERO.SelectAll(CurrentProject.CreatePrimaryKeyCondition())); foreach (Tablero tab in tabs) { CurrentProject.Tableros.Add(tab.Id, tab); } var alims = conn.Select <AlimInput>("alimentador".SelectAll(CurrentProject.CreatePrimaryKeyCondition())); var motores = conn.Select <BigMotor>("motores".SelectAll()); var extras = conn.Select <ExtraData>("extras".SelectAll()); Linea line; foreach (var alimInput in alims) { var destinations = conn.Select <DestinationRow>("destination".SelectAll(alimInput.CreatePrimaryKeyCondition())); line = alimInput.CreateLinea(tabs, motores, extras, destinations, conn); CurrentProject.Lineas.Add(line.Id, line); } //Se cargan las referencias del tablero actual que es el último creado CurrentTablero = tabs.LastOrDefault(); if (CurrentTablero != null) { CurrentTablero.LoadComponentesAndCircuits(conn); } return(new Object[] { prjs, tabs, items }); } catch (Exception exc) { return(new Object[] { exc }); } }
/// <summary> /// Actualiza un registro del objeto en la base de datos /// </summary> /// <param name="conn">La conexión a SQLite.</param> /// <param name="input">La entrada que recibe la operación</param> /// <returns> /// Verdadero si realizá la actualización. /// </returns> /// <exception cref="NotImplementedException"></exception> public bool Update(SQLite_Connector conn, KeyValuePair <string, object>[] input) { return(this.UpdateTr(this.CreatePrimaryKeyCondition(), conn, input)); }
/// <summary> /// Borra la instancia de la base de datos /// </summary> /// <param name="conn">La conexión a SQLite.</param> /// <returns> /// Verdadero si se borra el elemento /// </returns> /// <exception cref="NotImplementedException"></exception> public bool Delete(SQLite_Connector conn) { String condition = String.Format("alim_id = {0} AND conn_id = {1}", this.AlimId, this.ConnId); return(conn.Delete(this.TableName, condition)); }
/// <summary> /// Guarda el componente seleccionado en el tablero actual /// </summary> /// <param name="componente">El componente seleccionado.</param> /// <param name="circuito">El circuito del componente seleccionado.</param> public Boolean Update(SQLite_Connector conn, params KeyValuePair<String, Object>[] input) { return this.UpdateTr(this.CreatePrimaryKeyCondition(), conn, input); }
/// <summary> /// Crea un registro del objeto en la base de datos. /// </summary> /// <param name="conn">La conexión a SQLite.</param> /// <param name="input">La entrada que recibe la operación</param> /// <returns> /// Verdadero si realizá la inserción. /// </returns> public bool Create(SQLite_Connector conn, object input) { return(conn.Insert(this)); }
/// <summary> /// Creates the linea. /// </summary> /// <param name="tabs">The tabs.</param> /// <param name="motores">The motores.</param> /// <param name="extras">The extras.</param> /// <param name="destinations">The destinations.</param> /// <returns></returns> /// <exception cref="NotImplementedException"></exception> internal Linea CreateLinea(List <Tablero> tabs, List <BigMotor> motores, List <ExtraData> extras, List <DestinationRow> destinations, SQLite_Connector conn) { Linea linea = new Linea(); linea.Id = this.Id; linea.No = this.No; linea.From = this.Start; linea.Type = this.End; linea.To = this.ToName; linea.ToDesc = this.ToDesc; ExtraData extraData = null; if (this.End.UseExtraData) { extraData = extras.FirstOrDefault(y => destinations.Where(x => x.TypeId == 2 && x.AlimId == this.Id).Select(x => x.ConnId).Contains(y.Id)); } var tableros = tabs.Where(x => destinations.Where(y => y.TypeId == 1 && y.AlimId == this.Id).Select(y => y.ConnId).Contains(x.Id)); if (tableros != null) { tableros.ToList().ForEach(x => x.LoadComponentesAndCircuits(conn)); } linea.Destination = new Destination(this.End, this.FactorDemanda, motores.Where(x => destinations.Where(y => y.TypeId == 0 && y.AlimId == this.Id).Select(y => y.ConnId).Contains(x.Id)), tableros, extraData); linea.IsCobre = this.IsCobre; linea.FactorAgrupamiento = this.FactorAgrupamiento; linea.FactorPotencia = this.FactorPotencia; linea.Temperatura = (int)this.Temperatura; linea.FactorTemperartura = model.Temperatura.GetFactor(linea.Temperatura); linea.Longitud = this.Longitud; //linea.Conductor = model.Conductor.GetConductor(this.Calibre, linea.CorrienteCorregida, linea.Destination.Hilos, this.Conductor, linea.IsCobre); linea.SelectedConductor = this.Conductor; linea.SelectedCalibre = this.Calibre; //linea.GetNumber(); return(linea); }
/// <summary> /// Crea un registro del objeto en la base de datos. /// </summary> /// <param name="input">La información base para crear un tablero</param> public Boolean Create(SQLite_Connector conn, Object input) { return(conn.Insert(this)); }