public IHttpActionResult PutUser(int id, UserInfo user)
        {
            var ms = vs.validateModel(user);

            if (ms.Count > 0)
            {
                return(BadRequest(ms));
            }

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

                string headerToken = ts.getTokenFromHeader(Request);
                User   u           = db.Users.Include("Token")
                                     .Where(us => us.Token.AccessToken == headerToken).FirstOrDefault();

                if (u == null || !u.IsAdmin)
                {
                    return(Unauthorized());
                }

                var dbuser = db.Users.Find(user.Id);
                dbuser.Name = user.Name; /////// UPDATE USER PROPS

                db.Entry(dbuser).State = System.Data.Entity.EntityState.Modified;

                db.SaveChanges();
            }
            catch (Exception)
            {
                if (!UserExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public IHttpActionResult PostMultipleReservations(List <ReservationPublic> reservations)
        {
            try
            {
                string headerToken = ts.getTokenFromHeader(Request);
                User   u           = db.Users.Include("Token")
                                     .Where(us => us.Token.AccessToken == headerToken).FirstOrDefault();

                List <Reservation> newReservations = new List <Reservation>();

                reservations.ForEach(r =>
                {
                    Reservation reservation = new Reservation();
                    reservation.Event       = db.Events.Find(r.Event);
                    reservation.Row         = db.Rows.Find(r.Row);
                    reservation.Seat        = db.Seats.Find(r.Seat);
                    reservation.Owner       = u;

                    newReservations.Add(reservation);
                });

                foreach (Reservation r in newReservations)
                {
                    var ms = vs.validateModel(r);
                    if (ms.Count > 0)
                    {
                        return(BadRequest(ms));
                    }
                }

                db.Reservations.AddRange(newReservations);

                db.SaveChanges();
                return(Ok());
            }
            catch (Exception e)
            {
                return(InternalServerError(e));
            }
        }