/// <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; } } }
/// <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); }
/// <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> /// 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; } }
public CtoItem(Circuito c) { this.Circuito = c; }
public CtoRow(Circuito c) { this.Circuito = c; this.Componentes = c.Componentes.Values.ToDictionary(k => k.Key, e => e.Count); }