Esempio n. 1
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 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);
            }
        }