// POST api/Viaje public HttpResponseMessage PostViaje(Viaje viaje) { viaje.mac = viaje.mac.ToUpper(); Dispositivo dispositivo = db.Dispositivo.Where(x => x.mac == viaje.mac).FirstOrDefault(); if (dispositivo == null) { dispositivo = new Dispositivo() { mac = viaje.mac }; db.Dispositivo.Add(dispositivo); db.SaveChanges(); } viaje.iddispositivo = dispositivo.iddispositivo; viaje.horainicio = DateTime.Now; if (ModelState.IsValid) { db.Viaje.Add(viaje); db.SaveChanges(); Usuario usuario = db.Usuario.Find(Usuario.ADMINISTRADOR); usuario.viajes.Add(viaje); db.Entry(usuario).State = EntityState.Modified; db.SaveChanges(); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, viaje); response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = viaje.idviaje })); return response; } else return Request.CreateResponse(HttpStatusCode.BadRequest); }
// POST api/Dispositivo public HttpResponseMessage PostDispositivo(Dispositivo dispositivo) { if (ModelState.IsValid) { Dispositivo o = db.Dispositivo.Where(x => x.mac == dispositivo.mac).FirstOrDefault(); if (o == null) { db.Dispositivo.Add(dispositivo); db.SaveChanges(); } HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, dispositivo); response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = dispositivo.iddispositivo })); return response; } else return Request.CreateResponse(HttpStatusCode.BadRequest); }
// PUT api/Dispositivo/5 public HttpResponseMessage PutDispositivo(int id, Dispositivo dispositivo) { if (ModelState.IsValid && id == dispositivo.iddispositivo) { db.Entry(dispositivo).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { return Request.CreateResponse(HttpStatusCode.NotFound); } return Request.CreateResponse(HttpStatusCode.OK); } else { return Request.CreateResponse(HttpStatusCode.BadRequest); } }