public DataTable UlazuTablicu(long sifra) { DataTable dt = new DataTable(); Artikl temop = new Artikl(); temop = Izracunaj_ulaz(sifra); dt.Columns.Add("Sifra"); dt.Columns.Add("Naziv"); dt.Columns.Add("MPC"); dt.Columns.Add("MPC_popust"); dt.Columns.Add("Stanje"); dt.Columns.Add("Dobavljac"); DataRow toInsert = dt.NewRow(); toInsert["Sifra"] = temop.sifra; toInsert["Naziv"] = temop.naziv; toInsert["MPC"] = temop.MPC; toInsert["MPC_popust"] = temop.popust; toInsert["Stanje"] = temop.kolicina; toInsert["Dobavljac"] = temop.dobavljac; dt.Rows.Add(toInsert); return(dt); }
public DataTable GeneriraniCijenik(Artikl artikl) { DataTable dataTable = new DataTable(); dataTable.Columns.Add("Ulaz", typeof(string)); dataTable.Columns.Add("Sifra", typeof(int)); dataTable.Columns.Add("Naziv", typeof(string)); dataTable.Columns.Add("Kolicina", typeof(int)); dataTable.Columns.Add("Nabavna_cijena", typeof(float)); dataTable.Columns.Add("MPC", typeof(float)); dataTable.Columns.Add("MPC_Popust", typeof(float)); dataTable.Columns.Add("Dobavljac", typeof(String)); try { for (int i = 0; i < _uneseni_aktivni_artikli.Count; i++) { if (_uneseni_aktivni_artikli[i].sifra == artikl.sifra) { DataRow dataRow = dataTable.NewRow(); dataRow["Ulaz"] = _uneseni_aktivni_artikli[i].ulaz; dataRow["Sifra"] = _uneseni_aktivni_artikli[i].sifra; dataRow["Naziv"] = _uneseni_aktivni_artikli[i].naziv; dataRow["Kolicina"] = _uneseni_aktivni_artikli[i].kolicina; dataRow["Nabavna_cijena"] = _uneseni_aktivni_artikli[i].nab_cijena; dataRow["MPC"] = _uneseni_aktivni_artikli[i].MPC; dataRow["Dobavljac"] = _uneseni_aktivni_artikli[i].dobavljac; dataRow["MPC_Popust"] = _uneseni_aktivni_artikli[i].popust; dataTable.Rows.Add(dataRow); } } } catch { }; return(dataTable); }
private void GenerirajCijenikIzAktivnihUDB(prolaz_kroz_artikle prolaz_Kroz_Artikle) { // TO BE ADDED if (CijenikPrazan()) { if (prolaz_Kroz_Artikle == prolaz_kroz_artikle.sve_kalkulacije) { MYSQLTableBuilder.CreateStanjeSkladista(); for (int i = 0; i < _uneseni_aktivni_artikli_sifra_zbirno.Count; i++) { try { Artikl prividni_artikl = new Artikl(); prividni_artikl = Izracunaj_ulaz(_uneseni_aktivni_artikli_sifra_zbirno[i]); if (prividni_artikl.sifra != 0) { using (MySqlConnection mysqlc = new MySqlConnection(Login.constring)) { mysqlc.Open(); String query2 = "INSERT INTO stanje_skladista (sifra,naziv,stanje,MPC,MPC_Popust,vrsta,podgrupa,osobine_artikla,min_MPC,dobavljac) VALUES ('" + prividni_artikl.sifra + "','" + prividni_artikl.naziv + "','" + prividni_artikl.kolicina + "','" + prividni_artikl.MPC + "','" + prividni_artikl.popust + "','" + prividni_artikl.vrsta + "','" + prividni_artikl.podgrupa + "','" + prividni_artikl.osobine_artikla + "','" + prividni_artikl.min_mpc + "','" + prividni_artikl.dobavljac + "') ;"; MySqlCommand mySqlCommand = new MySqlCommand(query2, mysqlc); mySqlCommand.ExecuteNonQuery(); } } } catch { }; } } } else if (prolaz_Kroz_Artikle == prolaz_kroz_artikle.aktivna_kalkulacija) { try { for (int i = 0; i < AktivnaKalSifreArtikla().Count; i++) { Artikl prividni_artikl = new Artikl(); prividni_artikl = Izracunaj_ulaz(AktivnaKalSifreArtikla()[i]); // Dodati ako nema na stanju racuna od trenutne kalkulacije kasnije nije presudno if (prividni_artikl.sifra != 0) { using (MySqlConnection mysqlc = new MySqlConnection(Login.constring)) { mysqlc.Open(); String query2 = "INSERT INTO stanje_skladista (sifra,naziv,stanje,MPC,MPC_Popust,vrsta,podgrupa,osobine_artikla,min_MPC,dobavljac) VALUES ('" + prividni_artikl.sifra + "','" + prividni_artikl.naziv + "','" + prividni_artikl.kolicina + "','" + prividni_artikl.MPC + "','" + prividni_artikl.popust + "','" + prividni_artikl.vrsta + "','" + prividni_artikl.podgrupa + "','" + prividni_artikl.osobine_artikla + "','" + prividni_artikl.min_mpc + "','" + prividni_artikl.dobavljac + "') ON DUPLICATE KEY UPDATE stanje='" + prividni_artikl.kolicina + "',MPC = '" + prividni_artikl.MPC + "' ,MPC_Popust = '" + prividni_artikl.popust + "', vrsta='" + prividni_artikl.vrsta + "', podgrupa = '" + prividni_artikl.podgrupa + "',osobine_artikla='" + prividni_artikl.osobine_artikla + "', min_MPC='" + prividni_artikl.min_mpc + "', dobavljac='" + prividni_artikl.dobavljac + "';"; MySqlCommand mySqlCommand = new MySqlCommand(query2, mysqlc); mySqlCommand.ExecuteNonQuery(); } } } } catch { }; } }
private void SviUlaziReport_Load(object sender, EventArgs e) { sk.Sinkroniziraj(prolaz_kroz_artikle.nista); Artikl artikl = new Artikl(); DataSet ds = new DataSet(); artikl.sifra = odb_sifra; ds.Tables.Add(sk.GeneriraniCijenik(artikl)); PostaviIzvjestaj(ds); this.reportViewer1.RefreshReport(); }
public Artikl Izracunaj_ulaz(long sifra) { Artikl art = new Artikl(); int j = 0; foreach (Artikl uneseni_art in UkupnoUneseniArtikli(sifra)) { try { if (uneseni_art.sifra == sifra) { if (uneseni_art.nab_cijena != 0) { art.sifra = uneseni_art.sifra; art.naziv = uneseni_art.naziv; art.dobavljac = uneseni_art.dobavljac; art.MPC = uneseni_art.MPC; // Dodati ako u stanju skladista je druga cijena ispisati nivelaciju art.popust = uneseni_art.popust; art.vrsta = uneseni_art.vrsta; art.podgrupa = uneseni_art.podgrupa; art.opis_artikla = uneseni_art.opis_artikla; art.robna_marka = uneseni_art.robna_marka; art.kolicina += uneseni_art.kolicina; art.nab_cijena += uneseni_art.nab_cijena; art.nab_vrijednost += uneseni_art.nab_cijena * Math.Abs(uneseni_art.kolicina); if (art.kolicina == 0) { art.nab_cijena = 0; j = -1; } j++; } else if (uneseni_art.nab_cijena == 0) { //Nivelacija/Promjena cijena art.MPC = uneseni_art.MPC; art.popust = uneseni_art.popust; } } } catch { }; } art.nab_cijena /= j; art.nab_vrijednost /= art.kolicina; var pdv_artikla = ArtikliOsnovno.GetStopaFromSifra(sifra); art.min_mpc = Math.Abs(art.nab_vrijednost * (1 + ((float)pdv_artikla / 100))); //foreach(Artikl artikl_na_racunu in _nekativni_racuni) if (art.kolicina <= 0)// Kada se skine sa stanja postaviti u 0 { art.min_mpc = 0; } return(art); }
private void PostaviUneseneAktivneArtikle() { _uneseni_aktivni_artikli = new List <Artikl>(); _uneseni_aktivni_artikli_sifra = new List <int>(); _uneseni_aktivni_artikli_sifra.Clear(); _uneseni_aktivni_artikli.Clear(); for (int i = 0; i < _neaktivne_kalkulacije.Count; i++) { try { using (MySqlConnection mysqlcon = new MySqlConnection(Login.constring)) { mysqlcon.Open(); String[] temp = new String[2]; temp = _neaktivne_kalkulacije[i].Split('/'); string query = "SELECT id_artikl,NazivArtikla,kolicina,cijena,MPC,MPC_popust FROM primka_stavke" + temp[1] + " WHERE id_primka=" + temp[0]; DataSet ds = new DataSet(); MySqlDataAdapter mySqlDataAdapter = new MySqlDataAdapter(query, mysqlcon); mySqlDataAdapter.Fill(ds); DataTable dt = ds.Tables[0]; for (int f = 0; f < dt.Rows.Count; f++) { _uneseni_aktivni_artikli_sifra.Add(Convert.ToInt32(dt.Rows[f][0].ToString())); Artikl artikl = new Artikl(); artikl.sifra = Convert.ToInt32(dt.Rows[f][0].ToString()); artikl.naziv = dt.Rows[f][1].ToString(); artikl.kolicina = Convert.ToInt32(dt.Rows[f][2].ToString()); artikl.nab_cijena = Convert.ToSingle(dt.Rows[f][3].ToString()); artikl.MPC = Convert.ToSingle(dt.Rows[f][4].ToString()); artikl.popust = Convert.ToSingle(dt.Rows[f][5].ToString()); artikl.ulaz = _neaktivne_kalkulacije[i]; artikl.dobavljac = GetDobavljacFromDB(Convert.ToInt32(temp[0].ToString()), Convert.ToInt32(temp[1])).ToString(); //TOIMP using (MySqlConnection mysqlc = new MySqlConnection(Login.constring)) { DataSet dataSet2 = new DataSet(); string query2 = "SELECT * FROM uartikli WHERE sifra=" + artikl.sifra; MySqlDataAdapter mySqlDataAdapter2 = new MySqlDataAdapter(query2, mysqlc); mySqlDataAdapter2.Fill(dataSet2); DataTable datatable2 = dataSet2.Tables[0]; artikl.vrsta = datatable2.Rows[0]["vrsta"].ToString(); artikl.podgrupa = datatable2.Rows[0]["podgrupa"].ToString(); artikl.robna_marka = datatable2.Rows[0]["robna_marka"].ToString(); artikl.osobine_artikla = datatable2.Rows[0]["osobine_artikla"].ToString(); artikl.opis_artikla = datatable2.Rows[0]["opis_artikla"].ToString(); } _uneseni_aktivni_artikli.Add(artikl); } } } catch { }; } }
private void SikronizirajStavkeRacuna() { if (Klase.Racuni.ProvjeriAktivnost(Convert.ToInt32(listBox1.SelectedItem) - 1) == true) { // ONLY DELETE DATA FROM TABLES IF ACTIVE OTHERWISE JUST READ using (MySqlConnection sqlconn = new MySqlConnection(Login.constring)) { sqlconn.Open(); string referenca_na_godinu = ""; // TO BE CHANGED LATER string query = "DELETE FROM racuni_stavke" + referenca_na_godinu + " WHERE id_racun = " + Convert.ToInt32(listBox1.SelectedItem); MySqlCommand mySqlCommand = new MySqlCommand(query, sqlconn); mySqlCommand.ExecuteNonQuery(); string query1 = "SELECT * FROM racuni_stavke" + referenca_na_godinu + " WHERE id_racun = " + Convert.ToInt32(listBox1.SelectedItem); MySqlDataAdapter mySqlDataAdapter = new MySqlDataAdapter(query1, sqlconn); DataSet ds = new DataSet(); ds.Clear(); mySqlDataAdapter.Fill(ds); MySqlCommandBuilder cb = new MySqlCommandBuilder(mySqlDataAdapter); mySqlDataAdapter.UpdateCommand = cb.GetUpdateCommand(); DataTable dt = ds.Tables[0]; dt.Clear(); var StanjeSkladista = Klase.RacuniStavke.GetFromStanjeSkladista(); for (int i = 0; i < dataGridView1.Rows.Count; i++) { try { if (Convert.ToInt32(dataGridView1.Rows[i].Cells["sifra"].Value) != 0) { Artikl art = new Artikl(); StanjeSkladista.TryGetValue(dataGridView1.Rows[i].Cells["sifra"].Value.ToString(), out art); dt.Rows.Add(new String[] { listBox1.SelectedItem.ToString(), dataGridView1.Rows[i].Cells["sifra"].Value.ToString(), dataGridView1.Rows[i].Cells["naziv"].Value.ToString(), dataGridView1.Rows[i].Cells["kolicina"].Value.ToString(), art.min_mpc.ToString(), art.MPC.ToString(), dataGridView1.Rows[i].Cells["MPC_Popust"].Value.ToString(), dataGridView1.Rows[i].Cells["MPC_Prodano"].Value.ToString(), dataGridView1.Rows[i].Cells["index_stavke"].Value.ToString() }); } mySqlDataAdapter.Update(dt); //Updating the values but I only want to update if not the same } catch { }; } } } }
private void DataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) { var stanjeSkladista = Klase.RacuniStavke.GetFromStanjeSkladista(); // Get dictionary from stanje skladista Artikl value = new Artikl(); // kreiraj instancu artikla artikl je struktura if (e.ColumnIndex == dataGridView1.Columns["sifra"].Index) // if editing sifra { bool hasValue = stanjeSkladista.TryGetValue(Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value), out value); if (hasValue) { dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 1].Value = stanjeSkladista[Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value)].naziv; // Postavi naziv tamo gdje stanje skladista zadovoljava sifru (KeyValue) if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 2].Value.ToString() == "") // Uglavnom ako je prvi unos postavi neke defualtne vrijenosti { dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 2].Value = 1; } if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 3].Value.ToString() == "") { dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 3].Value = 0; } dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 4].Value = stanjeSkladista[Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value)].MPC; } else { dataGridView1.Rows.RemoveAt(e.RowIndex); } } else if (e.ColumnIndex == dataGridView1.Columns["naziv"].Index) // if editing naziv { var prividnasifra = stanjeSkladista.Where(ar => ar.Value.naziv.ToUpper() == Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value).ToUpper()).ToList(); //Prividna sifra pretrazuje sifru artikla koji je unesen u drugu celiju naravno kako bi pretraga bila valjana postavljam sva slova velikim tiskanim if (prividnasifra.Count > 0) { dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex - 1].Value = prividnasifra[0].Key; //Ugl first or default if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 1].Value.ToString() == "") { dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 1].Value = 1; } if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 2].Value.ToString() == "") { dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 2].Value = 0; } dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 3].Value = stanjeSkladista[Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex - 1].Value)].MPC; dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = prividnasifra[0].Value.naziv; } else { dataGridView1.Rows.RemoveAt(e.RowIndex); } } else if (e.ColumnIndex == dataGridView1.Columns["kolicina"].Index) { if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == "") { dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = 1; } } else if (e.ColumnIndex == dataGridView1.Columns["MPC_popust"].Index) { if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == "") { dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = 0; } var MPC_N = stanjeSkladista[Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells[1].Value)].MPC; var Popust = Convert.ToSingle(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value); dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 1].Value = (1 - (Popust / 100)) * MPC_N; } else if (e.ColumnIndex == dataGridView1.Columns["MPC_Prodano"].Index) { if (dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == "") { dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = stanjeSkladista[Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells[1].Value)].MPC; } var MPC_P = Convert.ToSingle(dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value); var MPC_N = stanjeSkladista[Convert.ToString(dataGridView1.Rows[e.RowIndex].Cells[1].Value)].MPC; dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex - 1].Value = (float)((-100 * MPC_P / MPC_N) + 100); } ReindeksirajStavke(); if (!RowContainsEmptyValues(dataGridView1, e.RowIndex)) { SikronizirajStavkeRacuna(); } RacunajIznosRacuna(); }