private void btnBuscar_Click(object sender, EventArgs e)
 {
     try
     {
         var val = Convert.ToInt32(txtNumDoc.Text);
         using (crudEntities2 db = new crudEntities2())
         {
             var user = from d in db.suscriptor
                        where d.numerodocumento == val
                        select d;
             if (user.Any())
             {
                 txtApellido.Text    = user.FirstOrDefault().apellido;
                 txtNombre.Text      = user.FirstOrDefault().nombre;
                 txtContrasenia.Text = desenscriptarContrasenia(user.FirstOrDefault().passowrd);
                 txtDireccion.Text   = user.FirstOrDefault().direccion;
                 txtNumDoc.Text      = user.FirstOrDefault().numerodocumento.ToString();
                 txtMail.Text        = user.FirstOrDefault().mail;
                 txtTelefono.Text    = user.FirstOrDefault().telefono;
                 txtNomUs.Text       = user.FirstOrDefault().usuario;
                 deshabilitarBotones();
             }
             else
             {
                 MessageBox.Show("No existe el usuario");
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public void crearSuscripcion(suscripcion s, crudEntities2 dbe, DbContextTransaction dbt)
        {
            suscripcion susc = new suscripcion
            {
                fechaalta    = DateTime.UtcNow,
                idsuscriptor = s.idsuscriptor,
                fechabaja    = null,
                motivo       = null,
                suscriptor   = null
            };

            try
            {
                // Validamos que no exista el suscriptor en caso contrario se guarda el mismo en la Base de datos.
                s.suscriptor = s.idsuscriptor == 0 && s.suscriptor.numerodocumento != 0 ? dbe.suscriptor.Add(susc.suscriptor = s.suscriptor) : null;

                dbe.suscripcion.Add(susc);
                dbe.SaveChanges();
                dbt.Commit();

                MessageBox.Show("Se registró el usuario correctamente");
                deshabilitarBotones();
            }
            catch (Exception ex)
            {
                dbt.Rollback();
                throw ex;
            }
        }
        public suscripcion validarSuscriptor()
        {
            using (crudEntities2 db = new crudEntities2())
            {
                var numeroDoc = Convert.ToInt32(txtNumDoc.Text);
                var spr       = new suscripcion();
                var res       = from d in db.suscriptor where d.numerodocumento == numeroDoc select d;
                if (res.Any())
                {
                    spr = db.suscripcion.Where(m => m.idsuscriptor == res.FirstOrDefault().idsuscriptor)
                          .OrderByDescending(m => m.idasociacion)
                          .FirstOrDefault();

                    if (spr.idsuscriptor != 0 && spr.fechabaja != null)
                    {
                        return(spr);//devolvemos la asociacion no vigente del suscriptor
                    }
                    else
                    {
                        return(null);
                    }
                }
                suscriptor susc = crearSuscriptor();// suscriptor que no existe por lo tanto se crea una nueva suscripcion
                spr.suscriptor = susc;
                return(spr);
            }
        }
 public void guardar()
 {
     try
     {
         suscripcion validar = validarSuscriptor();
         if (validar != null)
         {
             using (crudEntities2 db = new crudEntities2())
             {
                 using (var dbt = db.Database.BeginTransaction())
                 {
                     crearSuscripcion(validar, db, dbt);
                 }
             }
         }
         else
         {
             MessageBox.Show("Tiene una suscripción vigente.");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
 private void cargarTipoDocu()
 {
     using (crudEntities2 db = new crudEntities2())
     {
         var lst = from d in db.tipodocumento select d;
         cmbTipoDoc.ValueMember = "tipodoc";
         cmbTipoDoc.DataSource  = lst.ToList();
     }
 }
        public int?devolverIdSuscriptor(int?idSus, crudEntities2 dbe)
        {
            var res = from d in dbe.suscriptor where d.idsuscriptor == idSus select d;

            if (res.Any())
            {
                return(res.FirstOrDefault().idsuscriptor);
            }
            return(null);
        }
        public void modificar()
        {
            var susc = buscarSuscriptor();

            actualizarSuscriptor(ref susc);
            using (crudEntities2 db = new crudEntities2())
            {
                db.Entry(susc).State = EntityState.Modified;
                db.SaveChanges();
            }
        }
        public suscriptor buscarSuscriptor()
        {
            using (crudEntities2 db = new crudEntities2())
            {
                int numDoc = Convert.ToInt32(txtNumDoc.Text);
                var res    = from d in db.suscriptor where d.numerodocumento == numDoc select d;
                if (res.Any())
                {
                    return(res.FirstOrDefault());
                }
            }

            return(null);
        }