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));
        }
Beispiel #4
0
 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);
        }