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); } }
// 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)); } }
// 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)); }
// 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)); } }