/// <summary> /// Gets the DetalleDispositivo that matches with the parameter name /// </summary> /// <param name="name"></param> /// <returns></returns> //public virtual DetalleDispositivo FindDetailByName(string name) //{ // var lName = name.ToLower().Trim(); // var t = new TimeElapsed(); // var detalles = DetallesDispositivo.Cast<DetalleDispositivo>(); // if (t.getTimeElapsed().TotalSeconds > 1) STrace.Debug("DispatcherLock", Id, String.Format("Dispositivo - FindDetailByName - Cast Detalles ({0} secs)", t.getTimeElapsed().TotalSeconds.ToString())); // t.Restart(); // var filtrado = // detalles.FirstOrDefault( // w => // w.TipoParametro.DispositivoTipo.Equals(w.Dispositivo.TipoDispositivo) && // w.TipoParametro.Nombre.ToLower().Trim().Equals(lName)); // if (t.getTimeElapsed().TotalSeconds > 1) STrace.Debug("DispatcherLock", Id, String.Format("Dispositivo - FindDetailByName - filtrado Detalle ({0} secs)", t.getTimeElapsed().TotalSeconds.ToString())); // return filtrado; //} public virtual IEnumerable <DetalleDispositivo> FindDetailsStartWith(string name) { var lName = name.ToLower().Trim(); var t = new TimeElapsed(); var detalles = DetallesDispositivo.Cast <DetalleDispositivo>(); if (t.getTimeElapsed().TotalSeconds > 1) { STrace.Debug("DispatcherLock", Id, String.Format("Dispositivo - FindDetailsStartWith - Cast Detalles ({0} secs)", t.getTimeElapsed().TotalSeconds.ToString())); } t.Restart(); var filtrado = detalles.Where( w => w.TipoParametro.DispositivoTipo.Equals(w.Dispositivo.TipoDispositivo) && w.TipoParametro.Nombre.ToLower().Trim().StartsWith(lName)); if (t.getTimeElapsed().TotalSeconds > 1) { STrace.Debug("DispatcherLock", Id, String.Format("Dispositivo - FindDetailsStartWith - filtrado Detalles ({0} secs)", t.getTimeElapsed().TotalSeconds.ToString())); } return(filtrado); }
/// <summary> /// Adds the givenn parameter to the device configuration details. /// </summary> /// <param name="parametro"></param> public virtual void AddDetalleDispositivo(TipoParametroDispositivo parametro) { if (parametro == null) { return; } if (parametro.DispositivoTipo == null) { parametro.DispositivoTipo = TipoDispositivo; } var detalle = new DetalleDispositivo { Dispositivo = this, Revision = 1, TipoParametro = parametro, Valor = parametro.ValorInicial }; if (DetallesDispositivo.Contains(detalle)) { return; } DetallesDispositivo.Add(detalle); }
/// <summary> /// Clear all currently assigned parameters due to device type change. /// </summary> public virtual void ClearParameters() { DetallesDispositivo.Clear(); }
/// <summary> /// Adds the specified device detail. /// </summary> /// <param name="detalle"></param> public virtual void AddDetalleDispositivo(DetalleDispositivo detalle) { DetallesDispositivo.Add(detalle); }
/// <summary> /// Gets the DetalleDispositivo that matches with the parameter ID /// </summary> /// <param name="id"></param> /// <returns></returns> public virtual DetalleDispositivo FindDetailById(int id) { return(DetallesDispositivo.Cast <DetalleDispositivo>().FirstOrDefault(detail => detail.Id.Equals(id))); }