Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Hyperion.AccesingAPI.Contracts;
- using Hyperion.AccesingAPI.Models;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Net;
- using System.Net.Http;
- using System.Web.Http;
- using System.Web.Http.Results;
- namespace Hyperion.AccesingAPI.Controllers.v1
- {
- /// <summary>
- /// Controller responsible for working on documents
- /// describing users
- /// </summary>
- [RoutePrefix("api/v1/users")]
- public class UsersController : ApiController
- {
- private IUsers _users;
- public UsersController(IUsers users)
- {
- _users = users;
- }
- /// <summary>
- /// Returns all users data in storage
- /// </summary>
- /// <returns>
- /// All users data
- /// </returns>
- [HttpGet]
- [Route("get")]
- public JsonResult<List<UserInfo>> Get()
- {
- return Json(_users.Read());
- }
- /// <summary>
- /// Sends a rquest to create a new user in database
- /// </summary>
- /// <returns>
- /// HTTP status of POST action
- /// </returns>
- [HttpPost]
- [Route("post")]
- public HttpResponseMessage Post(UserInfo uinfo)
- {
- return _users.Create(uinfo).StatusCode == HttpStatusCode.OK ? new HttpResponseMessage(HttpStatusCode.OK) : new HttpResponseMessage(HttpStatusCode.InternalServerError);
- }
- /// <summary>
- /// Sends a rquest to update user data in database
- /// </summary>
- /// <returns>
- /// HTTP status of PUT action
- /// </returns>
- [HttpPut]
- [Route("put")]
- public HttpResponseMessage Put(UserInfo uinfo)
- {
- //TODO: Find out a neat way to get all changed properites and update them
- return new HttpResponseMessage(HttpStatusCode.InternalServerError);
- }
- /// <summary>
- /// Sends a rquest to delete user data from database
- /// </summary>
- /// <returns>
- /// HTTP status of DELETE action
- /// </returns>
- [HttpDelete]
- [Route("delete")]
- public HttpResponseMessage Delete(string id)
- {
- return _users.Delete(id.ToString()).StatusCode == HttpStatusCode.OK ? new HttpResponseMessage(HttpStatusCode.OK) : new HttpResponseMessage(HttpStatusCode.InternalServerError);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement