public async Task <IActionResult> DeleteKnowledgeBase(int id) { //// GET KNOWLEDGE BASE WITH ID (KEY) var knowledgeBase = await _context.KnowledgeBases.FindAsync(id); //// IF KEY IS NOT EXIST (RESULT IS NULL), RETURN STATUS 404 if (knowledgeBase == null) { return(NotFound(new ApiNotFoundResponse($"Cannot found knowledge base with id {id}"))); } //// DELETE KNOWLEDGE BASE FROM DATABASE AND SAVE CHANGE _context.KnowledgeBases.Remove(knowledgeBase); var result = await _context.SaveChangesAsync(); //// IF RESULT AFTER DELETE IS GREATER THAN 0 (TRUE), RETURN STATUS 200, ELSE RETURN STATUS 400 if (result > 0) { await _cacheService.RemoveAsync(CacheConstants.LatestKnowledgeBases); await _cacheService.RemoveAsync(CacheConstants.PopularKnowledgeBases); KnowledgeBaseVm knowledgeBasevm = CreateKnowledgeBaseVm(knowledgeBase); return(Ok(knowledgeBasevm)); } return(BadRequest(new ApiBadRequestResponse($"Delete knowledge base failed"))); }
public async Task <IActionResult> DeleteKnowledgeBase(string id) { var knowledgeBase = await _context.KnowledgeBases.FindAsync(id); if (knowledgeBase == null) { return(NotFound()); } _context.KnowledgeBases.Remove(knowledgeBase); var result = await _context.SaveChangesAsync(); if (result > 0) { var knowledgeBasevm = new KnowledgeBaseVm() { Id = knowledgeBase.CategoryId, CategoryId = knowledgeBase.CategoryId, Title = knowledgeBase.Title, SeoAlias = knowledgeBase.SeoAlias, Description = knowledgeBase.Description, Environment = knowledgeBase.Environment, Problem = knowledgeBase.Problem, StepToReproduce = knowledgeBase.StepToReproduce, ErrorMessage = knowledgeBase.ErrorMessage, Workaround = knowledgeBase.Workaround, Note = knowledgeBase.Note, OwnerUserId = knowledgeBase.OwnerUserId, Labels = knowledgeBase.Labels, CreateDate = knowledgeBase.CreateDate, LastModifiedDate = knowledgeBase.LastModifiedDate, NumberOfComments = knowledgeBase.CategoryId, NumberOfVotes = knowledgeBase.CategoryId, NumberOfReports = knowledgeBase.CategoryId, }; return(Ok(knowledgeBasevm)); } return(BadRequest()); }
public async Task <IActionResult> GetById(int id) { var knowledgeBase = await _context.KnowledgeBases.FindAsync(id); if (knowledgeBase == null) { return(NotFound()); } var knowledgeBaseVm = new KnowledgeBaseVm() { Id = knowledgeBase.CategoryId, CategoryId = knowledgeBase.CategoryId, Title = knowledgeBase.Title, SeoAlias = knowledgeBase.SeoAlias, Description = knowledgeBase.Description, Environment = knowledgeBase.Environment, Problem = knowledgeBase.Problem, StepToReproduce = knowledgeBase.StepToReproduce, ErrorMessage = knowledgeBase.ErrorMessage, Workaround = knowledgeBase.Workaround, Note = knowledgeBase.Note, OwnerUserId = knowledgeBase.OwnerUserId, Labels = knowledgeBase.Labels, CreateDate = knowledgeBase.CreateDate, LastModifiedDate = knowledgeBase.LastModifiedDate, NumberOfComments = knowledgeBase.CategoryId, NumberOfVotes = knowledgeBase.CategoryId, NumberOfReports = knowledgeBase.CategoryId, }; return(Ok(knowledgeBaseVm)); }
public async Task <IActionResult> DeleteKnowledgeBase(int id) { var knowledgeBase = await _context.KnowledgeBases.FindAsync(id); if (knowledgeBase == null) { return(NotFound()); } _context.KnowledgeBases.Remove(knowledgeBase); var result = await _context.SaveChangesAsync(); if (result > 0) { KnowledgeBaseVm knowledgeBasevm = CreateKnowledgeBaseVm(knowledgeBase); return(Ok(knowledgeBasevm)); } return(BadRequest()); }
public async Task <IActionResult> DeleteKnowledgeBase(int id) { var knowledgeBase = await _context.KnowledgeBases.FindAsync(id); if (knowledgeBase == null) { return(NotFound()); } _context.KnowledgeBases.Remove(knowledgeBase); var result = await _context.SaveChangesAsync(); if (result > 0) { await _cacheService.RemoveAsync(CacheConstants.LatestKnowledgeBases); await _cacheService.RemoveAsync(CacheConstants.PopularKnowledgeBases); KnowledgeBaseVm knowledgeBasevm = CreateKnowledgeBaseVm(knowledgeBase); return(Ok(knowledgeBasevm)); } return(BadRequest()); }