public async Task <ActionResult> UpdateStoryReport(UpdateStoryReportRequestModel model, string storyReportId) { var loggedUser = this.User.GetId(); var result = await this.storyReportsService.UpdateStoryReportAsync(model, loggedUser, storyReportId); if (!result.Success) { return(BadRequest(result.Errors)); } return(Ok(result.Result)); }
public async Task <ResultModel <bool> > UpdateStoryReportAsync(UpdateStoryReportRequestModel model, string userId, string storyReportId) { var report = await this.dbContext .StoryReports .Where(sr => sr.Id == storyReportId && !sr.IsDeleted) .FirstOrDefaultAsync(); if (report == null) { return(new ResultModel <bool> { Errors = { StoryReportErrors.ReportNotFoundOrDeleted } }); } if (userId != report.ReporterId) { return(new ResultModel <bool> { Errors = { UserErrors.UserHaveNoPermissionToUpdate } }); } report.Title = model.Title == null || string.IsNullOrWhiteSpace(model.Title) ? model.Title = report.Title : report.Title = model.Title; report.Content = model.Content == null || string.IsNullOrWhiteSpace(model.Content) ? model.Content = report.Content : report.Content = model.Content; report.ModifiedOn = DateTime.UtcNow; this.dbContext.StoryReports.Update(report); await this.dbContext.SaveChangesAsync(); return(new ResultModel <bool> { Result = true, Success = true, }); }