public PagedResponse <UseCaseLogDto> Execute(UseCaseLogSearch search)
        {
            var query = _context.UseCaseLogs.AsQueryable();

            switch (search.SearchBy)
            {
            case "datetime":
                break;

            case "actor":
                if (!string.IsNullOrEmpty(search.SearchText) || !string.IsNullOrWhiteSpace(search.SearchText))
                {
                    query = query.Where(ucl => ucl.Actor.ToLower().Contains(search.SearchText.ToLower()));
                }
                break;

            case "usecasename":
                if (!string.IsNullOrEmpty(search.SearchText) || !string.IsNullOrWhiteSpace(search.SearchText))
                {
                    query = query.Where(ucl => ucl.UseCaseName.ToLower().Contains(search.SearchText.ToLower()));
                }
                break;
            }


            return(query.Paged <UseCaseLogDto, UseCaseLog>(search, _mapper));
        }
Ejemplo n.º 2
0
        public PagedResponse <UseCaseLogDto> Execute(UseCaseLogSearch search)
        {
            var query = _context.UseCaseLogs.AsQueryable();


            if (!string.IsNullOrEmpty(search.Actor) || !string.IsNullOrWhiteSpace(search.Actor))
            {
                query = query.Where(x => x.Actor.ToLower().Contains(search.Actor.ToLower()));
            }

            if (!string.IsNullOrEmpty(search.UseCaseName) || !string.IsNullOrWhiteSpace(search.UseCaseName))
            {
                query = query.Where(x => x.UseCaseName.ToLower().Contains(search.UseCaseName.ToLower()));
            }


            var skipCount = search.PerPage * (search.Page - 1);

            var response = new PagedResponse <UseCaseLogDto>
            {
                CurrentPage  = search.Page,
                ItemsPerPage = search.PerPage,
                TotalCount   = query.Count(),
                Items        = query.Skip(skipCount).Take(search.PerPage).Select(x => new UseCaseLogDto
                {
                    Id          = x.Id,
                    Actor       = x.Actor,
                    Data        = x.Data,
                    Date        = x.Date,
                    UseCaseName = x.UseCaseName
                }).ToList()
            };

            return(response);
        }
Ejemplo n.º 3
0
        public PagedResponse <UseCaseLogDto> Execute(UseCaseLogSearch search)
        {
            var query = _context.UseCaseLogs.AsQueryable();

            if (!string.IsNullOrEmpty(search.UseCaseName) || !string.IsNullOrWhiteSpace(search.UseCaseName))
            {
                query = query.Where(x => x.UseCaseName.ToLower().Contains(search.UseCaseName.ToLower()));
            }

            if (!string.IsNullOrEmpty(search.Actor) || !string.IsNullOrWhiteSpace(search.Actor))
            {
                query = query.Where(x => x.Actor.ToLower().Contains(search.Actor.ToLower()));
            }

            if (search.BeforeDate != null)
            {
                query = query.Where(x => x.Date < search.BeforeDate);
            }

            if (search.AfterDate != null)
            {
                query = query.Where(x => x.Date > search.AfterDate);
            }

            return(query.Paged <UseCaseLogDto, UseCaseLog>(search, _mapper));
        }
        public IEnumerable <UseCaseLog> Execute(UseCaseLogSearch search)
        {
            var query = context.UseCaseLogs.AsQueryable();

            if (search.StartDate != null)
            {
                query = query.Where(x => x.Date > search.StartDate);
            }

            if (search.EndDate != null)
            {
                query = query.Where(x => x.Date < search.EndDate);
            }

            if (search.UseCaseNameKeyword != null)
            {
                query = query.Where(x => x.UseCaseName.ToLower().Contains(search.UseCaseNameKeyword.ToLower()));
            }

            if (search.DataKeyword != null)
            {
                query = query.Where(x => x.Data.ToLower().Contains(search.DataKeyword.ToLower()));
            }

            if (search.ActorKeyword != null)
            {
                query = query.Where(x => x.Actor.ToLower().Contains(search.ActorKeyword.ToLower()));
            }

            return(query.ToList());
        }
Ejemplo n.º 5
0
        public PagedResponse <UseCaseLogDto> Execute(UseCaseLogSearch search)
        {
            var query = _context.UseCaseLogs.AsQueryable();

            if (!string.IsNullOrEmpty(search.useCaseName) || !string.IsNullOrWhiteSpace(search.useCaseName))
            {
                query = query.Where(x => x.UseCaseName.ToLower().Contains(search.useCaseName.ToLower()));
            }
            if (!string.IsNullOrEmpty(search.actor) || !string.IsNullOrWhiteSpace(search.actor))
            {
                query = query.Where(x => x.Actor.ToLower().Contains(search.actor.ToLower()));
            }
            if (search.fromDate != null)
            {
                query = query.Where(x => x.Date.CompareTo(search.fromDate) >= 0);
            }
            //if (search.toDate!=null && search.toDate>search.fromDate)
            //{
            //    query = query.Where(x => x.Date.CompareTo(search.toDate)<=0);
            //}
            var skipCount = search.PerPage * (search.Page - 1);

            var response = new PagedResponse <UseCaseLogDto>
            {
                CurrentPage  = search.Page,
                ItemsPerPage = search.PerPage,
                TotalCount   = query.Count(),
                Items        = query.Skip(skipCount).Take(search.PerPage).Select(x => _mapper.Map <UseCaseLogDto>(x))
            };

            return(response);
        }
        public PagedResponse <UseCaseLogDto> Execute(UseCaseLogSearch search)
        {
            var query = _context.UseCaseLogs.AsQueryable();

            if (!string.IsNullOrEmpty(search.UseCaseName) || !string.IsNullOrWhiteSpace(search.UseCaseName))
            {
                query = query.Where(x => x.UseCaseName.ToLower().Contains(search.UseCaseName.ToLower()));
            }
            if (!string.IsNullOrEmpty(search.Actor) || !string.IsNullOrWhiteSpace(search.Actor))
            {
                query = query.Where(x => x.Actor.ToLower().Contains(search.Actor.ToLower()));
            }
            if (search.FromDate != null)
            {
                query = query.Where(x => x.Date >= search.FromDate);
            }
            if (search.ToDate != null)
            {
                query = query.Where(x => x.Date <= search.ToDate);
            }
            var skipCount = search.PerPage * (search.Page - 1);
            var response  = new PagedResponse <UseCaseLogDto>
            {
                CurrentPage  = search.Page,
                ItemsPerPage = search.PerPage,
                TotalCount   = query.Count(),
                Items        = _mapper.Map <List <UseCaseLogDto> >(query.Skip(skipCount).Take(search.PerPage).ToList())
            };

            return(response);
        }
Ejemplo n.º 7
0
        public IActionResult Get([FromQuery] UseCaseLogSearch search
                                 , [FromServices] IGetUseCaseLogsQuery query)
        {
            IEnumerable <UseCaseLog> useCaseLogs = _useCaseExecutor.ExecuteQuery(query, search);

            return(Ok(useCaseLogs));
        }
Ejemplo n.º 8
0
        public PagedResponse <UseCaseLogDto> Izvrsi(UseCaseLogSearch search)
        {
            var query = _context.UseCaseLogs.AsQueryable();

            if (!string.IsNullOrEmpty(search.Naziv) || !string.IsNullOrWhiteSpace(search.Naziv))
            {
                query = query.Where(x => x.UseCaseNaziv.ToLower().Contains(search.Naziv.ToLower()));
            }

            var skipCount = search.PerPage * (search.Page - 1);

            var response = new PagedResponse <UseCaseLogDto>
            {
                CurrentPage  = search.Page,
                ItemsPerPage = search.PerPage,
                TotalCount   = query.Count(),
                Items        = query.Skip(skipCount).Take(search.PerPage).Select(x => new UseCaseLogDto
                {
                    Id           = x.Id,
                    UseCaseNaziv = x.UseCaseNaziv
                }).ToList()
            };

            return(response);
        }
        public PagedResponse <UseCaseSearchDto> Execute(UseCaseLogSearch search)
        {
            var query = context.UseCaseLogs.AsQueryable();


            if (!string.IsNullOrEmpty(search.NazivUseCase) || !string.IsNullOrWhiteSpace(search.NazivUseCase))
            {
                query = query.Where(x => x.UseCaseNaziv.ToLower().Contains(search.NazivUseCase.ToLower()));
            }
            if (search.Datum != new DateTime())
            {
                query = query.Where(x => x.Datum.Date.ToString() == search.Datum.Date.ToString("yyyy-MM-dd"));
            }

            if (!string.IsNullOrEmpty(search.EmailKlijenta) || !string.IsNullOrWhiteSpace(search.EmailKlijenta))
            {
                if (search.NeUlogovaniKlijent != false)
                {
                    query = query.Where(x => x.Actor.ToLower().Contains(search.EmailKlijenta.ToLower()));
                }
                else
                {
                    query = query.Where(x => x.Actor.ToLower().Contains(search.EmailKlijenta.ToLower()));
                }
            }
            else
            {
                if (search.NeUlogovaniKlijent != false)
                {
                    query = query.Where(x => x.Actor == "Ne ulogovani klijent");
                }
            }

            var skipCount = search.PerPage * (search.Page - 1);

            var response = new PagedResponse <UseCaseSearchDto>
            {
                CurrentPage  = search.Page,
                ItemsPerPage = search.PerPage,
                TotalCount   = query.Count(),
                Items        = query.Skip(skipCount).Take(search.PerPage).Select(x => new UseCaseSearchDto
                {
                    UseCaseNaziv = x.UseCaseNaziv,
                    Podaci       = x.Podaci,
                    Actor        = x.Actor,
                    Datum        = x.Datum
                }).ToList()
            };

            return(response);
        }
Ejemplo n.º 10
0
        public PagedResponse <UseCaseLogDto> Execute(UseCaseLogSearch search)
        {
            var query = _context.UseCaseLogs.Include(x => x.User).Include(x => x.UseCase).AsQueryable();

            if (!string.IsNullOrEmpty(search.UseCaseName) || !string.IsNullOrWhiteSpace(search.UseCaseName))
            {
                query = query.Where(x => x.UseCase.Name.ToLower().Contains(search.UseCaseName.ToLower()));
                // query = query.Where(x => x.Name.ToLower().Contains(search.Name.ToLower()));
            }
            if (!string.IsNullOrEmpty(search.UserEmail) || !string.IsNullOrWhiteSpace(search.UserEmail))
            {
                query = query.Where(x => x.User.Email.ToLower().Contains(search.UserEmail.ToLower()));
            }

            if (search.StartDate != null)
            {
                query = query.Where(x => x.Date >= search.StartDate);
            }
            if (search.EndDate != null)
            {
                query = query.Where(x => x.Date <= search.EndDate);
            }

            var skipCount = search.PerPage * (search.Page - 1);


            var response = new PagedResponse <UseCaseLogDto>
            {
                CurrentPage  = search.Page,
                ItemsPerPage = search.PerPage,
                TotalCount   = query.Count(),
                Items        = query.Skip(skipCount).Take(search.PerPage).Select(x => new UseCaseLogDto
                {
                    Id          = x.Id,
                    Data        = x.Data,
                    Date        = x.Date,
                    UseCaseId   = x.UseCase.Id,
                    UseCaseName = x.UseCase.Name,
                    UserId      = x.User.Id,
                    UserEmail   = x.User.Email
                }).ToList()
            };

            return(response);
        }
        public PagedResponse <UseCaseLogDto> Execute(UseCaseLogSearch search)
        {
            var query = context.UseCaseLogs.AsQueryable();

            if (!string.IsNullOrEmpty(search.Actor) || !string.IsNullOrWhiteSpace(search.Actor))
            {
                query = query.Where(x => x.Actor.ToLower().Contains(search.Actor.ToLower()));
            }
            if (!string.IsNullOrEmpty(search.UseCaseName) || !string.IsNullOrWhiteSpace(search.UseCaseName))
            {
                query = query.Where(x => x.UseCaseName.ToLower().Contains(search.UseCaseName.ToLower()));
            }

            if (!string.IsNullOrEmpty(search.DateStart) || !string.IsNullOrWhiteSpace(search.DateStart) ||
                !string.IsNullOrEmpty(search.DateEnd) || !string.IsNullOrWhiteSpace(search.DateEnd))
            {
                DateTime startDate = Convert.ToDateTime(search.DateStart);
                DateTime endDate   = Convert.ToDateTime(search.DateEnd);

                query = query.Where(x => x.Date >= startDate && x.Date <= endDate);
            }

            return(query.Paged <UseCaseLogDto, Domain.Entities.UseCaseLog>(search, mapper));
            //var skipCount = search.PerPage * (search.Page - 1);

            ////Page == 1
            //var reponse = new PagedResponse<UseCaseLogDto>
            //{
            //    CurrentPage = search.Page,
            //    ItemsPerPage = search.PerPage,
            //    TotalCount = query.Count(),
            //    Items = query.Skip(skipCount).Take(search.PerPage).Select(x => new UseCaseLogDto
            //    {
            //        //maper dodaj ovde
            //        Id = x.Id,
            //        Actor = x.Actor,
            //        UseCaseName = x.UseCaseName,
            //        Data = x.Data,
            //        Date = x.Date
            //    }).ToList()
            //};

            //return reponse;
        }
Ejemplo n.º 12
0
        public PagedResponse <UseCaseLogDto, UseCaseLog> Execute(UseCaseLogSearch search)
        {
            if (_actor.RoleType != RoleType.Administrator && _actor.RoleType != RoleType.Moderator)
            {
                throw new NotAllowedException(UseCase.getUseCase(this.Id), _actor, "Only administrator and moderator can execute this action.");
            }

            var query = _context.UseCaseLogs.AsQueryable();

            if (search.UseCaseId != 0)
            {
                query = query.Where(r => r.UseCaseId == search.UseCaseId);
            }

            if (!string.IsNullOrEmpty(search.Data) && !string.IsNullOrWhiteSpace(search.Data))
            {
                query = query.Where(r => r.Data.ToLower().Contains(search.Data.ToLower()));
            }

            if (!string.IsNullOrEmpty(search.UseCaseName) && !string.IsNullOrWhiteSpace(search.UseCaseName))
            {
                query = query.Where(r => r.UseCaseName.ToLower().Contains(search.UseCaseName.ToLower()));
            }

            if (!string.IsNullOrEmpty(search.Actor) && !string.IsNullOrWhiteSpace(search.Actor))
            {
                query = query.Where(r => r.Actor.ToLower().Contains(search.Actor.ToLower()));
            }

            if (!string.IsNullOrEmpty(search.DateFrom) && !string.IsNullOrWhiteSpace(search.DateFrom))
            {
                query = query.Where(r => r.Date.Date >= DateTime.Parse(search.DateFrom));
            }

            if (!string.IsNullOrEmpty(search.DateTo) && !string.IsNullOrWhiteSpace(search.DateTo))
            {
                query = query.Where(r => r.Date.Date <= DateTime.Parse(search.DateTo));
            }

            query = query;

            return(new PagedResponse <UseCaseLogDto, UseCaseLog>(query, search, _mapper));
        }
 public IActionResult Get([FromQuery] UseCaseLogSearch search, [FromServices] IGetUseCaseLogQuery query)
 {
     return(Ok(_executor.ExecuteQuery(query, search)));
 }