예제 #1
0
        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;
            }
        }
예제 #2
0
        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);
            }
        }
예제 #3
0
 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);
     }
 }
예제 #4
0
        // PUT api/suscripcions/5
        public HttpResponseMessage Putsuscripcion(int id, suscripcion suscripcion)
        {
            if (ModelState.IsValid && id == suscripcion.idsuscripcion)
            {
                db.Entry(suscripcion).State = EntityState.Modified;

                try
                {
                    db.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    return(Request.CreateResponse(HttpStatusCode.NotFound));
                }

                return(Request.CreateResponse(HttpStatusCode.OK));
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
        }
예제 #5
0
        // DELETE api/suscripcions/5
        public HttpResponseMessage Deletesuscripcion(int id)
        {
            suscripcion suscripcion = db.suscripcions.Find(id);

            if (suscripcion == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            db.suscripcions.Remove(suscripcion);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, suscripcion));
        }
예제 #6
0
 // POST api/suscripcions
 public HttpResponseMessage Postsuscripcion(suscripcion suscripcion)
 {
     if (ModelState.IsValid)
     {
         if (suscripcion.idsuscripcion == suscripcion.idsuscripcion)
         {
             db.Entry(suscripcion).State = EntityState.Modified;
             db.SaveChanges();
         }
         else
         {
             db.suscripcions.Add(suscripcion);
             db.SaveChanges();
         }
         HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, suscripcion);
         response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = suscripcion.idsuscripcion }));
         return(response);
     }
     else
     {
         return(Request.CreateResponse(HttpStatusCode.BadRequest));
     }
 }