public async Task <ActionResult> UpdateReport(UpdateUserReportRequestModel model, string userReportId) { var loggedUser = this.User.GetId(); var result = await this.userReportsService.UpdateReportAsync(model, userReportId, loggedUser); if (!result.Success) { return(BadRequest(result.Errors)); } return(Ok(result.Result)); }
public async Task <ResultModel <bool> > UpdateReportAsync(UpdateUserReportRequestModel model, string userReportId, string userId) { var userReport = await this.dbContext .UserReports .Where(ur => ur.Id == userReportId && !ur.IsDeleted) .FirstOrDefaultAsync(); if (userReport == null) { return(new ResultModel <bool> { Errors = { StoryReportErrors.ReportNotFoundOrDeleted } }); } if (userId != userReport.ReporterId) { return(new ResultModel <bool> { Errors = { UserErrors.UserHaveNoPermissionToUpdate } }); } userReport.Title = model.Title == null || string.IsNullOrWhiteSpace(model.Title) ? model.Title = userReport.Title : userReport.Title = model.Title; userReport.Content = model.Content == null || string.IsNullOrWhiteSpace(model.Content) ? model.Content = userReport.Content : userReport.Content = model.Content; userReport.ModifiedOn = DateTime.UtcNow; this.dbContext.UserReports.Update(userReport); await this.dbContext.SaveChangesAsync(); return(new ResultModel <bool> { Result = true, Success = true, }); }