protected void btnClear_Click(object sender, EventArgs e) { ClearSelections(); var criteria = new EventSearchCriteria(); SaveFilter(criteria); DoFilter(criteria); }
//private void btnGenerateInfoLog_Click(object sender, EventArgs e) //{ // var r = new Random(); // for (int i = 0; i < 100; i++) // { // Logger.InfoFormat("Randomly generated Info log:{0}", r.Next(1000, 1000000)); // } // MessageBox.Show("100 info log entries has been generated."); //} private EventSearchCriteria getEventSearch() { var dict = panel2.Controls.Cast <GroupBox>().ToDictionary(a => a.Text, a => a.Controls[0] is DateTimePicker ? ((DateTimePicker)a.Controls[0]).Value.ToString() : a.Controls[0].Text); var newsearch = new EventSearchCriteria(); //int s; decimal d; DateTime dt; foreach (var p in dict) { var k = p.Key.ToLower(); if (k == "idevent") { newsearch.EventID = p.Value; } else if (k == "marketcontext") { newsearch.MarketContext = p.Value; } else if (k == "starttime" && DateTime.TryParse(p.Value, out dt)) { newsearch.StartTime = dt.Date; } else if (k == "status") { newsearch.Status = p.Value; } else if (k == "currentvalue") { newsearch.CurrentValue = p.Value; } else if (k == "currentvalue") { newsearch.CurrentValue = p.Value; } else if (k == "vtncomment") { newsearch.VTNComment = p.Value; } else if (k == "responserequired") { newsearch.ResponseRequired = p.Value; } } return(newsearch); }
public bool FilterEventsList(object item) { var callModel = item as HistoryCallEventViewModel; if (callModel != null) { if (callModel.CallEvent != null && ActiveTab == 1 && callModel.CallEvent.Status != VATRPHistoryEvent.StatusType.Missed) { return(false); } if (callModel.Contact != null) { if (callModel.DisplayName.ToLower().Contains(EventSearchCriteria.ToLower())) { return(true); } } return(callModel.CallEvent != null && callModel.CallEvent.Username.ToLower().Contains(EventSearchCriteria.ToLower())); } return(true); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { InitialFilter = false; if (Request.QueryString.Count > 0) { InitialFilter = PrepareFilter(); Page.PreRenderComplete += (s, args) => { EnactFilter(); }; } if (!InitialFilter) { var criteria = new EventSearchCriteria(); SaveFilter(criteria); DoFilter(criteria); } } int programId; var sessionProgramId = Session["ProgramID"]; if (sessionProgramId == null || !int.TryParse(sessionProgramId.ToString(), out programId)) { programId = Programs.GetDefaultProgramID(); } var program = Programs.FetchObject(programId); this.FirstAvailableDate = program.StartDate.ToShortDateString(); this.LastAvailableDate = program.EndDate.ToShortDateString(); var basePage = (BaseSRPPage)Page; this.NoneAvailableText = basePage.GetResourceString("events-none-available"); }
public bool FilterContactsList(object item) { var contactModel = item as ContactViewModel; if (contactModel != null) { if (contactModel.Contact != null && ActiveTab == 1 && !contactModel.Contact.IsFavorite) { return(false); } if (contactModel.Contact != null) { if (contactModel.Contact.Fullname.ToLower().Contains(EventSearchCriteria.ToLower())) { return(true); } return(contactModel.Contact.ContactAddress_ForUI.ToLower().Contains(EventSearchCriteria.ToLower())); } } return(true); }
public Tuple <IEnumerable <Event>, int> FindWithOffsetFetch(EventSearchCriteria criteria , int pageIndex , int pageSize , List <SortDescriptor> sortings) { using (IDbConnection connection = base.OpenConnection()) { //, lv.Name AS [Level] // INNER JOIN [Level] lv ON l.LevelId = lv.Id const string selectQuery = @" ;WITH _data AS ( SELECT l.* FROM dbo.Events l /**where**/ ), _count AS ( SELECT COUNT(1) AS TotalCount FROM _data ) SELECT * FROM _data CROSS APPLY _count /**orderby**/ OFFSET @PageIndex * @PageSize ROWS FETCH NEXT @PageSize ROWS ONLY"; SqlBuilder builder = new SqlBuilder(); var selector = builder.AddTemplate(selectQuery, new { PageIndex = pageIndex, PageSize = pageSize }); if (!string.IsNullOrEmpty(criteria.EventID)) { builder.Where("l.IDEvent = @v1", new { v1 = criteria.EventID }); } if (!string.IsNullOrEmpty(criteria.MarketContext)) { var msg = "%" + criteria.MarketContext + "%"; builder.Where("l.MarketContext Like @v2", new { v2 = msg }); } if (criteria.StartTime != null) { builder.Where("cast (l.StartTime as date) = @v3", new { v3 = criteria.StartTime }); } if (!string.IsNullOrEmpty(criteria.Status)) { builder.Where("l.Status = @v4", new { v4 = criteria.Status }); } if (!string.IsNullOrEmpty(criteria.CurrentValue)) { var msg = "%" + criteria.CurrentValue + "%"; builder.Where("l.CurrentValue Like @v5", new { v5 = msg }); } if (!string.IsNullOrEmpty(criteria.VTNComment)) { var msg = "%" + criteria.VTNComment + "%"; builder.Where("l.VTNComment Like @v6", new { v6 = msg }); } if (!string.IsNullOrEmpty(criteria.ResponseRequired)) { var msg = "%" + criteria.ResponseRequired + "%"; builder.Where("l.ResponseRequired Like @v7", new { v7 = msg }); } foreach (var sorting in sortings) { if (string.IsNullOrWhiteSpace(sorting.Field)) { continue; } if (sorting.Direction == SortDescriptor.SortingDirection.Ascending) { builder.OrderBy(sorting.Field); } else if (sorting.Direction == SortDescriptor.SortingDirection.Descending) { builder.OrderBy(sorting.Field + " desc"); } } var rows = connection.Query <Event>(selector.RawSql, selector.Parameters).ToList(); if (rows.Count == 0) { return(new Tuple <IEnumerable <Event>, int>(rows, 0)); } return(new Tuple <IEnumerable <Event>, int>(rows, rows[0].TotalCount)); } }
protected void SaveFilter(EventSearchCriteria criteria) { Session[SessionKey.EventFilter] = criteria; }
protected void DoFilter(EventSearchCriteria criteria) { StringBuilder sb = new StringBuilder(); if (!string.IsNullOrEmpty(criteria.StartDate)) { sb.Append("Start Date: "); sb.Append("<strong>"); sb.Append(criteria.StartDate); sb.Append("</strong>"); } if (!string.IsNullOrEmpty(criteria.EndDate)) { if (sb.Length > 0) { sb.Append(" / "); } sb.Append("End date: "); sb.Append("<strong>"); sb.Append(criteria.EndDate); sb.Append("</strong>"); } if (criteria.SystemId > 0) { if (sb.Length > 0) { sb.Append(" / "); } sb.Append("System: "); sb.Append("<strong>"); sb.Append(SystemId.Items.FindByValue(criteria.SystemId.ToString()).Text); sb.Append("</strong>"); } if (criteria.BranchId > 0) { if (sb.Length > 0) { sb.Append(" / "); } sb.Append("Branch/library: "); sb.Append("<strong>"); sb.Append(criteria.BranchName); sb.Append("</strong>"); } if (!string.IsNullOrWhiteSpace(criteria.SearchText)) { if (sb.Length > 0) { sb.Append(" / "); } sb.Append("Search text: "); sb.Append("<strong>"); sb.Append(criteria.SearchText); sb.Append("</strong>"); } WhatsShowing.Text = WhatsShowingPrint.Text = sb.ToString(); WhatsShowingPanel.Visible = Filtered = !string.IsNullOrEmpty(WhatsShowing.Text); if (string.IsNullOrEmpty(WhatsShowing.Text)) { // no filter criteria, use cache if possible var st = new SessionTools(Session); var cachedEvents = st.GetCache(Cache, CacheKey.AllEvents) as System.Data.DataSet; if (cachedEvents != null) { rptr.DataSource = cachedEvents; } else { var allEvents = Event.GetUpcomingDisplay( criteria.StartDate, criteria.EndDate, criteria.SystemId, criteria.BranchId, criteria.SearchText); rptr.DataSource = allEvents; string tenantCacheKey = st.GetTenantCacheKey(CacheKey.AllEvents); Cache.Insert(tenantCacheKey, allEvents, null, DateTime.UtcNow.AddHours(2), System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.Default, null); } } else { rptr.DataSource = Event.GetUpcomingDisplay( criteria.StartDate, criteria.EndDate, criteria.SystemId, criteria.BranchId, criteria.SearchText); } rptr.DataBind(); var wt = new WebTools(); if (Filtered) { StartDate.CssClass = wt.CssEnsureClass(StartDate.CssClass, "gra-search-active"); EndDate.CssClass = wt.CssEnsureClass(EndDate.CssClass, "gra-search-active"); BranchId.CssClass = wt.CssEnsureClass(BranchId.CssClass, "gra-search-active"); SystemId.CssClass = wt.CssEnsureClass(SystemId.CssClass, "gra-search-active"); SearchText.CssClass = wt.CssEnsureClass(SearchText.CssClass, "gra-search-active"); } else { StartDate.CssClass = wt.CssRemoveClass(StartDate.CssClass, "gra-search-active"); EndDate.CssClass = wt.CssRemoveClass(EndDate.CssClass, "gra-search-active"); BranchId.CssClass = wt.CssRemoveClass(BranchId.CssClass, "gra-search-active"); SystemId.CssClass = wt.CssRemoveClass(SystemId.CssClass, "gra-search-active"); SearchText.CssClass = wt.CssRemoveClass(SearchText.CssClass, "gra-search-active"); } }