示例#1
0
        public async Task <Result> DeleteAsync(Guid catId, DeleteTag request, Guid userId)
        {
            _logger.LogInformation($"Trying to delete tag {catId}");

            var category = await _tags
                           .Find(x => x.Id == catId)
                           .FirstOrDefaultAsync();

            if (category is null)
            {
                return(Result.NotFound);
            }

            if (category.Deleted > 0)
            {
                return(Result.Gone);
            }

            if (category.CorrelationId == request.CorrelationId)
            {
                return(Result.Conflict);
            }

            var categoryDeleted = category.On(request, userId);

            await _tags.ReplaceOneAsync(x => x.Id == catId, category);

            await _eventService.PublishAsync(categoryDeleted);

            _logger.LogInformation($"Tag {category.Key} deleted");

            return(Result.Successful);
        }
示例#2
0
        public async Task <Response <DeleteResult> > Handle(DeleteTag request)
        {
            if (request.ForceDelete && !string.IsNullOrEmpty(request.ApiName))
            {
                return(new Response <DeleteResult>(DeleteResult.InvalidRequest, "Cannot use ForceDelete with an the ApiName property"));
            }

            if (!string.IsNullOrEmpty(request.ApiName))
            {
                return(await DeleteTagsOfApiAsync(request));
            }

            return(await DeleteTagAsync(request));
        }
示例#3
0
 private void buttonDelete_Click(object sender, RoutedEventArgs e)
 {
     if (SelectedTag != null)
     {
         if (manifestationsHaveTag(SelectedTag.Id))
         {
             DeleteTag dialog = new DeleteTag(SelectedTag.Id);
             dialog.ShowDialog();
         }
         else
         {
             Database.DeleteTag(SelectedTag);
             SelectedTag = null;
         }
     }
     else
     {
         MessageBox.Show("Molimo, odaberite etiketu za brisanje", "Brisanje etikete");
     }
 }
示例#4
0
        /// If one of the collision entities is the player, execute the explosion.
        void Explode()
        {
            var explosion     = buffer.Instantiate(explosionPrefab);
            var explosionData = explosionGroup[explosionPrefab];

            var delete = new DeleteTag
            {
                lifetimeMax = explosionData.destroySpeed,
                lifetime    = 0f
            };

            buffer.SetComponent(player, new Rotation
            {
                Value = playerRotation.Value
            });
            buffer.SetComponent(player, new Translation
            {
                Value = playerTranslation.Value
            });
            buffer.AddComponent(explosion, delete);
        }
示例#5
0
        private async Task <Response <DeleteResult> > DeleteTagAsync(DeleteTag request)
        {
            var apiTags = await _context.ApiTags.Where(x => x.Tag.Name.Equals(request.TagName)).ToListAsync();

            _context.ApiTags.RemoveRange(apiTags);

            if (request.ForceDelete)
            {
                var tag = await _context.Tags.SingleOrDefaultAsync(x => x.Name.Equals(request.ApiName));

                if (tag == null)
                {
                    return(new Response <DeleteResult>(DeleteResult.NotFound));
                }

                _context.Tags.Remove(tag);
            }

            await _context.SaveChangesAsync();

            return(new Response <DeleteResult>(DeleteResult.Deleted));
        }
示例#6
0
        private async Task <Response <DeleteResult> > DeleteTagsOfApiAsync(DeleteTag request)
        {
            var api = await _context.Apis.FirstOrDefaultAsync(x => x.Name.Equals(request.ApiName));

            if (api == null)
            {
                return(new Response <DeleteResult>(DeleteResult.NotFound, "No API with the supplied nbame could be found"));
            }

            var apiTags = _context.ApiTags.AsQueryable();

            if (!string.IsNullOrEmpty(request.TagName))
            {
                apiTags = apiTags.Where(x => x.Tag.Name.Equals(request.TagName));
            }

            var apiTagsToDelete = await apiTags.ToListAsync();

            _context.ApiTags.RemoveRange(apiTagsToDelete);

            await _context.SaveChangesAsync();

            return(new Response <DeleteResult>(DeleteResult.Deleted));
        }