public override async Task <List <DAL.App.DTO.UserTask> > AllAsync() { return(await RepositoryDbSet .Include(u => u.TaskGiver) .Include(u => u.Tasker) .Select(e => UserTaskMapper.MapFromDomain(e)).ToListAsync()); }
public IHttpActionResult Get(int id) { #region Preconditions if (userTaskRepository == null) { throw new InvalidOperationException(); } if (id <= 0) { throw new ArgumentOutOfRangeException(); } #endregion try { logger.Info($"TasksController Get id: {id} ", users.First(u => u.UserName == User.Identity.Name).Id); var userTask = userTaskRepository.GetItem(id); var dtoTask = UserTaskMapper.TranslateModelUserTaskToDTOTask(userTask); return(Ok(dtoTask)); } catch (Exception ex) { logger.Error($"TasksController Get id: {id}, Error: {ex.Message}", users.First(u => u.UserName == User.Identity.Name).Id); return(InternalServerError()); } }
public IHttpActionResult Get(int id) { #region Preconditions if (userTaskRepository == null) { throw new InvalidOperationException(); } if (id <= 0) { throw new ArgumentOutOfRangeException(); } #endregion try { var userTask = userTaskRepository.GetItem(id); var dtoTask = UserTaskMapper.TranslateModelUserTaskToDTOTask(userTask); return(Ok(dtoTask)); } catch (Exception ex) { return(InternalServerError()); } }
public void Put(int id, DTO.Task task) { #region Preconditions if (userTaskRepository == null) { throw new InvalidOperationException(); } if (id <= 0) { throw new ArgumentOutOfRangeException(); } if (task == null) { throw new ArgumentNullException(); } #endregion UserTask userTask = null; task.Id = id; userTask = UserTaskMapper.TranslateDTOTaskToModelUserTask(task); if (!userTaskRepository.Update(userTask)) { throw new HttpResponseException(HttpStatusCode.NotFound); } }
public HttpResponseMessage Post([FromBody] DTO.Task task) { #region Preconditions if (userTaskRepository == null) { throw new InvalidOperationException(); } if (task == null) { throw new ArgumentNullException(); } #endregion var userTask = UserTaskMapper.TranslateDTOTaskToModelUserTask(task); int?newId = userTaskRepository.Add(userTask); if (newId == null) { throw new HttpResponseException(HttpStatusCode.InternalServerError); } task.Id = newId.Value; var response = Request.CreateResponse <DTO.Task>(HttpStatusCode.Created, task); string uri = Url.Link("AddUserTask", new { id = task.Id }); response.Headers.Location = new Uri(uri); return(response); }
public IHttpActionResult Get(int?filterId = null, string sortBy = null, string sortOrder = null) { #region Preconditions if (userTaskRepository == null) { throw new InvalidOperationException(); } #endregion try { logger.Info($"TasksController Get: {filterId}, sortBy: {sortBy}, sortOrder: {sortOrder}", users.First(u => u.UserName == User.Identity.Name).Id); IEnumerable <UserTask> userTasks = null; if (filterId != null) { // This cast is appropriate, we need the specific UserTaskRepository behaviour here. userTasks = ((UserTaskRepository)userTaskRepository).GetItems(filterId.Value); } else { userTasks = userTaskRepository.GetItems(); } var dtoTasks = userTasks.Select(ut => UserTaskMapper.TranslateModelUserTaskToDTOTask(ut)); var taskInfoList = new DTO.TaskList { Metadata = new DTO.TaskListMetadata { Count = dtoTasks.Count(), FilterId = filterId, SortBy = sortBy, SortOrder = sortOrder }, Tasks = dtoTasks }; logger.Info($"TasksController Get taskInfoList Count: {taskInfoList.Tasks.Count()}", users.First(u => u.UserName == User.Identity.Name).Id); return(Ok(taskInfoList)); } catch (Exception ex) { logger.Error($"TasksController Get Error: {ex.Message}", users.First(u => u.UserName == User.Identity.Name).Id); return(InternalServerError()); } }
public HttpResponseMessage Post([FromBody] DTO.Task task) { #region Preconditions if (userTaskRepository == null) { throw new InvalidOperationException(); } if (task == null) { throw new ArgumentNullException(); } #endregion try { var userTask = UserTaskMapper.TranslateDTOTaskToModelUserTask(task); int?newId = userTaskRepository.Add(userTask); if (newId == null) { string taskDataError = JsonConvert.SerializeObject(task); logger.Error($"TasksController Post userTaskRepository Add Task Failed Task Data: {taskDataError}", users.First(u => u.UserName == User.Identity.Name).Id); throw new HttpResponseException(HttpStatusCode.InternalServerError); } task.Id = newId.Value; var response = Request.CreateResponse <DTO.Task>(HttpStatusCode.Created, task); string uri = Url.Link("AddUserTask", new { id = task.Id }); response.Headers.Location = new Uri(uri); string taskData = JsonConvert.SerializeObject(task); logger.Info($"Task Create id: {task.Id}, taskData: {taskData}", users.First(u => u.UserName == User.Identity.Name).Id); return(response); } catch (Exception ex) { string taskData = JsonConvert.SerializeObject(task); logger.Error($"api/Tasks Post Error: {ex.Message}, taskData: {taskData}", users.First(u => u.UserName == User.Identity.Name).Id); return(Request.CreateResponse(HttpStatusCode.InternalServerError)); } }
public IHttpActionResult GetWorkingSetTasks(int workingSetId, int?filterId = null, string sortBy = null, string sortOrder = null) { try { logger.Info($"TasksController GetWorkingSetTasks workingSetId: {workingSetId}, filterId: {filterId}", users.First(u => u.UserName == User.Identity.Name).Id); IEnumerable <UserTask> userTasks = null; if (filterId != null) { // This cast is appropriate, we need the specific UserTaskRepository behaviour here. userTasks = ((UserTaskRepository)userTaskRepository).GetItems(filterId.Value, workingSetId); } else { userTasks = userTaskRepository.GetItems(new Model.UserTaskFilter { WorkingSetId = workingSetId }); } var dtoTasks = userTasks.Select(ut => UserTaskMapper.TranslateModelUserTaskToDTOTask(ut)); var taskInfoList = new DTO.TaskList { Metadata = new DTO.TaskListMetadata { Count = dtoTasks.Count(), FilterId = filterId, SortBy = sortBy, SortOrder = sortOrder }, Tasks = dtoTasks }; return(Ok(taskInfoList)); } catch (Exception ex) { logger.Error($"TasksController GetWorkingSetTasks workingSetId: {workingSetId}, Error: {ex.Message}", users.First(u => u.UserName == User.Identity.Name).Id); return(InternalServerError()); } }
public IHttpActionResult GetWorkingSetTasks(int workingSetId, int?filterId = null, string sortBy = null, string sortOrder = null) { try { IEnumerable <UserTask> userTasks = null; if (filterId != null) { // This cast is appropriate, we need the specific UserTaskRepository behaviour here. userTasks = ((UserTaskRepository)userTaskRepository).GetItems(filterId.Value, workingSetId); } else { userTasks = userTaskRepository.GetItems(new Model.UserTaskFilter { WorkingSetId = workingSetId }); } var dtoTaskInfos = userTasks.Select(ut => UserTaskMapper.TranslateModelUserTaskToDTOTaskInfo(ut)); var taskInfoList = new DTO.TaskInfoList { Metadata = new DTO.TaskInfoListMetadata { Count = dtoTaskInfos.Count(), FilterId = filterId, SortBy = sortBy, SortOrder = sortOrder }, TaskInfos = dtoTaskInfos }; return(Ok(taskInfoList)); } catch (Exception) { return(InternalServerError()); } }
public HttpResponseMessage Put(int id, DTO.Task task) { #region Preconditions if (userTaskRepository == null) { throw new InvalidOperationException(); } if (id <= 0) { throw new ArgumentOutOfRangeException(); } if (task == null) { throw new ArgumentNullException(); } #endregion try { UserTask userTask = null; task.Id = id; userTask = UserTaskMapper.TranslateDTOTaskToModelUserTask(task); if (!userTaskRepository.Update(userTask)) { string taskDataError = JsonConvert.SerializeObject(task); logger.Error($"TasksController Put userTaskRepository Failed id: {id}, Task Data: {taskDataError}", users.First(u => u.UserName == User.Identity.Name).Id); throw new HttpResponseException(HttpStatusCode.NotFound); } try { new AppServices.NotificationsService().NotifyUsers(userTask); } catch (Exception ex) { string taskDataError = JsonConvert.SerializeObject(task); logger.Error($"TasksController Put userTaskRepository NotifyUsers Failed id: {id}, Message: {ex.Message}, taskData: {taskDataError}", users.First(u => u.UserName == User.Identity.Name).Id); } var response = Request.CreateResponse <DTO.Task>(HttpStatusCode.OK, task); string uri = Url.Link("UpdateUserTask", new { id = task.Id }); response.Headers.Location = new Uri(uri); string taskData = JsonConvert.SerializeObject(task); logger.Info($"Task Update id: {task.Id}, taskData: {taskData}", users.First(u => u.UserName == User.Identity.Name).Id); return(response); } catch (Exception ex) { string taskDataError = JsonConvert.SerializeObject(task); logger.Error($"api/Tasks/id Put Id: {id}, Error: {ex.Message}, taskData: {taskDataError}", users.First(u => u.UserName == User.Identity.Name).Id); return(Request.CreateResponse(HttpStatusCode.InternalServerError)); } }
public override async Task <BLL.App.DTO.UserTask> FindAsync(params object[] id) { return(UserTaskMapper.MapFromDAL(await Uow.UserTasks.FindAsync(id))); }