예제 #1
0
        private bool SearchByDays(DaysFilter searchFilter, out List <CriminalEvent> criminalEvents, out string result)
        {
            result = string.Empty;

            criminalEvents = null;

            try
            {
                if (searchFilter == null)
                {
                    result = "Search Filter Is Null";

                    return(false);
                }

                List <object> parameters = new List <object>();
                parameters.Add(searchFilter.Days);

                if (!Retrieve(QueryType.ByDay, parameters, out criminalEvents, out result))
                {
                    return(false);
                }

                return(true);
            }
            catch (Exception e)
            {
                result = e.Message;

                return(false);
            }
        }
        private void btnQuery_Click(object sender, EventArgs e)
        {
            string result;

            try
            {
                if (!ValidateFilter(out result))
                {
                    OnAudit($"שגיאת הגדרת חיפוש {result}", AuditSeverity.Error);

                    return;
                }

                if (Reply != null)
                {
                    DaysFilter daysFilter = null;
                    TimeFilter timeFilter = null;
                    DateFilter dateFilter = null;

                    if (chkDay.Checked)
                    {
                        daysFilter = new DaysFilter();

                        if (lbDays.SelectedItems != null)
                        {
                            foreach (object oDay in lbDays.SelectedItems)
                            {
                                int dayIndex = lbDays.Items.IndexOf(oDay);
                                daysFilter.Days.Add((DayOfWeek)dayIndex);
                            }
                        }
                    }

                    if (chkTime.Checked)
                    {
                        timeFilter = new TimeFilter();

                        if (rbTime.Checked)
                        {
                            timeFilter.Time = dtTime.Value;
                        }
                        else
                        {
                            timeFilter.TimeFrom = dtTimeFrom.Value;
                            timeFilter.TimeTo   = dtTimeTo.Value;
                        }

                        timeFilter.FromTo = !rbTime.Checked;
                    }

                    if (chkDate.Checked)
                    {
                        dateFilter = new DateFilter();

                        if (rbDate.Checked)
                        {
                            dateFilter.Date = dtDate.Value;
                        }
                        else
                        {
                            dateFilter.DateFrom = dtDateFrom.Value;
                            dateFilter.DateTo   = dtDateTo.Value;
                        }

                        dateFilter.FromTo = !rbDate.Checked;
                    }

                    SearchFilter searchFilter = new SearchFilter(daysFilter, timeFilter, dateFilter);

                    Reply(null, searchFilter);

                    Close();
                }
            }
            catch (Exception ex)
            {
                OnAudit($"תקלת שאילתא: {ex.Message}", AuditSeverity.Error);
            }
        }
예제 #3
0
        private void btnQuery_Click(object sender, EventArgs e)
        {
            string result;

            if (!ValidateFilter(out result))
            {
                OnAudit($"שגיאת הגדרת חיפוש {result}", AuditSeverity.Error);

                return;
            }

            if (Reply != null)
            {
                #region Criminal Events

                List <CriminalEventType> eventTypesSearch = new List <CriminalEventType>();

                foreach (object oEventType in lbEventTypes.SelectedItems)
                {
                    int eventTypeIndex = lbEventTypes.Items.IndexOf(oEventType);
                    eventTypesSearch.Add((CriminalEventType)eventTypeIndex);
                }

                if (eventTypesSearch.Count == 0)
                {
                    eventTypesSearch = null;
                }

                #endregion

                #region Date / Time

                DaysFilter daysFilter = null;
                TimeFilter timeFilter = null;
                DateFilter dateFilter = null;

                if (chkDay.Checked)
                {
                    daysFilter = new DaysFilter();

                    if (lbDays.SelectedItems != null)
                    {
                        foreach (object oDay in lbDays.SelectedItems)
                        {
                            int dayIndex = lbDays.Items.IndexOf(oDay);
                            daysFilter.Days.Add((DayOfWeek)dayIndex);
                        }
                    }
                }

                if (chkTime.Checked)
                {
                    timeFilter = new TimeFilter();

                    if (rbTime.Checked)
                    {
                        timeFilter.Time = dtTime.Value;
                    }
                    else
                    {
                        timeFilter.TimeFrom = dtTimeFrom.Value;
                        timeFilter.TimeTo   = dtTimeTo.Value;
                    }

                    timeFilter.FromTo = !rbTime.Checked;
                }

                if (chkDate.Checked)
                {
                    dateFilter = new DateFilter();

                    if (rbDate.Checked)
                    {
                        dateFilter.Date = dtDate.Value;
                    }
                    else
                    {
                        dateFilter.DateFrom = dtDateFrom.Value;
                        dateFilter.DateTo   = dtDateTo.Value;
                    }

                    dateFilter.FromTo = !rbDate.Checked;
                }

                #endregion

                #region Family

                List <string> keyWordsSearchFamily = new List <string>();

                foreach (string kws in lbSearchFamily.Items)
                {
                    keyWordsSearchFamily.Add(kws);
                }

                if (keyWordsSearchFamily.Count == 0)
                {
                    keyWordsSearchFamily = null;
                }

                #endregion

                #region Address

                List <string> keyWordsSearchAddress = new List <string>();

                foreach (string kws in lbSearch.Items)
                {
                    keyWordsSearchAddress.Add(kws);
                }

                if (keyWordsSearchAddress.Count == 0)
                {
                    keyWordsSearchAddress = null;
                }

                #endregion

                SearchFilter searchFilter = new SearchFilter(eventTypesSearch,
                                                             keyWordsSearchAddress,
                                                             keyWordsSearchFamily,
                                                             daysFilter,
                                                             timeFilter,
                                                             dateFilter,
                                                             rbOr.Checked ? QueryLogic.Or : QueryLogic.And);

                Reply(null, searchFilter);

                Close();
            }
        }