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); }
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); }
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); }
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)); }