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