Ejemplo n.º 1
0
        public ActionResult Last()
        {
            if (Request.Cookies.TryGetValue("last-notice", out var json))
            {
                var data = JsonConvert.DeserializeObject <NoticeOutputDto>(json);
                if (!NoticeService.Any(n => n.Id > data.Id))
                {
                    return(ResultData(data));
                }
            }

            var notice = NoticeService.Get(n => n.Status == Status.Display, n => n.ModifyDate, false);

            if (notice == null)
            {
                return(ResultData(null, false));
            }

            notice.ViewCount += 1;
            NoticeService.SaveChanges();
            var dto = notice.Mapper <NoticeOutputDto>();

            Response.Cookies.Append("last-notice", dto.ToJsonString(), new CookieOptions()
            {
                Expires = DateTime.Now.AddMonths(1)
            });
            return(ResultData(dto));
        }