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));
            }
        }