From c2de9a05757623d38fa0b2a8a09fcadab48896b8 Mon Sep 17 00:00:00 2001 From: Watts Date: Wed, 12 Apr 2017 22:01:48 +0100 Subject: [PATCH] created LogsController with Create/Edit/Delete Logs methods on it. #29 --- .../Controllers/LogsController.cs | 62 +++++++++++++++++++ .../Controllers/SwipeDataController.cs | 11 ---- 2 files changed, 62 insertions(+), 11 deletions(-) create mode 100644 DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/LogsController.cs diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/LogsController.cs b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/LogsController.cs new file mode 100644 index 0000000..24d0730 --- /dev/null +++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/LogsController.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web.Http; +using System.Web.Http.Controllers; +using Interfaces; + +namespace WindowsDataCenter.Controllers +{ + [RoutePrefix("api/logs")] + public class LogsController:ApiController + { + private IRepository _repo; + private ILogger _logger; + + public LogsController(IRepository repo, ILogger logger) + { + if (repo == null) + { + throw new ArgumentNullException(nameof(repo)); + } + if (logger == null) + { + throw new ArgumentNullException(nameof(logger)); + } + _repo = repo; + _logger = logger; + } + + /// + /// + /// + /// + /// + [HttpPost] + [Route("create")] + public IHttpActionResult CreateAndEditResultLog([FromBody] TimeLog log) + { + log.Source = LogSource.UI; + if (log.Id > 0) + { + _repo.UpdateLog(log); + } + else + { + _repo.CreateLog(log); + } + return Ok(); + } + + [HttpDelete] + [Route("delete")] + public IHttpActionResult DeleteLog([FromBody] TimeLog log) + { + _logger.Info("Removing Log {0} for user id {1}", log.Id, log.UserId); + _repo.DeleteLog(log); + return Ok(); + } + } +} diff --git a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/SwipeDataController.cs b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/SwipeDataController.cs index d2e5d29..a1b8a9d 100644 --- a/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/SwipeDataController.cs +++ b/DataCenter_Windows/WindowsDataCenter/WindowsDataCenter/Controllers/SwipeDataController.cs @@ -44,16 +44,5 @@ namespace WindowsDataCenter Content = new StringContent(logId.ToString()) }); } - /// - /// - /// - /// - /// - [HttpPost] - [Route("manual")] - public IHttpActionResult ManuallyPostData([FromBody] ManualLog log) - { - throw new NotImplementedException(); - } } } \ No newline at end of file