Пример #1
0
        public async Task <ActionResult <AutoResponse> > AddAutoResponse(AutoResponseBuilder responseBuilder)
        {
            var result = await service.AddAutoResponse(responseBuilder);

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

            return(result);
        }
Пример #2
0
        public async Task <AutoResponse> AddAutoResponse(AutoResponseBuilder responseBuilder)
        {
            var enhancedLogger = logger
                                 .WithProperty("phrase", responseBuilder.Phrase)
                                 .WithProperty("responseType", responseBuilder.Type);

            var response = responseBuilder.Build();

            var result = await repository.Insert(response);

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

            return(response);
        }
Пример #3
0
        public async Task <ActionResult <AutoResponse> > ReplaceAutoResponse(Guid id, AutoResponseBuilder responseBuilder)
        {
            var result = await service.ReplaceAutoResponse(id, responseBuilder);

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

            return(result.Value);
        }
Пример #4
0
        public async Task <ResultExtended <AutoResponse> > ReplaceAutoResponse(Guid id, AutoResponseBuilder responseBuilder)
        {
            var enhancedLogger = logger
                                 .WithProperty("responseId", id)
                                 .WithProperty("responseType", responseBuilder.Type);

            var existingResponse = await repository.Get(id);

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

            var response = responseBuilder.Build();

            response.Id = id;

            var result = await repository.Update(response);

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

            return(ResultExtended <AutoResponse> .Success(response));
        }