protected override void RelayMethod(object obj) { string command = obj.ToString(); Debug.WriteLine(command); // Do:初始化 if (command == "init") { this.TaskModelList.CollectionChanged += (l, k) => { for (int i = 0; i < this.TaskModelList.Count; i++) { this.TaskModelList[i].SeriaNumber = (i + 1).ToString().PadLeft(2, '0'); } }; // Do:注册选择相同站区事件 AddItem.SeletctSameSiteEvent += this.OnSeletctSameSiteEvent; } // Do:添加 else if (command == "btn_add") { if (this.AddItem == null) { return; } if (this.AddItem.StartSite == null || this.AddItem.EndSite == null || this.AddItem.Analyst == null) { MessageBox.Show("信息不完整,请选择有效信息"); return; } if (this.AddItem.StartSite.ID == this.AddItem.EndSite.ID) { if (this.AddItem.StartPole == null || this.AddItem.EndPole == null) { MessageBox.Show("信息不完整,请选择有效信息"); return; } } AddItem.StartDate = DateTime.Now; // Do:注销选择相同站区事件 AddItem.SeletctSameSiteEvent -= this.OnSeletctSameSiteEvent; this.TaskModelList.Add(AddItem); // Do:复制一个新数据 AddItem = this.AddItem.Clone(); // Message:刷新可选杆号 this.RefreshCanSelection(); // Do:注册选择相同站区事件 AddItem.SeletctSameSiteEvent += this.OnSeletctSameSiteEvent; } // Do:删除 else if (command == "btn_delete") { if (this.SelectItem == null) { return; } this.TaskModelList.Remove(this.SelectItem); // Message:刷新可选杆号 this.RefreshCanSelection(); } // Do:保存 else if (command == "btn_sumit") { if (this.TaskModelList == null || this.TaskModelList.Count == 0) { MessageWindow.ShowDialogWithSumit("列表中没有数据,请先分工"); return; } string err; if (!this.IsVaild(out err)) { //var result = MessageBox.Show(err + "是否继续保存?", "提示!", MessageBoxButton.YesNo, MessageBoxImage.Error); //err = "是否继续保存是否继续保存是否继续保存是否继续保存是否继续保存是否继续保存是否继续保存是否继续保存是否继续保存"; if (err.Length > 40) { err = err.Substring(0, 40) + "..."; } var result = MessageWindow.ShowDialog(err + "是否继续保存?"); //if (result == MessageBoxResult.No) return; if (!result) { return; } } this.IsBuzy = true; Task.Run(() => { ObservableCollection <TaskModel_4C> models = new ObservableCollection <TaskModel_4C>(); foreach (var item in this.TaskModelList) { models.Add(item.ConvertTo()); } // Message:触发保存事件 this.SaveEvent?.Invoke(models); this.IsBuzy = false; }); } }
protected override void RelayMethod(object obj) { string command = obj.ToString(); Debug.WriteLine(command); // Do:初始化 if (command == "init") { this.TaskModelList.CollectionChanged += (l, k) => { for (int i = 0; i < this.TaskModelList.Count; i++) { this.TaskModelList[i].SeriaNumber = (i + 1).ToString().PadLeft(2, '0'); } }; } // Message:刪除 if (command == "btn_delete") { this.TaskModelList.Remove(this.SelectItem); // Message:刷新可选杆号 this.RefreshCanSelection(); } // Do:添加 else if (command == "btn_add") { if (this.AddItem == null) { return; } if (this.AddItem.StartLine == null || this.AddItem.EndLine == null || this.AddItem.Analyst == null) { MessageBox.Show("信息不完整,请选择有效信息"); return; } AddItem.StartDate = DateTime.Now; // Message:根据起始段和结束站刷新站列表 if (this.AddItem.StartLine != null || this.AddItem.EndLine != null) { var result = this.TyeLineModelList.ToList(); var startIndex = result.FindIndex(l => l.ID == this.AddItem.StartLine.ID); var endIndex = result.FindIndex(l => l.ID == this.AddItem.EndLine.ID); result = result.Skip(startIndex).Take(endIndex - startIndex + 1).ToList(); //if (startIndex == endIndex) //{ // result.RemoveAt(startIndex); //} //else //{ // result.RemoveRange(startIndex, endIndex - startIndex + 1); //} AddItem.Lines = result; } this.TaskModelList.Add(AddItem); // Do:复制一个新数据 AddItem = this.AddItem.Clone(); // Message:刷新可选杆号 this.RefreshCanSelection(); } // Do:保存 else if (command == "btn_sumit") { if (this.TaskModelList == null || this.TaskModelList.Count == 0) { MessageWindow.ShowDialogWithSumit("列表中没有数据,请先分工"); return; } string err; if (!this.IsVaild(out err)) { //var result = MessageBox.Show(err + "是否继续保存?", "提示!", MessageBoxButton.YesNo, MessageBoxImage.Error); //err = "是否继续保存是否继续保存是否继续保存是否继续保存是否继续保存是否继续保存是否继续保存是否继续保存是否继续保存"; if (err.Length > 40) { err = err.Substring(0, 40) + "..."; } var result = MessageWindow.ShowDialog(err + "是否继续保存?"); //if (result == MessageBoxResult.No) return; if (!result) { return; } } this.IsBuzy = true; Task.Run(() => { ObservableCollection <TaskModel_2C> models = new ObservableCollection <TaskModel_2C>(); foreach (var item in this.TaskModelList) { models.Add(item.ConvertTo()); } // Message:触发保存事件 this.SaveEvent?.Invoke(models); this.IsBuzy = false; }); } }