/// <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> /// 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 "potencia": Potencia val = (Potencia)input.Value; value = input.CreateFieldAsNumber(this.TableName, val.HP); break; case "fases": value = input.CreateFieldAsNumber(this.TableName, input.Value); break; case "hilos": value = input.CreateFieldAsNumber(this.TableName, input.Value); break; case "tension": Tension tval = (Tension)input.Value; value = input.CreateFieldAsNumber(this.TableName, tval.Value); break; default: value = null; break; } return(value); }
/// <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; } }
/// <summary> /// Inicializa una nueva instancia de la clase <see cref="Alumbrado"/>. /// </summary> /// <param name="potencia">Potencia en watts.</param> public Componente(double potencia, bool ismotor = false) { this.Potencia = new Potencia(potencia, ismotor); this.Id = -1; }