/// <summary> /// Metodo para actualizar el indicador /// </summary> /// <param name="_codigoIndicador"></param> /// <param name="_descripcionIndicador"></param> /// <param name="_valorIndicador"></param> /// <param name="_tipoIndicador"></param> /// <param name="_protegido"></param> public void ActualizarIndicador(Int64 _codigoIndicador, string _descripcionIndicador, double _valorIndicador, char _tipoIndicador, bool _protegido) { using (Datos.FonadeDBDataContext db = new Datos.FonadeDBDataContext(System.Configuration.ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString)) { EvaluacionProyectoIndicador indicador = db.EvaluacionProyectoIndicadors.Single(ById => ById.id_Indicador == _codigoIndicador); if (db.EvaluacionProyectoIndicadors.Where(registro => registro.id_Indicador != _codigoIndicador && registro.codProyecto == CodigoProyecto && registro.codConvocatoria == CodigoConvocatoria && registro.Descripcion.Contains(_descripcionIndicador) && registro.Protegido.Equals(false)).Any()) { throw new ApplicationException("Existe un indicador ese mismo nombre."); } //Actualizamos el indicador indicador.Valor = _valorIndicador; //Si esta protegido no se puede actualizar el tipo y descripción. if (!indicador.Protegido) { indicador.Descripcion = _descripcionIndicador; indicador.Tipo = _tipoIndicador; } db.SubmitChanges(); actualizarFechaActualizacionTab(); } }
/// <summary> /// Metodo para insertar un nuevo indicador /// </summary> /// <param name="_descripcionIndicador"></param> /// <param name="_valorIndicador"></param> /// <param name="_tipoIndicador"></param> /// <param name="_protegido"></param> private void InsertarIndicador(string _descripcionIndicador, double _valorIndicador, char _tipoIndicador, bool _protegido) { using (Datos.FonadeDBDataContext db = new Datos.FonadeDBDataContext(System.Configuration.ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString)) { if (db.EvaluacionProyectoIndicadors.Where(registro => registro.codProyecto == CodigoProyecto && registro.codConvocatoria == CodigoConvocatoria && registro.Descripcion.Contains(_descripcionIndicador)).Any()) { throw new ApplicationException("Existe un indicador ese mismo nombre."); } EvaluacionProyectoIndicador nuevoIndicador = new EvaluacionProyectoIndicador() { codProyecto = CodigoProyecto, codConvocatoria = CodigoConvocatoria, Descripcion = _descripcionIndicador, Valor = _valorIndicador, Tipo = _tipoIndicador, Protegido = _protegido }; db.EvaluacionProyectoIndicadors.InsertOnSubmit(nuevoIndicador); db.SubmitChanges(); actualizarFechaActualizacionTab(); LimpiarCampos(); } }
/// <summary> /// Metodo para obtener los datos del indicador a actualizar. /// </summary> private void getIndicador(Int64 _codigoIndicador) { using (Datos.FonadeDBDataContext db = new Datos.FonadeDBDataContext(System.Configuration.ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString)) { EvaluacionProyectoIndicador indicador = db.EvaluacionProyectoIndicadors.Single(ById => ById.id_Indicador == _codigoIndicador); txtDetalle.Text = indicador.Descripcion; txtDetalle.Enabled = !indicador.Protegido; txtValor.Text = indicador.Valor.ToString("0,0.0000", CultureInfo.InvariantCulture); cmbTipo.SelectedValue = indicador.Tipo.ToString(); cmbTipo.Enabled = !indicador.Protegido; } }