protected override void DoExecute() { ModifyBookmarkWindow window = new ModifyBookmarkWindow(); window.DoBookmarkGridViewModel = this.ViewModel; window.Owner = View.GetWindow(); if (window.ShowDialog() == true) { BookmarkViewModel current = this.ViewModel.CurrentSelected; ObjectMapper.CopyValues <BookmarkViewModel, BookmarkViewModel>(this.ViewModel.DoBookmarkViewModel, current); this.ViewModel.CurrentSelected = this.ViewModel.CurrentSelected; } }
public async Task <Topic> ModifyAsync(TopicEditModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } if (model.Id == null) { throw new ArgumentNullException(nameof(model.Id)); } if (string.IsNullOrWhiteSpace(model.Name)) { throw new ModelException(nameof(model.Name), "话题名称不能为空"); } using (var work = this.dbFactory.StartWork()) { Topic topic = await work.Topic.SingleByIdAsync(model.Id.Value); if (topic == null) { throw new ModelException(nameof(model.Name), "该话题不存在或已被删除"); } if (!string.Equals(model.Name, topic.Name, StringComparison.OrdinalIgnoreCase)) { Topic old = await work.Topic.GetByNameAsync(model.Name.Trim()); if (old != null) { throw new ModelException(nameof(model.Name), "该话题名称已存在"); } } if (topic.IsAnnounce) { throw new ModelException(nameof(model.Name), "公告为系统默认,不能被修改"); } ObjectMapper.CopyValues <TopicEditModel, Topic>(model, topic); topic.IsAnnounce = false; await work.Topic.UpdateAsync(topic); return(await work.Topic.SingleByIdAsync(model.Id.Value)); } }