Пример #1
0
        public void NameShouldBeBlankWhenSetToNothing()
        {
            var input = new SymptomSearchModel();

            var value = input.SymptomName ?? "Blank";

            input.SymptomName = null;

            Assert.AreEqual(value, "Blank");
        }
Пример #2
0
        public void RandomSearchWordShouldRandomWhenSetToNothing()
        {
            var input = new SymptomSearchModel();
            var value = input.RandomWord ?? "Random";

            //Act
            input.RandomWord = null;

            //Assert
            Assert.AreEqual(value, "Random");
        }
Пример #3
0
        public Task <List <SymptomApiModel> > GetSymptoms(SymptomSearchModel search = null)
        {
            if (search == null)
            {
                return(GetSymptoms());
            }

            var searchname = search.SymptomName ?? "blank";

            var randomwords = search.RandomWord ?? "Random";

            var order = search.SortOrder ?? "Descending";

            var searchDate = search.Date ?? DateTimeOffset.UtcNow.Date;

            var query = _db.Symptoms.AsNoTracking().Where(s => !s.SymptomName.Equals("blank") &&
                                                          s.SymptomName.Contains(searchname) || !s.Description.Equals("random") && s.Description.Contains(randomwords));

            switch (order)
            {
            case "Ascending":
                query = query.OrderBy(q => q.SymptomName);
                break;

            case "Date_Ascending":
                query = query.OrderBy(q => q.CreatedAt);
                break;

            default:
                query = query.OrderBy(q => q.SymptomName)
                        .OrderByDescending(q => q.CreatedAt);
                break;
            }

            query = query.Skip(5).Take(10);

            return(query.ProjectTo <SymptomApiModel>().ToListAsync());
        }