public JsonResult Get(Guid id, bool all = false) { try { var tasks = tasksRepository.RetrieveByPK(id); if (tasks == null) { if (!devicesRepository.Exists(id)) { return(JsonResponse(ResponseType.error, ResponseMessage.ItemNotFound)); } Expression <Func <Tasks, bool> > predicate = p => p.Device.Id == id && p.End > DateTime.UtcNow && p.Device.User == CurrentUser(hunter); if (all) { predicate = p => p.Device.Id == id && p.Device.User == CurrentUser(hunter); } IList <Tasks> tasksList = tasksRepository.RetrieveAll(predicate).Include(p => p.TaskData) .OrderBy(p => p.DateCreated).ToList(); for (int i = 0; i < tasksList.Count; i++) { var task = tasksList[i]; if (task.End <= DateTime.UtcNow && task.Status != DataBase.Enums.Status.Completed) { task.Status = DataBase.Enums.Status.Completed; tasksRepository.Update(task); } tasksRepository.SaveChanges(); } return(JsonResponse(tasksList)); } return(JsonResponse(tasks)); } catch (Exception ex) { return(InternalException(ex)); } }