public IngresoPaciente(PACIENTE idpaciente, FAM_RESPONSABLES idfamiliar, bool save, int id_cuarto)
        {
            InitializeComponent();
            FillEstados();

            idccp = id_cuarto;

            var cc = BaseDatos.GetBaseDatos().CATALOGO_CUARTOS.Find(id_cuarto);

            autoCuarto.SearchText = cc.NOMBRE_CUARTO;
            cc.PAC_ACTUALES       = cc.PAC_ACTUALES - 1;
            BaseDatos.GetBaseDatos().SaveChanges();

            if (cc.PAC_ACTUALES <= cc.MAX_PACIENTES)
            {
                cc.ESTADO = "Libre";
                BaseDatos.GetBaseDatos().SaveChanges();
            }

            llenarAutocmpletes();

            if (idpaciente.TIPO_PACIENTE == "Hospitalizado")
            {
                idp = idpaciente.ID_PACIENTE;
                idf = idfamiliar.ID_FAM_RESPOSABLE;



                txtNombre.Text  = idpaciente.PERSONA.NOMBRE;
                txtPaterno.Text = idpaciente.PERSONA.A_PATERNO;
                txtMaterno.Text = idpaciente.PERSONA.A_MATERNO;
                cbbSexo.Text    = idpaciente.PERSONA.SEXO;
                txtCalle.Text   = idpaciente.PERSONA.CALLE;
                int idestado = comboBoxEstado.Items.IndexOf(idpaciente.PERSONA.ESTADO1);
                comboBoxEstado.SelectedIndex = idestado;

                txtMunicipio.Text        = idpaciente.PERSONA.NOMMUNICIPIO;
                txtLocalidad.Text        = idpaciente.PERSONA.NOMLOCALIDAD;
                txtCurp.Text             = idpaciente.PERSONA.CURP;
                dpFecha_Nacimiento.Text  = idpaciente.PERSONA.F_NACIMIENTO.ToString();
                txtNombreFam.Text        = idfamiliar.PERSONA.NOMBRE;
                txtPaternoRes.Text       = idfamiliar.PERSONA.A_PATERNO;
                txtMaternoRes.Text       = idfamiliar.PERSONA.A_MATERNO;
                cbbSexoFR.Text           = idfamiliar.PERSONA.SEXO;
                txtCelularRes.Text       = idfamiliar.PERSONA.T_CELULAR;
                txtParentezco.Text       = idfamiliar.PARENTESCO;
                cbTipoPaciente.IsChecked = true;
            }
            else
            {
                idp = idpaciente.ID_PACIENTE;
                idf = idfamiliar.ID_FAM_RESPOSABLE;

                txtNombre.Text  = idpaciente.PERSONA.NOMBRE;
                txtPaterno.Text = idpaciente.PERSONA.A_PATERNO;
                txtMaterno.Text = idpaciente.PERSONA.A_MATERNO;
                cbbSexo.Text    = idpaciente.PERSONA.SEXO;
                txtCalle.Text   = idpaciente.PERSONA.CALLE;
                int idestado = comboBoxEstado.Items.IndexOf(idpaciente.PERSONA.ESTADO1);
                comboBoxEstado.SelectedIndex = idestado;
                txtMunicipio.Text            = idpaciente.PERSONA.NOMMUNICIPIO;
                txtLocalidad.Text            = idpaciente.PERSONA.NOMLOCALIDAD;
                txtCurp.Text            = idpaciente.PERSONA.CURP;
                dpFecha_Nacimiento.Text = idpaciente.PERSONA.F_NACIMIENTO.ToString();
                txtNombreFam.Text       = idfamiliar.PERSONA.NOMBRE;
                txtPaternoRes.Text      = idfamiliar.PERSONA.A_PATERNO;
                txtMaternoRes.Text      = idfamiliar.PERSONA.A_MATERNO;
                cbbSexoFR.Text          = idfamiliar.PERSONA.SEXO;
                txtCelularRes.Text      = idfamiliar.PERSONA.T_CELULAR;
                txtParentezco.Text      = idfamiliar.PARENTESCO;
            }

            btnGuardar.IsEnabled = false;
            btnEditar.IsEnabled  = true;

            btnGuardar.Visibility = Visibility.Hidden;
            btnEditar.Visibility  = Visibility.Visible;
        }
        void Guardar()
        {
            if (txtNombre.Text == "")
            {
                MessageBox.Show("Ingresa el nombre del paciente");
            }
            else
            {
                if (txtPaterno.Text == "" && txtMaterno.Text == "")
                {
                    MessageBox.Show("Ingresa los apellidos del paciente");
                }
                else
                {
                    if (dpFecha_Nacimiento.SelectedDate == null)
                    {
                        MessageBox.Show("Selecciona la fecha de nacimiento del paciente");
                    }
                    else
                    {
                        if (cbbSexo.Text == "")
                        {
                            MessageBox.Show("Selecciona el sexo del paciente");
                        }
                        else
                        {
                            if (txtCalle.Text == "")
                            {
                                MessageBox.Show("Ingresa la calle");
                            }
                            else
                            {
                                if (comboBoxEstado.Text == "")
                                {
                                    MessageBox.Show("Selecciona un estado");
                                }
                                else
                                {
                                    if (txtMunicipio.Text == "")
                                    {
                                        MessageBox.Show("Ingresa un municipio");
                                    }
                                    else
                                    {
                                        if (txtLocalidad.Text == "")
                                        {
                                            MessageBox.Show("Ingresa una localidad");
                                        }
                                        else
                                        {
                                            if (txtCurp.Text == "" && txtCurp.Text.Length < 19)
                                            {
                                                MessageBox.Show("Ingresa una CURP valida");
                                            }
                                            else
                                            {
                                                if (txtNombreFam.Text == "")
                                                {
                                                    MessageBox.Show("Ingresa el nombre del familiar responsable");
                                                }
                                                else
                                                {
                                                    if (txtPaternoRes.Text == "")
                                                    {
                                                        MessageBox.Show("Ingresa el apellido paterno del familiar");
                                                    }
                                                    else
                                                    {
                                                        if (txtMaternoRes.Text == "")
                                                        {
                                                            MessageBox.Show("Ingresa el apellido materno del familiar");
                                                        }
                                                        else
                                                        {
                                                            if (cbbSexoFR.Text == "")
                                                            {
                                                                MessageBox.Show("Selecciona el sexo del familiar");
                                                            }
                                                            else
                                                            {
                                                                if (txtCelularRes.Text == "")
                                                                {
                                                                    MessageBox.Show("Ingresa el numero de telefono del paciente");
                                                                }
                                                                else
                                                                {
                                                                    if (txtParentezco.Text == "")
                                                                    {
                                                                        MessageBox.Show("Ingresa el parentezco");
                                                                    }
                                                                    else
                                                                    {
                                                                        if (autoCuarto.SelectedItem == null)
                                                                        {
                                                                            MessageBox.Show("Selecciona un cuarto");
                                                                        }
                                                                        else
                                                                        {
                                                                            if (cbTipoPaciente.IsChecked == true)
                                                                            {
                                                                                DateTime fregistro = DateTime.Now;
                                                                                dynamic  cua       = autoCuarto.SelectedItem;
                                                                                int      idcua     = cua.ID_CATALOGO_CUARTO;

                                                                                PERSONA pac = new PERSONA
                                                                                {
                                                                                    NOMBRE         = txtNombre.Text,
                                                                                    A_PATERNO      = txtPaterno.Text,
                                                                                    A_MATERNO      = txtMaterno.Text,
                                                                                    F_NACIMIENTO   = dpFecha_Nacimiento.SelectedDate,
                                                                                    SEXO           = cbbSexo.Text,
                                                                                    CALLE          = txtCalle.Text,
                                                                                    ESTADO         = Convert.ToInt32(comboBoxEstado.SelectedValue),
                                                                                    NOMMUNICIPIO   = txtMunicipio.Text,
                                                                                    NOMLOCALIDAD   = txtLocalidad.Text,
                                                                                    CURP           = txtCurp.Text,
                                                                                    FECHA_CREACION = fregistro,
                                                                                    ESTADOPERSONA  = "Activo"
                                                                                };

                                                                                BaseDatos.GetBaseDatos().PERSONAS.Add(pac);
                                                                                BaseDatos.GetBaseDatos().SaveChanges();

                                                                                PACIENTE paciente = new PACIENTE
                                                                                {
                                                                                    PERSONAID      = pac.ID_PERSONA,
                                                                                    TIPO_PACIENTE  = "Hospitalizado",
                                                                                    FECHA_CREACION = fregistro,
                                                                                    CUARTOID       = idcua
                                                                                };

                                                                                BaseDatos.GetBaseDatos().PACIENTES.Add(paciente);
                                                                                BaseDatos.GetBaseDatos().SaveChanges();

                                                                                PERSONA fam = new PERSONA
                                                                                {
                                                                                    NOMBRE         = txtNombreFam.Text,
                                                                                    A_PATERNO      = txtPaternoRes.Text,
                                                                                    A_MATERNO      = txtMaternoRes.Text,
                                                                                    SEXO           = cbbSexoFR.Text,
                                                                                    T_CELULAR      = txtCelularRes.Text,
                                                                                    FECHA_CREACION = fregistro
                                                                                };

                                                                                BaseDatos.GetBaseDatos().PERSONAS.Add(fam);
                                                                                BaseDatos.GetBaseDatos().SaveChanges();

                                                                                FAM_RESPONSABLES famres = new FAM_RESPONSABLES
                                                                                {
                                                                                    PERSONAID      = fam.ID_PERSONA,
                                                                                    PARENTESCO     = txtParentezco.Text,
                                                                                    FECHA_CREACION = fregistro,
                                                                                    PACIENTEID     = paciente.ID_PACIENTE
                                                                                };

                                                                                BaseDatos.GetBaseDatos().FAM_RESPONSABLES.Add(famres);
                                                                                BaseDatos.GetBaseDatos().SaveChanges();

                                                                                var cuarto = BaseDatos.GetBaseDatos().CATALOGO_CUARTOS.Find(idcua);
                                                                                if (cuarto.MAX_PACIENTES == cuarto.PAC_ACTUALES)
                                                                                {
                                                                                    cuarto.ESTADO = "Ocupado";
                                                                                    BaseDatos.GetBaseDatos().SaveChanges();
                                                                                }
                                                                                else
                                                                                {
                                                                                    cuarto.PAC_ACTUALES = cuarto.PAC_ACTUALES + 1;
                                                                                    BaseDatos.GetBaseDatos().SaveChanges();
                                                                                    if (cuarto.MAX_PACIENTES == cuarto.PAC_ACTUALES)
                                                                                    {
                                                                                        cuarto.ESTADO = "Ocupado";
                                                                                        BaseDatos.GetBaseDatos().SaveChanges();
                                                                                    }
                                                                                }

                                                                                CUENTA cupac = new CUENTA
                                                                                {
                                                                                    PACIENTEID = paciente.ID_PACIENTE,
                                                                                    TOTAL      = cuarto.COSTO,
                                                                                    SALDO      = cuarto.COSTO - 500
                                                                                };

                                                                                BaseDatos.GetBaseDatos().CUENTAS.Add(cupac);
                                                                                BaseDatos.GetBaseDatos().SaveChanges();



                                                                                MessageBox.Show("Registro exitoso");
                                                                                llenarAutocmpletes();
                                                                                limpiar();
                                                                                //
                                                                            }
                                                                            else
                                                                            {
                                                                                DateTime fregistro = DateTime.Now;
                                                                                dynamic  cua       = autoCuarto.SelectedItem;
                                                                                int      idcua     = cua.ID_CATALOGO_CUARTO;

                                                                                PERSONA pac = new PERSONA
                                                                                {
                                                                                    NOMBRE         = txtNombre.Text,
                                                                                    A_PATERNO      = txtPaterno.Text,
                                                                                    A_MATERNO      = txtMaterno.Text,
                                                                                    F_NACIMIENTO   = dpFecha_Nacimiento.SelectedDate,
                                                                                    SEXO           = cbbSexo.Text,
                                                                                    CALLE          = txtCalle.Text,
                                                                                    ESTADO         = Convert.ToInt32(comboBoxEstado.SelectedValue),
                                                                                    NOMMUNICIPIO   = txtMunicipio.Text,
                                                                                    NOMLOCALIDAD   = txtLocalidad.Text,
                                                                                    CURP           = txtCurp.Text,
                                                                                    FECHA_CREACION = fregistro,
                                                                                    ESTADOPERSONA  = "Activo"
                                                                                };

                                                                                BaseDatos.GetBaseDatos().PERSONAS.Add(pac);
                                                                                BaseDatos.GetBaseDatos().SaveChanges();

                                                                                PACIENTE paciente = new PACIENTE
                                                                                {
                                                                                    PERSONAID      = pac.ID_PERSONA,
                                                                                    TIPO_PACIENTE  = "Ambulatorio",
                                                                                    FECHA_CREACION = fregistro,
                                                                                    CUARTOID       = idcua
                                                                                };

                                                                                BaseDatos.GetBaseDatos().PACIENTES.Add(paciente);
                                                                                BaseDatos.GetBaseDatos().SaveChanges();

                                                                                PERSONA fam = new PERSONA
                                                                                {
                                                                                    NOMBRE         = txtNombreFam.Text,
                                                                                    A_PATERNO      = txtPaternoRes.Text,
                                                                                    A_MATERNO      = txtMaternoRes.Text,
                                                                                    SEXO           = cbbSexoFR.Text,
                                                                                    T_CELULAR      = txtCelularRes.Text,
                                                                                    FECHA_CREACION = fregistro
                                                                                };

                                                                                BaseDatos.GetBaseDatos().PERSONAS.Add(fam);
                                                                                BaseDatos.GetBaseDatos().SaveChanges();

                                                                                FAM_RESPONSABLES famres = new FAM_RESPONSABLES
                                                                                {
                                                                                    PERSONAID      = fam.ID_PERSONA,
                                                                                    PARENTESCO     = txtParentezco.Text,
                                                                                    FECHA_CREACION = fregistro,
                                                                                    PACIENTEID     = paciente.ID_PACIENTE
                                                                                };

                                                                                BaseDatos.GetBaseDatos().FAM_RESPONSABLES.Add(famres);
                                                                                BaseDatos.GetBaseDatos().SaveChanges();

                                                                                CUENTA cupac = new CUENTA
                                                                                {
                                                                                    PACIENTEID = paciente.ID_PACIENTE,
                                                                                    TOTAL      = 0,
                                                                                    SALDO      = -500
                                                                                };

                                                                                BaseDatos.GetBaseDatos().CUENTAS.Add(cupac);
                                                                                BaseDatos.GetBaseDatos().SaveChanges();

                                                                                var cuarto = BaseDatos.GetBaseDatos().CATALOGO_CUARTOS.Find(idcua);
                                                                                if (cuarto.MAX_PACIENTES == cuarto.PAC_ACTUALES)
                                                                                {
                                                                                    cuarto.ESTADO = "Ocupado";
                                                                                    BaseDatos.GetBaseDatos().SaveChanges();
                                                                                }
                                                                                else
                                                                                {
                                                                                    cuarto.PAC_ACTUALES = cuarto.PAC_ACTUALES + 1;
                                                                                    BaseDatos.GetBaseDatos().SaveChanges();
                                                                                    if (cuarto.MAX_PACIENTES == cuarto.PAC_ACTUALES)
                                                                                    {
                                                                                        cuarto.ESTADO = "Ocupado";
                                                                                        BaseDatos.GetBaseDatos().SaveChanges();
                                                                                    }
                                                                                }

                                                                                MessageBox.Show("Registro exitoso");
                                                                                limpiar();
                                                                                llenarAutocmpletes();
                                                                                //
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }