private SelectionFilter CreateFilter(SearchFilterTransferObject data)
        {
            var customerRepository = ObjectFactory.GetInstance <ICustomerRepository>();
            var projectRepository  = ObjectFactory.GetInstance <IProjectRepository>();
            var taskRepository     = ObjectFactory.GetInstance <ITaskRepository>();
            var userRepository     = ObjectFactory.GetInstance <IUserRepository>();
            var filter             = new SelectionFilter();

            foreach (var customerId in data.Customers)
            {
                filter.AddCustomer(customerRepository.GetByID(customerId));
            }

            foreach (var projectId in data.Projects)
            {
                filter.AddProject(projectRepository.GetByID(projectId));
            }

            foreach (var taskId in data.Tasks)
            {
                filter.AddTask(taskRepository.GetById(taskId));
            }

            if (data.Users != null)
            {
                filter.Users = data.Users.Select(u => userRepository.GetByUserID(u)).ToList();
            }

            filter.DateFrom = data.DateFrom;
            filter.DateTo   = data.DateTo;


            return(filter);
        }