private bool SetParametros() { var parametros = EditObject.TiposParametro.Cast <TipoParametroDispositivo>().ToList(); EditObject.TiposParametro.Clear(); var reset = false; var di = DeletedIds.Get(); foreach (C1GridViewRow row in grid.Rows) { var id = Convert.ToInt32(grid.DataKeys[row.RowIndex].Value); var parametro = id > 0 ? parametros.FirstOrDefault(p => p.Id == id) : null; if (parametro == null) { parametro = new TipoParametroDispositivo { DispositivoTipo = EditObject } } ; var par = new Parameter(row); reset |= par.ChkReboot.Checked && (id == 0 || parametro.Nombre != par.TxtNombre.Text); par.Fill(parametro); EditObject.TiposParametro.Add(parametro); } return(reset); }
public DetalleDispo(TipoParametroDispositivo parametro, string valor) : this(parametro) { if (valor != null) { Valor = valor; } }
public void Bind(TipoParametroDispositivo parametro) { TxtNombre.Text = parametro.Nombre; TxtDescripcion.Text = parametro.Descripcion; TxtTipoDato.Text = parametro.TipoDato; TxtConsumidor.Text = parametro.Consumidor; TxtValorInicial.Text = parametro.ValorInicial; ChkEditable.Checked = parametro.Editable; ChkReboot.Checked = parametro.RequiereReset; }
public TipoParametroDispositivo Fill(TipoParametroDispositivo parametro) { parametro.Consumidor = TxtConsumidor.Text; parametro.Descripcion = TxtDescripcion.Text; parametro.Editable = ChkEditable.Checked; parametro.Nombre = TxtNombre.Text; parametro.TipoDato = TxtTipoDato.Text; parametro.ValorInicial = TxtValorInicial.Text; parametro.RequiereReset = ChkReboot.Checked; return(parametro); }
public TipoParametroDispositivoVo(TipoParametroDispositivo tipoParametroDispositivo) { Id = tipoParametroDispositivo.Id; Nombre = tipoParametroDispositivo.Nombre; Descripcion = tipoParametroDispositivo.Descripcion; TipoDato = tipoParametroDispositivo.TipoDato; Consumidor = tipoParametroDispositivo.Consumidor; ValorInicial = tipoParametroDispositivo.ValorInicial; Editable = tipoParametroDispositivo.Editable ? "X" : string.Empty; RequiereReset = tipoParametroDispositivo.RequiereReset ? "X" : string.Empty; }
public DetalleDispo(TipoParametroDispositivo parametro) { Id = 0; Parametro = parametro.Nombre; Descripcion = parametro.Descripcion; Tipo = parametro.TipoDato; Valor = parametro.ValorInicial; Default = parametro.ValorInicial; Editable = parametro.Editable; IdParametro = parametro.Id; }
private void BindParametros(bool add) { var parametros = EditObject.TiposParametro .Cast <TipoParametroDispositivo>() .OrderBy(d => d.Descripcion) .ToList(); foreach (C1GridViewRow row in grid.Rows) { var id = Convert.ToInt32(grid.DataKeys[row.RowIndex].Value); if (id > 0) { continue; } if (row.RowIndex == _deletedIndex) { continue; } var parametro = new TipoParametroDispositivo { DispositivoTipo = EditObject }; var par = new Parameter(row); par.Fill(parametro); parametros.Add(parametro); } var del = DeletedIds.Get(); parametros = parametros.Where(p => !del.Contains(p.Id)).ToList(); if (add) { parametros.Add(new TipoParametroDispositivo { DispositivoTipo = EditObject, Nombre = string.Empty }); } grid.DataSource = parametros; grid.DataBind(); }
/// <summary> /// Generates a new device parameter type with the givenn values. /// </summary> /// <param name="device"></param> /// <param name="param"></param> /// <param name="daoFactory"></param> private static void GenerateDeviceParameterType(Dispositivo device, IList <object> param, DAOFactory daoFactory) { var parameter = (string)param[0]; if (device.TipoDispositivo.FindByName(parameter) != null) { return; } var type = new TipoParametroDispositivo { Consumidor = (string)param[2], Descripcion = parameter, DispositivoTipo = device.TipoDispositivo, Editable = Convert.ToBoolean(param[5]), Nombre = parameter, Metadata = string.Empty, TipoDato = (string)param[3], ValorInicial = (string)param[4] }; daoFactory.TipoParametroDispositivoDAO.SaveOrUpdate(type); }
protected override HandleResults OnDeviceHandleMessage(SetDetail message) { STrace.Debug(GetType().FullName, message.DeviceId, String.Format("SetDetail Processing: Name={0} Value={1}", message.GetUserSetting(SetDetail.Fields.Name), message.GetUserSetting(SetDetail.Fields.Value))); if (String.IsNullOrEmpty(message.GetUserSetting(SetDetail.Fields.Name))) { return(HandleResults.SilentlyDiscarded); } DaoFactory.Session.Refresh(Dispositivo); var userSettingName = message.GetUserSetting(SetDetail.Fields.Name); var userSettingValue = message.GetUserSetting(SetDetail.Fields.Value); if (userSettingName == "Telephone") { Dispositivo.Telefono = userSettingValue ?? String.Empty; DaoFactory.DispositivoDAO.SaveOrUpdate(Dispositivo); return(HandleResults.Success); } if (userSettingName == "Port") { try { Dispositivo.Port = Convert.ToInt32(userSettingValue ?? "0"); DaoFactory.DispositivoDAO.SaveOrUpdate(Dispositivo); return(HandleResults.Success); } catch (Exception) { return(HandleResults.SilentlyDiscarded); } } using (var transaction = SmartTransaction.BeginTransaction()) { try { var name = (userSettingName ?? String.Empty).ToLower(); var consumidor = message.GetUserSetting(SetDetail.Fields.Consumidor) ?? String.Empty; var editable = message.GetUserSetting(SetDetail.Fields.Editable) == "true"; var metadata = message.GetUserSetting(SetDetail.Fields.Metadata) ?? String.Empty; var reset = message.GetUserSetting(SetDetail.Fields.RequiereReset) == "true"; var tipo = message.GetUserSetting(SetDetail.Fields.TipoDato) ?? String.Empty; var valorinicial = message.GetUserSetting(SetDetail.Fields.ValorInicial) ?? String.Empty; var valor = userSettingValue ?? String.Empty; var tipoDispositivo = Dispositivo.TipoDispositivo; var parametros = tipoDispositivo.TiposParametro.Cast <TipoParametroDispositivo>(); var parametro = parametros.FirstOrDefault(p => p.Nombre.ToLower() == name); if (parametro == null) { parametro = new TipoParametroDispositivo { Consumidor = consumidor, Nombre = name, Descripcion = name, DispositivoTipo = tipoDispositivo, Editable = editable, Metadata = metadata, RequiereReset = reset, TipoDato = tipo, ValorInicial = valorinicial, }; tipoDispositivo.TiposParametro.Add(parametro); DaoFactory.TipoDispositivoDAO.SaveOrUpdate(tipoDispositivo); } var detalles = Dispositivo.DetallesDispositivo.Cast <DetalleDispositivo>(); var detalle = detalles.FirstOrDefault(d => d.TipoParametro.Nombre.ToLower() == name); if (detalle == null) { detalle = new DetalleDispositivo { Dispositivo = Dispositivo, Revision = 0, TipoParametro = parametro }; Dispositivo.AddDetalleDispositivo(detalle); } var changed = detalle.Valor != valor; detalle.Valor = valor; DaoFactory.DispositivoDAO.SaveOrUpdate(Dispositivo); transaction.Commit(); if (changed && parametro.RequiereReset) { try { MessageSender.CreateReboot(Dispositivo, null).Send(); } catch (Exception ex) { STrace.Exception(GetType().FullName, ex, Dispositivo.Id, String.Format("No se pudo enviar el comando Reboot al Dispositivo {0}", Dispositivo.Id)); } } } catch (Exception ex) { STrace.Exception(GetType().FullName, ex, message.DeviceId, String.Format("SetDetail Exception: Name={0} Value={1}", message.GetUserSetting(SetDetail.Fields.Name), message.GetUserSetting(SetDetail.Fields.Value))); transaction.Rollback(); throw ex; } } return(HandleResults.Success); }