Exemple #1
0
        public async Task SaveAsync(TagsDbModel tags)
        {
            foreach (var tag in tags.Tags)
            {
                if (string.IsNullOrEmpty(tag.Id))
                {
                    tag.Id = Guid.NewGuid().ToString();
                }
            }

            if (!string.IsNullOrEmpty(tags.Id))
            {
                await _collection.ReplaceOneAsync(new BsonDocument("_id", new Guid(tags.Id)), tags);
            }
            else
            {
                await _collection.InsertOneAsync(tags);
            }
        }
Exemple #2
0
        protected override async Task ActionAsync()
        {
            var siteId = Input.Data.SiteId;
            await UserSecurity.CheckAdministratorAsync(_userService, Input.UserId, siteId);

            var tagsDbModel = await _tagsServiceMongo.FindTags(siteId, Input.Data.Type);

            if (tagsDbModel == null)
            {
                tagsDbModel = new TagsDbModel()
                {
                    SiteId   = siteId,
                    Type     = Input.Data.Type,
                    ModuleId = Input.Data.ModuleId,
                    Tags     = new List <TagDbModel>()
                };
            }

            foreach (var tag in Input.Data.Tags)
            {
                TagDbModel tagDbModel = null;
                if (!string.IsNullOrEmpty(tag.Id))
                {
                    tagDbModel = tagsDbModel.Tags.FirstOrDefault(t => t.Id == tag.Id);
                }
                if (tagDbModel == null)
                {
                    tagDbModel = new TagDbModel();
                    tagsDbModel.Tags.Add(tagDbModel);
                }

                tagDbModel.Name      = tag.Name;
                tagDbModel.IsDeleted = tag.IsDeleted;
            }
            await _tagsServiceMongo.SaveAsync(tagsDbModel);
        }