Advertisement
Guest User

Untitled

a guest
Apr 26th, 2015
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.42 KB | None | 0 0
  1. using Hyperion.AccesingAPI.Contracts;
  2. using Hyperion.AccesingAPI.Models;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Net;
  7. using System.Net.Http;
  8. using System.Web.Http;
  9. using System.Web.Http.Results;
  10.  
  11. namespace Hyperion.AccesingAPI.Controllers.v1
  12. {
  13.     /// <summary>
  14.     /// Controller responsible for working on documents
  15.     /// describing users
  16.     /// </summary>
  17.     [RoutePrefix("api/v1/users")]
  18.     public class UsersController : ApiController
  19.     {
  20.         private IUsers _users;
  21.  
  22.         public UsersController(IUsers users)
  23.         {
  24.             _users = users;
  25.         }
  26.  
  27.         /// <summary>
  28.         /// Returns all users data in storage
  29.         /// </summary>
  30.         /// <returns>
  31.         ///  All users data
  32.         /// </returns>
  33.         [HttpGet]
  34.         [Route("get")]
  35.         public JsonResult<List<UserInfo>> Get()
  36.         {
  37.             return Json(_users.Read());
  38.         }
  39.  
  40.         /// <summary>
  41.         /// Sends a rquest to create a new user in database
  42.         /// </summary>
  43.         /// <returns>
  44.         /// HTTP status of POST action
  45.         /// </returns>
  46.         [HttpPost]
  47.         [Route("post")]
  48.         public HttpResponseMessage Post(UserInfo uinfo)
  49.         {
  50.             return _users.Create(uinfo).StatusCode == HttpStatusCode.OK ? new HttpResponseMessage(HttpStatusCode.OK) : new HttpResponseMessage(HttpStatusCode.InternalServerError);
  51.         }
  52.  
  53.         /// <summary>
  54.         /// Sends a rquest to update user data in database
  55.         /// </summary>
  56.         /// <returns>
  57.         /// HTTP status of PUT action
  58.         /// </returns>
  59.         [HttpPut]
  60.         [Route("put")]
  61.         public HttpResponseMessage Put(UserInfo uinfo)
  62.         {
  63.             //TODO: Find out a neat way to get all changed properites and update them
  64.             return new HttpResponseMessage(HttpStatusCode.InternalServerError);
  65.         }
  66.  
  67.         /// <summary>
  68.         /// Sends a rquest to delete user data from database
  69.         /// </summary>
  70.         /// <returns>
  71.         /// HTTP status of DELETE action
  72.         /// </returns>
  73.         [HttpDelete]
  74.         [Route("delete")]
  75.         public HttpResponseMessage Delete(string id)
  76.         {
  77.             return _users.Delete(id.ToString()).StatusCode == HttpStatusCode.OK ? new HttpResponseMessage(HttpStatusCode.OK) : new HttpResponseMessage(HttpStatusCode.InternalServerError);
  78.         }
  79.     }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement