public ActionResult <Reservaciones> CrearReservacion([FromBody] Reservaciones reservacion) { TokenManipulations _token = new TokenManipulations(Request); reservacion.UserId = _token.GetLoggedUser(); reservacion.FechaReservacion = DateTime.Now; bool disponible = _reservaciones.EsDiponible(reservacion); if (!disponible) { ModelState.AddModelError("NoDisponible", "Sala no disponible en este horario"); } if (ModelState.IsValid) { try { return(Ok(_reservaciones.CrearReservacion(reservacion))); } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message)); } } else { return(BadRequest(ModelState)); } }
public override void OnActionExecuting(ActionExecutingContext context) { TokenManipulations _token = new TokenManipulations(context.HttpContext.Request); if (!_token.IsAdminUser()) { context.Result = new UnauthorizedObjectResult("Debe ser administrador para poder ejecutar esta accion"); } }
public ActionResult <IEnumerable <string> > cancelOrder([FromBody] Orders order) { TokenManipulations _token = new TokenManipulations(Request); string usuarioEjecuta = _token.GetLoggedUser(); if (usuarioEjecuta != order.userId || _token.IsAdminUser() == false) { return(Unauthorized("Solo el usuario que realizo la orden o el administrador puede cancelar la orden")); } return(Ok(_orders.CancelOrder(order))); }
public ActionResult <IEnumerable <string> > createOrder([FromBody] Orders order) { TokenManipulations _token = new TokenManipulations(Request); order.userId = _token.GetLoggedUser(); int avalibleSotk = _inventory.GetStock(order.sku); if (avalibleSotk < order.qty) { return(BadRequest("no hay suficiente items disponibles. Cantidad disponible: " + avalibleSotk.ToString())); } return(Ok(_orders.CreateOrder(order))); }