示例#1
0
        void LoadDataForm_onGetTasksSuccessfully(Tasks tasks)
        {
            try
            {
                HashSet<string> sites = new HashSet<string>();

                foreach (BindingTask task in tasks.Task)
                {
                    Debug.WriteLine("Task ID:" + task.ID + ", name=" + task.Name);
                    DataCenter.Instance().Tasks.Add(task.ID, task);

                    foreach (string site in task.UnassignedSite)
                    {
                        sites.Add(site);
                    }

                    foreach (string site in task.Site)
                    {
                        sites.Add(site);
                    }
                }

                foreach (KeyValuePair<long, FileDescription> pair in DataCenter.Instance().EMIDescriptions)
                {
                    if (sites.Contains(pair.Value.SiteID)
                        && !DataCenter.Instance().EMIs.ContainsKey(pair.Key) //如果EMI文件不存在
                        )
                    {
                        mTaskStack.Push(new Task(TaskType.getFile, HTTPAgent.FileType.emi,
                            pair.Key, pair.Value.Title));
                    }
                }
            }
            catch (System.Exception e)
            {

            }

            ExecuteTask();
        }
示例#2
0
        public void getTasks(Form attachedForm)
        {
            new Thread(delegate()
            {
                byte[] respData;
                string json = "";
                WebHeaderCollection headers;
                string url = getUrl(Action.gettasks);
                HttpStatusCode statusCode = HTTPRequest.MakeRequest(url, "GET",
                    Constants.JSON_MIME, null,
                    null, out respData, out headers);
                if (statusCode == HttpStatusCode.OK || statusCode == HttpStatusCode.NoContent)
                {
                    if (onGetTasksSuccessfully != null)
                    {
                        Tasks tasks = new Tasks();
                        if (respData != null)
                        {
                            json = Encoding.UTF8.GetString(respData);
                            tasks = Utility.JsonDeserialize<Tasks>(json);
                            Utility.FillTasks(tasks);
                        }
                        attachedForm.Invoke(onGetTasksSuccessfully, tasks);
                    }
                }
                else
                {
                    if (onGetTasksFailed != null)
                        attachedForm.BeginInvoke(onGetTasksFailed, statusCode);
                }

            }).Start();
        }