Ejemplo n.º 1
0
        public async Task <ActionResult <QueryResultResource <ReadEventResource> > > GetUserOwnEvents([FromQuery] FilterEventResource filter)
        {
            var eventQuery = Mapper.Map <FilterEventResource, EventQuery>(filter);

            if (string.IsNullOrEmpty(eventQuery.SortBy))
            {
                Expression <Func <Event, DateTime> > sortingExpression = a => a.StartDate;
                eventQuery.SortBy = PropertyUtil.GetFullPropertyName(sortingExpression);
            }

            Guid userId = Guid.Parse(HttpContext.User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value);

            eventQuery.HostId = userId;

            QueryResult <Event> events = await UnitOfWork.Events.GetEvents(eventQuery, e => e.Category, e => e.Host);

            var result = Mapper.Map <QueryResult <Event>, QueryResultResource <ReadEventResource> >(events);

            return(Ok(result));
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <QueryResultResource <ReadEventResource> > > GetUserAttendingEvents([FromQuery] FilterEventResource filter)
        {
            var userId = Guid.Parse(HttpContext.User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier).Value);

            var eventQuery = Mapper.Map <FilterEventResource, EventQuery>(filter);

            if (string.IsNullOrEmpty(eventQuery.SortBy))
            {
                Expression <Func <Attendance, DateTime> > sortingExpression = a => a.Event.StartDate;
                eventQuery.SortBy = PropertyUtil.GetFullPropertyName(sortingExpression);
            }

            var attendances = await UnitOfWork.Attendances.GetUserAttendances(userId, eventQuery);

            var result = Mapper.Map <QueryResult <Attendance>, QueryResultResource <ReadAttendanceEventResource> >(attendances);

            return(Ok(result));
        }
Ejemplo n.º 3
0
        public async Task <ActionResult <QueryResultResource <ReadEventResource> > > List([FromQuery] FilterEventResource filter)
        {
            var eventQuery = Mapper.Map <FilterEventResource, EventQuery>(filter);

            QueryResult <Event> events = await UnitOfWork.Events.GetEvents(eventQuery, e => e.Host, e => e.Category);

            var result = Mapper.Map <QueryResult <Event>, QueryResultResource <ReadEventResource> >(events);

            return(Ok(result));
        }