示例#1
0
 public static DML.Event GetEventByID(int id, EventRelatedData relatedData = EventRelatedData.None)
 {
     using (IUnitOfWork unitOfWork = new cmiUnitOfWork())
     {
         Repository <Event> repository = new Repository <Event>(unitOfWork);
         Event singleEvent             = repository.Get(e => e.ID == id, GetIncludeProperties(relatedData)).SingleOrDefault(); //"UsersToEvents.User"
         return(singleEvent);
     }
 }
示例#2
0
        private static string GetIncludeProperties(EventRelatedData includes)
        {
            string includeProperties = "";

            switch (includes)
            {
            case EventRelatedData.None:
                break;

            case EventRelatedData.User:
                includeProperties = @"UsersToEvents.User";
                break;

            case EventRelatedData.UserAndGroup:
                includeProperties = @"UsersToEvents.User,Group";
                break;

            default:
                break;
            }

            return(includeProperties);
        }
示例#3
0
        //public static IPagedList<DML.Event> PreparePagedEvents(int pageNumber, IUnitOfWork unitOfWork, int pageSize = int.MaxValue, EventRelatedData relatedData = EventRelatedData.None)
        //{
        //    Repository<Event> repository = new Repository<Event>(unitOfWork);
        //    IPagedList<Event> events = repository.Get(e => e.IsPublic == true, GetIncludeProperties(relatedData)).OrderBy(e => e.StartTime).ToPagedList(pageNumber, pageSize);
        //    return events;
        //}

        public static IPagedList <DML.Event> GetPagedEventsByUserID(int userID, int pageNumber, int pageSize = int.MaxValue, EventRelatedData relatedData = EventRelatedData.None)
        {
            using (IUnitOfWork unitOfWork = new cmiUnitOfWork())
            {
                Repository <Event> repository = new Repository <Event>(unitOfWork);
                IPagedList <Event> events     = repository.Get(e => e.IsPublic == true || e.Group.UsersToGroups.Any(ut2g => ut2g.UserID == userID), GetIncludeProperties(relatedData)).OrderBy(e => e.StartTime).ToPagedList(pageNumber, pageSize);
                return(events);
            }
        }
示例#4
0
 public static IPagedList <DML.Event> GetPagedEvents(int pageNumber, int pageSize = int.MaxValue, EventRelatedData relatedData = EventRelatedData.None)
 {
     using (IUnitOfWork unitOfWork = new cmiUnitOfWork())
     {
         Repository <Event> repository = new Repository <Event>(unitOfWork);
         IPagedList <Event> events     = repository.Get(null, GetIncludeProperties(relatedData)).OrderBy(e => e.StartTime).ToPagedList(pageNumber, pageSize);
         return(events);
     }
 }