No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 

62 líneas
2.0 KiB

  1. using Domain.BaseData;
  2. using Infrastructure;
  3. using Microsoft.AspNetCore.Authorization;
  4. using Microsoft.AspNetCore.Mvc;
  5. using Microsoft.Extensions.DependencyInjection;
  6. using Models.BaseData;
  7. using Services.BaseData;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Linq;
  11. namespace Api.Controllers
  12. {
  13. [Authorize(Roles = Consts.Developer)]
  14. public class MiscellaneousImagesController : BaseController
  15. {
  16. private readonly IMiscellaneousImageService miscellaneousImageService;
  17. public MiscellaneousImagesController(IServiceProvider serviceProvider) : base(serviceProvider)
  18. {
  19. miscellaneousImageService = serviceProvider.GetService<IMiscellaneousImageService>();
  20. }
  21. [HttpGet]
  22. public IActionResult List()
  23. {
  24. var dbList = miscellaneousImageService.GetQueryable().ToList();
  25. return Ok(Mapper.Map<List<MiscellaneousImageViewModel>>(dbList));
  26. }
  27. [HttpPost]
  28. public IActionResult Add(SaveMiscellaneousImageViewModel model)
  29. {
  30. var dbModel = Mapper.Map<MiscellaneousImage>(model);
  31. var imageName = SaveImageFromBase64(model.Base64Image);
  32. dbModel.ImageFileName = imageName;
  33. miscellaneousImageService.Add(dbModel);
  34. return Ok();
  35. }
  36. [HttpPut]
  37. public IActionResult Update(MiscellaneousImageViewModel model)
  38. {
  39. var dbModel = miscellaneousImageService.GetById(model.Id.Value);
  40. Mapper.Map(model, dbModel);
  41. miscellaneousImageService.Update(dbModel);
  42. return Ok();
  43. }
  44. [HttpDelete("{id}")]
  45. public IActionResult Delete(Guid id)
  46. {
  47. if (!miscellaneousImageService.CanBeDeleted(id))
  48. {
  49. return BadRequest("This image is used in other records and can not be deleted.");
  50. }
  51. miscellaneousImageService.Delete(id);
  52. return Ok();
  53. }
  54. }
  55. }