Beispiel #1
0
        private void SendTask(Tasks task)
        {
            HunterBLL hunterBLL = new HunterBLL(BaseContext);

            if (task.Start <= DateTime.UtcNow && DateTime.UtcNow <= task.End)
            {
                if (task.NextRun <= DateTime.UtcNow)
                {
                    TaskData taskData = new TaskData();
                    taskData.TasksId = task.Id;

                    if (task.TaskType == Enums.TaskType.GetDeviceInfo)
                    {
                        taskData.Data = JsonConvert.SerializeObject(hunterBLL.GetDeviceInfo);
                    }
                    else
                    {
                        taskData.Data = JsonConvert.SerializeObject(hunterBLL.GetDeviceLocationAsync());
                    }
                    task.NextRun = DateTime.UtcNow.AddSeconds(task.IntervalSeconds);
                    task.LastRun = DateTime.UtcNow;

                    hunterBLL.PostTasksData(taskData);
                }
                DoTask(task);
            }
        }
Beispiel #2
0
        protected override void OnHandleIntent(Intent intent)
        {
            try
            {
                HunterBLL hunterBLL = new HunterBLL(BaseContext);

                Tasks[]  tasks          = GetTasksFromServer(hunterBLL).Result;
                bool     go             = true;
                int      totalTasks     = tasks.Length;
                int      completedTasks = 0;
                DateTime nextTask       = DateTime.UtcNow;
                if (totalTasks > 0)
                {
                    foreach (var item in tasks)
                    {
                        if (item.End > DateTime.UtcNow)
                        {
                            DoTask(item);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
Beispiel #3
0
        private async Task <Tasks[]> GetTasksFromServer(HunterBLL hunterBLL)
        {
            Tasks[] tasks  = new Tasks[] { };
            var     result = await hunterBLL.GetDeviceTasks();

            if (result.Entity == null)
            {
                return(tasks);
            }
            else
            {
                return(result.Entity);
            }
        }