Esempio n. 1
0
        public ActionResult SetPostDate(int id, long date)
        {
            var post = Session.Load <Post>(id);

            if (post == null)
            {
                return(Json(new { success = false }));
            }

            post.PublishAt = post.PublishAt.WithDate(DateTimeOffsetUtil.ConvertFromJsTimestamp(date));

            return(Json(new { success = true }));
        }
Esempio n. 2
0
        private static bool IsOutOfBounds(double date, IFormatProvider provider)
        {
            Calendar calendar = GetCalendar(provider);

            if (date < DateTimeOffsetUtil.MinMilliseconds || date > DateTimeOffsetUtil.MaxMilliseconds)
            {
                return(false);
            }

            // We can't convert to a DateTimeOffset because it will do the calendar check and throw ArgumentOutOfRangeException
            // before we can check the range.
            long newDateTicks = DateTimeOffsetUtil.GetTicksFromUnixTimeMilliseconds(Convert.ToInt64(date));

            return(newDateTicks < calendar.MinSupportedDateTime.Ticks || newDateTicks > calendar.MaxSupportedDateTime.Ticks);
        }
        public ActionResult SetPostDate(int id, long date)
        {
            var post = RavenSession
                       .Include <Post>(x => x.CommentsId)
                       .Load(id);

            if (post == null)
            {
                return(Json(new { success = false }));
            }

            post.PublishAt = post.PublishAt.WithDate(DateTimeOffsetUtil.ConvertFromJsTimestamp(date));
            RavenSession.Load <PostComments>(post.CommentsId).Post.PublishAt = post.PublishAt;

            return(Json(new { success = true }));
        }
Esempio n. 4
0
        private static bool checkDateFormatSanity(NumberDateFormat dateFormat, long date, TimeZoneInfo timeZone)
        {
            IFormatProvider provider = dateFormat.FormatProvider ?? CultureInfo.CurrentCulture;

            if (IsOutOfBounds(date, provider))
            {
                return(false);
            }

            string         format = dateFormat.GetDateFormat();
            DateTimeOffset offset = DateTimeOffsetUtil.FromUnixTimeMilliseconds(Convert.ToInt64(date));

            offset = TimeZoneInfo.ConvertTime(offset, timeZone);
            string formattedDate = offset.ToString(format, provider);

            return(DateTimeOffset.TryParseExact(formattedDate, format, provider, DateTimeStyles.None, out DateTimeOffset _));
        }
Esempio n. 5
0
        public ActionResult ListFeed(long start, long end)
        {
            var startAsDateTimeOffset = DateTimeOffsetUtil.ConvertFromUnixTimestamp(start);
            var endAsDateTimeOffset   = DateTimeOffsetUtil.ConvertFromUnixTimestamp(end);

            var posts = Session.Query <Post>()
                        .Where(post => post.IsDeleted == false)
                        .Where
                        (
                post => post.PublishAt >= startAsDateTimeOffset &&
                post.PublishAt <= endAsDateTimeOffset
                        )
                        .OrderBy(post => post.PublishAt)
                        .Take(256)
                        .ToList();

            return(Json(posts.MapTo <PostSummaryJson>()));
        }