This week only. Pastebin PRO Accounts Christmas Special! Don't miss out!Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Jul 13th, 2012  |  syntax: C#  |  size: 2.72 KB  |  views: 59  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. using System.Collections.Generic;
  2. using System.Web.Http;
  3. using QuadMasterClassLib;
  4. using WebSite.Managers;
  5.  
  6. namespace WebSite.Controllers
  7. {
  8.     public class GameController : ApiController
  9.     {
  10.         private GameManager gameManager;
  11.         private LoginManager loginManager;
  12.  
  13.         public GameController()
  14.         {
  15.             gameManager = new GameManager();
  16.             loginManager = new LoginManager();
  17.         }
  18.  
  19.         //Get all games
  20.         // GET /api/game/
  21.         public List<QMGameResponse> Get()
  22.         {
  23.             var list = new List<QMGameResponse>();
  24.             if(ControllerContext.Request.Headers.Authorization == null)
  25.             {
  26.                 //No auth
  27.                 list.Add(new QMGameResponse{Error = 2});
  28.                 return list;
  29.             }
  30.             if (!loginManager.VerifyLogin(ControllerContext.Request.Headers.Authorization.Parameter))
  31.             {
  32.                 //Failed login
  33.                 list.Add(new QMGameResponse{Error = 1});
  34.                 return list;
  35.             }
  36.  
  37.             string username;
  38.             string password;
  39.             LoginManager.DecodeBase64(ControllerContext.Request.Headers.Authorization.Parameter, out username, out password);
  40.  
  41.             return gameManager.GetActiveGames(username);
  42.         }
  43.  
  44.         //Get game
  45.         // GET /api/game/gameId
  46.         public QMGameResponse Get(int gameId)
  47.         {
  48.             string username;
  49.             string password;
  50.             LoginManager.DecodeBase64(ControllerContext.Request.Headers.Authorization.Parameter, out username, out password);
  51.  
  52.             if (!loginManager.VerifyLogin(ControllerContext.Request.Headers.Authorization.Parameter))
  53.             {
  54.                 //return new List<QMGameResponse>();
  55.             }
  56.  
  57.             return gameManager.GetGame(gameId, username);
  58.         }
  59.  
  60.         //Join random game
  61.         // Post /api/game/playerId
  62.         public void Post(int id)
  63.         {
  64.             if (ControllerContext.Request.Headers.Authorization == null)
  65.             {
  66.                 //No auth
  67.             }
  68.             if (!loginManager.VerifyLogin(ControllerContext.Request.Headers.Authorization.Parameter))
  69.             {
  70.                 //Failed login
  71.             }
  72.  
  73.             string username;
  74.             string password;
  75.             LoginManager.DecodeBase64(ControllerContext.Request.Headers.Authorization.Parameter, out username, out password);
  76.             gameManager.JoinRandomGame(username);
  77.         }
  78.  
  79.         //Make Move
  80.         // POST /api/game
  81.         public void Post(QMGameResponse value)
  82.         {
  83.             gameManager.MakeMove(value);
  84.         }
  85.  
  86.         //Drop table
  87.         // DELETE /api/game/
  88.         public void Delete(string playerId)
  89.         {
  90.             gameManager.CreateTables();
  91.         }
  92.     }
  93. }
clone this paste RAW Paste Data