public void ShouldSearchBySpecificationWithAssignee()
        {
            new DatabaseTester().Clean();

            var employee1 = new Employee("1", "1", "1", "1");
            var employee2 = new Employee("2", "2", "2", "2");
            var order1    = new ExpenseReport();

            order1.Submitter = employee2;
            order1.Approver  = employee1;
            order1.Number    = "123";
            var order2 = new ExpenseReport();

            order2.Submitter = employee1;
            order2.Approver  = employee2;
            order2.Number    = "456";

            ISession session = DataContext.GetTransactedSession();

            session.SaveOrUpdate(employee1);
            session.SaveOrUpdate(employee2);
            session.SaveOrUpdate(order1);
            session.SaveOrUpdate(order2);
            session.Transaction.Commit();
            session.Dispose();

            var repository    = new ExpenseReportRepository();
            var specification = new SearchSpecification();

            specification.MatchApprover(employee1);
            ExpenseReport[] orders = repository.GetMany(specification);

            Assert.That(orders.Length, Is.EqualTo(1));
            Assert.That(orders[0].Id, Is.EqualTo(order1.Id));
        }
        public ExpenseReport[] GetMany(SearchSpecification specification)
        {
            using (ISession session = DataContext.GetTransactedSession())
            {
                ICriteria criteria = session.CreateCriteria(typeof(ExpenseReport));

                if (specification.Approver != null)
                {
                    criteria.Add(Restrictions.Eq("Approver", specification.Approver));
                }

                if (specification.Submitter != null)
                {
                    criteria.Add(Restrictions.Eq("Submitter", specification.Submitter));
                }

                if (specification.Status != null)
                {
                    criteria.Add(Restrictions.Eq("Status", specification.Status));
                }

                IList <ExpenseReport> list = criteria.List <ExpenseReport>();
                return(new List <ExpenseReport>(list).ToArray());
            }
        }
        public ExpenseReport[] GetMany(SearchSpecification specification)
        {
            using(ISession session = DataContext.GetTransactedSession())
            {
                ICriteria criteria = session.CreateCriteria(typeof (ExpenseReport));

                if (specification.Approver != null)
                {
                    criteria.Add(Restrictions.Eq("Approver", specification.Approver));
                }

                if (specification.Submitter != null)
                {
                    criteria.Add(Restrictions.Eq("Submitter", specification.Submitter));
                }

                if (specification.Status != null)
                {
                    criteria.Add(Restrictions.Eq("Status", specification.Status));
                }

                IList<ExpenseReport> list = criteria.List<ExpenseReport>();
                return new List<ExpenseReport>(list).ToArray();
            }
        }
Esempio n. 4
0
        public AsyncOperationInstance <IList <ISerializableObject> > startSearch(SearchSpecification search, int currentProjectID)
        {
            var op = new AsyncOperationInstance <IList <ISerializableObject> >(false, SearchFinished);


            new Action(() =>
            {
                new Search(this, op).executeSearch(search, currentProjectID);
            }).BeginInvoke(null, null);

            return(op);
        }
Esempio n. 5
0
        public DataPageResponse <NewsRow> Report(SearchSpecification <NewsRow> searchModel)
        {
            var q     = GetQuery();
            var count = q.Count();

            if (searchModel.WhereClouse != null)
            {
                q = q.Where(searchModel.WhereClouse);
            }

            q = ApplySortingRule(q, searchModel, x => x.CategoryPk);
            q = ApplyPagingRule(q, searchModel);

            return(new DataPageResponse <NewsRow>(q.ToList(), searchModel.PageNumber, count));
        }
Esempio n. 6
0
            public void executeSearch(SearchSpecification search, int currentProjectID)
            {
                if (search == null)
                {
                    throw new ArgumentNullException("search");
                }

                _operation.IsProgressIndeterminate = true;
                _operation.StatusDescription       = "Services_FieldData_Querying";

                _configuredSearch = search;
                _currentProjectID = currentProjectID;


                new Action(asyncQuery).BeginInvoke(null, null);
            }
Esempio n. 7
0
        private void AddPoolSpecToSearch(NameValueCollection formData, SearchSpecification spec)
        {
            if (string.IsNullOrEmpty(formData["poolId"]) && (string.IsNullOrEmpty(formData["targetDedicated"]) || string.IsNullOrEmpty(formData["virtualMachineSize"])))
            {
                throw new Exception("An existing PoolId or targetDedicated and virtualMachineSize must be specified");
            }

            if (!string.IsNullOrEmpty(formData["poolId"]))
            {
                spec.PoolId = formData["poolId"];
            }
            else
            {
                spec.TargetDedicated    = int.Parse(formData["targetDedicated"]);
                spec.VirtualMachineSize = formData["virtualMachineSize"];
                spec.PoolDisplayName    = formData["poolName"];
            }
        }
Esempio n. 8
0
        //int pageNumber,int pageSize,string[] orderBy,string whereClouse,object[] whereClouseArguments
        public UserActivitySummaryDataPageResponse Search(SearchSpecification <UserActivity> searchObject)
        {
            var query = GetDefaultQuery();

            if (searchObject.WhereClouse != null)
            {
                query = query.Where(searchObject.WhereClouse);
            }

            var summaryObject = ReadOnlyRepository.TakeSummary(query);

            query = ApplySortingRule(query, searchObject, x => x.Id);
            query = ApplyPagingRule(query, searchObject);

            return(new UserActivitySummaryDataPageResponse(query, searchObject.PageNumber, summaryObject.TotalActivityCount, false)
            {
                Summary = summaryObject,
            });
        }
Esempio n. 9
0
        public ActionResult Index()
        {
            var model = new ToDoModel();

            Employee currentUser = _session.GetCurrentUser();
            var assignedSpecification = new SearchSpecification();
            assignedSpecification.MatchApprover(currentUser);
            assignedSpecification.MatchStatus(ExpenseReportStatus.Submitted);
            ExpenseReport[] assigned = _repository.GetMany(assignedSpecification);
            model.Submitted = assigned;

            var inProgressSpecification = new SearchSpecification();
            inProgressSpecification.MatchApprover(currentUser);
            inProgressSpecification.MatchStatus(ExpenseReportStatus.Approved);
            ExpenseReport[] inProgress = _repository.GetMany(inProgressSpecification);
            model.Approved = inProgress;

            return PartialView(model);
        }
        public ActionResult Index(ExpenseReportSearchModel.SearchFilters filters)
        {
            var model = new ExpenseReportSearchModel();
            if (filters != null)
                model.Filters = filters;

            var accountManager = _employeeRepository.GetByUserName(model.Filters.Submitter);
            var practiceOwner = _employeeRepository.GetByUserName(model.Filters.Approver);
            var status = !string.IsNullOrWhiteSpace(model.Filters.Status) ? ExpenseReportStatus.FromKey(model.Filters.Status) : null;

            var specification = new SearchSpecification();
            specification.MatchSubmitter(accountManager);
            specification.MatchApprover(practiceOwner);
            specification.MatchStatus(status);
            ExpenseReport[] orders = _expenseReportRepository.GetMany(specification);

            model.Results = orders;

            return View(model);
        }
Esempio n. 11
0
        public List <NyaaTorrent> SearchAnime(string aTitle, SearchSpecification aSearchSpec)
        {
            var resultList = new List <NyaaTorrent>();

            var resultData = GetTableData(aTitle, aSearchSpec.SearchCat);

            if (aSearchSpec.SearchSortOrder == SortOrder.ASC)
            {
                resultData.Select().OrderBy(x => x[aSearchSpec.SearchBy]);
            }
            else
            {
                resultData.Select().OrderByDescending(x => x[aSearchSpec.SearchBy]);
            }

            foreach (DataRow dataRow in resultData.Rows)
            {
                try
                {
                    var nyaaTorrent = new NyaaTorrent()
                    {
                        Id          = Convert.ToInt32(dataRow["torrent_id"]),
                        TorrentName = Convert.ToString(dataRow["torrent_name"]),
                        TorrentHash = Convert.IsDBNull(dataRow["torrent_hash"]) ? string.Empty : Convert.ToString(dataRow["torrent_hash"]),
                        Category    = Convert.IsDBNull(dataRow["category"]) ? 0 : Convert.ToInt32(dataRow["category"]),
                        SubCategory = Convert.IsDBNull(dataRow["sub_category"]) ? 0 : Convert.ToInt32(dataRow["sub_category"]),
                        UploadDate  = Convert.IsDBNull(dataRow["date"]) ? new DateTime() : Convert.ToDateTime(dataRow["date"]),
                        FileSize    = Convert.IsDBNull(dataRow["filesize"]) ? string.Empty : Convert.ToString(dataRow["filesize"]),
                        Description = Convert.IsDBNull(dataRow["description"]) ? string.Empty : Convert.ToString(dataRow["description"])
                    };

                    resultList.Add(nyaaTorrent);
                }
                catch (Exception)
                {
                    continue;
                }
            }
            resultData.Dispose();
            return(resultList);
        }
Esempio n. 12
0
        private SearchSpecification CreateSearchModel(NameValueCollection formData)
        {
            // note: only to see what is in here, can be removed
            foreach (var key in formData.AllKeys)
            {
                foreach (var val in formData.GetValues(key))
                {
                    Trace.WriteLine(string.Format("{0}: {1}", key, val));
                }
            }

            var spec = new SearchSpecification
            {
                Name              = formData["searchName"],
                DatabaseName      = formData["databaseName"],
                Executable        = formData["executable"],
                ExecutableArgs    = formData["executableArgs"],
                SearchInputFiles  = new List <SearchInputFile>(),
                SplitSequenceFile = ToBoolean(formData["splitSequenceFile"]),
                SequencesPerQuery = ToInt(formData["seqencesPerQuery"], 1),
            };

            AddPoolSpecToSearch(formData, spec);

            if (formData["searchSequenceText"] != null && !string.IsNullOrEmpty(formData["searchSequenceText"].Trim()))
            {
                var bytes = Encoding.UTF8.GetBytes(formData["searchSequenceText"]);

                spec.SearchInputFiles = new List <SearchInputFile>()
                {
                    new SearchInputFile
                    {
                        Filename = "searchsequence.txt",
                        Content  = new MemoryStream(bytes),
                        Length   = bytes.Length,
                    }
                };
            }

            return(spec);
        }
Esempio n. 13
0
        public ActionResult Index()
        {
            var model = new ToDoModel();

            Employee currentUser           = _session.GetCurrentUser();
            var      assignedSpecification = new SearchSpecification();

            assignedSpecification.MatchApprover(currentUser);
            assignedSpecification.MatchStatus(ExpenseReportStatus.Submitted);
            ExpenseReport[] assigned = _repository.GetMany(assignedSpecification);
            model.Submitted = assigned;

            var inProgressSpecification = new SearchSpecification();

            inProgressSpecification.MatchApprover(currentUser);
            inProgressSpecification.MatchStatus(ExpenseReportStatus.Approved);
            ExpenseReport[] inProgress = _repository.GetMany(inProgressSpecification);
            model.Approved = inProgress;

            return(PartialView(model));
        }
Esempio n. 14
0
        public DataPageResponse GetLightQuery(SearchSpecification <JobLog> specification)
        {
            var q = GetDefaultQuery();

            if (specification.WhereClouse != null)
            {
                q = q.Where(specification.WhereClouse);
            }
            var sq = q.Select(x => new
            {
                x.JobLogPK,
                x.JobName,
                x.RunDt,
                x.Status,
                x.Duration,
                x.Audit_CreateDate
            });

            sq = ApplySortingRule(sq, specification, x => x.JobLogPK);
            sq = ApplyPagingRule(sq, specification);

            return(new DataPageResponse(sq.ToList(), specification.PageNumber, int.MaxValue, false));
        }
Esempio n. 15
0
        public MainWindow(DefaultDBSettings aDefaultDBSettings, DBManager aDefaultDBManager)
        {
            InitializeComponent();

            _dbSettings = aDefaultDBSettings;
            _dbManager  = aDefaultDBManager;

            ViewModel = new MainWindowViewModel();

            var s = new SearchSpecification()
            {
                SearchSortOrder = SortOrder.DESC,
                SearchBy        = "date"
            };



            var res = _dbManager.SearchAnime("", s);

            res.ForEach(x => ViewModel.TorrentCollection.Add(new NyaaTorrentViewModel(x)));

            res.Clear();
        }
Esempio n. 16
0
        public ActionResult Index(ExpenseReportSearchModel.SearchFilters filters)
        {
            var model = new ExpenseReportSearchModel();

            if (filters != null)
            {
                model.Filters = filters;
            }

            var accountManager = _employeeRepository.GetByUserName(model.Filters.Submitter);
            var practiceOwner  = _employeeRepository.GetByUserName(model.Filters.Approver);
            var status         = !string.IsNullOrWhiteSpace(model.Filters.Status) ? ExpenseReportStatus.FromKey(model.Filters.Status) : null;

            var specification = new SearchSpecification();

            specification.MatchSubmitter(accountManager);
            specification.MatchApprover(practiceOwner);
            specification.MatchStatus(status);
            ExpenseReport[] orders = _expenseReportRepository.GetMany(specification);

            model.Results = orders;

            return(View(model));
        }
 AsyncOperationInstance <IList <ISerializableObject> > IFieldDataService.startSearch(SearchSpecification search, int currentProjectID)
 {
     throw new NotImplementedException();
 }
 public AsyncOperationInstance startSearch(SearchSpecification search, int currentProjectID)
 {
     throw new NotImplementedException();
 }
 public AsyncOperationInstance startSearch(SearchSpecification search, int currentProjectID)
 {
     throw new NotImplementedException();
 }
 AsyncOperationInstance<IList<ISerializableObject>> IFieldDataService.startSearch(SearchSpecification search, int currentProjectID)
 {
     throw new NotImplementedException();
 }
Esempio n. 21
0
 public List <NyaaTorrent> SearchAnime(string aTitle, SearchSpecification aSearchSpec)
 {
     return(new List <NyaaTorrent>()
     {
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "2312312312",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestName",
             UploadDate = DateTime.Now
         },
         new NyaaTorrent()
         {
             Category = 1,
             Description = "",
             FileSize = "4234442",
             Id = 1,
             SubCategory = 2,
             TorrentHash = "239021831290381203182381203",
             TorrentName = "TestaaaaaName",
             UploadDate = DateTime.Now
         },
     });
 }
        public void ShouldSearchBySpecificationWithStatus()
        {
            new DatabaseTester().Clean();

            var employee1 = new Employee("1", "1", "1", "1");
            var employee2 = new Employee("2", "2", "2", "2");
            var order1 = new ExpenseReport();
            order1.Submitter = employee2;
            order1.Approver = employee1;
            order1.Number = "123";
            order1.Status = ExpenseReportStatus.Submitted;
            var order2 = new ExpenseReport();
            order2.Submitter = employee1;
            order2.Approver = employee2;
            order2.Number = "456";
            order2.Status = ExpenseReportStatus.Draft;

            ISession session = DataContext.GetTransactedSession();
            session.SaveOrUpdate(employee1);
            session.SaveOrUpdate(employee2);
            session.SaveOrUpdate(order1);
            session.SaveOrUpdate(order2);
            session.Transaction.Commit();
            session.Dispose();

            var repository = new ExpenseReportRepository();
            var specification = new SearchSpecification();
            specification.MatchStatus(ExpenseReportStatus.Submitted);
            ExpenseReport[] orders = repository.GetMany(specification);

            Assert.That(orders.Length, Is.EqualTo(1));
            Assert.That(orders[0].Id, Is.EqualTo(order1.Id));
        }
        public AsyncOperationInstance<IList<ISerializableObject>> startSearch(SearchSpecification search, int currentProjectID)
        {
            var op = new AsyncOperationInstance<IList<ISerializableObject>>(false, SearchFinished);

            new Action(() =>
            {
                new Search(this, op).executeSearch(search, currentProjectID);
            }).BeginInvoke(null, null);

            return op;
        }
 public void QueryDatabase(SearchSpecification search)
 {
     query = search;
     selectionActor.beginAction(new Action<IReportDetailedProgress>(queryWorker));
 }
Esempio n. 25
0
 public void QueryDatabase(SearchSpecification search)
 {
     query = search;
     selectionActor.beginAction(new Action <IReportDetailedProgress>(queryWorker));
 }
Esempio n. 26
0
 public IEnumerable <SellingModel> Search(SearchSpecification searchSpecification)
 {
     return(searchSpecification.SatisfiedBy(GetAllSellings()));
 }