private void btnReincorporar_Click(object sender, EventArgs e)
 {
     try
     {
         for (int i = 0; i < dataGridViewPacientesAlta.Rows.Count; i++)
         {
             if (dataGridViewPacientesAlta.Rows[i].Cells[(int)Col_Pacietnes.HABITACION].Value != null)
             {
                 SISTMEDEntities E = new SISTMEDEntities();
                 E.Configuration.ValidateOnSaveEnabled = false;
                 Pacientes P = new Pacientes
                 {
                     paciente_id   = Convert.ToInt32(dataGridViewPacientesAlta.Rows[i].Cells[(int)Col_Pacietnes.PACIENTE_ID].Value),
                     fechaEgreso   = null,
                     habitacion_id = Convert.ToInt32(dataGridViewPacientesAlta.Rows[i].Cells[(int)Col_Pacietnes.HABITACION].Value),
                     sede_id       = Clases.Paciente.PacienteSede
                 };
                 E.Pacientes.Attach(P);
                 E.Entry(P).Property(u => u.fechaEgreso).IsModified   = true;
                 E.Entry(P).Property(u => u.sede_id).IsModified       = true;
                 E.Entry(P).Property(u => u.habitacion_id).IsModified = true;
                 E.SaveChanges();
                 this.Close();
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
示例#2
0
        private void dataGridViewMedicamentos_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.ColumnIndex == (int)Col_Medicamento.IMP)
                {
                    DataGridViewCheckBoxCell cellSelecion = dataGridViewMedicamentos.Rows[e.RowIndex].Cells[(int)Col_Medicamento.IMP] as DataGridViewCheckBoxCell;

                    SISTMEDEntities E = new SISTMEDEntities();
                    E.Configuration.ValidateOnSaveEnabled = false;

                    int _suministroID = Convert.ToInt32(dataGridViewMedicamentos.Rows[e.RowIndex].Cells[(int)Col_Medicamento.ID].Value);

                    MED_Historial_SuministroDeMedicacion _hist = new MED_Historial_SuministroDeMedicacion {
                        suministroDeMedicacion_id = _suministroID, imprimeFactu = Convert.ToBoolean(cellSelecion.Value)
                    };
                    E.MED_Historial_SuministroDeMedicacion.Attach(_hist);
                    E.Entry(_hist).Property(f => f.imprimeFactu).IsModified = true;
                    E.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#3
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                Seguridad.Encriptacion encripta = new Seguridad.Encriptacion();
                SISTMEDEntities        E        = new SISTMEDEntities();
                var clave = (from U in E.TBL_Usuarios
                             where U.Id_Usuario == Clases.Usuario.UsuarioLogeado.id_usuario_Logeado
                             select new { U.ContraseniaUsuario }).Single();

                if (txtClaveActual.Text.Trim() != encripta.DESENCRIPTAR(clave.ContraseniaUsuario))
                {
                    MetroMessageBox.Show(this, "La clave ingresada como actual es incorrecta");
                }
                else if (txtClaveNueva.Text.Trim() != txtClaveNueva2.Text.Trim())
                {
                    MetroMessageBox.Show(this, "Los campos de nueva clave deben ser iguales");
                }
                else
                {
                    E.Configuration.ValidateOnSaveEnabled = false;
                    TBL_Usuarios U = new TBL_Usuarios {
                        Id_Usuario = Clases.Usuario.UsuarioLogeado.id_usuario_Logeado, ContraseniaUsuario = encripta.ENCRIPTAR(txtClaveNueva.Text)
                    };
                    E.TBL_Usuarios.Attach(U);
                    E.Entry(U).Property(p => p.ContraseniaUsuario).IsModified = true;
                    E.SaveChanges();
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#4
0
        private void Guardar()
        {
            try
            {
                SISTMEDEntities        E        = new SISTMEDEntities();
                TBL_Usuarios           _item    = new TBL_Usuarios();
                Seguridad.Encriptacion encripta = new Seguridad.Encriptacion();
                if (Convert.ToInt32(txtId.Text) != -1) //Si es -1 es porque es un ingreso nuevo
                {
                    _item.Id_Usuario = Convert.ToInt32(txtId.Text);
                }
                _item.Id_Perfil            = 1;
                _item.IdentificadorUsuario = txtUsuario.Text;
                _item.ContraseniaUsuario   = encripta.ENCRIPTAR(txtClave.Text.ToString());
                _item.NombreUsuario        = txtDescripcion.Text;
                _item.Inactivo             = chckInactivo.Checked;
                _item.Sector_id            = Convert.ToInt32(cboPerfiles.SelectedValue);
                _item.Email     = txtEmail.Text;
                _item.matricula = txtMatricula.Text;

                E.Entry(_item).State = (AlreadyExists(Convert.ToInt32(txtId.Text)) ? EntityState.Modified : EntityState.Added);
                E.SaveChanges();

                MetroMessageBox.Show(this, "Se guardo correctamente");

                TraeUsuarios();
                LimpiarCampos();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtDiagnostico.Text == string.Empty)
                {
                    MessageBox.Show("Debe ingresar un diagnostico", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    SISTMEDEntities  E     = new SISTMEDEntities();
                    MED_Diagnosticos _item = new MED_Diagnosticos();
                    _item.Diagnostico = txtDiagnostico.Text;

                    E.Entry(_item).State = System.Data.Entity.EntityState.Added;
                    E.SaveChanges();
                    Opener.ActualizaDiagnosticos();
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void dataGridViewMedicamentos_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.ColumnIndex == (int)Col_Medicamentos.X)
                {
                    DialogResult dialogResult = MetroMessageBox.Show(this, "Desea marcar este medicamento sin Codigo en Bejerman (No se Compra ni Stockea)?", "Sin Codigo Asociado", MessageBoxButtons.YesNo);
                    if (dialogResult == DialogResult.Yes)
                    {
                        SISTMEDEntities E = new SISTMEDEntities();
                        E.Configuration.ValidateOnSaveEnabled = false;
                        E.Configuration.ProxyCreationEnabled  = false;

                        int _codigoMedicamento = Convert.ToInt32(dataGridViewMedicamentos.CurrentRow.Cells[(int)Col_Medicamentos.MEDICAMENTO_ID].Value);

                        MED_Solicita_Medicamento_Nuevo _itemSolicita = new MED_Solicita_Medicamento_Nuevo
                        {
                            medicamento_id = _codigoMedicamento,
                            bejerman_id    = "SIN CODIGO"
                        };

                        E.MED_Solicita_Medicamento_Nuevo.Attach(_itemSolicita);
                        E.Entry(_itemSolicita).Property(s => s.bejerman_id).IsModified = true;

                        E.SaveChanges();

                        TraeMedicamentosPendientes();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#7
0
        private void btnGrabar_Click(object sender, EventArgs e)
        {
            try
            {
                if (TextBoxDescripcion.Text != string.Empty && TextBoxPuntaje.Text != string.Empty)
                {
                    MED_OtraPonderacionPuntaje _itemFactor = new MED_OtraPonderacionPuntaje();
                    _itemFactor.Descripcion = TextBoxDescripcion.Text;
                    _itemFactor.puntaje     = Convert.ToDecimal(TextBoxPuntaje.Text, culture);

                    if (_FactorId == 0)
                    {
                        _Mod.MED_OtraPonderacionPuntaje.Add(_itemFactor);
                    }
                    else
                    {
                        _itemFactor.Id = _FactorId;
                        _Mod.Entry(_itemFactor).State = System.Data.Entity.EntityState.Modified;
                    }

                    _Mod.SaveChanges();
                    TraerOtrosFactores();
                    NuevoIngreso();
                    MessageBox.Show("Factor creado o Modificado correctemente", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#8
0
        private void btnGrabar_Click(object sender, EventArgs e)
        {
            try
            {
                if (ValidaConfirmacion())
                {
                    MED_ListaEspera _espera = new MED_ListaEspera();

                    _espera.confirmaCama          = true;
                    _espera.espera_id             = _listaEsperaId;
                    _espera.sedeSugerida          = Convert.ToInt32(comboBoxSede.SelectedValue);
                    _espera.responsable           = textBoxResponsable.Text;
                    _espera.vinculo               = textBoxVinculo.Text;
                    _espera.telefonos             = textBoxTelefonos.Text;
                    _espera.fechaConfirmacionCama = dateTimePickerConfirma.Value;
                    if (cboHabitacionDesocupada.SelectedIndex > 0)
                    {
                        _espera.habitacion_id = Convert.ToInt32(cboHabitacionDesocupada.SelectedValue);
                    }
                    else
                    {
                        MessageBox.Show("Debe seleccionar una habitación", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }

                    //ESTAS 2 LINEAS DE ABAJO ES IMPORTANTE PARA PODER MODIFICAR SOLO ALGUNOS CAMPOS
                    _Mod.Configuration.AutoDetectChangesEnabled = false;
                    _Mod.Configuration.ValidateOnSaveEnabled    = false;

                    //AHORA MARCO LOS CAMPOS QUE SE MODIFICAN
                    _Mod.MED_ListaEspera.Attach(_espera);

                    _Mod.Entry(_espera).Property(m => m.confirmaCama).IsModified          = true;
                    _Mod.Entry(_espera).Property(m => m.sedeSugerida).IsModified          = true;
                    _Mod.Entry(_espera).Property(m => m.responsable).IsModified           = true;
                    _Mod.Entry(_espera).Property(m => m.vinculo).IsModified               = true;
                    _Mod.Entry(_espera).Property(m => m.telefonos).IsModified             = true;
                    _Mod.Entry(_espera).Property(m => m.fechaConfirmacionCama).IsModified = true;
                    //if (cboHabitacionDesocupada.SelectedIndex > 0)
                    //{
                    _Mod.Entry(_espera).Property(m => m.habitacion_id).IsModified = true;
                    //}

                    _Mod.SaveChanges();
                    MessageBox.Show("Cama confirmada correctamente", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    EnviarMail(_listaEsperaId);
                    Close();
                }
            }

            catch (Exception ex)

            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
            public bool DerivacionUpdate(MED_Derivacion _deriva)
            {
                try
                {
                    _Mod.Entry(_deriva).State = System.Data.Entity.EntityState.Modified;

                    _Mod.SaveChanges();


                    return(true);
                }

                catch (Exception ex)
                {
                    return(false);
                }
            }
            public bool ModuloUpdate(MED_Modulo _modulo)
            {
                try
                {
                    _Mod.Entry(_modulo).State = System.Data.Entity.EntityState.Modified;

                    _Mod.SaveChanges();


                    return(true);
                }

                catch (Exception ex)
                {
                    return(false);
                }
            }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                SISTMEDEntities E = new SISTMEDEntities();
                E.Configuration.ValidateOnSaveEnabled = false;
                E.Configuration.ProxyCreationEnabled  = false;
                for (int i = 0; i < dataGridViewMedicamentos.Rows.Count; i++)
                {
                    if (dataGridViewMedicamentos.Rows[i].Cells[(int)Col_Medicamentos.CODIGO_BEJERMAN].Value != null)//Verifico que tenga un codigo
                    {
                        string _codigoBejerman    = dataGridViewMedicamentos.Rows[i].Cells[(int)Col_Medicamentos.CODIGO_BEJERMAN].Value.ToString().Trim().PadRight(20);
                        int    _codigoMedicamento = Convert.ToInt32(dataGridViewMedicamentos.Rows[i].Cells[(int)Col_Medicamentos.MEDICAMENTO_ID].Value);

                        MED_Solicita_Medicamento_Nuevo _itemSolicita = new MED_Solicita_Medicamento_Nuevo
                        {
                            medicamento_id = _codigoMedicamento,
                            bejerman_id    = _codigoBejerman
                        };

                        E.MED_Solicita_Medicamento_Nuevo.Attach(_itemSolicita);
                        E.Entry(_itemSolicita).Property(s => s.bejerman_id).IsModified = true;

                        ActualizarCodigosEnBase(_codigoBejerman, _codigoMedicamento);
                    }
                }

                E.SaveChanges();

                TraeMedicamentosPendientes();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public void Modifica_Suministro_Procedimiento_Nutricion()
        {
            try
            {
                {
                    CultureInfo     culture = new CultureInfo("en-US");
                    SISTMEDEntities E       = new SISTMEDEntities();
                    // Tabla PRO_SuministroDeProcedimiento
                    PRO_SuministroDeProcedimiento _itemSuministro = new PRO_SuministroDeProcedimiento();

                    foreach (var item in E.ObtieneUltimoId("PRO_Posologia")) // Nombre de la tabla en la que buscara
                    {
                        if (suministro_procedimiento_id == 0)
                        {
                            if (item.Value == 1)
                            {
                                _itemSuministro.posologia_id = Convert.ToInt32(item.Value);
                            }
                            else
                            {
                                _itemSuministro.posologia_id = Convert.ToInt32(item.Value + 1);
                            }
                        }
                        else
                        {
                            _itemSuministro.posologia_id = nutricion_id;
                        }
                    }
                    _itemSuministro.paciente_id                  = paciente_id;
                    _itemSuministro.procedimiento_id             = procedimiento_id;
                    _itemSuministro.tipoProcedimiento_id         = tipo_procedimiento_id;
                    _itemSuministro.fechaAltaSistema             = System.DateTime.Now;
                    _itemSuministro.usuario_id                   = Clases.Usuario.UsuarioLogeado.id_usuario_Logeado;
                    _itemSuministro.suministroDeProcedimiento_id = suministro_procedimiento_id;

                    E.Entry(_itemSuministro).State = (AlreadyExistsSuministro() ? EntityState.Modified : EntityState.Added);
                    // Tabla PRO_Posologia
                    PRO_Posologia _itemPosologia = new PRO_Posologia();

                    _itemPosologia.paciente_id      = paciente_id;
                    _itemPosologia.procedimiento_id = procedimiento_id;
                    _itemPosologia.posologia_id     = nutricion_id;
                    // ORAL
                    _itemPosologia.PlanOral = cboPlanOral.Text;
                    if (this.chckCortado.Checked)
                    {
                        _itemPosologia.Cortado = true;
                    }
                    else
                    {
                        _itemPosologia.Cortado = false;
                    }
                    if (this.chckLiquidoAligerado.Checked)
                    {
                        _itemPosologia.LiquidosAligerados = true;
                    }
                    else
                    {
                        _itemPosologia.LiquidosAligerados = false;
                    }
                    if (this.chckLiquidoEspeso.Checked)
                    {
                        _itemPosologia.LiquidosEspesos = true;
                    }
                    else
                    {
                        _itemPosologia.LiquidosEspesos = false;
                    }
                    if (this.chckLiquidoFino.Checked)
                    {
                        _itemPosologia.LiquidosFinos = true;
                    }
                    else
                    {
                        _itemPosologia.LiquidosFinos = false;
                    }
                    if (this.chckPicado.Checked)
                    {
                        _itemPosologia.Picado = true;
                    }
                    else
                    {
                        _itemPosologia.Picado = false;
                    }
                    if (this.chckSupControl.Checked)
                    {
                        _itemPosologia.SupControl = true;
                    }
                    else
                    {
                        _itemPosologia.SupControl = false;
                    }
                    if (this.ckchAsistencia.Checked)
                    {
                        _itemPosologia.Asistencia = true;
                    }
                    else
                    {
                        _itemPosologia.Asistencia = false;
                    }
                    if (this.ckchSinLiquidos.Checked)
                    {
                        _itemPosologia.SinLiquidos = true;
                    }
                    else
                    {
                        _itemPosologia.SinLiquidos = false;
                    }
                    if (this.chckHiposodico.Checked)
                    {
                        _itemPosologia.hiposodica = true;
                    }
                    else
                    {
                        _itemPosologia.hiposodica = false;
                    }
                    if (this.chckDBT.Checked)
                    {
                        _itemPosologia.dbt = true;
                    }
                    else
                    {
                        _itemPosologia.dbt = false;
                    }
                    if (this.chckACO.Checked)
                    {
                        _itemPosologia.ACO = true;
                    }
                    else
                    {
                        _itemPosologia.ACO = false;
                    }
                    if (this.chckIRA.Checked)
                    {
                        _itemPosologia.IRA = true;
                    }
                    else
                    {
                        _itemPosologia.IRA = false;
                    }
                    if (this.chckICR.Checked)
                    {
                        _itemPosologia.IRC = true;
                    }
                    else
                    {
                        _itemPosologia.IRC = false;
                    }
                    if (this.chckSorbete.Checked)
                    {
                        _itemPosologia.Sorbete = true;
                    }
                    else
                    {
                        _itemPosologia.Sorbete = false;
                    }
                    if (this.chckCeliaco.Checked)
                    {
                        _itemPosologia.Celiaco = true;
                    }
                    else
                    {
                        _itemPosologia.Celiaco = false;
                    }
                    if (this.chckHepatoProtector.Checked)
                    {
                        _itemPosologia.HepatoProtector = true;
                    }
                    else
                    {
                        _itemPosologia.HepatoProtector = false;
                    }
                    if (this.chckHipercalorica.Checked)
                    {
                        _itemPosologia.Hipercalorico = true;
                    }
                    else
                    {
                        _itemPosologia.Hipercalorico = false;
                    }
                    if (this.chckHipocalorica.Checked)
                    {
                        _itemPosologia.Hipocalorico = true;
                    }
                    else
                    {
                        _itemPosologia.Hipocalorico = false;
                    }


                    // ENTERAL
                    _itemPosologia.alimento_id       = this.cboAlimento1.SelectedValue.ToString();
                    _itemPosologia.alimentoVelocidad = txtVelocidad1.Text == "" ? 0 : Convert.ToInt32(this.txtVelocidad1.Text.ToString());
                    _itemPosologia.horario_alimento  = this.txtHorario1.Text;
                    _itemPosologia.VolT1             = this.txtVolTot1.Text;
                    _itemPosologia.Goteo1            = radioGoteo1.Checked;
                    _itemPosologia.Paralelo1         = radioParalelo1.Checked;

                    _itemPosologia.alimento_id2       = this.cboAlimento2.SelectedValue.ToString();
                    _itemPosologia.alimentoVelocidad2 = txtVelocidad2.Text == "" ? 0 : Convert.ToInt32(this.txtVelocidad2.Text.ToString());
                    _itemPosologia.horario_alimento2  = this.txtHorario2.Text;
                    _itemPosologia.VolT2     = this.txtVolTot2.Text;
                    _itemPosologia.Goteo2    = radioGoteo2.Checked;
                    _itemPosologia.Paralelo2 = radioParalelo2.Checked;

                    _itemPosologia.alimento_id3        = this.cboAlimento3.SelectedValue.ToString();
                    _itemPosologia.alimento_velocidad3 = txtVelocidad3.Text == "" ? 0 : Convert.ToInt32(this.txtVelocidad3.Text.ToString());
                    _itemPosologia.horario_alimento3   = this.txtHorario3.Text;
                    _itemPosologia.VolT3     = this.txtVolTot3.Text;
                    _itemPosologia.Goteo3    = radioGoteo3.Checked;
                    _itemPosologia.Paralelo3 = radioParalelo3.Checked;

                    _itemPosologia.alimento_id4       = this.cboAlimento4.SelectedValue.ToString();
                    _itemPosologia.alimentoVelocidad4 = txtVelocidad4.Text == "" ? 0 : Convert.ToInt32(this.txtVelocidad4.Text.ToString());
                    _itemPosologia.horario_alimento4  = this.txtHorario4.Text;
                    _itemPosologia.VolT4     = this.txtVolTot4.Text;
                    _itemPosologia.Goteo4    = radioGoteo4.Checked;
                    _itemPosologia.Paralelo4 = radioParalelo4.Checked;

                    _itemPosologia.SNG          = radioSNG.Checked;
                    _itemPosologia.Gastro       = radioGastro.Checked;
                    _itemPosologia.Yeyunostomia = radioYeyu.Checked;
                    _itemPosologia.Oral         = radioOral.Checked;

                    _itemPosologia.observacion       = this.txtObservacion.Text;
                    _itemPosologia.usuario_id        = Clases.Usuario.UsuarioLogeado.id_usuario_Logeado;
                    _itemPosologia.fechaAltaSistema  = System.DateTime.Now;
                    _itemPosologia.fechaModificacion = System.DateTime.Now;

                    _itemPosologia.ml_frasco1 = txtMlFrasco1.Text == ""? 0 : Convert.ToInt32(txtMlFrasco1.Text);
                    _itemPosologia.ml_frasco2 = txtMlFrasco2.Text == "" ? 0 : Convert.ToInt32(txtMlFrasco2.Text);
                    _itemPosologia.ml_frasco3 = txtMlFrasco3.Text == "" ? 0 : Convert.ToInt32(txtMlFrasco3.Text);
                    _itemPosologia.ml_frasco4 = txtMlFrasco4.Text == "" ? 0 : Convert.ToInt32(txtMlFrasco4.Text);


                    if (txtSuspenderMotivo.Text != string.Empty)
                    {
                        _itemPosologia.fechaBaja   = DateTime.Now;
                        _itemPosologia.motivoBaja  = txtSuspenderMotivo.Text;
                        _itemSuministro.fechaBaja  = DateTime.Now;
                        _itemSuministro.motivoBaja = txtSuspenderMotivo.Text;
                    }

                    E.Entry(_itemPosologia).State = (AlreadyExists() ? EntityState.Modified : EntityState.Added);

                    E.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#13
0
        private void Guardar()
        {
            SISTMEDEntities P = new SISTMEDEntities();

            using (var dbContextTransaction = P.Database.BeginTransaction())
                try
                {
                    P.Configuration.ValidateOnSaveEnabled = false;

                    PRO_PHPV2 _itemPHP = new PRO_PHPV2();
                    _itemPHP.tamanio_frasco = ObtieneTamanioFrasco();
                    _itemPHP.bic            = checkBic.Checked;
                    _itemPHP.gotas_minuto   = Convert.ToInt32(cboGotaHora.SelectedValue);
                    _itemPHP.ml_hora        = txtMlHora.Text == ""? 0: Convert.ToInt32(txtMlHora.Text);
                    _itemPHP.fecha_carga    = DateTime.Now;
                    _itemPHP.usr_carga      = Clases.Usuario.UsuarioLogeado.id_usuario_Logeado;
                    _itemPHP.obs            = txtObs.Text;
                    if (_suspender == 1)
                    {
                        _itemPHP.fecha_baja = _fbja;
                    }
                    _itemPHP.frasco1  = Convert.ToInt32(cboDiluyente.SelectedValue);
                    _itemPHP.frasco2  = Convert.ToInt32(cboDiluyente2.SelectedValue);
                    _itemPHP.frasco3  = Convert.ToInt32(cboDiluyente3.SelectedValue);
                    _itemPHP.frasco4  = Convert.ToInt32(cboDiluyente4.SelectedValue);
                    _itemPHP.frasco5  = Convert.ToInt32(cboDiluyente5.SelectedValue);
                    _itemPHP.frasco6  = Convert.ToInt32(cboDiluyente6.SelectedValue);
                    _itemPHP.frasco7  = Convert.ToInt32(cboDiluyente7.SelectedValue);
                    _itemPHP.frasco8  = Convert.ToInt32(cboDiluyente8.SelectedValue);
                    _itemPHP.frasco9  = Convert.ToInt32(cboDiluyente9.SelectedValue);
                    _itemPHP.frasco10 = Convert.ToInt32(cboDiluyente10.SelectedValue);

                    if (suministro_procedimiento_id != 0)
                    {
                        _itemPHP.id_php         = _phpID;
                        P.Entry(_itemPHP).State = System.Data.Entity.EntityState.Modified;
                    }
                    else
                    {
                        P.PRO_PHPV2.Add(_itemPHP);
                    }

                    if (suministro_procedimiento_id != 0)
                    {
                        P.PRO_PHPV2_ADITIVO.RemoveRange(P.PRO_PHPV2_ADITIVO.Where(a => a.id_php == _phpID));
                    }

                    foreach (Control c in groupBoxFrascos.Controls)
                    {
                        if (c is DataGridView)
                        {
                            DataGridView _tablaAditivos = (DataGridView)c;
                            if (_tablaAditivos.Rows.Count > 0)//Tiene algun aditivo
                            {
                                for (int i = 0; i < _tablaAditivos.Rows.Count; i++)
                                {
                                    PRO_PHPV2_ADITIVO _itemAditivo = new PRO_PHPV2_ADITIVO();
                                    _itemAditivo.PRO_PHPV2    = _itemPHP;
                                    _itemAditivo.id_frasco    = Convert.ToInt32(_tablaAditivos.Tag);
                                    _itemAditivo.aditivo_id   = _tablaAditivos.Rows[i].Cells[(int)Col_Aditivos.ID].Value.ToString();
                                    _itemAditivo.aditivo_desc = _tablaAditivos.Rows[i].Cells[(int)Col_Aditivos.ADITIVO].Value.ToString();
                                    _itemAditivo.dosis        = Convert.ToDecimal(_tablaAditivos.Rows[i].Cells[(int)Col_Aditivos.DOSIS].Value);
                                    P.PRO_PHPV2_ADITIVO.Add(_itemAditivo);
                                }
                            }
                            else //No tiene aditivos
                            {
                                PRO_PHPV2_ADITIVO _itemAditivo = new PRO_PHPV2_ADITIVO();
                                _itemAditivo.PRO_PHPV2    = _itemPHP;
                                _itemAditivo.id_frasco    = Convert.ToInt32(_tablaAditivos.Tag);
                                _itemAditivo.aditivo_id   = "S/A";
                                _itemAditivo.aditivo_desc = "";
                                _itemAditivo.dosis        = 0;
                                P.PRO_PHPV2_ADITIVO.Add(_itemAditivo);
                            }
                        }
                    }

                    PRO_SuministroDeProcedimiento _itemSP = new PRO_SuministroDeProcedimiento();
                    _itemSP.paciente_id          = Clases.Paciente.PacienteIngresado;
                    _itemSP.procedimiento_id     = procedimiento_id;
                    _itemSP.tipoProcedimiento_id = 8;
                    _itemSP.usuario_id           = Clases.Usuario.UsuarioLogeado.id_usuario_Logeado;
                    _itemSP.fechaAltaSistema     = DateTime.Now;

                    if (_suspender == 1)
                    {
                        _itemSP.fechaBaja = _fbja;
                    }

                    if (suministro_procedimiento_id == 0)
                    {
                        _itemSP.PRO_PHPV2 = _itemPHP;
                        P.PRO_SuministroDeProcedimiento.Add(_itemSP);
                    }
                    else
                    {
                        if (_suspender == 1)
                        {
                            PRO_SuministroDeProcedimiento _itemSuministro = new PRO_SuministroDeProcedimiento {
                                suministroDeProcedimiento_id = suministro_procedimiento_id, fechaBaja = _fbja
                            };
                            P.PRO_SuministroDeProcedimiento.Attach(_itemSuministro);
                            P.Entry(_itemSuministro).Property(s => s.fechaBaja).IsModified = true;
                        }
                    }

                    P.SaveChanges();
                    dbContextTransaction.Commit();
                    MetroMessageBox.Show(this, "Se guardo correctamente");
                    if (suministro_procedimiento_id != 0)
                    {
                        ActualizarIndicacion();
                    }
                    else
                    {
                        Opener.IActualiza();
                    }
                    this.Close();
                }
                catch (Exception ex)
                {
                    dbContextTransaction.Rollback();
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
        }
            public bool ListaUpdate(MED_ListaEspera _lista, List <MED_ListaEsperaModulo> _listModulos, List <MED_PuntajeAdicionalListaEspera> _listFactor, List <MED_CultivosListaEspera> _cultivos)
            {
                try
                {
                    //PRIMERO BORRO LOS MODULOS Y CARGO TODOS DE NUEVO..
                    var _remove = (from P in _Mod.MED_ListaEsperaModulo where P.espera_id == _lista.espera_id select P).ToList();
                    foreach (var item in _remove)
                    {
                        _Mod.MED_ListaEsperaModulo.Remove(item);
                    }

                    //LUEGO INSERTO TODOS DE NUEVO
                    foreach (MED_ListaEsperaModulo item in _listModulos)
                    {
                        item.espera_id = _lista.espera_id;
                        _Mod.MED_ListaEsperaModulo.Add(item);
                    }

                    //ACTUALIZO OTROS FACTORES DE PUNTAJE... PUEDE ESTAR AGREGANDO O BORRANDO.....
                    //PRIMERO BORRO LOS QUE TENGA ASIGNADO
                    var _removeFactor = (from F in _Mod.MED_PuntajeAdicionalListaEspera where F.espera_id == _lista.espera_id select F).ToList();
                    foreach (var item in _removeFactor)
                    {
                        _Mod.MED_PuntajeAdicionalListaEspera.Remove(item);
                    }
                    //AHORA SI LA LISTA TIENE DATOS.. INSERTRO LOS NUEVOS
                    if (_listFactor.Count > 0)
                    {
                        foreach (MED_PuntajeAdicionalListaEspera item in _listFactor)
                        {
                            item.espera_id = _lista.espera_id;
                            _Mod.MED_PuntajeAdicionalListaEspera.Add(item);
                        }
                    }
                    //FIN FACTOR PUNTAJE ADICIONAL

                    //ACTUALIZO TABLAS DE CULTIVOS
                    var _removeCultivos = (from F in _Mod.MED_CultivosListaEspera where F.espera_id == _lista.espera_id select F).ToList();
                    foreach (var item in _removeCultivos)
                    {
                        _Mod.MED_CultivosListaEspera.Remove(item);
                    }
                    //AHORA INSERTO NUEVOS
                    if (_cultivos.Count > 0)
                    {
                        foreach (MED_CultivosListaEspera item in _cultivos)
                        {
                            item.espera_id = _lista.espera_id;
                            _Mod.MED_CultivosListaEspera.Add(item);
                        }
                    }
                    //FIN CULTIVOS

                    //ACTUALIZO TABLA LISTA DE ESPERA
                    _Mod.Entry(_lista).State = System.Data.Entity.EntityState.Modified;

                    _Mod.SaveChanges();

                    return(true);
                }

                catch (Exception ex)
                {
                    return(false);
                }
            }
            public bool IngresaPaciente(Pacientes _pac, List <MED_PacienteModulo> _listModPac, Int32 _listaEsperaId, bool _reingreso, int _pacienteIdIM)
            {
                using (var dbContextTransaction = _Mod.Database.BeginTransaction())
                {
                    try
                    {
                        if (!_reingreso)
                        {
                            //ESTAS 2 LINEAS DE ABAJO ES IMPORTANTE PARA PODER MODIFICAR SOLO ALGUNOS CAMPOS
                            _Mod.Configuration.AutoDetectChangesEnabled = false;
                            _Mod.Configuration.ValidateOnSaveEnabled    = false;

                            // ******   INSERTO EN TABLA PACIENTE ****************
                            _Mod.Pacientes.Add(_pac);

                            // ******  AHORA INSERTO LOS MODULOS SELECCIONADOS ************
                            foreach (MED_PacienteModulo item in _listModPac)
                            {
                                item.paciente_id = _pac.paciente_id; //ESTO PORQUE EL EF DEVUELVE EL ID CREAEDO EN EL MISMO OBJETO
                                _Mod.MED_PacienteModulo.Add(item);
                            }
                            // ***** AHORA ACTUALIZO LA TABLA MED_LISTAESPERA, PARA MARCAR QUE EGRESÓ *****
                            MED_ListaEspera _espera = new MED_ListaEspera();
                            _espera.fechaEgreso = Convert.ToDateTime(DateTime.Now); //fecha de egreso
                                                                                    //_espera.obs = obs;                                      // OJOOOO VER SI ESTO ESTA BIEN DE MODIFICAR LAS OBS
                            _espera.espera_id     = _listaEsperaId;                 // id lista espera
                            _espera.habitacion_id = _pac.habitacion_id;             // habitacion id.. puede venir en null

                            //AHORA MARCO LOS CAMPOS QUE SE MODIFICAN
                            _Mod.MED_ListaEspera.Attach(_espera);
                            _Mod.Entry(_espera).Property(m => m.fechaEgreso).IsModified   = true;
                            _Mod.Entry(_espera).Property(m => m.habitacion_id).IsModified = true;

                            // **** ACTUALIZO LAS TABLAS
                            _Mod.SaveChanges();
                            dbContextTransaction.Commit();
                            return(true);
                        }

                        // *************  ES UN REINGRESO ****************************************
                        if (_reingreso)
                        {
                            //ESTAS 2 LINEAS DE ABAJO ES IMPORTANTE PARA PODER MODIFICAR SOLO ALGUNOS CAMPOS
                            _Mod.Configuration.AutoDetectChangesEnabled = false;
                            _Mod.Configuration.ValidateOnSaveEnabled    = false;

                            //ACTUALIZO LA TABLA DE PACIENTES
                            _pac.paciente_id = _pacienteIdIM;

                            _Mod.Pacientes.Attach(_pac);
                            _Mod.Entry(_pac).Property(m => m.habitacion_id).IsModified  = true;
                            _Mod.Entry(_pac).Property(m => m.fechaIngreso).IsModified   = true;
                            _Mod.Entry(_pac).Property(m => m.responsabe).IsModified     = true;
                            _Mod.Entry(_pac).Property(m => m.vinculo).IsModified        = true;
                            _Mod.Entry(_pac).Property(m => m.telefono).IsModified       = true;
                            _Mod.Entry(_pac).Property(m => m.diagnostico_id).IsModified = true;
                            _Mod.Entry(_pac).Property(m => m.sede_id).IsModified        = true;
                            _Mod.Entry(_pac).Property(m => m.usuario_id).IsModified     = true;

                            //BORRO TODOS LOS MODULOS ASIGNADOS ANTERIORMENTE
                            //PRIMERO BORRO LOS QUE TENGA ASIGNADO
                            var _removeModulo = (from F in _Mod.MED_PacienteModulo where F.paciente_id == _pacienteIdIM select F).ToList();
                            foreach (var item in _removeModulo)
                            {
                                _Mod.MED_PacienteModulo.Remove(item);
                            }

                            //FIN BORRA MODULOS

                            // ******  AHORA INSERTO LOS MODULOS SELECCIONADOS ************
                            foreach (MED_PacienteModulo item in _listModPac)
                            {
                                item.paciente_id = _pac.paciente_id; //ESTO PORQUE EL EF DEVUELVE EL ID CREAEDO EN EL MISMO OBJETO
                                _Mod.MED_PacienteModulo.Add(item);
                            }

                            // ***** AHORA ACTUALIZO LA TABLA MED_LISTAESPERA, PARA MARCAR QUE EGRESÓ *****
                            MED_ListaEspera _espera = new MED_ListaEspera();
                            _espera.fechaEgreso = Convert.ToDateTime(DateTime.Now); //fecha de egreso
                            //_espera.obs = obs;       // OJOOOO VER SI ESTO ESTA BIEN DE MODIFICAR LAS OBS
                            _espera.espera_id     = _listaEsperaId;                 // id lista espera
                            _espera.habitacion_id = _pac.habitacion_id;             // habitacion id.. puede venir en null

                            //AHORA MARCO LOS CAMPOS QUE SE MODIFICAN
                            _Mod.MED_ListaEspera.Attach(_espera);
                            _Mod.Entry(_espera).Property(m => m.fechaEgreso).IsModified   = true;
                            _Mod.Entry(_espera).Property(m => m.habitacion_id).IsModified = true;

                            // **** ACTUALIZO LAS TABLAS
                            _Mod.SaveChanges();
                            dbContextTransaction.Commit();

                            return(true);
                        }

                        return(true);
                    }

                    catch (Exception)
                    {
                        dbContextTransaction.Rollback();
                        return(false);
                    }
                }
            }
示例#16
0
        private void Graba_Autorizazion()
        {
            try
            {
                SISTMEDEntities E = new SISTMEDEntities();
                E.Configuration.ValidateOnSaveEnabled = false;
                E.Configuration.ProxyCreationEnabled  = false;

                for (int i = 0; i < this.dataGridViewMedicamentos.Rows.Count; i++)
                {
                    bool     _todo       = Convert.ToBoolean(dataGridViewMedicamentos.Rows[i].Cells[(int)Col_Medicamentos_Solicitados.AUT_TODO].Value);
                    bool     _paciente   = Convert.ToBoolean(dataGridViewMedicamentos.Rows[i].Cells[(int)Col_Medicamentos_Solicitados.AUT_SOLO_PAC].Value);
                    bool     _noAut      = Convert.ToBoolean(dataGridViewMedicamentos.Rows[i].Cells[(int)Col_Medicamentos_Solicitados.NO_AUTORIZA].Value);
                    bool     _autoriza   = false;
                    DateTime _fechaHasta = SqlDateTime.MinValue.Value;
                    if (_todo || _paciente || _noAut)     //Verifico que haya seleccionado algo
                    {
                        if (_todo || _paciente)
                        {
                            _autoriza = true;
                            if (dataGridViewMedicamentos.Rows[i].Cells[(int)Col_Medicamentos_Solicitados.FECHA_HASTA].Value != null)
                            {
                                _fechaHasta = Convert.ToDateTime(dataGridViewMedicamentos.Rows[i].Cells[(int)Col_Medicamentos_Solicitados.FECHA_HASTA].Value);
                            }
                        }

                        MED_Solicita_Medicamento_Nuevo _item = new MED_Solicita_Medicamento_Nuevo
                        {
                            medicamento_id     = Convert.ToInt32(dataGridViewMedicamentos.Rows[i].Cells[(int)Col_Medicamentos_Solicitados.MEDICAMENTO_ID].Value),
                            medicamento        = dataGridViewMedicamentos.Rows[i].Cells[(int)Col_Medicamentos_Solicitados.MEDICAMENTO].Value.ToString(),
                            autoriza           = _autoriza,
                            pendiente          = false,
                            fechaDesde         = DateTime.Now,
                            fechaHasta         = _fechaHasta,
                            fechaAutoriza      = DateTime.Now,
                            usuarioAutoriza_id = Clases.Usuario.UsuarioLogeado.id_usuario_Logeado,
                            bejermanAlta       = _todo //Si autoriza solo a un Paciente esto esta false O si No Autoriza
                        };

                        E.MED_Solicita_Medicamento_Nuevo.Attach(_item);
                        E.Entry(_item).Property(s => s.medicamento).IsModified        = true;
                        E.Entry(_item).Property(s => s.autoriza).IsModified           = true;
                        E.Entry(_item).Property(s => s.pendiente).IsModified          = true;
                        E.Entry(_item).Property(s => s.paciente_id).IsModified        = true;
                        E.Entry(_item).Property(s => s.fechaDesde).IsModified         = true;
                        E.Entry(_item).Property(s => s.fechaHasta).IsModified         = true;
                        E.Entry(_item).Property(s => s.fechaAutoriza).IsModified      = true;
                        E.Entry(_item).Property(s => s.usuarioAutoriza_id).IsModified = true;
                        E.Entry(_item).Property(s => s.bejermanAlta).IsModified       = true;
                    }
                }

                E.SaveChanges();

                Trae_Medicamento_Solicitado_Sin_Autorizar();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public void Graba_Historial_Suministro_Procedimiento_Nutricion()
        {
            try
            {
                {
                    CultureInfo     culture = new CultureInfo("en-US");
                    SISTMEDEntities E       = new SISTMEDEntities();

                    // Tabla PRO_SuministroDeProcedimiento
                    PRO_Historial_SuministroDeProcedimiento _itemSuministro = new PRO_Historial_SuministroDeProcedimiento();

                    foreach (var item in E.ObtieneUltimoId("PRO_Posologia"))     // Nombre de la tabla en la que buscara
                    {
                        if (item.Value == 1)
                        {
                            _itemSuministro.posologia_id = Convert.ToInt32(item.Value);
                        }
                        else
                        {
                            _itemSuministro.posologia_id = Convert.ToInt32(item.Value + 1);
                        }
                    }
                    _itemSuministro.paciente_id          = paciente_id;
                    _itemSuministro.procedimiento_id     = procedimiento_id;
                    _itemSuministro.tipoProcedimiento_id = tipo_procedimiento_id;
                    _itemSuministro.fechaAltaSistema     = System.DateTime.Now;
                    _itemSuministro.usuario_id           = Clases.Usuario.UsuarioLogeado.id_usuario_Logeado;

                    E.Entry(_itemSuministro).State = System.Data.Entity.EntityState.Added;
                    // Tabla PRO_Posologia
                    PRO_Historial_Posologia _itemPosologia = new PRO_Historial_Posologia();

                    _itemPosologia.paciente_id      = paciente_id;
                    _itemPosologia.procedimiento_id = procedimiento_id;
                    // ORAL
                    _itemPosologia.PlanOral = cboPlanOral.Text;
                    if (this.chckCortado.Checked)
                    {
                        _itemPosologia.Cortado = true;
                    }
                    else
                    {
                        _itemPosologia.Cortado = false;
                    }
                    if (this.chckLiquidoAligerado.Checked)
                    {
                        _itemPosologia.LiquidosAligerados = true;
                    }
                    else
                    {
                        _itemPosologia.LiquidosAligerados = false;
                    }
                    if (this.chckLiquidoEspeso.Checked)
                    {
                        _itemPosologia.LiquidosEspesos = true;
                    }
                    else
                    {
                        _itemPosologia.LiquidosEspesos = false;
                    }
                    if (this.chckLiquidoFino.Checked)
                    {
                        _itemPosologia.LiquidosFinos = true;
                    }
                    else
                    {
                        _itemPosologia.LiquidosFinos = false;
                    }
                    if (this.chckPicado.Checked)
                    {
                        _itemPosologia.Picado = true;
                    }
                    else
                    {
                        _itemPosologia.Picado = false;
                    }
                    if (this.chckSupControl.Checked)
                    {
                        _itemPosologia.SupControl = true;
                    }
                    else
                    {
                        _itemPosologia.SupControl = false;
                    }
                    if (this.ckchAsistencia.Checked)
                    {
                        _itemPosologia.Asistencia = true;
                    }
                    else
                    {
                        _itemPosologia.Asistencia = false;
                    }
                    if (this.ckchSinLiquidos.Checked)
                    {
                        _itemPosologia.SinLiquidos = true;
                    }
                    else
                    {
                        _itemPosologia.SinLiquidos = false;
                    }
                    if (this.chckHiposodico.Checked)
                    {
                        _itemPosologia.hiposodica = true;
                    }
                    else
                    {
                        _itemPosologia.hiposodica = false;
                    }
                    if (this.chckDBT.Checked)
                    {
                        _itemPosologia.dbt = true;
                    }
                    else
                    {
                        _itemPosologia.dbt = false;
                    }

                    // ENTERAL
                    _itemPosologia.alimento_id       = this.cboAlimento1.SelectedValue.ToString();
                    _itemPosologia.alimentoVelocidad = txtVelocidad1.Text == "" ? 0 : Convert.ToInt32(this.txtVelocidad1.Text.ToString());
                    _itemPosologia.horario_alimento  = this.txtHorario1.Text;

                    _itemPosologia.alimento_id2       = this.cboAlimento2.SelectedValue.ToString();
                    _itemPosologia.alimentoVelocidad2 = txtVelocidad2.Text == "" ? 0 : Convert.ToInt32(this.txtVelocidad2.Text.ToString());
                    _itemPosologia.horario_alimento2  = this.txtHorario2.Text;

                    _itemPosologia.alimento_id3        = this.cboAlimento3.SelectedValue.ToString();
                    _itemPosologia.alimento_velocidad3 = txtVelocidad3.Text == "" ? 0 : Convert.ToInt32(this.txtVelocidad3.Text.ToString());
                    _itemPosologia.horario_alimento3   = this.txtHorario3.Text;

                    _itemPosologia.alimento_id4       = this.cboAlimento4.SelectedValue.ToString();
                    _itemPosologia.alimentoVelocidad4 = txtVelocidad4.Text == "" ? 0 : Convert.ToInt32(this.txtVelocidad4.Text.ToString());
                    _itemPosologia.horario_alimento4  = this.txtHorario4.Text;


                    _itemPosologia.observacion       = this.txtObservacion.Text;
                    _itemPosologia.usuario_id        = Clases.Usuario.UsuarioLogeado.id_usuario_Logeado;
                    _itemPosologia.fechaAltaSistema  = System.DateTime.Now;
                    _itemPosologia.fechaModificacion = System.DateTime.Now;

                    E.Entry(_itemPosologia).State = System.Data.Entity.EntityState.Added;

                    E.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void dataGridViewProcedimientos_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.ColumnIndex == (int)Col_Procedimiento.CHECK)
                {
                    if (dataGridViewProcedimientos.CurrentRow != null)
                    {
                        DataGridViewCheckBoxCell cellSelecion = dataGridViewProcedimientos.Rows[e.RowIndex].Cells[(int)Col_Procedimiento.CHECK] as DataGridViewCheckBoxCell;

                        if (Convert.ToBoolean(cellSelecion.Value))
                        {
                            if (dataGridViewProcedimientos.CurrentRow.Cells[(int)Col_Procedimiento.ID_GENERICO].Value != null)
                            {
                                TraeDescartables(Convert.ToInt32(dataGridViewProcedimientos.Rows[e.RowIndex].Cells[(int)Col_Procedimiento.ID_SUMINISTRO].Value));
                            }
                            else
                            {
                                TraeDescartablesNutricion(Convert.ToInt32(dataGridViewProcedimientos.Rows[e.RowIndex].Cells[(int)Col_Procedimiento.ID_SUMINISTRO].Value), Convert.ToInt32(dataGridViewProcedimientos.CurrentRow.Cells[(int)Col_Procedimiento.ID_PROCEDIMIENTO].Value));
                            }
                        }

                        if (Convert.ToBoolean(cellSelecion.Value) == false)
                        {
                            for (int i = 0; i < dataGridViewDescartables.Rows.Count; i++)
                            {
                                if (Convert.ToInt32(dataGridViewDescartables.Rows[i].Cells[(int)Col_Descartables.ID_SUMINISTRO].Value) == Convert.ToInt32(dataGridViewProcedimientos.CurrentRow.Cells[(int)Col_Procedimiento.ID_SUMINISTRO].Value))
                                {
                                    dataGridViewDescartables.Rows[i].Visible = false;
                                }
                            }

                            for (int i = 0; i < dataGridViewDescartables.Rows.Count; i++)
                            {
                                if (dataGridViewDescartables.Rows[i].Visible == false)
                                {
                                    dataGridViewDescartables.Rows.RemoveAt(i);
                                }
                            }
                        }
                    }
                }



                if (e.ColumnIndex == (int)Col_Procedimiento.CHECK)
                {
                    DataGridViewCheckBoxCell cellSelecion = dataGridViewProcedimientos.Rows[e.RowIndex].Cells[(int)Col_Procedimiento.CHECK] as DataGridViewCheckBoxCell;

                    SISTMEDEntities E = new SISTMEDEntities();
                    E.Configuration.ValidateOnSaveEnabled = false;

                    int _suministroID = Convert.ToInt32(dataGridViewProcedimientos.Rows[e.RowIndex].Cells[(int)Col_Procedimiento.SUMINISTRO_ID].Value);

                    PRO_SuministroDeProcedimiento_Historico _hist = new PRO_SuministroDeProcedimiento_Historico {
                        suministroDeProcedimiento_id = _suministroID, impFactu = Convert.ToBoolean(cellSelecion.Value)
                    };
                    E.PRO_SuministroDeProcedimiento_Historico.Attach(_hist);
                    E.Entry(_hist).Property(f => f.impFactu).IsModified = true;
                    E.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }