EventController getPeriod speed improvements
This commit is contained in:
parent
e62f390942
commit
eac9c784fb
@ -16,7 +16,7 @@ namespace API.Controllers
|
|||||||
public EventController(ILogger<EventController> logger, UserService userService, EventService service) : base(logger, userService, service)
|
public EventController(ILogger<EventController> logger, UserService userService, EventService service) : base(logger, userService, service)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
//todo slow
|
//todo slow
|
||||||
[HttpGet("period")]
|
[HttpGet("period")]
|
||||||
public virtual ActionResult<List<EventDTO>> getPeriod(DateTime start, DateTime end)
|
public virtual ActionResult<List<EventDTO>> getPeriod(DateTime start, DateTime end)
|
||||||
@ -24,20 +24,22 @@ namespace API.Controllers
|
|||||||
MUser? user = getUser(User);
|
MUser? user = getUser(User);
|
||||||
if (user == null)
|
if (user == null)
|
||||||
return Unauthorized();
|
return Unauthorized();
|
||||||
|
|
||||||
IEnumerable<Event>? result = Service.get(user, x=> x.when >= start && x.when <= end);
|
IEnumerable<Event>? result = Service.get(user, x => x.when >= start && x.when <= end && x.hidden == false);
|
||||||
if (result == null)
|
if (result == null)
|
||||||
return Forbid();
|
return Forbid();
|
||||||
|
|
||||||
List<EventDTO> dtos = [];
|
List<EventDTO> dtos = [];
|
||||||
|
|
||||||
Parallel.ForEach(result.ToList(), item =>
|
List<Event> temp = result.ToList();
|
||||||
|
|
||||||
|
Parallel.ForEach(temp, item =>
|
||||||
{
|
{
|
||||||
EventDTO dto = new EventDTO();
|
EventDTO dto = new EventDTO();
|
||||||
dto.adaptFromModel(item);
|
dto.adaptFromModel(item);
|
||||||
dtos.Add(dto);
|
dtos.Add(dto);
|
||||||
});
|
});
|
||||||
|
|
||||||
return Ok(dtos);
|
return Ok(dtos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user