Example #1
0
        /// <summary>
        /// Actualiza el modelo en caso que el query fuese actualizado de manera correcta
        /// </summary>
        /// <param name="input">Los datos de entrada que se usarón para actualizar</param>
        public void UpdateFields(KeyValuePair <string, object>[] input)
        {
            foreach (var val in input)
            {
                switch (val.Key)
                {
                case "potencia":
                    this.Potencia = (Potencia)val.Value;
                    break;

                case "comp_count":
                    this.Count = (int)val.Value;
                    break;

                case "cir_id":
                    this.Circuito.Componentes.Remove(this.Id);
                    if (this.Circuito.Componentes.Count == 0)
                    {
                        TabalimApp.CurrentTablero.Circuitos.Remove(this.Circuito.ToString());
                    }
                    this.Circuito = (Circuito)val.Value;
                    this.Circuito.Componentes.Add(this.Id, this);
                    break;
                }
            }
        }
Example #2
0
        /// <summary>
        /// Obtiene los campos de actualización de un objeto
        /// </summary>
        /// <param name="input">La entrada del campo actualizar</param>
        /// <returns>
        /// El campo actualizar
        /// </returns>
        public UpdateField PickUpdateFields(KeyValuePair <string, object> input)
        {
            UpdateField value;

            switch (input.Key)
            {
            case "cir_id":
                Circuito cto = (Circuito)input.Value;
                value = input.CreateFieldAsNumber(this.TableName, cto.Id);
                break;

            case "comp_count":
                value = input.CreateFieldAsNumber(this.TableName, input.Value);
                break;

            case "potencia":
                Potencia val = (Potencia)input.Value;
                value = input.CreateFieldAsNumber(this.TableName, this is Motor ? val.HP : val.Watts);
                break;

            default:
                value = null;
                break;
            }
            return(value);
        }
Example #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));
        }
Example #4
0
 /// <summary>
 /// Realiza el parsing de un elemento seleccionado en SQLite
 /// </summary>
 /// <param name="result">El resultado seleccionado.</param>
 public void Parse(SelectionResult[] result)
 {
     try
     {
         this.Id = (int)result.GetValue <long>(this.PrimaryKey);
         int cirId = (int)result.GetValue <long>("cir_id");
         if (TabalimApp.CurrentTablero != null)
         {
             this.Circuito = TabalimApp.CurrentTablero.Circuitos.Values.FirstOrDefault(x => x.Id == cirId);
         }
         this.ImageIndex = result.GetInteger("img_index");
         double potencia = result.GetValue <double>("potencia");
         this.Potencia = new Potencia(potencia, this.ImageIndex.IsComponent(ComponentType.Motor));
         this.Count    = result.GetInteger("comp_count");
     }
     catch (Exception exc)
     {
         throw exc;
     }
 }
Example #5
0
 public CtoItem(Circuito c)
 {
     this.Circuito = c;
 }
Example #6
0
 public CtoRow(Circuito c)
 {
     this.Circuito    = c;
     this.Componentes = c.Componentes.Values.ToDictionary(k => k.Key, e => e.Count);
 }