123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Data.Entity;
- using System.Data.Entity.Infrastructure;
- using System.Linq;
- using System.Net;
- using System.Net.Http;
- using System.Web.Http;
- using System.Web.Http.Description;
- using esoft_API.Models.Entities;
- namespace esoft_API.Controllers
- {
- public class UsersController : ApiController
- {
- private esoftEntities db = new esoftEntities();
- // Получение списка всех пользователей
- // GET: api/Users
- public IQueryable<User> GetUser()
- {
- return db.User;
- }
- // Получение информации о конкретном пользователе по ID
- // GET: api/Users/5
- [ResponseType(typeof(User))]
- public IHttpActionResult GetUser(int id)
- {
- User user = db.User.Find(id);
- if (user == null)
- {
- return NotFound();
- }
- return Ok(user);
- }
- // Обновление информации о пользователе по ID
- // PUT: api/Users/5
- [ResponseType(typeof(void))]
- public IHttpActionResult PutUser(int id, User user)
- {
- if (!ModelState.IsValid)
- {
- return BadRequest(ModelState);
- }
- if (id != user.ID)
- {
- return BadRequest();
- }
- db.Entry(user).State = EntityState.Modified;
- try
- {
- db.SaveChanges();
- }
- catch (DbUpdateConcurrencyException)
- {
- if (!UserExists(id))
- {
- return NotFound();
- }
- else
- {
- throw;
- }
- }
- return StatusCode(HttpStatusCode.NoContent);
- }
- // Добавление нового пользователя
- // POST: api/Users
- [ResponseType(typeof(User))]
- public IHttpActionResult PostUser(User user)
- {
- if (!ModelState.IsValid)
- {
- return BadRequest(ModelState);
- }
- db.User.Add(user);
- db.SaveChanges();
- return CreatedAtRoute("DefaultApi", new { id = user.ID }, user);
- }
- // Удаление пользователя по ID
- // DELETE: api/Users/5
- [ResponseType(typeof(User))]
- public IHttpActionResult DeleteUser(int id)
- {
- User user = db.User.Find(id);
- if (user == null)
- {
- return NotFound();
- }
- db.User.Remove(user);
- db.SaveChanges();
- return Ok(user);
- }
- // Освобождение ресурсов, используемых контроллером
- protected override void Dispose(bool disposing)
- {
- if (disposing)
- {
- db.Dispose();
- }
- base.Dispose(disposing);
- }
- // Проверка существования пользователя по ID
- private bool UserExists(int id)
- {
- return db.User.Count(e => e.ID == id) > 0;
- }
- }
- }
|