public PagedResponse <ReadUseCaseDto> Execute(UseCaseSearch search) { var query = _context.UseCases.AsQueryable(); if (!string.IsNullOrEmpty(search.Name) || !string.IsNullOrWhiteSpace(search.Name)) { query = query.Where(x => x.Name.ToLower().Contains(search.Name.ToLower())); } var skipCount = search.PerPage * (search.Page - 1); var response = new PagedResponse <ReadUseCaseDto> { CurrentPage = search.Page, ItemsPerPage = search.PerPage, TotalCount = query.Count(), Items = query.Skip(skipCount).Take(search.PerPage).Select(x => new ReadUseCaseDto { Id = x.Id, Name = x.Name, NumberOfUseCaseLogs = x.UseCaseLogs.Count(), NumberOfUsers = x.UserUseCases.Count() }).ToList() }; return(response); }
public PageResponse <UseCaseLoggerDto> Execute(UseCaseSearch search) { var query = context.UseCaseLogs.AsQueryable(); if (!string.IsNullOrEmpty(search.Name) || !string.IsNullOrWhiteSpace(search.Name)) { query = query.Where(x => x.UseCaseName.ToLower().Contains(search.Name.ToLower())); } var skipCount = search.PerPage * (search.Page - 1); var reponse = new PageResponse <UseCaseLoggerDto> { CurrentPage = search.Page, ItemsPerPage = search.PerPage, TotalCount = query.Count(), Items = query.Skip(skipCount).Take(search.PerPage).Select(x => new UseCaseLoggerDto { UseCaseName = x.UseCaseName, Date = x.Date, Data = x.Data, Actor = x.Actor }).ToList() }; return(reponse); }
public PagedResponse <UseCaseDto> Execute(UseCaseSearch search) { var query = context.UseCaseLogs.AsQueryable(); if (!string.IsNullOrEmpty(search.UserName) || !string.IsNullOrWhiteSpace(search.UserName)) { query = query.Where(x => x.Actor.ToLower().Contains(search.UserName.ToLower()) && (x.Date >= search.FromDate && x.Date <= search.ToDate)); } return(query.Paged <UseCaseDto, Domain.UseCaseLog>(search, _mapper)); }
public IActionResult Get([FromQuery] UseCaseSearch search, [FromServices] IGetUseCase query) { return(Ok(executor.ExecuteRequest(query, search))); }
public PagedResponse <UseCaseDto> Execute(UseCaseSearch search) { var upit = _context.UseCaseLogs.AsQueryable(); if (!string.IsNullOrEmpty(search.Naziv) || !string.IsNullOrWhiteSpace(search.Naziv)) { upit = upit.Where(x => x.NazivUseCase.ToLower().Contains(search.Naziv.ToLower())); } string nestoDo = search.DatumDo.Date.ToString("yyyy-MM-dd"); DateTime dateTime = new DateTime(); if (search.DatumOd != dateTime) { if (search.DatumDo != dateTime) { if (search.DatumOd == search.DatumDo) { upit = upit.Where(x => x.Datum.Date == search.DatumOd); } else { upit = upit.Where(x => x.Datum >= search.DatumOd && x.Datum <= search.DatumDo); } } else { upit = upit.Where(x => x.Datum.Date >= search.DatumOd.Date); } } else { if (search.DatumDo != dateTime) { upit = upit.Where(x => x.Datum.Date <= search.DatumDo.Date); } } if (!string.IsNullOrEmpty(search.Email) || !string.IsNullOrWhiteSpace(search.Email)) { if (search.NotAutorizedActor != false) { upit = upit.Where(x => x.Actor.ToLower().Contains(search.Email.ToLower())); } else { upit = upit.Where(x => x.Actor.ToLower().Contains(search.Email.ToLower())); } } else { if (search.NotAutorizedActor != false) { upit = upit.Where(x => x.Actor == "Not authorized actor"); } } var preskokBrojenja = search.PoStrani * (search.Strana - 1); var odgovor = new PagedResponse <UseCaseDto> { TrenutnaStrana = search.Strana, StavkePoStranici = search.PoStrani, UkupniBrojStavki = upit.Count(), Stavke = upit.Skip(preskokBrojenja).Take(search.PoStrani).Select(x => new UseCaseDto { NazivUseCase = x.NazivUseCase, Datum = x.Datum, Podaci = x.Podaci, Actor = x.Actor }).ToList() }; return(odgovor); }