Ejemplo n.º 1
0
        /// <summary>
        /// Launchs a new new for all the users
        /// </summary>
        /// <param name="message">The info</param>
        /// See <see cref="Areas.Admin.Models.Message"/> to see the param info
        /// <returns>The IActionResult of the launch new action</returns>
        public IActionResult launchNew([FromBody] Message message)
        {
            User user = TokenUserManager.getUserFromToken(HttpContext, _context);

            if (!AdminPolicy.isAdmin(user, _context))
            {
                return(BadRequest("notAllowed"));
            }

            try
            {
                _context.Add(new New
                {
                    title   = "Aviso de los administradores!",
                    message = message.message
                });

                _context.SaveChanges();
                List <NewMessage> retMessage = GetNews.getStandNews(true, _context);

                return(Ok(retMessage));
            }
            catch (Exception)
            {
                return(StatusCode(500));
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Removes a new
        /// </summary>
        /// <param name="id">The id of the new</param>
        /// <returns>The IActionResult of the remove new action</returns>
        public IActionResult removeNew(string id)
        {
            User user = TokenUserManager.getUserFromToken(HttpContext, _context);

            if (!AdminPolicy.isAdmin(user, _context))
            {
                return(BadRequest("notAllowed"));
            }

            List <New> possibleNews = _context.News.Where(n => n.id.ToString() == id && n.userid == null).ToList();

            if (possibleNews.Count() != 1)
            {
                return(BadRequest());
            }

            try
            {
                _context.Remove(possibleNews.First());
                _context.SaveChanges();

                using (var scope = _scopeFactory.CreateScope())
                {
                    var dbContext = scope.ServiceProvider.GetRequiredService <ApplicationDBContext>();
                    List <NewMessage> retMessage = GetNews.getStandNews(true, dbContext);
                    return(Ok(retMessage));
                }
            }
            catch (Exception)
            {
                return(StatusCode(500));
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Get the news for not logged users
        /// </summary>
        /// <returns>The IActionResult of the get the not logged news action</returns>
        /// See <see cref="Areas.Home.Models.NewMessage"/> to see the response structure
        public IActionResult GetStand()
        {
            bool isAdmin;

            try
            {
                User user = TokenUserManager.getUserFromToken(HttpContext, _context);
                isAdmin = AdminPolicy.isAdmin(user, _context);
            }
            catch (Exception)
            {
                isAdmin = false;
            }
            try
            {
                List <NewMessage> retMessage = GetNews.getStandNews(isAdmin, _context);

                return(Ok(retMessage));
            }
            catch (Exception)
            {
                return(StatusCode(500));
            }
        }