public static TreeItemDto FromBase(Tag tag, AllDb db) { return new TagDto(db) { Caption = tag.Caption, Id = tag.Id, MyIdea = tag.MyIdeaId, Parent = tag.ParentId, IsClosed = true }; }
public CreateIdeaDlgViewModel(ITagsManager tagsManager, IParticlesManager particleManager, IIdeaManager ideaManager, IBlockManager blockManager, IEventAggregator eventAggregator) { _tagsManager = tagsManager; _particleManager = particleManager; _ideaManager = ideaManager; _blockManager = blockManager; _eventAggregator = eventAggregator; AddParticleVm = new AddParticleViewViewModel(_particleManager); OkCommand = new DelegateCommand<Window>((wnd) => { var idea = _ideaManager.CreateIdea(Caption); if (_parentTag != null) _ideaManager.AddTagToIdea(idea, _parentTag); if (AddParticleVm.AddParticle) if (AddParticleVm.UseNewParticle) { var particle = _particleManager.CreateParticle(AddParticleVm.NewParticle.Material, AddParticleVm.NewParticle.Begin, AddParticleVm.NewParticle.End); _blockManager.AddParticleToBlock(idea, particle); } else if (AddParticleVm.UseExistParticle && AddParticleVm.ExistParticle.HasValue) { var particle = _particleManager.GetParticleById(AddParticleVm.ExistParticle.Value); _blockManager.AddParticleToBlock(idea, particle); } _eventAggregator.GetEvent<BlockAddedEvent>().Publish(idea.Id); wnd.DialogResult = true; wnd.Close(); }, wnd => !String.IsNullOrWhiteSpace(Caption)); SelectTagCommand = new DelegateCommand(() => { var dlg = new SelectTagDlg(typeof (Tag)); var res = dlg.ShowDialog(); if (res.HasValue && res.Value && dlg.Id.HasValue) { _parentTag = _tagsManager.GetTagById(dlg.Id.Value); TagCaption = _parentTag.Caption; AddToTag = true; } }); }
//tagType is s of f public string AddTag(string value, string tagType, int ownerId) { int x = -99; try { Tag tag = new Tag(); if (tagType == "s") { tag = tagAccessor.GetSTag(value); } else if (tagType == "f" && tagAccessor.GetFTag(value) != null) { //fTag is already in fTag table, so we'll pull it rather than creating a new one tag = tagAccessor.GetFTag(value); } else if (tagType == "f" && tagAccessor.GetFTag(value) == null) { //fTag doesn't already exist, so let's add it to the fTag table tag = CreateFTag(0, value); } x = tagAccessor.AddProjectLink(tag.id, ownerId, tagType); } catch (Exception) { return null; } if (x > 0) { return value; } else if (x == 0) { return "Tag already added."; } else { return null; } }
public CreateIdeaDlgViewModel(ITagsManager tagsManager, IParticlesManager particleManager, IIdeaManager ideaManager, IBlockManager blockManager, IEventAggregator eventAggregator, ISettingsService settingsService) { _tagsManager = tagsManager; _particleManager = particleManager; _ideaManager = ideaManager; _blockManager = blockManager; _eventAggregator = eventAggregator; _settingsService = settingsService; RecentTags = new List<RecentTag>(); RecentTags.AddRange( settingsService.GetRecentTags() .Select(a => new RecentTag() {Id = a.Id, TagLong = a.Name, TagShort = a.Name.Substring(0, Math.Min(a.Name.Length, 20)) + (Math.Min(a.Name.Length, 20) == 20 ? "...;" : ";") })); AddParticleVm = new AddParticleViewViewModel(_particleManager); OkCommand = new DelegateCommand<Window>((wnd) => { var idea = _ideaManager.CreateIdea(Caption); if (_parentTag != null) _ideaManager.AddTagToIdea(idea, _parentTag); if (AddParticleVm.AddParticle) if (AddParticleVm.UseNewParticle) { var particle = _particleManager.CreateParticle(AddParticleVm.NewParticle.Material, AddParticleVm.NewParticle.Begin, AddParticleVm.NewParticle.End); _blockManager.AddParticleToBlock(idea, particle); ParticleId = particle.Id; } else if (AddParticleVm.UseExistParticle && AddParticleVm.ExistParticle.HasValue) { var particle = _particleManager.GetParticleById(AddParticleVm.ExistParticle.Value); _blockManager.AddParticleToBlock(idea, particle); ParticleId = particle.Id; } IdeaId = idea.Id; _eventAggregator.GetEvent<BlockAddedEvent>().Publish(idea.Id); wnd.DialogResult = true; wnd.Close(); }, wnd => !String.IsNullOrWhiteSpace(Caption)); SelectTagCommand = new DelegateCommand(() => { var dlg = new SelectTagDlg(typeof (Tag)); var res = dlg.ShowDialog(); if (res.HasValue && res.Value && dlg.Id.HasValue) { _parentTag = _tagsManager.GetTagById(dlg.Id.Value); TagCaption = _parentTag.Caption; AddToTag = true; } }); ClickTagCommand = new DelegateCommand<RecentTag>(rt => { _parentTag = _tagsManager.GetTagById(rt.Id); TagCaption = _parentTag.Caption; AddToTag = true; }); }
public void AddTagToIdea(Idea idea, Tag tag) { idea.Tags.Add(tag); _dbInterop.SaveChanges(); }