Esempio n. 1
0
 /// <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);
             }
         });
     }
 }
Esempio n. 2
0
        /// <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;
        }
Esempio n. 3
0
        /// <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));
        }
Esempio n. 4
0
        /// <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));
        }
Esempio n. 5
0
        private object LoadTablero(SQLite_Connector conn, object input)
        {
            Tablero t = input as Tablero;

            if (t.Componentes.Count == 0)
            {
                t.LoadComponentesAndCircuits(conn);
            }
            return(t);
        }
Esempio n. 6
0
        /// <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);
        }
Esempio n. 7
0
        /// <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);
        }
Esempio n. 8
0
        /// <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);
        }
Esempio n. 9
0
        /// <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);
        }
Esempio n. 10
0
        /// <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);
        }
Esempio n. 11
0
 /// <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 });
     }
 }
Esempio n. 12
0
 /// <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));
 }
Esempio n. 13
0
        /// <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));
        }
Esempio n. 14
0
 /// <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);
 }
Esempio n. 15
0
 /// <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));
 }
Esempio n. 16
0
        /// <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);
        }
Esempio n. 17
0
 /// <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));
 }