public HttpResponseMessage deleteNumeroAtencion(int nroAtencion) { try { using (BDAtencionEntities bd = new BDAtencionEntities()) { var atencion = bd.atencion.Where(x => x.nro_atencion == nroAtencion).FirstOrDefault(); bd.atencion.Remove(atencion); bd.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); } } catch (ArgumentNullException ex) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "El numero solicitado no se encuentra en la BD", ex)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage postAgregarAtencion([FromBody] Atencion atencion) { bool existe; var clEntidad = obtenerCliente(atencion, out existe); HttpResponseMessage respuesta; try { using (BDAtencionEntities bd = new BDAtencionEntities()) { if (existe)//Si el cliente existe en la bd, no se creara nuevamente, solo se asociara a la tabla atencion. { bd.Entry <cliente>(clEntidad).State = System.Data.Entity.EntityState.Unchanged; } var atEntidad = new atencion { cliente = clEntidad }; atEntidad.fecha_creacion = DateTime.Today; atEntidad.es_cliente = (short)atencion.EsCliente; atEntidad.id_servicio = atencion.TipoServicio; atEntidad.comentario = atencion.Comentario; var modulo = new Modulo(); try { if (atEntidad.es_cliente > 0)//Si es cliente (> 0), se asociara a los modulos 2 al 10, Sino, al 1. { modulo = (from x in bd.modulo let cargaActual = (from y in bd.modulo select y.carga_actual) where x.carga_actual == cargaActual.Min() && x.nro_modulo != 1 select new Modulo { nro_modulo = x.nro_modulo, carga_actual = x.carga_actual }).First(); } else { modulo = (from x in bd.modulo where x.nro_modulo == 1 select new Modulo { nro_modulo = x.nro_modulo, carga_actual = x.carga_actual }).First(); } } catch (InvalidOperationException ex) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "No existen modulos en la BD", ex)); } atEntidad.nro_modulo = modulo.nro_modulo; atEntidad.tiempo_espera = modulo.carga_actual * 5; bd.atencion.Add(atEntidad); bd.SaveChanges(); respuesta = Request.CreateResponse(HttpStatusCode.Created, atEntidad); } return(respuesta); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }