Пример #1
0
        private string GetComboBoxHtml(ComboBoxControl control)
        {
            if (control.Items.Count == 0)
            {
                control.FillData();
                ControlFilterRefresh(control);
            }
            else
            {
                control.SelectedItem = control.Items[control.SelectedIndex];
                control.Text         = control.SelectedItem.ToString();
            }

            string id   = GetControlID(control);
            string html = string.Format("<select style=\"{0}\" name=\"{1}\" onchange=\"{2}\" id=\"{3}\">{4}</select>",
                                                                  // style
                                        GetComboBoxStyle(control),
                                                                  // name
                                        control.Name,
                                                                  // onclick
                                        GetEvent(ONCHANGE, control, SILENT_RELOAD, $"document.getElementById('{id}').selectedIndex"),
                                                                  // title
                                        id,
                                        GetComboBoxItems(control) //control.Text
                                        );

            control.FilterData();
            return(html);
        }
Пример #2
0
        public override FieldControl GenerateUIElement(bool isForEditing)
        {
            ComboBoxControl control = new ComboBoxControl();

            control.IsMandatory = !isForEditing && IsMandatory;
            control.Initialize(this);
            return(control);
        }
        /// <summary>
        /// Устанавливает представление комбобокса.
        /// </summary>
        /// <param name="comboBox">Объект представления.</param>
        /// <param name="id">Код выбранного пункта.</param>
        /// <param name="allowNull">Допустимость Null значений. </param>
        /// <param name="showNullValue">Показывать ли стандартное Null значение. </param>
        public void SetView(ComboBoxControl comboBox, T?id, bool allowNull, bool showNullValue)
        {
            _controller = new ComboBoxController();
            _controller.SetView(comboBox);
            SetUpModel(_controller.Model);

            _controller.Model.AllowNull     = allowNull;
            _controller.Model.ShowNullValue = showNullValue;
            ReInitialize(id);
        }
Пример #4
0
        internal static void CicleControls(String formName, Control.ControlCollection controls, String culture)
        {
            foreach (Control control in controls)
            {
                try
                {
                    Type controlType = control.GetType();

                    if (controlType == typeof(TextBox) || controlType == typeof(Label) || controlType == typeof(LinkLabel) || controlType == typeof(Button) ||
                        controlType == typeof(CheckBox) || controlType == typeof(RadioButton) || controlType == typeof(RichTextBox) || controlType == typeof(TabControl))
                    {
                        GeneralControl.ManageControl(control, formName, culture);
                    }
                    else if (controlType == typeof(TabPage))
                    {
                        TabPageControl.ManageControl(control, formName, culture);
                    }
                    else if (controlType == typeof(FlowLayoutPanel) || controlType == typeof(Panel) || controlType == typeof(SplitContainer) || controlType == typeof(SplitterPanel) || controlType == typeof(ContextMenuStrip))
                    {
                        PanelMenuControl.ManageControl(control, formName, culture);
                    }
                    else if (controlType == typeof(GroupBox))
                    {
                        GroupBoxControl.ManageControl(control, formName, culture);
                    }
                    else if (controlType == typeof(MenuStrip))
                    {
                        MenuStripControl.ManageControl(control, formName, culture);
                    }
                    else if (controlType == typeof(ToolStrip))
                    {
                        ToolStripControl.ManageControl(control, formName, culture);
                    }
                    else if (controlType == typeof(StatusStrip))
                    {
                        StatusStripControl.ManageControl(control, formName, culture);
                    }
                    else if (controlType == typeof(ComboBox))
                    {
                        ComboBoxControl.ManageControl(control, formName, culture);
                    }
                    else if (controlType == typeof(TreeView))
                    {
                        TreeViewControl.ManageControl(control, formName, culture);
                    }
                }
                catch (Exception exception)
                {
                    throw new LanguageException(String.Format("{0} - {1}", control.Name, exception.Message));
                }
            }
        }
Пример #5
0
        private string GetComboBoxItems(ComboBoxControl control)
        {
            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < control.Items.Count; i++)
            {
                sb.Append(string.Format("<option {0} value=\"{1}\">{2}</option>",
                                        i == control.SelectedIndex ? "selected" : "",
                                        control.Items[i],
                                        control.Items[i]));
            }
            return(sb.ToString());
        }
Пример #6
0
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Updates the styles in the m_ctrl list based on the ExcludeStylesWithContext and
        /// ShowOnlyStylesOfType properties. This should be called when the caller wants to
        /// update the m_ctrl list after changing one of those two properties, but doesn't want
        /// to rebuild the entire m_styleItemList.
        /// </summary>
        /// ------------------------------------------------------------------------------------
        public override void Refresh()
        {
            if (m_ignoreListRefresh)
            {
                return;
            }

            string selectedStyle = ComboBoxControl.SelectedText;

            ComboBoxControl.Items.Clear();
            ComboBoxControl.BeginUpdate();
            RefreshStyleItemList(selectedStyle);
            ComboBoxControl.EndUpdate();
        }
Пример #7
0
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Add item during refresh.
        /// </summary>
        /// <param name="items"></param>
        /// ------------------------------------------------------------------------------------
        protected override void UpdateStyleList(StyleListItem[] items)
        {
            if (m_ignoreListRefresh)
            {
                return;
            }

            string selectedStyle = ComboBoxControl.SelectedText;

            ComboBoxControl.Items.Clear();
            ComboBoxControl.BeginUpdate();
            ComboBoxControl.Items.AddRange(items);
            ComboBoxControl.EndUpdate();

            SelectedStyleName = selectedStyle;
        }
Пример #8
0
        public override UserControl[] GetPropertiesControls()
        {
            //_timer.Stop();


            /*
             * _capture = new WasapiCapture(ep[0]);
             * _capture.WaveFormat = new WaveFormat(44100, 8, 2);
             * //lc.WaveFormat = new NAudio.Wave.WaveFormat(44100, 8, 2);
             * _capture.DataAvailable += Lc_DataAvailable;
             * _capture.StartRecording();*/

            /*_cancelled = true;
             * if (_capture?.CaptureState == CaptureState.Capturing)
             * {
             *  _capture?.StopRecording();
             *  _capture.Dispose();
             * }*/


            MMDeviceEnumerator e = new MMDeviceEnumerator();
            var ep = e.EnumerateAudioEndPoints(DataFlow.Capture, DeviceState.Active);

            ComboBoxControl mmi = GetPropertyControl <ComboBoxControl>();

            mmi.Title = Extensions.LocalizationManager.Get("Audio Device");
            mmi.Items = ep.Select(x => x.FriendlyName);
            mmi.Value = _audioDevice;

            var ctrl = GetPropertyControl <PropertiesControls.SchedulerControl>();

            ctrl.Events.Clear();
            foreach (var item in _events)
            {
                ctrl.Events.Add(item);
            }
            return(base.GetPropertiesControls().Union(new UserControl[] { mmi, ctrl }).ToArray());
        }
Пример #9
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            Greske = "";
            var properties = myInterface.GetType().GetProperties();

            //String za dodavanje imena polja koja su obavezna a nisu popunjena

            foreach (var item in flowPanel.Controls)
            {
                try
                {
                    string value = "";

                    if (item.GetType() == typeof(InputControl))
                    {
                        InputControl input = item as InputControl;
                        value = input.GetValueFromTextBox();

                        //provjera da li unosimo model vozila koji vec postoji u bazi podataka
                        if (properties[0].Name == "ModelID" && properties[01].Name == "Naziv")
                        {
                            PropertyModelVozila propertyModelVozila = new PropertyModelVozila();
                            SqlDataReader       reader = SqlHelper.ExecuteReader(SqlHelper.GetConnectionString(), CommandType.Text,
                                                                                 propertyModelVozila.GetSelectQueryZaModelVozila());
                            if (reader.HasRows)
                            {
                                while (reader.Read())
                                {
                                    if (reader.GetString(0) == value)
                                    {
                                        DialogResult dr = MetroMessageBox.Show(this, $"\n\nError! Model vec postoji u bazi", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                                        return;
                                    }
                                }
                            }
                        }
                        else if (properties[0].Name == "ProizvodjacID" && properties[01].Name == "Naziv")
                        {
                            PropertyProizvodjac propertyModelVozila = new PropertyProizvodjac();
                            SqlDataReader       reader = SqlHelper.ExecuteReader(SqlHelper.GetConnectionString(), CommandType.Text,
                                                                                 propertyModelVozila.GetSelectQueryZaModelVozila());
                            if (reader.HasRows)
                            {
                                while (reader.Read())
                                {
                                    if (reader.GetString(0) == value)
                                    {
                                        DialogResult dr = MetroMessageBox.Show(this, $"\n\nError! Model vec postoji u bazi", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                                        return;
                                    }
                                }
                            }
                        }

                        string ImePolja = properties.Where(x => (item as InputControl).Name == x.Name).FirstOrDefault().GetCustomAttribute <DisplayNameAttribute>().DisplayName;
                        if (properties.Where(x => (item as InputControl).Name == x.Name &&
                                             x.GetCustomAttribute <NotRequiredAttribute>() != null).FirstOrDefault() == null && value == "")
                        {
                            Greske += "Polje \"" + ImePolja + "\" ne smije biti prazno!\n";
                            continue;
                        }
                        else
                        {
                            if (Regex.IsMatch(value, @"^[0-9]{3}[//]{1}[0-9]{3}[/-]{1}[0-9]{3}$") == false && (item as InputControl).Name == "BrojTelefon")
                            {
                                Greske += "Polje \"" + ImePolja + "\" ne smije da sadrzi slova i znakove osim '-' i '/'!\n";
                                continue;
                            }
                            else if (Regex.IsMatch(value, @"^[a-zA-Z]+$") == false &&
                                     ((item as InputControl).Name == "Ime" ||
                                      (item as InputControl).Name == "Prezime" ||
                                      (item as InputControl).Name == "Gorivo" ||
                                      (item as InputControl).Name == "Boja"))
                            {
                                Greske += "Polje \"" + ImePolja + "\" ne smije da sadrzi brojeve i znakove!\n";
                                continue;
                            }
                            else if (Regex.IsMatch(value, @"^[0-9]{13}$") == false &&
                                     (item as InputControl).Name == "JMB")
                            {
                                Greske += "Polje \"" + ImePolja + "\" mora da sadrzi samo 13 brojeva!\n";
                                continue;
                            }
                            else if (Regex.IsMatch(value, @"^[2-5]{1}$") == false &&
                                     (item as InputControl).Name == "BrojVrata")
                            {
                                Greske += "Polje \"" + ImePolja + "\" mora da sadrzi jednu cifru od 2 do 5!\n";
                                continue;
                            }
                            else if (Regex.IsMatch(value, @"^[0-9\.]+$") == false &&
                                     (item as InputControl).Name == "Kilometraza")
                            {
                                Greske += "Polje \"" + ImePolja + "\" ne smije da sadrzi slova i znakove!\n";
                                continue;
                            }
                            else if ((item as InputControl).Name == "BrojRegistracije" && Regex.IsMatch(value, @"^[A-Z0-9]{3}[\-]{1}[A-Z]{1}[\-]{1}[0-9]{3}$") == false)
                            {
                                Greske += "Polje \"" + ImePolja + "\" nije u pravilnom formatu!\n";
                                continue;
                            }
                        }

                        PropertyInfo property = properties.Where(x => input.Name == x.Name).FirstOrDefault();
                        property.SetValue(myInterface, Convert.ChangeType(value, property.PropertyType));
                    }
                    else if (item.GetType() == typeof(InputDateControl))
                    {
                        InputDateControl input = item as InputDateControl;
                        value = input.GetValueFromDateBox();

                        PropertyInfo property = properties.Where(x => input.Name == x.Name).FirstOrDefault();
                        property.SetValue(myInterface, Convert.ChangeType(value, property.PropertyType));
                    }
                    else if (item.GetType() == typeof(LookUpControl))
                    {
                        LookUpControl input = item as LookUpControl;
                        value = input.GetKeyValue();

                        if (value == "")
                        {
                            Greske += "Polje \"" + (item as LookUpControl).Name + "\" ne smije biti prazno!\n";
                            continue;
                        }

                        PropertyInfo property = properties.Where(x => input.Name == x.Name).FirstOrDefault();
                        property.SetValue(myInterface, Convert.ChangeType(value, property.PropertyType));
                    }
                    else if (item.GetType() == typeof(TwoRadioButtonsControl))
                    {
                        TwoRadioButtonsControl input = item as TwoRadioButtonsControl;
                        value = input.GetChecked();

                        PropertyInfo property = properties.Where(x => input.Name == x.Name).FirstOrDefault();
                        property.SetValue(myInterface, Convert.ChangeType(value, property.PropertyType));
                    }
                    else if (item.GetType() == typeof(ComboBoxControl))
                    {
                        ComboBoxControl input = item as ComboBoxControl;
                        value = input.GetText();

                        PropertyInfo property = properties.Where(x => input.Name == x.Name).FirstOrDefault();
                        property.SetValue(myInterface, Convert.ChangeType(value, property.PropertyType));
                    }
                }
                catch (Exception)
                {
                    DialogResult dr = MetroMessageBox.Show(this, "Neocekivana greska!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }

            if (Greske != "")
            {
                DialogResult dr = MetroMessageBox.Show(this, Greske, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            //Provjera poziva Input forme
            if (state == StateEnum.Create)
            {
                DialogResult myResult = MetroMessageBox.Show(this, "Uspjesno ste dodali novi item", "Uspjesno", MessageBoxButtons.OK, MessageBoxIcon.Information);
                if (myResult == DialogResult.OK)
                {
                    SqlHelper.ExecuteNonQuery(SqlHelper.GetConnectionString(), CommandType.Text,
                                              myInterface.GetInsertQuery(), myInterface.GetInsertParameters().ToArray());

                    if (myInterface.GetType() == typeof(PropertyVozilo))
                    {
                        PropertyCijena pomCijena = new PropertyCijena();

                        SqlHelper.ExecuteNonQuery(SqlHelper.GetConnectionString(), CommandType.Text,
                                                  pomCijena.GetInsertQuery());
                    }
                    CRUD.IstorijaCRUD.Istorija(userEmail, StateEnum.Create, myInterface);
                }
            }
            else if (state == StateEnum.Update)
            {
                DialogResult myResult = MetroMessageBox.Show(this, "Da li zelite izvrsiti azuriranje ?", "Update", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
                if (myResult == DialogResult.Yes)
                {
                    SqlHelper.ExecuteNonQuery(SqlHelper.GetConnectionString(), CommandType.Text,
                                              myInterface.GetUpdateQuery(), myInterface.GetUpdateParameters().ToArray());


                    CRUD.IstorijaCRUD.Istorija(userEmail, StateEnum.Update, myInterface);
                }
            }

            DialogResult = DialogResult.OK;
        }
Пример #10
0
 private void ComboBoxChange(ComboBoxControl cb, int index)
 {
     cb.SelectedIndex = index;
     ControlFilterRefresh(cb);
     cb.OnSelectedIndexChanged(null);
 }
Пример #11
0
 private string GetComboBoxStyle(ComboBoxControl control)
 {
     return($"{GetControlPosition(control)} {GetControlFont(control.Font)}");
 }
Пример #12
0
        public ConnectionDialog()
        {
            AutoSize     = true;
            AutoSizeMode = AutoSizeMode.GrowAndShrink;
            InitializeComponent();

            message = new Label
            {
                AutoSize = true,
                Name     = "MessageLabel",
                Text     = "Please choose how to connect to the device."
            };
            serialRadioButton = new RadioButton
            {
                AutoSize = true,
                Checked  = true,
                Name     = "SerialRadioButton",
                Text     = "Serial",
            };
            remoteRadioButton = new RadioButton
            {
                AutoSize = true,
                Name     = "RemoteRadioButton",
                Text     = "Remote",
            };
            okButton = new Button
            {
                Anchor       = AnchorStyles.Right,
                AutoSize     = true,
                DialogResult = DialogResult.OK,
                Name         = "OKButton",
                Text         = "OK",
            };
            layout = new FlowLayoutPanel
            {
                AutoSize      = true,
                AutoSizeMode  = AutoSizeMode.GrowAndShrink,
                Name          = "layout",
                Padding       = new Padding(InterfaceConstants.ItemPadding),
                FlowDirection = FlowDirection.TopDown,
            };
            parametersTable = new TableLayoutPanel
            {
                AutoSize     = true,
                AutoSizeMode = AutoSizeMode.GrowAndShrink,
                ColumnCount  = 2,
                Name         = "parametersTable",
            };
            parametersTable.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50));
            parametersTable.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50));

            serialPortChooser = new ComboBoxControl(this, "COMPort", new List <string>(SerialPort.GetPortNames()), 0);
            ((ComboBox)serialPortChooser.Field).SelectedItem = SettingHandler.COMPort.Value;

            ipChooser            = new TextBoxControl(this, "IP", TextBoxControl.Type.Input);
            ipChooser.Field.Text = (string)SettingHandler.IPAddress.Value;

            tcpPortChooser            = new TextBoxControl(this, "TCPPort", TextBoxControl.Type.Input);
            tcpPortChooser.Field.Text = (string)SettingHandler.TCPPort.Value.ToString();

            Controls.Add(layout);

            layout.Controls.Add(message);
            layout.Controls.Add(serialRadioButton);
            layout.Controls.Add(remoteRadioButton);
            layout.Controls.Add(parametersTable);
            layout.Controls.Add(okButton);

            parametersTable.Controls.Add(serialPortChooser.Label);
            parametersTable.Controls.Add(serialPortChooser.Field);
            parametersTable.Controls.Add(ipChooser.Label);
            parametersTable.Controls.Add(ipChooser.Field);
            parametersTable.Controls.Add(tcpPortChooser.Label);
            parametersTable.Controls.Add(tcpPortChooser.Field);
            parametersTable.Controls.Add(okButton);
            parametersTable.SetColumnSpan(okButton, 2);
            serialPortChooser.Label.Dock = DockStyle.Top;
            serialPortChooser.Field.Dock = DockStyle.Fill;
            ipChooser.Label.Dock         = DockStyle.Top;
            ipChooser.Field.Dock         = DockStyle.Fill;
            tcpPortChooser.Label.Dock    = DockStyle.Top;
            tcpPortChooser.Field.Dock    = DockStyle.Fill;

            ((ComboBox)(serialPortChooser.Field)).DropDown             += SerialPortSelecting;
            ((ComboBox)(serialPortChooser.Field)).SelectedIndexChanged += SerialPortSelected;
            ((TextBox)(ipChooser.Field)).TextChanged      += IPEntered;
            ((TextBox)(tcpPortChooser.Field)).TextChanged += TCPPortEntered;
            serialRadioButton.CheckedChanged += new EventHandler(SerialRadioButton_CheckedChanged);
            remoteRadioButton.CheckedChanged += new EventHandler(RemoteRadioButton_CheckedChanged);
            okButton.Click += new EventHandler(OKButton_Click);

            AcceptButton = okButton;
            SerialRadioButton_CheckedChanged(serialRadioButton, new EventArgs());
        }
 /// <summary>
 /// Устанавливает представление комбобокса.
 /// </summary>
 /// <param name="comboBox">Объект представления.</param>
 /// <param name="id">Код выбранного пункта.</param>
 public void SetView(ComboBoxControl comboBox, T?id)
 {
     SetView(comboBox, id, false, true);
 }
Пример #14
0
        public GeneralPanel()
        {
            InitializeComponent();
               MainPanel = panel1;

               this.Click += new EventHandler(GeneralPanel_Click);
               panel1.Click += new EventHandler(GeneralPanel_Click);
               dataPanel.Click += new EventHandler(GeneralPanel_Click);

               titleBox = new TextBoxControl();
               titleBox.OnTextChanged += new EventHandler(OnChanged);
               titlePanel = new GeneralItemPanel(Kernel.Instance.GetString("TitleStr"), titleBox, 24);

               originalTitleBox = new TextBoxControl();
               originalTitleBox.OnTextChanged += new EventHandler(OnChanged);
               originalTitlePanel = new GeneralItemPanel(Kernel.Instance.GetString("OriginalTitleStr"), originalTitleBox, 24);

               sortTitleBox = new TextBoxControl();
               sortTitleBox.OnTextChanged += new EventHandler(OnChanged);
               sortTitlePanel = new GeneralItemPanel(Kernel.Instance.GetString("SortTitleStr"), sortTitleBox, 24);

               addedBox = new DateTimeControl();
               addedBox.OnValueChanged += new EventHandler(OnChanged);
               addedPanel = new GeneralItemPanel(Kernel.Instance.GetString("DateAddedStr"), addedBox, 24);

               yearBox = new TextBoxControl();
               yearBox.OnTextChanged += new EventHandler(OnChanged);
               yearPanel = new GeneralItemPanel(Kernel.Instance.GetString("YearStr"), yearBox, 24);

               runTimeBox = new NumericBoxControl();
               runTimeBox.OnTextChanged += new EventHandler(OnChanged);
               runTimePanel = new GeneralItemPanel(Kernel.Instance.GetString("RuntimeStr"), runTimeBox, 24);

               ratingBox = new NumericBoxControl();
               ratingBox.decimals = 1;
            ratingBox.increment = (decimal)0.1;
               ratingBox.OnTextChanged += new EventHandler(OnChanged);
               ratingPanel = new GeneralItemPanel(Kernel.Instance.GetString("RatingStr"), ratingBox, 24);

               mpaaBox = new ComboBoxControl();
               mpaaBox.choices = new string[] { "G", "NC-17", "NR", "PG", "PG-13", "R" };
               mpaaBox.OnTextChanged += new EventHandler(OnChanged);
               mpaaPanel = new GeneralItemPanel(Kernel.Instance.GetString("MpaaStr"), mpaaBox, 24);

               overviewBox = new TextBoxControl();
               overviewBox.multiLine = true;
               overviewBox.OnTextChanged += new EventHandler(OnChanged);
               overviewPanel = new GeneralItemPanel(Kernel.Instance.GetString("OverviewStr"), overviewBox, 100);

               mediaTypeBox = new ComboBoxControl();
               mediaTypeBox.choices = new string[] { "AVI", "Blu-Ray", "DVD", "HD-DVD", "MKV" };
               mediaTypeBox.OnTextChanged += new EventHandler(OnChanged);
               mediaTypePanel = new GeneralItemPanel(Kernel.Instance.GetString("MediaTypeStr"), mediaTypeBox, 24);

               ratioBox = new ComboBoxControl();
               ratioBox.choices = new string[] { "1.33:1", "1.78:1", "1.85:1", "2.35:1", "2.40:1" };
               ratioBox.OnTextChanged += new EventHandler(OnChanged);
               ratioPanel = new GeneralItemPanel(Kernel.Instance.GetString("RatioStr"), ratioBox, 24);

               watchedBox = new ComboBoxControl();
               watchedBox.choices = new string[] { Kernel.Instance.GetString("YesStr"), Kernel.Instance.GetString("No") };
               watchedBox.OnTextChanged += new EventHandler(OnChanged);
               watchedPanel = new GeneralItemPanel(Kernel.Instance.GetString("WatchedStr"), watchedBox, 24);

               seriesBox = new TextBoxControl();
               seriesBox.OnTextChanged += new EventHandler(OnChanged);
               seriesPanel = new GeneralItemPanel(Kernel.Instance.GetString("SeriesStr"), seriesBox, 24);

               seasonBox = new TextBoxControl();
               seasonBox.OnTextChanged += new EventHandler(OnChanged);
               seasonPanel = new GeneralItemPanel(Kernel.Instance.GetString("SeasonStr"), seasonBox, 24);

               episodeBox = new TextBoxControl();
               episodeBox.OnTextChanged += new EventHandler(OnChanged);
               episodePanel = new GeneralItemPanel(Kernel.Instance.GetString("EpisodeStr"), episodeBox, 24);

               idBox = new IdControl();
               idBox.OnTextChanged += new EventHandler(OnChanged);
               idPanel = new GeneralItemPanel("ID", idBox, 24);

               this.CreateGraphics();
        }
Пример #15
0
        //Funkcija za popunjavanje kontrole u Input formi
        private void PopunjavanjeKontrola(PropertyInfo item)
        {
            if (item.GetCustomAttributes <BrowsableAttribute>().Count() > 0)
            {
                //f-ja koja provjerava da li ima  BrowsableAttribute ako ima da se ne prikazuje na input formi
                return;
            }
            //Dodavanje kontrole za datum
            if (item.PropertyType.Name == "DateTime")
            {
                InputDateControl uc = new InputDateControl();
                uc.Name = item.Name;
                uc.SetLabel(item.GetCustomAttributes <DisplayNameAttribute>().FirstOrDefault().DisplayName);

                if (state == StateEnum.Update)
                {
                    try
                    {
                        uc.SetValueInDateBox(item.GetValue(myInterface).ToString());
                    }
                    catch { }
                }
                //provjera da li smo kliknuli na detalje ako jesmo da polje bude samo read only
                if (Detalji == "detalji")
                {
                    uc.ReadOnly();
                }
                flowPanel.Controls.Add(uc);
            }

            //Dodavanje kontrole za Lookup
            else if (item.GetCustomAttributes <Attributes.ForeignKeyAttribute>() != null && item.Name.Contains("ID"))
            {
                PropertyInterface foreignKeyInterface = Assembly.GetExecutingAssembly().
                                                        CreateInstance(item.GetCustomAttribute <ForeignKeyAttribute>().ClassName)
                                                        as PropertyInterface;

                LookUpControl uc = new LookUpControl(foreignKeyInterface, userEmail, Id);
                uc.Name = item.Name;
                uc.SetLabel(item.GetCustomAttributes <DisplayNameAttribute>().FirstOrDefault().DisplayName);
                if (uc.GetLabelValue() == "Radnik ID")
                {
                    uc.SetValueTextBox(Id, userEmail);
                }
                //provjera da li smo kliknuli na detalje ako jesmo da polje bude samo read only
                if (Detalji == "detalji")
                {
                    uc.ReadOnly();
                }
                if (state == StateEnum.Update)
                {
                    try
                    {
                        string        broj   = item.GetValue(myInterface).ToString();
                        string        red    = "";
                        SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.GetConnectionString(), CommandType.Text,
                                                                       foreignKeyInterface.GetSelectQueryZaJedanItem(broj));

                        DataTable dt = new DataTable();

                        dt.Load(reader);
                        if (uc.GetLabelValue() == "Radnik ID")
                        {
                            PropertyOsoba pom = new PropertyOsoba();
                            broj   = dt.Rows[0][1].ToString();
                            reader = SqlHelper.ExecuteReader(SqlHelper.GetConnectionString(), CommandType.Text,
                                                             pom.GetSelectQueryZaJedanItem(broj));
                            dt = new DataTable();
                            dt.Load(reader);
                        }
                        //treba dodati i za ostale property-e sta treba da se prikaze u lookup polju
                        if (myInterface.GetType() == typeof(PropertyKlijent))
                        {
                            red = dt.Rows[0].ItemArray[1].ToString() + " " + dt.Rows[0].ItemArray[2].ToString();
                        }
                        else if (myInterface.GetType() == typeof(PropertyFaktura) && item.Name == "KlijentID")
                        {
                            DataTable dtpom = new DataTable();
                            bool      prop  = true;
                            foreach (PropertyInfo itemPom in foreignKeyInterface.GetType().GetProperties())
                            {
                                //Izbacivanje prikaza primarnog kljuca
                                if (prop == false)
                                {
                                    if (itemPom.Name.Contains("ID"))
                                    {
                                        string klasa = itemPom.GetCustomAttributes <ForeignKeyAttribute>().FirstOrDefault().ClassName;

                                        foreignKeyInterface = Assembly.GetExecutingAssembly().
                                                              CreateInstance(klasa) as PropertyInterface;

                                        reader = SqlHelper.ExecuteReader(SqlHelper.GetConnectionString(), CommandType.Text,
                                                                         foreignKeyInterface.GetLookupQuery(dt.Rows[0].ItemArray[1].ToString()));

                                        dtpom.Load(reader);
                                    }
                                }
                                prop = false;
                            }
                            red = dtpom.Rows[0].ItemArray[0].ToString();
                        }
                        else if (uc.GetLabelValue() == "Model ID")
                        {
                            PropertyProizvodjac pom = new PropertyProizvodjac();
                            broj   = dt.Rows[0][2].ToString();
                            red    = dt.Rows[0].ItemArray[1].ToString();
                            reader = SqlHelper.ExecuteReader(SqlHelper.GetConnectionString(), CommandType.Text,
                                                             pom.GetSelectQueryZaJedanItem(broj));
                            dt = new DataTable();
                            dt.Load(reader);
                            red += " " + dt.Rows[0].ItemArray[1].ToString();
                        }
                        else if (myInterface.GetType() == typeof(PropertyCijena) && item.Name == "VoziloID")
                        {
                            DataTable dtpom = new DataTable();
                            bool      prop  = true;
                            foreach (PropertyInfo itemPom in foreignKeyInterface.GetType().GetProperties())
                            {
                                //Izbacivanje prikaza primarnog kljuca
                                if (prop == false)
                                {
                                    if (itemPom.Name.Contains("ID"))
                                    {
                                        string klasa = itemPom.GetCustomAttributes <ForeignKeyAttribute>().FirstOrDefault().ClassName;

                                        foreignKeyInterface = Assembly.GetExecutingAssembly().
                                                              CreateInstance(klasa) as PropertyInterface;

                                        reader = SqlHelper.ExecuteReader(SqlHelper.GetConnectionString(), CommandType.Text,
                                                                         foreignKeyInterface.GetLookupQuery(dt.Rows[0].ItemArray[1].ToString()));

                                        dtpom.Load(reader);
                                        reader.Close();
                                        red = dtpom.Rows[0].ItemArray[0].ToString();
                                        bool prop1 = true;
                                        foreach (PropertyInfo itemPom1 in foreignKeyInterface.GetType().GetProperties())
                                        {
                                            //Izbacivanje prikaza primarnog kljuca
                                            if (prop1 == false)
                                            {
                                                if (itemPom1.Name.Contains("ID"))
                                                {
                                                    string klasa1 = itemPom1.GetCustomAttributes <ForeignKeyAttribute>().FirstOrDefault().ClassName;

                                                    foreignKeyInterface = Assembly.GetExecutingAssembly().
                                                                          CreateInstance(klasa1) as PropertyInterface;

                                                    reader = SqlHelper.ExecuteReader(SqlHelper.GetConnectionString(), CommandType.Text,
                                                                                     foreignKeyInterface.GetLookupQuery(dtpom.Rows[0].ItemArray[1].ToString()));
                                                    dtpom = new DataTable();
                                                    dtpom.Load(reader);

                                                    red += " " + dtpom.Rows[0].ItemArray[0].ToString();
                                                    break;
                                                }
                                            }
                                            prop1 = false;
                                        }
                                        break;
                                    }
                                }
                                prop = false;
                            }
                        }
                        else
                        {
                            red = dt.Rows[0].ItemArray[1].ToString();
                            try
                            {
                                red += " " + dt.Rows[0].ItemArray[2].ToString();
                            }
                            catch { }
                        }

                        reader.Close();
                        uc.SetValueTextBox(item.GetValue(myInterface).ToString(), red);
                    }
                    catch { }
                }
                flowPanel.Controls.Add(uc);
            }

            //Dodavanje kontrole za 2 radio dugmica
            else if (item.GetCustomAttribute <TwoRadioButtonsAttribute>() != null)
            {
                TwoRadioButtonsControl uc = new TwoRadioButtonsControl();
                uc.Name = item.Name;
                uc.SetLabel(item.GetCustomAttributes <DisplayNameAttribute>().FirstOrDefault().DisplayName);
                uc.SetRadioButtons(item.GetCustomAttribute <TwoRadioButtonsAttribute>().Value1, item.GetCustomAttribute <TwoRadioButtonsAttribute>().Value2);
                //provjera da li smo kliknuli na detalje ako jesmo da polje bude samo read only
                if (Detalji == "detalji")
                {
                    uc.ReadOnly();
                }
                if (state == StateEnum.Update)
                {
                    try
                    {
                        uc.SetChecked(item.GetValue(myInterface).ToString());
                    }
                    catch { }
                }
                flowPanel.Controls.Add(uc);
            }

            else if (item.GetCustomAttribute <ComboBoxAttribute>() != null)
            {
                ComboBoxControl uc = new ComboBoxControl();
                uc.Name = item.Name;
                uc.SetLabel(item.GetCustomAttributes <DisplayNameAttribute>().FirstOrDefault().DisplayName);
                uc.FillComboBox(item.GetCustomAttribute <ComboBoxAttribute>().vrijednosti);
                if (Detalji == "detalji")
                {
                    uc.ReadOnly();
                }
                if (state == StateEnum.Update)
                {
                    try
                    {
                        uc.SetComboBox(item.GetValue(myInterface).ToString());
                    }
                    catch { }
                }
                flowPanel.Controls.Add(uc);
            }

            //Dodavanje kontrole za TextBox
            else
            {
                InputControl uc = new InputControl();
                uc.Name = item.Name;
                if (uc.Name == "Napomena")
                {
                    uc.SetValueInTextBox(" ");
                }
                uc.SetLabel(item.GetCustomAttributes <DisplayNameAttribute>().FirstOrDefault().DisplayName);
                if (Detalji == "detalji")
                {
                    uc.ReadOnly();
                }
                if (state == StateEnum.Update)
                {
                    try
                    {
                        uc.SetValueInTextBox(item.GetValue(myInterface).ToString());
                    }
                    catch { }
                }
                flowPanel.Controls.Add(uc);
            }
        }
Пример #16
0
        internal static void CicleControls(String formName, Control.ControlCollection controls, bool isFormReloading)
        {
            foreach (Control control in controls)
            {
                if (control.Tag != null && control.Tag.ToString() == ConstantUtil.dontTranslate)
                {
                    continue;
                }

                try
                {
                    Type controlType = control.GetType();

                    if (controlType == typeof(TextBox) || controlType == typeof(Label) || controlType == typeof(LinkLabel) || controlType == typeof(Button) || controlType == typeof(CheckBox) || controlType == typeof(CustomCheckBox) ||
                        controlType == typeof(RadioButton) || controlType == typeof(RichTextBox) || (controlType == typeof(CustomXtraTabControl) && !isFormReloading) || controlType == typeof(TabControl) ||
                        controlType == typeof(XtraTabControl) || controlType == typeof(XmlGridView) || controlType == typeof(DataGridView))
                    {
                        GeneralControl.ManageControl(control, formName, isFormReloading);
                    }
                    else if (controlType == typeof(TabPage))
                    {
                        TabPageControl.ManageControl(control, formName, isFormReloading);
                    }
                    else if (controlType == typeof(XtraTabPage))
                    {
                        XtraTabPageControl.ManageControl(control, formName, isFormReloading);
                    }
                    else if (controlType == typeof(FlowLayoutPanel) || controlType == typeof(Panel) || controlType == typeof(SplitContainer) ||
                             controlType == typeof(SplitterPanel) || controlType == typeof(ContextMenuStrip))
                    {
                        PanelMenuControl.ManageControl(control, formName, isFormReloading);
                    }
                    else if (controlType == typeof(GroupBox))
                    {
                        GroupBoxControl.ManageControl(control, formName, isFormReloading);
                    }
                    else if (controlType == typeof(MenuStrip))
                    {
                        MenuStripControl.ManageControl(control, formName);
                    }
                    else if (controlType == typeof(ToolStrip))
                    {
                        ToolStripControl.ManageControl(control, formName);
                    }
                    else if (controlType == typeof(StatusStrip))
                    {
                        StatusStripControl.ManageControl(control, formName);
                    }
                    else if (controlType == typeof(ComboBox) || (controlType == typeof(ComboBoxEdit)))
                    {
                        ComboBoxControl.ManageControl(control, formName);
                    }
                    else if (controlType == typeof(CustomComboBox))
                    {
                        CustomComboBoxControl.ManageControl(control, formName);
                    }
                    else if (controlType == typeof(CustomNumericUpDown))
                    {
                        CustomNumericUpDownControl.ManageControl(control, formName);
                    }
                    else if (controlType == typeof(TreeView))
                    {
                        TreeViewControl.ManageControl(control, formName);
                    }
                    else if (controlType == typeof(ListView))
                    {
                        ListViewControl.ManageControl(control, formName);
                    }
                }
                catch (Exception exception)
                {
                    throw new LanguageException(String.Format("{0} - {1}", control.Name, exception.Message), exception);
                }
            }
        }
 /// <summary>
 /// Устанавливает представление комбобокса.
 /// </summary>
 /// <param name="comboBox">Объект представления.</param>
 /// <param name="allowNull">Допустимость Null значений. </param>
 /// <param name="showNullValue">Показывать ли стандартное Null значение. </param>
 public void SetView(ComboBoxControl comboBox, bool allowNull, bool showNullValue)
 {
     SetView(comboBox, default(T), allowNull, showNullValue);
 }