Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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");
            }
        }
Esempio n. 3
0
        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)));
        }
Esempio n. 4
0
        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)));
        }