Esempio n. 1
0
        public ActionResult Pair(PairingRequest model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user    = UserManager.FindById(User.Identity.GetUserId());
            var authKey = Guid.NewGuid().ToString();
            var chair   = new SmartChairModels()
            {
                AuthKey = authKey,
                Name    = "TODO GIVE THE CHAIR A NAME"
            };

            // update the current pending status with the new AuthKey
            var pairingdb      = new PairingOperationsContext();
            var pairingRequest = pairingdb.PairingOperations.SingleOrDefault(e => e.ID == model.PairingCode);

            pairingdb.Entry(pairingRequest).State = System.Data.Entity.EntityState.Modified;
            pairingRequest.AuthKey = authKey;
            pairingdb.SaveChanges();

            user.PairedChairs.Add(chair);

            UserManager.Update(user);

            return(RedirectToAction("Index", "Home"));
        }
        public IActionResult CreatePairing(Guid worldId, [FromBody] PairingRequest request)
        {
            if (!worlds.Find(worldId, out var world))
            {
                return(NotFound());
            }

            if (!Permissions.ModifyWorld(world))
            {
                return(NotFound());
            }

            var pairings = worlds.Pairings(world);

            var pairing = new Pairing {
                IsComplete = false,
                Type       = PairingType.Auto,
                Date       = request.Date.ToUniversalTime(),
                Message    = request.Message,
            };

            pairings.Add(pairing);

            return(Ok(pairing));
        }