Пример #1
0
 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;
                }
            });
        }
Пример #3
0
        //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;
            });
        }
Пример #5
0
 public void AddTagToIdea(Idea idea, Tag tag)
 {
     idea.Tags.Add(tag);
     _dbInterop.SaveChanges();
 }