protected void btnClear_Click(object sender, EventArgs e)
        {
            ClearSelections();
            var criteria = new EventSearchCriteria();

            SaveFilter(criteria);
            DoFilter(criteria);
        }
Exemple #2
0
        //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");
        }
Exemple #5
0
        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);
        }
        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 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 btnClear_Click(object sender, EventArgs e)
 {
     ClearSelections();
     var criteria = new EventSearchCriteria();
     SaveFilter(criteria);
     DoFilter(criteria);
 }
 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");
            }
        }
 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");
            }
        }