public ActionResult Visualize(long noticeId, Guid userId) { var noticeRepository = new NoticeRepository(_context); var notSeenNotices = noticeRepository.ListNotSeenNotices(userId); var userNotice = new UserNotice { VisualizationDateTime = DateTime.Now, NoticeId = noticeId, UserId = userId }; _context.GetList <UserNotice>().Add(userNotice); _context.Save(); var dateTimeHumanizerStrategy = new DefaultDateTimeHumanizeStrategy(); var nextNotice = noticeRepository.ListNotSeenNotices(userId).Except(notSeenNotices).FirstOrDefault(); if (nextNotice != null) { return(Json(NoticeViewModel.FromEntity(nextNotice, dateTimeHumanizerStrategy))); } return(new EmptyResult()); }
public ActionResult NoticePanel() { var repo = new NoticeRepository(_context); var notices = repo.ListNotSeenNotices(_loggedUser.Id); var dateTimeHumanizerStrategy = new DefaultDateTimeHumanizeStrategy(); return(PartialView("_NoticePanel", NoticeViewModel.FromEntityList(notices, dateTimeHumanizerStrategy))); }
internal static NoticeViewModel FromEntity(Notice item, DefaultDateTimeHumanizeStrategy humanizer) { return(new NoticeViewModel { Id = item.Id, DateTimeDescription = humanizer.Humanize(item.DateTime, DateTime.Now, CultureInfo.CurrentUICulture), Text = item.Text, ClassroomName = item.DeliveryPlan?.Classroom?.Name, DirectMessage = item.User != null }); }
public ActionResult ListComments(Guid classId, int page = 1) { var classRepository = new ClassRepository(_context); var classInfo = classRepository.GetClass(classId, _loggedUser.Id, GetUserRole(_loggedUser)); var humanizer = new DefaultDateTimeHumanizeStrategy(); var comments = classInfo.Class.Comments .OrderByDescending(x => x.DateTime) .Skip((page - 1) * 10) .Take(10) .ToList(); return(Json(CommentViewModel.FromEntityList(comments, humanizer, _loggedUser.Id), JsonRequestBehavior.AllowGet)); }
public static ClassViewModel FromEntity(Class item, int depth, DefaultDateTimeHumanizeStrategy humanizer) { return(new ClassViewModel { Id = item.Id, TeacherId = item.Teacher.Id, TeacherName = item.Teacher.Name, CourseId = item.Course.Id, CourseName = item.Course.Name, Name = item.Name, Content = item.Content, ContentType = item.ContentType, CreatedAt = item.CreatedAt, DeliveryDays = item.DeliveryDays, CreatedAtDescription = humanizer != null ? humanizer.Humanize(item.CreatedAt, DateTime.Now, CultureInfo.CurrentUICulture) : string.Empty, Active = item.Active, Order = item.Order, Files = depth > 3 ? FileViewModel.FromEntityList(item.Files) : new List <FileViewModel>() }); }
internal static IEnumerable <ClassViewModel> FromEntityList(IEnumerable <ClassDeliveryPlan> classes, DefaultDateTimeHumanizeStrategy humanizer) { return(classes.Select(item => FromEntity(item, humanizer))); }
internal static IEnumerable <CommentViewModel> FromEntityList(IEnumerable <Comment> comments, DefaultDateTimeHumanizeStrategy humanizer, Guid loggedUserId) { return(comments.Select(item => FromEntity(item, humanizer, loggedUserId))); }
public HistoryService(IContext context, DefaultDateTimeHumanizeStrategy humanizer) { _context = context; _humanizer = humanizer; }
internal static IEnumerable <NoticeViewModel> FromEntityList(IEnumerable <Notice> notices, DefaultDateTimeHumanizeStrategy humanizer) { return(notices.Select(item => FromEntity(item, humanizer))); }