protected void btnAnularDefuncion_Click(object sender, EventArgs e)
        {
            //Hacemos la baja lógica del registro, la información quedara en la  base de datos



            int idPaciente = Convert.ToInt32(Request.QueryString["id"]);

            SubSonic.Select query = new SubSonic.Select();
            query.From(SysDefuncion.Schema);
            query.Where(SysDefuncion.Columns.IdPaciente).IsEqualTo(idPaciente).And(SysDefuncion.Columns.Activo).IsEqualTo(true);
            SysDefuncion q = query.ExecuteSingle <SysDefuncion>();


            q.Activo = false;
            q.Save();

            //Finalmente debería asignar al campo fallecido FALSE
            int id = Convert.ToInt32(idPaciente);

            DalSic.SysPaciente pac = new DalSic.SysPaciente(id);

            //pac.Fallecido = false;

            pac.Save();

            Response.Redirect("~/Paciente/PacienteList.aspx");
        }
        private void actualizar()
        {
            try
            {
                //Hacemos el update
                SubSonic.Select query = new SubSonic.Select();
                query.From(SysDefuncion.Schema);
                query.Where(SysDefuncion.Columns.IdPaciente).IsEqualTo(Convert.ToInt32(Request.QueryString["id"]));
                SysDefuncion q = query.ExecuteSingle <SysDefuncion>();

                q.IdPaciente            = q.IdPaciente; //Esto no debería cambiar ya que está asociado al mismo paciente
                q.Fecha                 = txtFechaDefuncion.Text;
                q.Hora                  = txtHoraDefuncion.Text;
                q.CausaMuerte           = txtCausaMuerte.Text;
                q.IdProfesional         = hfMedico.Value == "" ? q.IdProfesional : Convert.ToInt32(hfMedico.Value);
                q.EgresoPersonal        = txtEmpresaQueRetira.Text;
                q.IngresoMorguePersonal = txtPersonalIngresaMorgue.Text;
                q.Observaciones         = txtObservaciones.Text;
                q.IdSsoUserModificacion = Convert.ToInt32(SSOHelper.CurrentIdentity.Id);
                q.Activo                = true;
                q.FechaModificacion     = DateTime.Now;
                q.Save();
            }
            catch (Exception ex)
            {
                this.error.Visible = true;
            }
        }
 private void cargarCombo()
 {
     SubSonic.Select ef = new SubSonic.Select();
     ef.From(SysEfector.Schema);
     ef.Where(SysEfector.Columns.IdZona).IsEqualTo(9);
     ef.And(SysEfector.Columns.Complejidad).IsEqualTo(2);
     ef.OrderAsc("nombre");
     ddlEfector.DataSource = ef.ExecuteTypedList <SysEfector>();
     ddlEfector.DataBind();
     ddlEfector.Items.Insert(0, new ListItem("TODOS", "0"));
 }
        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            SubSonic.Select s = new SubSonic.Select();
            s.From(SysPaciente.Schema);

            //busqueda por documento
            if (txtDni.Text.Length > 0)
            {
                int nrodoc = 0;
                nrodoc = Convert.ToInt32(txtDni.Text);

                gvPersonas.DataSource = DalPadron.SPs.ListarObraSocial((Convert.ToInt32(txtDni.Text))).GetDataSet().Tables[0];
                gvPersonas.DataBind();
                //busqueda en Pd_Paciente
                gvPadronPaciente.DataSource = DalPadron.SPs.GetPacientes((Convert.ToInt32(txtDni.Text))).GetDataSet().Tables[0];
                gvPadronPaciente.DataBind();
                //llenado de la grilla
                gvPacientes.DataSource = SPs.GetPacientesPorDocumento(nrodoc).GetDataSet();
                gvPacientes.DataBind();

                return;
            }

            DateTime fnac;
            DateTime?fnac2 = null;

            if (DateTime.TryParse(txtFecNacBusqueda.Text, out fnac))
            {
                fnac2 = fnac;
            }
            //Busqueda por Nro Doc de la Madre
            int docM = 0;

            if (txtDocMadre.Text != "")
            {
                docM = Convert.ToInt32(txtDocMadre.Text);
            }
            gvPacientes.DataSource = SPs.GetPacientesPorNombres(fnac2, txtNombreBusqueda.Text.Trim(), txtApellidoBusqueda.Text.Trim(), docM, txtNombreMadreBusqueda.Text.Trim(), txtApellidoMadreBusqueda.Text.Trim()).GetDataSet();
            gvPacientes.DataBind();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                int id = Convert.ToInt32(Request.QueryString["id"]);
                DalSic.SysPaciente pac = new DalSic.SysPaciente(id);
                DataTable          dtd = new DataTable();

                if (pac != null)
                {
                    txtDocumento.Text       = pac.NumeroDocumento.ToString();
                    txtApellidoNombres.Text = pac.Apellido.ToString() + " " + pac.Nombre.ToString();;
                    txtEdad.Text            = pac.Edad.ToString();
                    txtSexo.Text            = pac.SysSexo.Nombre.ToString();
                    txtOS.Text = pac.SysObraSocial.Nombre.ToString();


                    SubSonic.Select query = new SubSonic.Select();
                    query.From(DalSic.SysDefuncion.Schema);
                    query.Where(SysDefuncion.Columns.IdPaciente).IsEqualTo(id).And(SysDefuncion.Columns.Activo).IsEqualTo(true);

                    dtd = query.ExecuteDataSet().Tables[0];

                    if (dtd.Rows.Count > 0) //Se encontró registro de defunción asociado
                    {
                        cargarRegistro(dtd);
                        btnAnularDefuncion.Visible = true;
                        hfupdate.Value             = "si";
                    }
                    else
                    {
                        hfupdate.Value = "no";
                    }
                }
            }
        }