示例#1
0
        private void btnCijena_Click(object sender, EventArgs e)
        {
            PropertyInterface pom = myProperty;

            //Kupljenje ID vozila iz DGV selektovanog reda
            string ID = dgv.SelectedRows[0].Cells[0].Value.ToString();

            //Kreiranje objekta PropertyCijena i popunjavanje tabele sa cijenama
            PropertyCijena cijenaTabela = new PropertyCijena();

            myForm = cijenaTabela;
            PopulateGrid(myForm);
            myProperty = pom;
            //Visible = false;

            //Metoda za upisivanje Mail-a i ID korisnika
            crud.UserMail(UserMail, UserID);

            //Pozivanje metode UPDATE sa PropertyCijena, selektovani ID i dgv sa popunjenim podacima cijena
            crud.Update(myForm, ID, dgv);
            // Visible = true;

            //Popunjavanje DGV-a nakon zavrsene metode UPDATE
            PopulateGrid(myProperty);
        }
示例#2
0
        //Insert operacija
        private void btnInsert_Click(object sender, EventArgs e)
        {
            //Metoda za upisivanje Mail-a i ID korisnika
            crud.UserMail(UserMail, UserID);

            //Pozivanje metode INSERT za zadatu Property klasu
            crud.Insert(myForm);

            //Popunjavanje DGV-a nakon zavrsene metode INSERT
            PopulateGrid(myProperty);

            if (myForm.GetType() == typeof(PropertyVozilo))
            {
                if (brojRedovaDGVAVozila < dgv.Rows.Count)
                {
                    PropertyInterface pom = myProperty;

                    //Kupljenje ID vozila iz DGV selektovanog reda
                    string ID = dgv.Rows[dgv.Rows.Count - 1].Cells[0].Value.ToString();

                    //Kreiranje objekta PropertyCijena i popunjavanje tabele sa cijenama
                    PropertyCijena cijenaTabela = new PropertyCijena();
                    myForm = cijenaTabela;
                    PopulateGrid(myForm);
                    myProperty = pom;
                    //Visible = false;

                    //Metoda za upisivanje Mail-a i ID korisnika
                    crud.UserMail(UserMail, UserID);

                    //Pozivanje metode UPDATE sa PropertyCijena, selektovani ID i dgv sa popunjenim podacima cijena
                    crud.Update(myForm, ID, dgv);
                    // Visible = true;

                    //Popunjavanje DGV-a nakon zavrsene metode UPDATE
                    PopulateGrid(myProperty);
                }
            }
        }
示例#3
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;
        }