private void OnTreeSelectedItemChanged(object selectedItem) { var selectedNode = selectedItem as TreeViewItem; if (selectedNode == null) { return; } var data = selectedNode.Tag as ECCategory; if (data == null) { return; } if (data.SysNo.HasValue && data.SysNo > 0) { this.ucMaintain.ChangeToEditMode(data.DeepCopy().Convert <ECCategory, ECCategoryVM>((entity, vm) => { if (entity.WebChannel != null) { vm.ChannelID = entity.WebChannel.ChannelID; } })); this.ucMaintain.BindDataGrid(); } else { ECCategoryVM toCreateVM = new ECCategoryVM(); toCreateVM.ChannelID = this.lstChannelList.SelectedValue.ToString(); this.ucMaintain.ChangeToCreateMode(toCreateVM); } }
public void ChangeToEditMode(ECCategoryVM selectedNode) { //当前界面正在编辑模式,加载数据 _isEditing = true; this.txtTitle.Text = ResECCategory.Info_EditTitle; _currentVM = selectedNode; this.DataContext = _currentVM; this.btnDelete.Visibility = Visibility.Visible; this.txtPriority.IsReadOnly = _currentVM.Level != ECCategoryLevel.Category1; if (_currentVM.Level == ECCategoryLevel.Category2) { this.chbShowInParent.Content = "一级类页面显示"; } if (_currentVM.Level == ECCategoryLevel.Category3) { this.chbShowInParent.Content = "二级类页面显示"; LoadAllBackendC3(() => { this.lstBackendC3.SelectedValue = _currentVM.C3SysNo; }); this.btnAddChild.Visibility = Visibility.Collapsed; } else { this.btnAddChild.Visibility = Visibility.Visible; } //加载父类列表 LoadParentView((unAssignedParent, assignedParent) => { if (assignedParent != null) { //先清空 _currentVM.Parents.Clear(); //再逐个加入 foreach (var p in assignedParent) { _currentVM.Parents.Add(p); } _currentVM.ParentCount = _currentVM.Parents.Count; } }); LoadChildView((unAssignedChildren, assignedChildren) => { if (assignedChildren != null) { //先清空 _currentVM.Children.Clear(); //再逐个加入 foreach (var p in assignedChildren) { _currentVM.Children.Add(p); } _currentVM.ChildrenCount = _currentVM.Children.Count; } }); }
private void btnAddChild_Click(object sender, RoutedEventArgs e) { if (_currentVM != null) { //当前节点做为要创建子节点的父级节点 ECCategoryVM parent = _currentVM; _currentVM = new ECCategoryVM(); //根据当前节点的Level确定其子级的level ECCategoryLevel childLevel = ECCategoryLevel.Category1; if (parent.Level == ECCategoryLevel.Category1) { childLevel = ECCategoryLevel.Category2; } else if (parent.Level == ECCategoryLevel.Category2) { childLevel = ECCategoryLevel.Category3; } _currentVM.Level = childLevel; _currentVM.ChannelID = parent.ChannelID; _currentVM.Parents.Add(parent); _currentVM.ParentCount = _currentVM.Parents.Count; ChangeToCreateMode(_currentVM); } }
public void ChangeToCreateMode(ECCategoryVM toCreateVM) { _isEditing = false; this.txtTitle.Text = ResECCategory.Info_AddTitle; this.btnAddChild.Visibility = Visibility.Collapsed; this.btnDelete.Visibility = Visibility.Collapsed; _currentVM = toCreateVM; this.DataContext = _currentVM; this.lstChannelList.SelectedIndex = 0; this.txtPriority.IsReadOnly = _currentVM.Level != ECCategoryLevel.Category1; if (_currentVM.Level == ECCategoryLevel.Category2) { this.chbShowInParent.Content = "一级类页面显示"; } if (_currentVM.Level == ECCategoryLevel.Category3) { this.chbShowInParent.Content = "二级类页面显示"; LoadAllBackendC3(() => { this.lstBackendC3.SelectedIndex = 0; }); } }
protected virtual void OnDeleteCompleted(ECCategoryVM vm) { var hander = DeleteCompleted; if (hander != null) { hander(this, new ECCategoryActionEventArgs(vm)); } }
public void Update(ECCategoryVM vm, EventHandler <RestClientEventArgs <object> > callback) { var entity = vm.ConvertVM <ECCategoryVM, ECCategory>(); entity.CompanyCode = CPApplication.Current.CompanyCode; entity.WebChannel = new WebChannel { ChannelID = vm.ChannelID }; entity.ParentList = new List <ECCategory>(); foreach (var p in vm.Parents) { entity.ParentList.Add(p.ConvertVM <ECCategoryVM, ECCategory>()); } entity.ChildrenList = new List <ECCategory>(); foreach (var c in vm.Children) { entity.ChildrenList.Add(c.ConvertVM <ECCategoryVM, ECCategory>()); } string relativeUrl = "/MKTService/ECCategory/Update"; restClient.Update(relativeUrl, entity, callback); }
public void SetSelectedCategory3SysNo(int?c3SysNo) { RemoveSelectionChangedEvent(); //通过c3找到c2,c1 ECCategoryVM category3 = null; if (this._allECCategoryList != null) { category3 = this._allECCategoryList.Category3List.FirstOrDefault(c3 => c3.SysNo == c3SysNo); } int?c2SysNo = null; int?c1SysNo = null; if (category3 != null) { var category2 = this._allECCategoryList.Category2List.FirstOrDefault(c2 => c2.SysNo == category3.ParentSysNo); c2SysNo = category3.ParentSysNo; if (category2 != null) { c1SysNo = category2.ParentSysNo; } } //验证c3对应的c1是否选中 if (c1SysNo != null && this.SelectedCategory1SysNo != c1SysNo) { this.lstECCategory1.SelectedValue = c1SysNo; LoadECCategory2(); } //验证c3的c2是否选中 if (c2SysNo != null && this.SelectedCategory2SysNo != c2SysNo) { this.lstECCategory2.SelectedValue = c2SysNo; LoadCategory3(); } this.lstECCategory3.SelectedValue = c3SysNo; AddSelectionChangedEvent(); }
public ECCategoryActionEventArgs(ECCategoryVM data) { _data = data; }
private void btnSave_Click(object sender, RoutedEventArgs e) { //输入验证不通过,则直接返回 if (!ValidationManager.Validate(this)) { return; } var facade = new ECCategoryFacade(CPApplication.Current.CurrentPage); if (_currentVM.Level == ECCategoryLevel.Category3) { if (_currentVM.Name.Length < 1 || _currentVM.Name.Length > 10) { CurrentWindow.Alert("三级类别最少1个字,最多10个字"); return; } } else if (_currentVM.Level == ECCategoryLevel.Category2) { if (_currentVM.Name.Length < 1 || _currentVM.Name.Length > 15) { CurrentWindow.Alert("二级类别最少1个字,最多不能超过15个字"); return; } } else { if (_currentVM.Name.Length > 15) { CurrentWindow.Alert("名称字数长度超范围,一级类别不可大于15个字"); return; } } if (_isEditing) { //编辑 facade.Update(_currentVM, (s, args) => { if (args.FaultsHandle()) { return; } CurrentWindow.Alert(ResECCategory.Info_EditSuccess); OnEditCompleted(_currentVM); }); } else { //新建 facade.Create(_currentVM, (s, args) => { if (args.FaultsHandle()) { return; } CurrentWindow.Alert(ResECCategory.Info_AddSuccess); _currentVM = args.Result.Convert <ECCategory, ECCategoryVM>(); _currentVM.ChannelID = args.Result.WebChannel == null ? "1" : args.Result.WebChannel.ChannelID; OnAddCompleted(_currentVM); OnCancelClick(); }); } }