/Gradebook/Controllers/TaskTypesController.cs
C# | 39 lines | 30 code | 7 blank | 2 comment | 3 complexity | d03bbe410ee6f86615b3561d90906438 MD5 | raw file
- using System.Net;
- using System.Net.Http;
- using AutoMapper;
- using Gradebook.Contracts;
- using Gradebook.Model;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web.Http;
-
- namespace Gradebook.Controllers
- {
- public class TaskTypesController : ApiControllerBase
- {
- public TaskTypesController(IGradebookUow uow) : base(uow) { }
-
- // GET /api/taskstypes
- [ActionName("Default")]
- public IEnumerable<ViewModels.TaskType> Get(int classId, int subjectId)
- {
- if (!Unit.Classes.Contains(classId) || !Unit.Subjects.Contains(subjectId))
- throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest));
-
- var types = Unit.TaskTypes.Get(classId, subjectId);
-
- return types.Select(Mapper.Map<Model.TaskType, ViewModels.TaskType>);
- }
-
- // GET /api/taskstypes
- public IEnumerable<ViewModels.TaskType> GetByCode(int code)
- {
- if (!Unit.ClassCodes.Contains(code))
- throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest));
-
- var types = Unit.TaskTypes.GetByCode(code);
-
- return types.Select(Mapper.Map<Model.TaskType, ViewModels.TaskType>);
- }
- }
- }