ShareController.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using Dispose.Scope;
  2. using Masuit.Tools.AspNetCore.ModelBinder;
  3. namespace Masuit.MyBlogs.Core.Controllers;
  4. /// <summary>
  5. /// 快速分享
  6. /// </summary>
  7. public sealed class ShareController : AdminController
  8. {
  9. /// <summary>
  10. /// 快速分享
  11. /// </summary>
  12. public IFastShareService FastShareService { get; set; }
  13. /// <summary>
  14. /// 快速分享
  15. /// </summary>
  16. /// <returns></returns>
  17. public ActionResult Index()
  18. {
  19. var shares = FastShareService.GetAll(s => s.Sort).ToPooledListScope();
  20. return ResultData(shares);
  21. }
  22. /// <summary>
  23. /// 添加快速分享
  24. /// </summary>
  25. /// <param name="share"></param>
  26. /// <returns></returns>
  27. [HttpPost]
  28. public ActionResult Add([FromBodyOrDefault] FastShare share)
  29. {
  30. bool b = FastShareService.AddEntitySaved(share) != null;
  31. return ResultData(null, b, b ? "添加成功" : "添加失败");
  32. }
  33. /// <summary>
  34. /// 移除快速分享
  35. /// </summary>
  36. /// <param name="id"></param>
  37. /// <returns></returns>
  38. [HttpPost]
  39. public async Task<ActionResult> Remove(int id)
  40. {
  41. bool b = await FastShareService.DeleteByIdAsync(id) > 0;
  42. return ResultData(null, b, b ? "删除成功" : "删除失败");
  43. }
  44. /// <summary>
  45. /// 更新快速分享
  46. /// </summary>
  47. /// <param name="model"></param>
  48. /// <returns></returns>
  49. [HttpPost]
  50. public async Task<ActionResult> Update([FromBodyOrDefault] FastShare model)
  51. {
  52. var b = await FastShareService.GetQuery(s => s.Id == model.Id).ExecuteUpdateAsync(s => s.SetProperty(e => e.Title, model.Title).SetProperty(e => e.Link, model.Link).SetProperty(e => e.Sort, model.Sort)) > 0;
  53. return ResultData(null, b, b ? "更新成功" : "更新失败");
  54. }
  55. }