Ejemplo n.º 1
0
        public async Task <ResultExtended <AutoReact> > ReplaceAutoReact(Guid id, AutoReactBuilder reactBuilder)
        {
            var enhancedLogger = logger
                                 .WithProperty("reactId", id)
                                 .WithProperty("reactType", reactBuilder.Type);

            var existingResponse = await repository.Get(id);

            if (existingResponse is null)
            {
                enhancedLogger.Error("Existing reaction not found when attempting to update.");
                return(ResultExtended <AutoReact> .Failure("Existing reaction not found."));
            }

            var react = reactBuilder.Build();

            react.Id = id;

            var result = await repository.Update(react);

            if (!result.IsSuccess())
            {
                enhancedLogger.Error("Failed to replace reaction in database.", react);
                return(ResultExtended <AutoReact> .NoChange("Failed to replace reaction in database."));
            }

            return(ResultExtended <AutoReact> .Success(react));
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <AutoReact> > ReplaceAutoReact(Guid id, AutoReactBuilder reactBuilder)
        {
            var result = await service.ReplaceAutoReact(id, reactBuilder);

            if (!result.IsSuccess)
            {
                return(result.Result == Result.Failure ? NotFound(result.Error) : BadRequest(result.Error));
            }

            return(result.Value);
        }
Ejemplo n.º 3
0
        public async Task <ActionResult <AutoReact> > AddAutoReact(AutoReactBuilder reactBuilder)
        {
            var result = await service.AddAutoReact(reactBuilder);

            if (result is null)
            {
                return(BadRequest("Unable to add react."));
            }

            return(result);
        }
Ejemplo n.º 4
0
        public async Task <AutoReact> AddAutoReact(AutoReactBuilder reactBuilder)
        {
            var enhancedLogger = logger
                                 .WithProperty("phrase", reactBuilder.Phrase)
                                 .WithProperty("reactType", reactBuilder.Type);

            var react = reactBuilder.Build();

            var result = await repository.Insert(react);

            if (!result.IsSuccess())
            {
                enhancedLogger.Error("Failed to add reaction to database.", react);
                return(null);
            }

            return(react);
        }