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 })); }
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 })); }
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 _)); }
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>())); }