public IHttpActionResult PutTiposCitas(int id, TiposCitas tiposCitas)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != tiposCitas.Id)
            {
                return(BadRequest());
            }

            db.Entry(tiposCitas).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TiposCitasExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public IHttpActionResult PostTiposCitas(TiposCitas tiposCitas)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.TiposCitas.Add(tiposCitas);

            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = tiposCitas.Id }, tiposCitas));
        }
        public IHttpActionResult DeleteTiposCitas(int id)
        {
            TiposCitas tiposCitas = db.TiposCitas.SingleOrDefault(x => x.Id == id);

            if (tiposCitas == null)
            {
                return(NotFound());
            }

            db.TiposCitas.Remove(tiposCitas);

            db.SaveChanges();

            return(Ok(tiposCitas));
        }
        public IHttpActionResult GetTiposCitas(int id)
        {
            TiposCitas tc = db.TiposCitas.SingleOrDefault(x => x.Id == id);

            if (tc == null)
            {
                return(NotFound());
            }

            TiposCitasVM estadoCita = new TiposCitasVM()
            {
                Id     = tc.Id,
                Nombre = tc.Nombre
            };

            return(Ok(estadoCita));
        }
        public void AgregarTipoCita()
        {
            // Arrange
            var controller = new TiposCitasController();

            TiposCitas tipoCita = new TiposCitas()
            {
                Nombre = "Tipo Cita Prueba"
            };

            // Act
            IHttpActionResult actionResult = controller.PostTiposCitas(tipoCita);
            var createdResult = actionResult as CreatedAtRouteNegotiatedContentResult <TiposCitas>;

            // Assert
            Assert.IsNotNull(createdResult);
            Assert.AreEqual("DefaultApi", createdResult.RouteName);
            Assert.IsNotNull(createdResult.RouteValues["id"]);
        }