PartidaController.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. namespace v1\controllers;
  3. use common\data\Respuesta;
  4. use common\rest\AuthController;
  5. use yii\db\Expression;
  6. class PartidaController extends AuthController
  7. {
  8. public $modelClass = "v1\models\Partida";
  9. public function actionIndex()
  10. {
  11. $id = trim($this->req->get("id", ""));
  12. $buscar = trim($this->req->get("buscar", ""));
  13. $query = $this->queryInicial;
  14. if ($id !== "") {
  15. $query->andWhere(["id" => $id]);
  16. }
  17. if($buscar !==""){
  18. $query->andWhere(['iLike',"nombre",$buscar]);
  19. }
  20. return new Respuesta($query, $this->limite, $this->pagina, $this->ordenar);
  21. }
  22. public function actionGuardar()
  23. {
  24. $id = trim($this->req->getBodyParam("id", ""));
  25. $modelo = null;
  26. if ($id !== "") {
  27. $modelo = $this->modelClass::findOne($id);
  28. }
  29. if ($modelo === null) {
  30. $modelo = new $this->modelClass();
  31. $modelo->uuid();
  32. $modelo->creado = new Expression('now()');
  33. } else {
  34. $modelo->modificado = new Expression('now()');
  35. }
  36. $modelo->load($this->req->getBodyParams(), '');
  37. if (!$modelo->save()) {
  38. return (new Respuesta($modelo))
  39. ->mensaje("Hubo un problema al guardar la Partida");
  40. }
  41. $modelo->refresh();
  42. return (new Respuesta($modelo))
  43. ->mensaje("Partida guardada");
  44. }
  45. public function actionEliminar()
  46. {
  47. $id = trim($this->req->getBodyParam("id", ""));
  48. $modelo = null;
  49. if ($id !== "") {
  50. $modelo = $this->modelClass::findOne(["id" => $id]);
  51. }
  52. if ($modelo === null) {
  53. return (new Respuesta())
  54. ->esError()
  55. ->mensaje("Partida no encontrado");
  56. }
  57. $modelo->eliminado = new Expression('now()');
  58. if (!$modelo->save()) {
  59. return (new Respuesta($modelo))
  60. ->mensaje("No se pudo eliminar la Partida");
  61. }
  62. return (new Respuesta())
  63. ->mensaje("Partida eliminada");
  64. }
  65. }