コード例 #1
0
        public void Delete(PropertyInterface myProperty, int SelektovaniRed, Bunifu.Framework.UI.BunifuCustomDataGrid dgv)
        {
            try
            {
                DataGridViewRow row        = dgv.SelectedRows[0];
                var             properties = myProperty.GetType().GetProperties();

                foreach (PropertyInfo item in properties)
                {
                    if (item.GetCustomAttribute <PrimaryKeyAttribute>() != null)
                    {
                        string value = row.Cells[item.GetCustomAttribute <SqlNameAttribute>().Name]
                                       .Value.ToString();

                        item.SetValue(myProperty, Convert.ChangeType(value, item.PropertyType));
                    }
                }

                SqlHelper.ExecuteNonQuery(SqlHelper.GetConnectionString(), CommandType.Text,
                                          myProperty.GetDeleteQuery(), myProperty.GetDeleteParameters().ToArray());
                CRUD.IstorijaCRUD.Istorija(UserEmail, StateEnum.Delete, myProperty);
                //PopulateGrid(myProperty);
            }
            catch (System.Data.SqlClient.SqlException)
            {
                MessageBox.Show("\n\nNemoguce je obrisati ovaj red zbog povezanosti sa drugim tabelama!!!\n\n", "Greska pri brisanju!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #2
0
ファイル: LookUpControl.cs プロジェクト: miki010/Biblioteka
 public LookUpControl(PropertyInterface interf)
 {
     InitializeComponent();
     myInterface      = interf;
     txtName.ReadOnly = true;
     txtID.Focus();
 }
コード例 #3
0
        public LookupForm(PropertyInterface mp)
        {
            InitializeComponent();
            myProperty = mp;

            if (mp.GetType() == typeof(PropertyClassZaposleni))
            {
                this.Text = "Zaposleni";
            }
            else if (mp.GetType() == typeof(PropertyClassModel))
            {
                this.Text            = "Model";
                btnNoviModel.Visible = true;
            }
            else if (mp.GetType() == typeof(PropertyClassVozila))
            {
                this.Text = "Vozila";
            }
            else if (mp.GetType() == typeof(PropertyClassProizvodjac))
            {
                this.Text = "Proizvodjaci";
            }

            PopulateGrid();

            formatiranejGrida();



            lookupGrid.CellDoubleClick += btnReturn_Click;
        }
コード例 #4
0
        //Menu item Vozilo
        private void btnVozilo_Click(object sender, EventArgs e)
        {
            //sakrivanje glavnog dashbord-a
            panelMeniDashboard.Visible = false;

            //Klasa koja se prikazuje u DGV
            VoziloIspis pom = new VoziloIspis();

            PopulateGrid(pom);

            //Pomocna klasa za Input formu preko koje se rade sve CRUD funkcije
            PropertyVozilo pomInput = new PropertyVozilo();

            myForm = pomInput;

            //Sakrivanje i prikazivanje dugmica i prikaza za zadatu tabelu
            panelPanelZaGV.Visible = true;
            bDelete.Visible        = true;
            //panelCentar.Visible = true;
            panelSaTabelom.Visible = true;
            btnIzdaj.Visible       = false;
            btnCijena.Visible      = true;

            //Filter popunjavanje
            FilterProperty = new VoziloIspis();
            PopuniFilterPanel();

            BgColor(panelAutomobili);

            brojRedovaDGVAVozila = dgv.Rows.Count;
        }
コード例 #5
0
ファイル: FormStandard.cs プロジェクト: miki010/Biblioteka
        public FormStandard(PropertyInterface propertyInterface, StateEnum stateEnum, int red)
        {
            InitializeComponent();
            this.myProperty = propertyInterface;
            this.state      = stateEnum;
            this.red        = red;
            loadTable();
            this.tileDodaj.BringToFront();
            this.tileIzmijeni.BringToFront();
            this.tileObrisi.BringToFront();
            this.tileVrati.BringToFront();
            tileSelectFirst.BringToFront();
            tileSelectLast.BringToFront();
            tileSelectNext.BringToFront();
            tileSelectPrevious.BringToFront();
            tileDetaljnaPretraga.BringToFront();
            tileAzurirajZapise.BringToFront();
            metroLabel1.BringToFront();
            txtPretraga.BringToFront();
            panelPretraga.BringToFront();
            labelTitle.BringToFront();
            lblBrojRedova.BringToFront();
            lblDetaljno.BringToFront();
            lblRedIndex.BringToFront();
            panelDetalno.BringToFront();

            dgvPrikaz.BringToFront();
        }
コード例 #6
0
ファイル: FormInput.cs プロジェクト: miki010/Biblioteka
 public FormInput(PropertyInterface myInterface, StateEnum state)
 {
     InitializeComponent();
     this.myInterface = myInterface;
     this.state       = state;
     PopulateControls();
 }
コード例 #7
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);
        }
コード例 #8
0
        private void btnZaposleni_Click(object sender, EventArgs e)
        {
            //sakrivanje glavnog dashbord-a
            panelMeniDashboard.Visible = false;

            //Klasa koja se prikazuje u DGV
            RadnikIspis pom = new RadnikIspis();

            FilterProperty = new RadnikIspis();

            //Pomocna klasa za Input formu preko koje se rade sve CRUD funkcije
            PropertyRadnik pomInput = new PropertyRadnik();

            myForm = pomInput;

            //Sakrivanje i prikazivanje dugmica i prikaza za zadatu tabelu
            panelPanelZaGV.Visible = true;
            bDelete.Visible        = true;
            //panelCentar.Visible = true;
            panelSaTabelom.Visible = true;
            btnIzdaj.Visible       = false;
            btnCijena.Visible      = false;

            //Filter popunjavanje
            PopulateGrid(pom);
            PopuniFilterPanel();

            BgColor(panelZaposleni);
        }
コード例 #9
0
 public LookUpForm(PropertyInterface property, int termin)
 {
     InitializeComponent();
     myProperty = property;
     terminID   = termin;
     GetSelectFreeSeat();
     dgvPregledLookUp.MultiSelect = false;
 }
コード例 #10
0
        public void Insert(PropertyInterface myProperty)
        {
            this.myProperty = myProperty;
            InputForma pom = new InputForma(myProperty, StateEnum.Create, UserEmail, UserID);

            pom.ShowDialog();
            pom.Close();
        }
コード例 #11
0
ファイル: FormInput.cs プロジェクト: miki010/Biblioteka
        public FormInput(PropertyInterface myInterface, StateEnum state, FilterString filterString)  //konstruktor za Search inputform
        {
            InitializeComponent();
            this.myInterface  = myInterface;
            this.state        = state;
            this.filterString = filterString;

            PopulateControls();
        }
コード例 #12
0
 public LookUpControl(PropertyInterface interFace, string mail, string userId)
 {
     InitializeComponent();
     UserMail         = mail;
     UserID           = userId;
     myInterface      = interFace;
     tbKey.ReadOnly   = true;
     tbNaziv.ReadOnly = true;
 }
コード例 #13
0
        //ucitava dataGridView tabelom zavisno od tog na koji od menija je kliknuto
        private void Btn_Click(object sender, EventArgs e)
        {
            if (btnFilm == sender as Button)
            {
                property            = new FilmPropertyClass();
                txtPretraga.Enabled = true;
                txtPretraga.Text    = "";
                lblPretraga.Text    = "Pretraga po nazivu filma";
                state = StateEnum.Preview;
            }

            else if (btnLogin == sender as Button)
            {
                property            = new LoginPropertyClass();
                txtPretraga.Text    = "";
                txtPretraga.Enabled = true;
                lblPretraga.Text    = "Pretraga po imenu/prezimenu zaposlenog";
                state = StateEnum.Preview;
            }
            else if (btnTermini == sender as Button)
            {
                property            = new TerminPropertyClass();
                txtPretraga.Text    = "";
                txtPretraga.Enabled = true;
                lblPretraga.Text    = "Pretraga po vremenu prikazivanja u formatu(00:00:00)";
                state = StateEnum.Preview;
            }
            else if (btnProjekcija == sender as Button)
            {
                property            = new ProjekcijaPropertyClass();
                txtPretraga.Text    = "";
                txtPretraga.Enabled = true;
                lblPretraga.Text    = "Pretraga po filmu";
                state = StateEnum.Preview;
            }
            else if (btnZanr == sender as Button)
            {
                property            = new ZanrPropertyClass();
                txtPretraga.Text    = "";
                txtPretraga.Enabled = true;
                lblPretraga.Text    = "Pretraga po zanru";
                state = StateEnum.Preview;
            }

            else if (btnZaposleni == sender as Button)
            {
                property            = new ZaposleniPropertyClass();
                txtPretraga.Text    = "";
                txtPretraga.Enabled = true;
                lblPretraga.Text    = "Pretraga po imenu/prezimenu zaposlenog";
                state = StateEnum.Preview;
            }
            UcitajDGV(property);
        }
コード例 #14
0
 public InputForma(PropertyInterface myInterface, StateEnum state, string email, string ID)
 {
     InitializeComponent();
     this.StartPosition = FormStartPosition.CenterScreen;
     userEmail          = email;
     Id               = ID;
     Text             = myInterface.ToString().Remove(0, 36) + " " + state.ToString();
     this.myInterface = myInterface;
     this.state       = state;
     PopulateControls();
 }
コード例 #15
0
        public void Update(PropertyInterface myProperty, string ID, Bunifu.Framework.UI.BunifuCustomDataGrid dgv)
        {
            //Pretraga
            SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.GetConnectionString(), CommandType.Text,
                                                           myProperty.GetSelectQueryZaJedanItem(ID));

            DataTable dt = new DataTable();

            dt.Load(reader);
            reader.Close();

            dgv.DataSource = dt;

            var type              = myProperty.GetType();
            var properties        = type.GetProperties();
            PropertyInterface pom = myProperty;
            int i = 0;

            try
            {
                foreach (DataGridViewCell cell in dgv.Rows[0].Cells)
                {
                    String value = cell.Value.ToString();

                    PropertyInfo property = properties.Where(x => dgv.Columns[i].HeaderText == x.GetCustomAttribute <DisplayNameAttribute>().DisplayName).FirstOrDefault();
                    property.SetValue(myProperty, Convert.ChangeType(value, property.PropertyType));
                    i++;
                }
            }
            catch { }

            InputForma inputForma = null;

            if (DetaljiUpdate != "detalji")
            {
                inputForma = new InputForma(myProperty, StateEnum.Update, UserEmail, UserID);
            }
            else
            {
                inputForma = new InputForma("detalji", myProperty, StateEnum.Update, UserEmail, UserID);
            }


            inputForma.ShowDialog();

            if (inputForma.DialogResult == DialogResult.Cancel)
            {
                return;
            }
        }
コード例 #16
0
        private void detaljiVozila_Click(object sender, EventArgs e)
        {
            PropertyInterface pom = myProperty;
            string            ID  = dgv.SelectedRows[0].Cells[0].Value.ToString();

            PopulateGrid(myForm);
            myProperty = pom;
            //Visible = false;
            CRUDfunkcije crud = new CRUDfunkcije("detalji");

            crud.UserMail(UserMail, UserID);
            crud.Update(myForm, ID, dgv);
            // Visible = true;
            PopulateGrid(myProperty);
        }
コード例 #17
0
        private void btnIzaberi_Click(object sender, EventArgs e)
        {
            if (dgvPregledLookUp.Rows.Count == 0)
            {
                MessageBox.Show("Nema slobodnih mjesta");
                this.Close();
                return;
            }
            DataGridViewRow row        = dgvPregledLookUp.SelectedRows[0];
            var             properties = myProperty.GetType().GetProperties();

            string columnName = properties.Where(x => x.GetCustomAttribute <LookUpKeyAttribute>() != null)
                                .FirstOrDefault().GetCustomAttribute <SqlNameAttribute>().Naziv;

            Key = row.Cells[columnName].Value.ToString();

            columnName = properties.Where(x => x.GetCustomAttribute <LookUpValueAttribute>() != null)
                         .FirstOrDefault().GetCustomAttribute <SqlNameAttribute>().Naziv;

            if (columnName.Contains("ID"))
            {
                PropertyInterface foreignKeyInterface = Assembly.GetExecutingAssembly().
                                                        CreateInstance(properties.Where(x => x.GetCustomAttribute <ForeignKeyAttribute>() != null)
                                                                       .FirstOrDefault().GetCustomAttribute <ForeignKeyAttribute>().className)
                                                        as PropertyInterface;

                SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.GetConnectionString(), CommandType.Text,
                                                               foreignKeyInterface.GetLookUpQuery(row.Cells[1].Value.ToString()));

                DataTable dt = new DataTable();
                dt.Load(reader);
                reader.Close();

                dgvPregledLookUp.DataSource = dt;

                row = dgvPregledLookUp.Rows[0];

                Value = row.Cells[0].Value.ToString();
            }
            else
            {
                Value = row.Cells[columnName].Value.ToString();
            }

            this.Close();
        }
コード例 #18
0
        private void UcitajDGV(PropertyInterface property)
        {
            DataTable     dt     = new DataTable();
            SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.GetConnectionString(), CommandType.Text, property.GetSelectQuery());

            dt.Load(reader);
            reader.Close();
            dgvPrikaz.DataSource = null;
            dgvPrikaz.DataSource = dt;
            var prop = property.GetType().GetProperties();

            foreach (DataGridViewColumn item in dgvPrikaz.Columns)
            {
                item.HeaderText = prop.Where(x => x.GetCustomAttributes <SqlNameAttribute>().FirstOrDefault().Naziv ==
                                             item.HeaderText).FirstOrDefault().GetCustomAttributes <DisplayNameAttribute>().FirstOrDefault().DisplayName;
            }
        }
コード例 #19
0
        //StateEnum state;
        //PropertyInterface PropertyIstorijaCRUD;

        public static void Istorija(string UserMail, StateEnum state, PropertyInterface myInterface)
        {
            //string akcija = "";
            //akcija : create,update ili delete
            DateTime             datum            = DateTime.Now;
            PropertyIstorijaCRUD PropertyIstorija = new PropertyIstorijaCRUD();

            var type       = PropertyIstorija.GetType();
            var properties = type.GetProperties();

            string Opis = $"Korisnik: {UserMail} Akcija: {state} Datum: {datum} , {myInterface.ToString()} ";

            PropertyIstorija.KorisnickiMail = UserMail;
            PropertyIstorija.Datum          = datum;
            PropertyIstorija.Opis           = Opis;

            SqlHelper.ExecuteNonQuery(SqlHelper.GetConnectionString(), CommandType.Text,
                                      PropertyIstorija.GetInsertQuery(), PropertyIstorija.GetInsertParameters().ToArray());
        }
コード例 #20
0
 public Izvjestaj(PropertyInterface property)
 {
     InitializeComponent();
     if (property.GetType() == typeof(PropertyVozilo))
     {
         rvIzvjestaj.ServerReport.ReportPath = "/Report_RentACarOscar/izvjestajVozila";
     }
     else if (property.GetType() == typeof(PropertyKlijent))
     {
         rvIzvjestaj.ServerReport.ReportPath = "/Report_RentACarOscar/izvjestajKlijenti";
     }
     else if (property.GetType() == typeof(PropertyRadnik))
     {
         rvIzvjestaj.ServerReport.ReportPath = "/Report_RentACarOscar/izvjestajZaposleni";
     }
     else if (property.GetType() == typeof(PropertyFaktura))
     {
         rvIzvjestaj.ServerReport.ReportPath = "/Report_RentACarOscar/izvjestajSvihFaktura";
     }
 }
コード例 #21
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            PropertyInterface pom = myProperty;
            string            ID  = dgv.SelectedRows[0].Cells[0].Value.ToString();

            PopulateGrid();
            myProperty = pom;
            Visible    = false;
            CRUDfunkcije crud = new CRUDfunkcije();

            crud.UserMail(UserMail, UserID);
            crud.Update(myProperty, ID, dgv);

            Visible = true;
            try
            {
                PopulateGrid();
            }
            catch { }
        }
コード例 #22
0
        //Popunjavanje DataGridView-a sa procedurom koju je Marko sastavio
        private void PopulateGrid(PropertyInterface property)
        {
            myProperty = property;
            dt         = new DataTable();

            //logika za popunjavanje tabele
            SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.GetConnectionString(), CommandType.Text,
                                                           property.GetSelectQuery());

            dt.Load(reader);
            reader.Close();
            PopuniDGV(dt, property);

            dgv.AutoSizeRowsMode         = DataGridViewAutoSizeRowsMode.None;
            dgv.AllowUserToResizeRows    = false;
            dgv.AllowUserToResizeColumns = false;

            dgv.RowHeadersWidthSizeMode     = DataGridViewRowHeadersWidthSizeMode.DisableResizing;
            dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
        }
コード例 #23
0
 public LookUpForma(PropertyInterface property, string mail, string ID)
 {
     InitializeComponent();
     this.StartPosition = FormStartPosition.CenterScreen;
     UserMail           = mail;
     UserID             = ID;
     myProperty         = property;
     PopulateGrid();
     if (property.GetType() != typeof(PropertyTipFakture))
     {
         btnDelete.Visible = true;
         btnInsert.Visible = true;
         btnUpdate.Visible = true;
     }
     else
     {
         btnDelete.Visible = false;
         btnInsert.Visible = false;
         btnUpdate.Visible = false;
     }
 }
コード例 #24
0
        public DodajModelForm()
        {
            InitializeComponent();
            myProperty = new PropertyClassModel();
            PopulateControls();

            Button btnDodajModel = new Button();

            btnDodajModel.Text      = "DODAJ";
            btnDodajModel.Name      = "btnDodajModel";
            btnDodajModel.Visible   = true;
            btnDodajModel.FlatStyle = FlatStyle.Flat;
            btnDodajModel.BackColor = Color.FromArgb(5, 56, 107);
            btnDodajModel.ForeColor = Color.White;
            btnDodajModel.Size      = new Size(120, 34);
            btnDodajModel.Margin    = new Padding(135, 10, 3, 3);

            flpModel.Controls.Add(btnDodajModel);

            btnDodajModel.Click += BtnDodajModel_Click;
        }
コード例 #25
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            PropertyInterface pom = myProperty;

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

            //Popunjavanje DGV-a sa property klasom
            PopulateGrid(myForm);
            myProperty = pom;
            //Visible = false;

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

            //Pozivanje metode UPDATE za zadatu Property klasu, selektovani ID i dgv sa popunjenim podacima prave property klase
            crud.Update(myForm, ID, dgv);
            //Visible = true;

            //Popunjavanje DGV-a nakon zavrsene metode UPDATE
            PopulateGrid(myProperty);
        }
コード例 #26
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);
                }
            }
        }
コード例 #27
0
        //Ucitavanje zadate Property klase iz foldera IspisDGV
        private void PopuniDGV(DataTable dt, PropertyInterface property)
        {
            //Ciscenje panela za refresh
            panelPanelZaGV.Controls.Clear();

            //Restart DGV-a
            dgv = new Bunifu.Framework.UI.BunifuCustomDataGrid();

            //pozadina hedera
            panelPanelZaGV.Controls.Add(dgv);

            //Popunjavanje tabele sa vrijednostima
            dgv.DataSource = dt;

            //Poziv metode za dizajniranje DGV-a
            DGVDizajn();

            //izvuci display name
            var type       = property.GetType();
            var properties = type.GetProperties();

            //promijeniti nazive kolona
            if (property.GetType() != typeof(VoziloIspis))
            {
                foreach (DataGridViewColumn item in dgv.Columns)
                {
                    item.HeaderText = properties.Where(x => x.GetCustomAttributes <SqlNameAttribute>().FirstOrDefault().Name == item.HeaderText
                                                       ).FirstOrDefault().GetCustomAttributes <DisplayNameAttribute>().FirstOrDefault().DisplayName;
                }
            }

            //sakrij ID
            if (property.GetType() == typeof(VoziloIspis) ||
                property.GetType() == typeof(PropertyKlijent))
            {
                dgv.Columns[0].Visible = false;
            }
        }
コード例 #28
0
 //popunjava property podatcima iz selektovanog reda u  DataGridView
 private void PopulatePropertyInterface(PropertyInterface property)
 {
     try
     {
         DataGridViewRow row        = dgvPrikaz.SelectedRows[0];
         var             properties = property.GetType().GetProperties();
         foreach (PropertyInfo item in properties)
         {
             string value = row.Cells[item.GetCustomAttribute <SqlNameAttribute>().Naziv]
                            .Value.ToString();
             if (item.GetCustomAttribute <TimeAttribute>() != null)
             {
                 TimeSpan time = TimeSpan.Parse(value);
                 item.SetValue(property, Convert.ChangeType(time, item.PropertyType));
             }
             else
             {
                 item.SetValue(property, Convert.ChangeType(value, item.PropertyType));
             }
         }
     }
     catch { }
 }
コード例 #29
0
	public static int test() {
		var obj = new PropertyInterface();
		return obj.method();
	}
コード例 #30
0
    public static int test()
    {
        var obj = new PropertyInterface();

        return(obj.method());
    }
コード例 #31
0
 public LookUpForm(PropertyInterface property)
 {
     InitializeComponent();
     myProperty = property;
     GetSelectAll();
 }