private void btnOk_Click(object sender, RoutedEventArgs e) { try { listChild.Title = tbListChildTitle.Text; listChild.Detail = tbListChildDetail.Text; listChild.StartTime = (DateTime)dtpStartTime.Value; listChild.EndTime = (DateTime)dtpEndTime.Value; listChild.Mark = ((MarkItem)cmbMark.SelectedItem).Mark; switch (dialogType) { case DialogType.Add: listChild.FamilyId = selectedListFamilyId; ListChild.AddListChild(listChild); break; case DialogType.Edit: ListChild.UpdateListChild(listChild); break; } } catch (Exception ex) { App.writeLog.Error("保存失败", ex); MessageBox.Show("项目保存失败!\n错误日志请查看Error.log文件!", "噢噢,出错了", MessageBoxButton.OK, MessageBoxImage.Error); } this.DialogResult = true; }
/// <summary> /// 更新ListChild 的 Mark /// </summary> /// <param name="markType"></param> private void UpdateListChildMark(MarkType markType) { listChildrenDisplayPart.SelectedListChild.Mark = markType; ListChild.UpdateListChild(listChildrenDisplayPart.SelectedListChild); ReadListChildren(); popupMark.IsOpen = false; }
/// <summary> /// 移动ListChild /// </summary> /// <param name="moveDirection"></param> private void MoveListChild(MoveDirection moveDirection) { int flag = Convert.ToInt16(moveDirection); if ((listChildrenDisplayPart.SelectionIndex - flag > -1) && (listChildrenDisplayPart.SelectionIndex - flag < listChildrenDataTable.Rows.Count)) { if (selectedListFamily.SortType != SortType.Manual) { UpdateListChildrenDisplayWeight(); ReadListChildren(); selectedListFamily.SortType = SortType.Manual; ListFamily.UpdateListFamily(selectedListFamily); } listChildrenDisplayPart.SelectedListChild.DisplayWeight -= flag; ListChild listChild = ListChild.GetListChildById(Convert.ToInt32(listChildrenDataTable.Rows[listChildrenDisplayPart.SelectionIndex - flag][ListChild.FIELD_NAME_ID])); listChild.DisplayWeight += flag; ListChild.UpdateListChild(listChildrenDisplayPart.SelectedListChild); ListChild.UpdateListChild(listChild); listChildrenDisplayPart.SelectionIndex -= flag; ReadListChildren(); } }
/// <summary> /// 更新ListChildren的DisplayWeight /// </summary> private void UpdateListChildrenDisplayWeight() { try { ListChild.BeginTransaction(); for (int i = 0; i < listChildrenDataTable.Rows.Count; i++) { ListChild listChild = ListChild.GetListChildById(Convert.ToInt32(listChildrenDataTable.Rows[i][ListChild.FIELD_NAME_ID])); listChild.DisplayWeight = i; ListChild.UpdateListChild(listChild); } ListChild.CommitTransaction(); } catch (Exception ex) { App.writeLog.Warn("更新ListChildren的DisplayWeight失败,可能是由于删除列表导致", ex); } }