private async void AddNewPlanTarget(object sender, RoutedEventArgs e) { if (!HasNotEmptySetting()) { ShowMessage("请填写用户信息", false); return; } newPlanTargetName.Text = newPlanTargetName.Text.Trim(); if (newPlanTargetName.Text == "") { return; } try { AppTask task = await HttpApi.CreateTask(newPlanTargetName.Text, AppTask.TypeToString(TaskType.Todo), date : newPlanTargetDeadline.SelectedDate?.AddDays(1).Date.ToString()); SimpleTaskCard card = task.ToSimpleTaskCard(false); card.CardRemove += TargetRemoved; card.StatusChange += TargetStatusChange; planTargetsList.Children.Add(card); planTargetsListScroll.ScrollToBottom(); newPlanTargetName.Text = ""; } catch (Exception exception) { ShowMessage(exception.Message, false); } }
public async Task <AppTask> CreateTask(string text, string type, string[] tags = null, string date = null) { // 构造请求 HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, BaseUrl + "tasks/user"); request = AddHeaderToRequest(request); JObject c = new JObject { { "text", text }, { "type", type }, }; if (tags != null) { c.Add("tags", new JArray(tags)); } if (date != null) { c.Add("date", date); } Debug.WriteLine(c.ToString()); request.Content = new StringContent(c.ToString()); request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); // 必须设置请求内容为 JSON 格式,否则服务器无法识别 // 发起请求 HttpResponseMessage response = await Client.SendAsync(request); // 获取响应 string json = await response.Content.ReadAsStringAsync(); Debug.WriteLine(json); AppTask newTask = GetObjectResponseData <AppTask>(json); return(newTask); }
public List <AppTask> PlanTargetTaskFilter(List <AppTask> tasks, Tag todayTargetTag) { List <AppTask> planTargetTasks = new List <AppTask>(); foreach (AppTask task in tasks) { if (!task.Tags.Contains(todayTargetTag.Id) && task.Type == AppTask.TypeToString(TaskType.Todo)) { planTargetTasks.Add(task); } } return(planTargetTasks); }
public List <AppTask> DailyTargetTaskFilter(List <AppTask> tasks) { List <AppTask> dailyTargetTasks = new List <AppTask>(); foreach (AppTask task in tasks) { if (task.Type == AppTask.TypeToString(TaskType.Daily)) { dailyTargetTasks.Add(task); } } return(dailyTargetTasks); }