public async Task <IEnumerable <Event> > GetEvents(SearchEventModel searchQuery) { var time = "'" + searchQuery.Time + "'" + "::date"; var sql = "select e.* from event e where "; if (!string.IsNullOrEmpty(searchQuery.Name)) { sql += " name like '%" + searchQuery.Name + "%'"; if (!string.IsNullOrEmpty(searchQuery.Time)) { sql += " and (" + time + " <= e.start_time or (e.start_time >= " + time + " and " + time + " >= e.end_time)) " + " and e.start_time <" + time + " + 90 "; } } else if (!string.IsNullOrEmpty(searchQuery.Time)) { sql += " (" + time + " <= e.start_time or (e.start_time >= " + time + " and " + time + " >= e.end_time)) " + " and e.start_time <" + time + " + 90 "; } sql += " and e.end_time > Now() order by end_time"; Console.WriteLine(sql); using (IDbConnection conn = Connection) { var result = await conn.QueryAsync <Event>(sql, searchQuery); return(result); } }
public ViewResult SearchEvents(SearchEventModel model) { model.EventsFound = from ev in repository.GetEvents() where ev.Name.ToLower().Contains(model.Name.ToLower()) select ev; return(View("Search", model)); }
public ViewResult SearchEvents() { SearchEventModel model = new SearchEventModel(); model.EventsFound = from ev in repository.GetEvents() select ev; return(View("Search", model)); }
public IndexViewModel Load(SearchEventModel filter) { var result = new IndexViewModel(); var mstEvents = _context.MstEvents.Where(e => !e.IsDeleted); filter.Keyword = filter.Keyword?.Trim().ToLower(); filter.KeywordKana = filter.KeywordKana?.Trim().ToLower(); if (!string.IsNullOrEmpty(filter.EventCode?.Trim().ToLower())) { mstEvents = mstEvents.Where(x => x.Code.ToLower().Contains(filter.EventCode.Trim().ToLower())); } if (!string.IsNullOrEmpty(filter.Keyword) || !string.IsNullOrEmpty(filter.KeywordKana)) { mstEvents = mstEvents.Where(x => x.Name.ToLower().Contains(filter.Keyword) || x.NameAbbr.ToLower().Contains(filter.Keyword) || x.NameKana.ToLower().Contains(filter.Keyword) || x.NameKana.ToLower().Contains(filter.KeywordKana)); } result.TotalRowsAfterFiltering = mstEvents.Count(); mstEvents = Filtering(mstEvents, filter); result.ListEvent = mstEvents .Select(e => new { e.Cd, e.Name, e.Code, e.NameKana, e.StartDate, e.EndDate, e.StartTime, e.EndTime, SalemanName = e.MainSalesman.Name, e.ApplicationUser.Id, e.InsertDate }) .AsEnumerable() .Select(y => new ListEventModel() { Cd = y.Cd, EventNameKana = y.NameKana, Name = y.Name, EventCode = y.Code, StartDate = y.StartDate?.ToString(Constants.ExactDateFormat), EndDate = y.EndDate?.ToString(Constants.ExactDateFormat), EventTime = ((y.StartTime == null && y.EndTime == null) ? "" : (string.Format("{0:hh\\:mm}", y.StartTime) + " ~ " + string.Format("{0:hh\\:mm}", y.EndTime))), SalemanName = y.SalemanName, ApplicationUserId = y.Id, }).ToList(); return(result); }
public void SearchEventsPostTest() { Mock <ControllerContext> controllerContext = new Mock <ControllerContext>(); Mock <IPrincipal> principal = new Mock <IPrincipal>(); Mock <IMainRepository> repository = new Mock <IMainRepository>(); Cinema cinema1 = new Cinema(); Cinema cinema2 = new Cinema(); Movie movie1 = new Movie(); Movie movie2 = new Movie(); AppUser user1 = new AppUser { UserName = "******" }; AppUser user2 = new AppUser { UserName = "******" }; Event event1 = new Event { Cinema = cinema1, Movie = movie1, IsApproved = false, Price = 50, Author = user1.UserName, Name = "Relax" }; Event event2 = new Event { Movie = movie2, Cinema = cinema2, IsApproved = true, Price = 100, Author = user2.UserName, Name = "Be Happy" }; SearchEventModel model = new SearchEventModel { Name = "relax" }; repository.Setup(x => x.GetEvents()).Returns( new List <Event> { event1, event2 }); SearchEventsController controller = new SearchEventsController(repository.Object); var result = (SearchEventModel)controller.SearchEvents(model).ViewData.Model; Assert.AreEqual(cinema1, result.EventsFound.ToList()[0].Cinema); Assert.AreEqual(movie1, result.EventsFound.ToList()[0].Movie); Assert.AreEqual(false, result.EventsFound.ToList()[0].IsApproved); Assert.AreEqual("user1", result.EventsFound.ToList()[0].Author); Assert.AreEqual("Relax", result.EventsFound.ToList()[0].Name); }
public async Task <JsonResult> GetByRegionOrName([FromQuery] SearchEventModel searchModel) { if (string.IsNullOrEmpty(searchModel.Value)) { return(Json(null)); } var events = await _eventService.GetEvents(); SearchEventResultModel search = default; switch (searchModel.SearchType) { case SearchType.Region: search = events.Where(x => x.Region.ToLower() == searchModel.Value.ToLower()) .GroupBy(x => new { x.Country, x.Region }) .Select(x => new SearchEventResultModel { Tag = $"{x.Key.Country}.{x.Key.Region}", Quantity = x.Count() }) .FirstOrDefault(); break; case SearchType.SensorName: search = events.Where(x => x.SensorName.ToLower() == searchModel.Value.ToLower()) .GroupBy(x => new { x.Country, x.Region, x.SensorName }) .Select(x => new SearchEventResultModel { Tag = $"{x.Key.Country}.{x.Key.Region}.{x.Key.SensorName}", Quantity = x.Count() }) .FirstOrDefault(); break; } return(Json(search)); }
public async Task <IEnumerable <Event> > GetEvents([FromQuery] SearchEventModel e) { return(await _eventRepository.GetEvents(e)); }