Exemplo n.º 1
0
 private void CheckboxAll_Click(object sender, EventArgs eventArgs)
 {
     foreach (var fileTypesCheckbox in FileTypesCheckboxes)
     {
         fileTypesCheckbox.Checked = !CheckboxAll.Checked;
     }
     OnFilterChanged?.Invoke(this, new EventArgs());
 }
Exemplo n.º 2
0
        public void RemoveFilter(string columnName)
        {
            var definition = _filterDefinitions.FirstOrDefault(fd => fd.ColumnName == columnName);

            if (definition != null)
            {
                _filterDefinitions.Remove(definition);
                OnFilterChanged?.Invoke(this, new FilterChangedEventArgs(_filterDefinitions));
            }
        }
Exemplo n.º 3
0
    private const int layerMask = 1 << 8; // maski estää osumat muihin kuin terrain-layerin objekteihin


    void Start()
    {
        rb = GetComponent <Rigidbody>();
        hoverProbeOffset = new Vector3(0, 0, hoverProbeDistance);
        trueMaxSpeed     = maxSpeed;
        jumpTimer        = 0;
        hasSuperSpeed    = false;
        OnFilterChanged.Invoke(false);
        hasJumpAbility = false;
        isGrounded     = false;
    }
Exemplo n.º 4
0
        public void AddOrUpdateFilterDefinition(IFilterDefinition filterDefinition)
        {
            var definition = _filterDefinitions.FirstOrDefault(fd => fd.ColumnName == filterDefinition.ColumnName);

            if (definition is null)
            {
                _filterDefinitions.Add(filterDefinition);
            }
            else
            {
                _filterDefinitions.Remove(definition);
                _filterDefinitions.Add(filterDefinition);
            }

            OnFilterChanged?.Invoke(this, new FilterChangedEventArgs(_filterDefinitions));
        }
Exemplo n.º 5
0
        public void AddOrUpdateFilterDefinition(IFilterDefinition filterDefinition, bool fireFilterChanged = true)
        {
            var definition = filterDefinitions.FirstOrDefault(fd => fd.ColumnName == filterDefinition.ColumnName);

            if (definition is null)
            {
                filterDefinitions.Add(filterDefinition);
            }
            else
            {
                filterDefinitions.Remove(definition);
                filterDefinitions.Add(filterDefinition);
            }

            if (fireFilterChanged)
            {
                OnFilterChanged?.Invoke(this, new FilterChangedEventArgs(filterDefinitions));
            }
        }
Exemplo n.º 6
0
        public SQLRequestFilter(DataGridView dataGridView, string[] columnsToFilter)
        {
            try
            {
                if (dataGridView == null)
                {
                    return;
                }

                columnsFilter = columnsToFilter;
                Width         = 200;
                lastWidth     = Width;
                Name          = "filterPanel";
                Padding       = new Padding(0, 0, 5, 0);

                Controls.Add(new TreeView()
                {
                    CheckBoxes = true,
                    Dock       = DockStyle.Fill,
                    Scrollable = true,
                    Name       = "filterTreeView",
                });

                Controls.Add(new Button()
                {
                    Dock  = DockStyle.Top,
                    Width = 37,
                    Name  = "filterButton",
                    Text  = "Сбросить все фильтры",
                });

                Controls.Add(new Panel()
                {
                    Dock       = DockStyle.Bottom,
                    Height     = 600,
                    Name       = "Panel",
                    AutoScroll = true,
                });

                Controls.Add(new Button()
                {
                    Dock  = DockStyle.Right,
                    Name  = "hideFilterButton",
                    Width = 15,
                    Image = Resources.left,
                });

                (Controls.Find("hideFilterButton", false).FirstOrDefault() as Button).Click += (s, e) =>
                {
                    if (Controls.Find("filterTreeView", false).FirstOrDefault().Visible)
                    {
                        Controls.Find("filterTreeView", false).FirstOrDefault().Visible = false;
                        Controls.Find("filterButton", false).FirstOrDefault().Visible   = false;
                        Controls.Find("Panel", false).FirstOrDefault().Visible          = false;
                        lastWidth = Width;
                        Width     = 20;
                        (Controls.Find("hideFilterButton", false).FirstOrDefault() as Button).Image = Resources.right;
                        if (Parent.Controls.Find("filterSplitter", false).Count() != 0)
                        {
                            (Parent.Controls.Find("filterSplitter", false).FirstOrDefault() as Splitter).Visible = false;
                        }
                    }
                    else
                    {
                        Controls.Find("filterTreeView", false).FirstOrDefault().Visible = true;
                        Controls.Find("filterButton", false).FirstOrDefault().Visible   = true;
                        Controls.Find("Panel", false).FirstOrDefault().Visible          = true;
                        Width = lastWidth;
                        (Controls.Find("hideFilterButton", false).FirstOrDefault() as Button).Image = Resources.left;
                        if (Parent.Controls.Find("filterSplitter", false).Count() != 0)
                        {
                            (Parent.Controls.Find("filterSplitter", false).FirstOrDefault() as Splitter).Visible = true;
                        }
                    }
                };

                (Controls.Find("filterButton", false).FirstOrDefault() as Button).Click += (s, e) =>
                {
                    resetOn = true;
                    ResetAllNodes();
                    ResetAllText(this);
                    textBoxesFilter            = null;
                    checkBoxesFilter           = null;
                    rangeTextBoxesFilter       = null;
                    rangeDateTimePickersFilter = null;
                    OnFilterChanged?.Invoke(this, new EventArgs());
                    resetOn = false;
                };

                tree = (Controls.Find("filterTreeView", false).FirstOrDefault() as TreeView);

                tree.BeforeCheck += (s, e) =>
                {
                    if (e.Node.Parent == null)
                    {
                        e.Cancel = true;
                    }
                };

                tree.AfterCheck += (s, e) =>
                {
                    if (resetOn)
                    {
                        return;
                    }

                    if (e.Node.Parent != null)
                    {
                        bool checkedCol = false;
                        checkBoxesFilter = null;
                        foreach (TreeNode node in tree.Nodes)
                        {
                            foreach (TreeNode nod in node.Nodes)
                            {
                                if (nod.Checked)
                                {
                                    checkBoxesFilter += '(';
                                    checkedCol        = true;
                                    break;
                                }
                            }
                            if (checkedCol)
                            {
                                foreach (TreeNode nod in node.Nodes)
                                {
                                    if (nod.Checked)
                                    {
                                        checkBoxesFilter += "[" + node.Name + "] = '" + nod.Name + "' OR ";
                                    }
                                }
                                checkedCol        = false;
                                checkBoxesFilter  = checkBoxesFilter.Remove(checkBoxesFilter.Length - 4, 4);
                                checkBoxesFilter += ") AND ";
                            }
                        }
                        if (checkBoxesFilter != null)
                        {
                            checkBoxesFilter  = checkBoxesFilter.Remove(checkBoxesFilter.Length - 6, 6);
                            checkBoxesFilter += ')';
                        }


                        OnFilterChanged?.Invoke(this, new EventArgs());
                    }
                };


                foreach (DataGridViewColumn col in dataGridView.Columns)
                {
                    if (col.Name == "ID")
                    {
                        continue;
                    }
                    if ((col.ValueType == typeof(string) || col.ValueType == typeof(bool)) && !columnsFilter.Contains(col.Name))
                    {
                        List <string> distinctConditions = dataGridView.Rows.Cast <DataGridViewRow>().Select(x => x.Cells[col.Name].Value.ToString()).Where(x => x != "").OrderBy(x => x).Distinct().ToList();

                        Type k = col.ValueType;

                        if (distinctConditions.Count < 2)
                        {
                            continue;
                        }

                        tree.Nodes.Add(col.Name, col.HeaderText);

                        foreach (string str in distinctConditions)
                        {
                            if (col.ValueType != typeof(bool))
                            {
                                tree.Nodes.Find(col.Name, false).FirstOrDefault().Nodes.Add(str.ToString(), str.ToString());
                            }
                            else
                            {
                                if (str == "True")
                                {
                                    tree.Nodes.Find(col.Name, false).FirstOrDefault().Nodes.Add(str.ToString(), "Вкл.");
                                }
                                else
                                {
                                    tree.Nodes.Find(col.Name, false).FirstOrDefault().Nodes.Add(str.ToString(), "Выкл.");
                                }
                            }
                        }
                    }
                    else
                    {
                        if (col.ValueType == typeof(string))
                        {
                            Controls.Find("Panel", true).FirstOrDefault().Controls.Add(new GroupBox()
                            {
                                Text   = col.Name,
                                Name   = col.Name + "GroupBox",
                                Dock   = DockStyle.Top,
                                Height = 37,
                            });

                            Controls.Find(col.Name + "GroupBox", true).FirstOrDefault().Controls.Add(new TextBox()
                            {
                                Dock = DockStyle.Fill,
                                Name = col.Name + "TextBox",
                            });
                            (Controls.Find(col.Name + "TextBox", true).FirstOrDefault() as TextBox).TextChanged += (s, e) =>
                            {
                                if (resetOn)
                                {
                                    return;
                                }


                                textBoxesFilter = null;
                                foreach (string text in columnsToFilter)
                                {
                                    if ((Controls.Find(text + "TextBox", true).FirstOrDefault() as TextBox).Text == "")
                                    {
                                        continue;
                                    }
                                    textBoxesFilter += '[' + text + "] LIKE '%" + (Controls.Find(text + "TextBox", true).FirstOrDefault() as TextBox).Text + "%' AND ";
                                }
                                if (textBoxesFilter != null)
                                {
                                    textBoxesFilter = textBoxesFilter.Remove(textBoxesFilter.Length - 4, 4);
                                }

                                OnFilterChanged?.Invoke(this, new EventArgs());
                            };
                        }
                        else if (col.ValueType == typeof(DateTime))
                        {
                            rangeDateTimePickers.Add(col.Name);
                            Controls.Find("Panel", true).FirstOrDefault().Controls.Add(new GroupBox()
                            {
                                Text   = col.Name,
                                Name   = col.Name + "GroupBox",
                                Dock   = DockStyle.Top,
                                Height = 65,
                            });

                            Controls.Find(col.Name + "GroupBox", true).FirstOrDefault().Controls.Add(new DateTimePicker()
                            {
                                Name = col.Name + "1",
                                Dock = DockStyle.Top,
                            });

                            Controls.Find(col.Name + "GroupBox", true).FirstOrDefault().Controls.Add(new DateTimePicker()
                            {
                                Name = col.Name + "2",
                                Dock = DockStyle.Bottom,
                            });

                            Controls.Find(col.Name + "1", true).FirstOrDefault().TextChanged += (s, e) =>
                            {
                                if (resetOn)
                                {
                                    return;
                                }

                                string old = rangeDateTimePickersFilter;
                                rangeDateTimePickersFilter = null;



                                foreach (string text in rangeDateTimePickers)
                                {
                                    if ((Controls.Find(text + "1", true).FirstOrDefault() as DateTimePicker).Value >= (Controls.Find(text + "2", true).FirstOrDefault() as DateTimePicker).Value)
                                    {
                                        continue;
                                    }

                                    rangeDateTimePickersFilter += "([" + text + "] > '" + (Controls.Find(text + "1", true).FirstOrDefault() as DateTimePicker).Value.Date + "' AND [" + text + "] < '" + (Controls.Find(text + "2", true).FirstOrDefault() as DateTimePicker).Value.Date + "') AND ";
                                }
                                if (rangeDateTimePickersFilter != null)
                                {
                                    rangeDateTimePickersFilter = rangeDateTimePickersFilter.Remove(rangeDateTimePickersFilter.Length - 4, 4);
                                }

                                if (rangeDateTimePickersFilter != null)
                                {
                                    if (!rangeDateTimePickersFilter.Equals(old))
                                    {
                                        OnFilterChanged?.Invoke(this, new EventArgs());
                                    }
                                }
                            };

                            Controls.Find(col.Name + "2", true).FirstOrDefault().TextChanged += (s, e) =>
                            {
                                if (resetOn)
                                {
                                    return;
                                }

                                string old = rangeDateTimePickersFilter;
                                rangeDateTimePickersFilter = null;

                                foreach (string text in rangeDateTimePickers)
                                {
                                    if ((Controls.Find(text + "1", true).FirstOrDefault() as DateTimePicker).Value >= (Controls.Find(text + "2", true).FirstOrDefault() as DateTimePicker).Value)
                                    {
                                        continue;
                                    }

                                    rangeDateTimePickersFilter += "([" + text + "] > '" + (Controls.Find(text + "1", true).FirstOrDefault() as DateTimePicker).Value + "' AND [" + text + "] < '" + (Controls.Find(text + "2", true).FirstOrDefault() as DateTimePicker).Value + "') AND ";
                                }
                                if (rangeDateTimePickersFilter != null)
                                {
                                    rangeDateTimePickersFilter = rangeDateTimePickersFilter.Remove(rangeDateTimePickersFilter.Length - 4, 4);
                                }

                                if (rangeDateTimePickersFilter != null)
                                {
                                    if (!rangeDateTimePickersFilter.Equals(old))
                                    {
                                        OnFilterChanged?.Invoke(this, new EventArgs());
                                    }
                                }
                            };
                        }
                        else
                        {
                            rangeTextBoxes.Add(col.Name);
                            Controls.Find("Panel", true).FirstOrDefault().Controls.Add(new GroupBox()
                            {
                                Text   = col.Name,
                                Name   = col.Name + "GroupBox",
                                Dock   = DockStyle.Top,
                                Height = 65,
                            });

                            Controls.Find(col.Name + "GroupBox", true).FirstOrDefault().Controls.Add(new TextBoxTi()
                            {
                                Name        = col.Name + "1",
                                Dock        = DockStyle.Top,
                                OnlyNumbers = true,
                                MaxLength   = 9,
                            });

                            Controls.Find(col.Name + "GroupBox", true).FirstOrDefault().Controls.Add(new TextBoxTi()
                            {
                                Name        = col.Name + "2",
                                Dock        = DockStyle.Bottom,
                                OnlyNumbers = true,
                                MaxLength   = 9,
                            });

                            Controls.Find(col.Name + "1", true).FirstOrDefault().TextChanged += (s, e) =>
                            {
                                if (resetOn)
                                {
                                    return;
                                }

                                string old = rangeTextBoxesFilter;
                                rangeTextBoxesFilter = null;

                                foreach (string text in rangeTextBoxes)
                                {
                                    if (Controls.Find(text + "1", true).FirstOrDefault().Text == "" || Controls.Find(text + "2", true).FirstOrDefault().Text == "")
                                    {
                                        continue;
                                    }
                                    if (Convert.ToInt32(Controls.Find(text + "1", true).FirstOrDefault().Text) - Convert.ToInt32(Controls.Find(text + "2", true).FirstOrDefault().Text) > 0)
                                    {
                                        continue;
                                    }

                                    rangeTextBoxesFilter += "([" + text + "] > '" + Controls.Find(text + "1", true).FirstOrDefault().Text + "' AND [" + text + "] < '" + Controls.Find(text + "2", true).FirstOrDefault().Text + "') AND ";
                                }
                                if (rangeTextBoxesFilter != null)
                                {
                                    rangeTextBoxesFilter = rangeTextBoxesFilter.Remove(rangeTextBoxesFilter.Length - 4, 4);
                                }

                                if (rangeTextBoxesFilter != null)
                                {
                                    if (!rangeTextBoxesFilter.Equals(old))
                                    {
                                        OnFilterChanged?.Invoke(this, new EventArgs());
                                    }
                                }
                            };

                            Controls.Find(col.Name + "2", true).FirstOrDefault().TextChanged += (s, e) =>
                            {
                                if (resetOn)
                                {
                                    return;
                                }

                                string old = rangeTextBoxesFilter;
                                rangeTextBoxesFilter = null;

                                foreach (string text in rangeTextBoxes)
                                {
                                    if (Controls.Find(text + "1", true).FirstOrDefault().Text == "" || Controls.Find(text + "2", true).FirstOrDefault().Text == "")
                                    {
                                        continue;
                                    }
                                    if (Convert.ToInt32(Controls.Find(text + "1", true).FirstOrDefault().Text) - Convert.ToInt32(Controls.Find(text + "2", true).FirstOrDefault().Text) > 0)
                                    {
                                        continue;
                                    }

                                    rangeTextBoxesFilter += "([" + text + "] > '" + Controls.Find(text + "1", true).FirstOrDefault().Text + "' AND [" + text + "] < '" + Controls.Find(text + "2", true).FirstOrDefault().Text + "') AND ";
                                }
                                if (rangeTextBoxesFilter != null)
                                {
                                    rangeTextBoxesFilter = rangeTextBoxesFilter.Remove(rangeTextBoxesFilter.Length - 4, 4);
                                }

                                if (rangeTextBoxesFilter != null)
                                {
                                    if (!rangeTextBoxesFilter.Equals(old))
                                    {
                                        OnFilterChanged?.Invoke(this, new EventArgs());
                                    }
                                }
                            };
                        }
                    }
                }
            }
            catch (Exception e)
            {
                MessageBoxTi.Show("SQLRequestFilter " + e.Message);
            }

            Supports.GangeGroup(this);
        }
Exemplo n.º 7
0
 public void RaiseFilterChanged()
 {
     OnFilterChanged.Invoke();
 }
Exemplo n.º 8
0
 private void cbStatus_CheckedChanged(object sender, EventArgs e)
 {
     OnFilterChanged?.Invoke(this, new EventArgs());
 }
Exemplo n.º 9
0
 private void CbFileType_Click(object sender, EventArgs eventArgs)
 {
     CheckboxAll.Checked = false;
     OnFilterChanged?.Invoke(this, new EventArgs());
 }
Exemplo n.º 10
0
 private void cbSourceStillExist_CheckedChanged(object sender, EventArgs e)
 {
     OnFilterChanged?.Invoke(this, new EventArgs());
 }