private void repFaktura_Load(object sender, EventArgs e) { DTstatistika = dSstatistike.DTstatistika; string zemljaFilter = ""; if (zemlja != null && zemlja != "") { zemljaFilter = " AND unos_gosta.id_drzava='" + zemlja + "' "; } string sql = "SELECT zemlja.zemlja,unos_gosta.datum_dolaska,unos_gosta.datum_odlaska,unos_gosta.iznos_bor_pristojbe FROM unos_gosta" + " LEFT JOIN zemlja ON zemlja.country_code=unos_gosta.id_drzava WHERE " + " unos_gosta.vrijeme_unosa>='" + OD.ToString("yyyy-MM-dd H:mm:ss") + "' AND unos_gosta.vrijeme_unosa<='" + DO.ToString("yyyy-MM-dd H:mm:ss") + "'" + zemljaFilter + ""; DataTable DT = RemoteDB.select(sql, "unos_gosta").Tables[0]; string nas = "STATISTIČKI PRIKAZ DOLAZAKA I NOĆENJA GOSTIJU\r\nza period od " + OD.ToString("yyyy-MM-dd H:mm:ss") + " do " + DO.ToString("yyyy-MM-dd H:mm:ss") + ""; foreach (DataRow row in DT.Rows) { int broj_dana = Funkcije.ReturnDaysFromDate(Convert.ToDateTime(row["datum_dolaska"].ToString()), Convert.ToDateTime(row["datum_odlaska"].ToString())); SetTable(row["zemlja"].ToString(), 1, 1 * broj_dana, (Convert.ToDouble(row["iznos_bor_pristojbe"].ToString()) * broj_dana), nas); } this.reportViewer1.RefreshReport(); }
private bool ProvjeraDatuma(string soba) { int dana = Funkcije.ReturnDaysFromDate(dtpDatDolaska.Value, dtpDatOdlaska.Value); string poruka = ""; DateTime dat = dtpDatDolaska.Value; for (int i = 0; i < dana + 1; i++) { string sql = "SELECT * FROM unos_rezervacije " + " WHERE id_soba='" + cbSoba.SelectedValue + "'" + " AND '" + dat.ToString("yyyy-MM-dd") + " 23:59:59" + "'>=unos_rezervacije.datum_dolaska " + " AND '" + dat.ToString("yyyy-MM-dd") + " 00:00:01" + "'<=unos_rezervacije.datum_odlaska"; DataTable DT = RemoteDB.select(sql, "r_cijenasoba").Tables[0]; if (DT.Rows.Count > 0) { poruka += dat.ToString("yyyy-MM-dd") + "\r\n"; } dat = dat.AddDays(1); } if (poruka != "") { if (MessageBox.Show("Upozorenje.\r\nSoba pod nazivom " + soba + " već ima rezervacije po datumima:\r\n" + poruka + "\r\n\r\nŽelite li uistinu dodati na popis ovaj unos?", "Upozorenje", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) != DialogResult.Yes) { return(false); } } return(true); }
private void Fill() { txtBrojDokumenta.Enabled = false; string sql = "SELECT * FROM unos_gosta WHERE broj='" + txtBrojDokumenta.Text + "'"; DataTable DT = RemoteDB.select(sql, "unos_gosta").Tables[0]; foreach (DataRow dr in DT.Rows) { try { dgv.Rows.Add(); int br = dgv.Rows.Count - 1; dgv.Rows[br].Cells["cijena_sobe_dgv"].Value = dr["cijena_sobe"].ToString(); dgv.Rows[br].Cells["iznosVS"].Value = dr["iznos_vu"].ToString(); dgv.Rows[br].Cells["iznosBP"].Value = dr["iznos_bor_pristojbe"].ToString(); dgv.Rows[br].Cells["popust"].Value = dr["popust"].ToString(); dgv.Rows[br].Cells["napomena"].Value = dr["napomena"].ToString(); txtBrojDokumenta.Text = dr["broj"].ToString(); nuGodina.Value = Convert.ToInt16(dr["godina"].ToString()); dgv.Rows[br].Cells["imeprezime"].Value = dr["ime_gosta"].ToString(); dgv.Rows[br].Cells["adresa"].Value = dr["adresa"].ToString(); dgv.Rows[br].Cells["cijena_sobe_dgv"].Value = dr["cijena_sobe"].ToString(); dgv.Rows[br].Cells["broj_osobne"].Value = dr["broj_osobne"].ToString(); dgv.Rows[br].Cells["broj_putovnice"].Value = dr["broj_putovnice"].ToString(); dgv.Rows[br].Cells["datum_dolaska"].Value = dr["datum_dolaska"].ToString(); dgv.Rows[br].Cells["tb"].Value = dr["porez"].ToString(); dgv.Rows[br].Cells["datum_odlaska"].Value = dr["datum_odlaska"].ToString(); dgv.Rows[br].Cells["datum_rodenja"].Value = dr["datum_rodenja"].ToString(); dgv.Rows[br].Cells["id_agencija"].Value = dr["id_agencija"].ToString(); dgv.Rows[br].Cells["id_soba"].Value = dr["id_soba"].ToString(); dgv.Rows[br].Cells["id_tip_sobe"].Value = dr["id_tip_sobe"].ToString(); dgv.Rows[br].Cells["id_vrsta_gosta"].Value = dr["id_vrsta_gosta"].ToString(); dgv.Rows[br].Cells["ukupno"].Value = Convert.ToDecimal(dr["ukupno"].ToString()).ToString("#0.00"); DataTable DDD = RemoteDB.select("SELECT naziv_sobe FROM sobe WHERE id='" + dr["id_soba"].ToString() + "'", "sobe").Tables[0]; if (DDD.Rows.Count > 0) { dgv.Rows[br].Cells["soba"].Value = DDD.Rows[0]["naziv_sobe"].ToString(); } dgv.Rows[br].Cells["id_vrsta_usluge"].Value = dr["id_vrsta_usluge"].ToString(); dgv.Rows[br].Cells["id_boravisna_pristojba"].Value = dr["id_boravisna_pristojba"].ToString(); dgv.Rows[br].Cells["id_drzava"].Value = dr["id_drzava"].ToString(); dgv.Rows[br].Cells["avans"].Value = dr["avans"].ToString(); dgv.Rows[br].Cells["dorucak"].Value = dr["dorucak"].ToString(); dgv.Rows[br].Cells["rucak"].Value = dr["rucak"].ToString(); dgv.Rows[br].Cells["vecera"].Value = dr["vecera"].ToString(); dgv.Rows[br].Cells["id_unos"].Value = dr["id"].ToString(); decimal dec; if (!decimal.TryParse(dr["avans"].ToString(), out dec)) { txtAvans.Text = "0"; } if (!decimal.TryParse(dr["popust"].ToString(), out dec)) { txtPopust.Text = "0"; } if (!decimal.TryParse(dr["iznos_vu"].ToString(), out dec)) { txtCijenaUsluge.Text = "0"; } if (!decimal.TryParse(dr["iznos_bor_pristojbe"].ToString(), out dec)) { txtIznosBorPristojbe.Text = "0"; } rabat_stavka = Convert.ToDecimal(dr["popust"].ToString()); avans_ukupno = Convert.ToDecimal(dr["avans"].ToString()); vrsta_usluge = Convert.ToDecimal(dr["iznos_vu"].ToString()); bor_pristojba = Convert.ToDecimal(dr["iznos_bor_pristojbe"].ToString()); cijena_sobe = Convert.ToDecimal(dr["cijena_sobe"].ToString()); DateTime OD = dtpDatDolaska.Value; DateTime DO = dtpDatOdlaska.Value; decimal broj_nocenja = Funkcije.ReturnDaysFromDate(OD, DO); ukupno_stavka = (cijena_sobe - (((cijena_sobe) * rabat_stavka) / 100)) + vrsta_usluge + bor_pristojba; ukupno_stavka = ukupno_stavka * broj_nocenja; RacunajUkupno(); } catch (Exception ex) { MessageBox.Show("Greška:\r\n\r\n" + ex.ToString(), "Greška"); } } }
private void btnUrediOznacenog_Click(object sender, EventArgs e) { if (dgv.Rows.Count == 0) { MessageBox.Show("Nemate nitijednu stavku."); return; } if (editDgv) { int b = broj_rowa_dgv_edit; dgv.Rows[b].Cells["imeprezime"].Value = txtImePrezime.Text; dgv.Rows[b].Cells["adresa"].Value = txtAdresa.Text; dgv.Rows[b].Cells["datum_dolaska"].Value = dtpDatDolaska.Value; dgv.Rows[b].Cells["datum_odlaska"].Value = dtpDatOdlaska.Value; dgv.Rows[b].Cells["soba"].Value = cbSoba.Text; dgv.Rows[b].Cells["avans"].Value = txtAvans.Text; dgv.Rows[b].Cells["iznosBP"].Value = txtIznosBorPristojbe.Text; dgv.Rows[b].Cells["iznosVS"].Value = txtCijenaUsluge.Text; dgv.Rows[b].Cells["cijena_sobe_dgv"].Value = cijena_sobe; dgv.Rows[b].Cells["broj_osobne"].Value = txtBrojOsobne.Text; dgv.Rows[b].Cells["broj_putovnice"].Value = txtBrojPutovnice.Text; dgv.Rows[b].Cells["id_agencija"].Value = cbAgencija.SelectedValue; dgv.Rows[b].Cells["id_soba"].Value = cbSoba.SelectedValue; dgv.Rows[b].Cells["id_tip_sobe"].Value = cbTipSoba.SelectedValue; dgv.Rows[b].Cells["id_vrsta_usluge"].Value = cbVrstaUsluge.SelectedValue; ukupno_stavka = (cijena_sobe - (((cijena_sobe) * rabat_stavka) / 100)) + vrsta_usluge + bor_pristojba; DateTime OD = dtpDatDolaska.Value; DateTime DO = dtpDatOdlaska.Value; decimal broj_nocenja = Funkcije.ReturnDaysFromDate(OD, DO); ukupno_stavka = ukupno_stavka * broj_nocenja; dgv.Rows[b].Cells["ukupno"].Value = ukupno_stavka.ToString("#0.00"); if (chbDorucak.Checked) { dgv.Rows[b].Cells["dorucak"].Value = "1"; } else { dgv.Rows[b].Cells["dorucak"].Value = "0"; } if (chbRucak.Checked) { dgv.Rows[b].Cells["rucak"].Value = "1"; } else { dgv.Rows[b].Cells["rucak"].Value = "0"; } if (chbVecera.Checked) { dgv.Rows[b].Cells["vecera"].Value = "1"; } else { dgv.Rows[b].Cells["vecera"].Value = "0"; } dgv.Rows[b].Cells["napomena"].Value = txtNapomena.Text; dgv.Rows[b].Cells["popust"].Value = txtPopust.Text; dgv.Rows[b].Cells["id_boravisna_pristojba"].Value = cbBorProstojba.SelectedValue; dgv.Rows[b].Cells["id_vrsta_gosta"].Value = cbVrsteGosta.SelectedValue; dgv.Rows[b].Cells["id_drzava"].Value = cbDrzava.SelectedValue; dgv.Rows[b].Cells["datum_rodenja"].Value = dtpRodenje.Value; DeleteFields(false); btnUrediOznacenog.Text = "Uredi označenog unosa"; btnUrediOznacenog.Font = new Font(btnUrediOznacenog.Font.Name, 8.25F, FontStyle.Regular); broj_rowa_dgv_edit = new int(); editDgv = false; return; } int br = dgv.CurrentRow.Index; broj_rowa_dgv_edit = br; txtImePrezime.Text = dgv.Rows[br].Cells["imeprezime"].FormattedValue.ToString(); txtAdresa.Text = dgv.Rows[br].Cells["adresa"].FormattedValue.ToString(); dtpDatDolaska.Value = Convert.ToDateTime(dgv.Rows[br].Cells["datum_dolaska"].FormattedValue.ToString()); dtpDatOdlaska.Value = Convert.ToDateTime(dgv.Rows[br].Cells["datum_odlaska"].FormattedValue.ToString()); //cbSoba.SelectedValue = dgv.Rows[br].Cells["soba"].FormattedValue.ToString(); txtAvans.Text = dgv.Rows[br].Cells["avans"].FormattedValue.ToString(); txtIznosBorPristojbe.Text = dgv.Rows[br].Cells["iznosBP"].FormattedValue.ToString(); txtCijenaUsluge.Text = dgv.Rows[br].Cells["iznosVS"].FormattedValue.ToString(); txtBrojOsobne.Text = dgv.Rows[br].Cells["broj_osobne"].FormattedValue.ToString(); txtBrojPutovnice.Text = dgv.Rows[br].Cells["broj_putovnice"].FormattedValue.ToString(); cbAgencija.SelectedValue = dgv.Rows[br].Cells["id_agencija"].FormattedValue.ToString(); cbSoba.SelectedValue = dgv.Rows[br].Cells["id_soba"].FormattedValue.ToString(); cbTipSoba.SelectedValue = dgv.Rows[br].Cells["id_tip_sobe"].FormattedValue.ToString(); cbVrstaUsluge.SelectedValue = dgv.Rows[br].Cells["id_vrsta_usluge"].FormattedValue.ToString(); if (dgv.Rows[br].Cells["dorucak"].FormattedValue.ToString() == "1") { chbDorucak.Checked = true; } else { chbDorucak.Checked = false; } if (dgv.Rows[br].Cells["rucak"].FormattedValue.ToString() == "1") { chbRucak.Checked = true; } else { chbRucak.Checked = false; } if (dgv.Rows[br].Cells["vecera"].FormattedValue.ToString() == "1") { chbVecera.Checked = true; } else { chbVecera.Checked = false; } txtNapomena.Text = dgv.Rows[br].Cells["napomena"].FormattedValue.ToString(); txtPopust.Text = dgv.Rows[br].Cells["popust"].FormattedValue.ToString(); cbBorProstojba.SelectedValue = dgv.Rows[br].Cells["id_boravisna_pristojba"].FormattedValue.ToString(); cbVrsteGosta.SelectedValue = dgv.Rows[br].Cells["id_vrsta_gosta"].FormattedValue.ToString(); cbDrzava.SelectedValue = dgv.Rows[br].Cells["id_drzava"].FormattedValue.ToString(); dtpRodenje.Value = Convert.ToDateTime(dgv.Rows[br].Cells["datum_rodenja"].FormattedValue.ToString()); DateTime OD1 = dtpDatDolaska.Value; DateTime DO1 = dtpDatOdlaska.Value; decimal broj_nocenja1 = Funkcije.ReturnDaysFromDate(OD1, DO1); ukupno_stavka = (cijena_sobe - (((cijena_sobe) * rabat_stavka) / 100)) + vrsta_usluge + bor_pristojba; ukupno_stavka = ukupno_stavka * broj_nocenja1; btnUrediOznacenog.Text = "Završi uređivanje"; editDgv = true; btnUrediOznacenog.Font = new Font(btnUrediOznacenog.Font.Name, 9, FontStyle.Bold); }
private void RacunajStavku() { decimal dec; if (!decimal.TryParse(txtAvans.Text, out dec)) { txtAvans.Text = "0"; } if (!decimal.TryParse(txtPopust.Text, out dec)) { txtPopust.Text = "0"; } if (!decimal.TryParse(txtCijenaUsluge.Text, out dec)) { txtCijenaUsluge.Text = "0"; } if (!decimal.TryParse(txtIznosBorPristojbe.Text, out dec)) { txtIznosBorPristojbe.Text = "0"; } DateTime OD = dtpDatDolaska.Value; DateTime DO = dtpDatOdlaska.Value; decimal broj_nocenja = Funkcije.ReturnDaysFromDate(OD, DO); ukupno_stavka = 0; cijena_sobe_prosjek = 0; rabat_stavka = Convert.ToDecimal(txtPopust.Text); avans_ukupno = Convert.ToDecimal(txtAvans.Text); vrsta_usluge = Convert.ToDecimal(txtCijenaUsluge.Text); bor_pristojba = Convert.ToDecimal(txtIznosBorPristojbe.Text); DateTime dat = OD; for (int i = 0; i < broj_nocenja; i++) { string sql = "SELECT r_cijenasoba.cijena_nocenja,valute.tecaj,r_cijenasoba.od_datuma,r_cijenasoba.do_datuma FROM r_cijenasoba " + " LEFT JOIN valute ON valute.id_valuta=r_cijenasoba.id_valuta" + " WHERE id_soba='" + cbSoba.SelectedValue.ToString() + "'" + " AND '" + dat.ToString("yyyy-MM-dd H:mm:ss") + "'>=r_cijenasoba.od_datuma " + " AND '" + dat.ToString("yyyy-MM-dd H:mm:ss") + "'<=r_cijenasoba.do_datuma"; DataTable DTcijene = RemoteDB.select(sql, "r_cijenasoba").Tables[0]; if (DTcijene.Rows.Count > 0) { cijena_sobe = Convert.ToDecimal(DTcijene.Rows[0]["cijena_nocenja"].ToString()) * Convert.ToDecimal(DTcijene.Rows[0]["tecaj"].ToString()); ukupno_stavka += (cijena_sobe - (((cijena_sobe) * rabat_stavka) / 100)) + vrsta_usluge + bor_pristojba; cijena_sobe_prosjek += cijena_sobe; dat = dat.AddDays(1); } else { ukupno_stavka += (cijena_sobe - (((cijena_sobe) * rabat_stavka) / 100)) + vrsta_usluge + bor_pristojba; cijena_sobe_prosjek += cijena_sobe; dat = dat.AddDays(1); } } //ukupno_stavka = (cijena_sobe - (((cijena_sobe) * rabat_stavka) / 100))+vrsta_usluge+bor_pristojba; //ukupno_stavka = ukupno_stavka * broj_nocenja; if (cijena_sobe_prosjek > 0) { lblCijenaSobe.Text = (cijena_sobe_prosjek / broj_nocenja).ToString("#0.00"); } else { lblCijenaSobe.Text = (cijena_sobe).ToString("#0.00"); } lblAvans.Text = avans_ukupno.ToString("#0.00"); lblPopust.Text = ((((cijena_sobe) * rabat_stavka) / 100) * broj_nocenja).ToString("#0.00") + " kn"; lblUkupnoPoUnosu.Text = ukupno_stavka.ToString("#0.00") + " kn"; //lblPopust.Text = (((cijena_sobe) * rabat_stavka) / 100).ToString("#0.00")+" kn"; }
private void btnDodajNaPopis_Click(object sender, EventArgs e) { int dorucak = 0; int rucak = 0; int vecera = 0; if (chbDorucak.Checked) { dorucak = 1; } if (chbRucak.Checked) { rucak = 1; } if (chbVecera.Checked) { vecera = 1; } if (String.IsNullOrEmpty(txtImePrezime.Text)) { if (MessageBox.Show("Dali ste sigurni da ne želite upisati ime ili prezime gosta?", "Upozorenje", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } } if (String.IsNullOrEmpty(txtBrojPutovnice.Text) && String.IsNullOrEmpty(txtBrojOsobne.Text)) { MessageBox.Show("Za spremanje novog gosta obavezno upišite broj osobne ili broj putovnice!", "Upozorenje", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } decimal dec; if (!decimal.TryParse(txtAvans.Text, out dec)) { MessageBox.Show("Greška, niste upisali pravilno avans."); return; } DateTime OD = dtpDatDolaska.Value; DateTime DO = dtpDatOdlaska.Value; decimal broj_nocenja = Funkcije.ReturnDaysFromDate(OD, DO); DateTime dat = OD; ukupno_stavka = 0; for (int i = 0; i < broj_nocenja; i++) { string sql = "SELECT r_cijenasoba.cijena_nocenja,valute.tecaj,r_cijenasoba.od_datuma,r_cijenasoba.do_datuma FROM r_cijenasoba " + " LEFT JOIN valute ON valute.id_valuta=r_cijenasoba.id_valuta" + " WHERE id_soba='" + cbSoba.SelectedValue.ToString() + "'" + " AND '" + dat.ToString("yyyy-MM-dd H:mm:ss") + "'>=r_cijenasoba.od_datuma " + " AND '" + dat.ToString("yyyy-MM-dd H:mm:ss") + "'<=r_cijenasoba.do_datuma"; DataTable DTcijene = RemoteDB.select(sql, "r_cijenasoba").Tables[0]; if (DTcijene.Rows.Count > 0) { cijena_sobe = Convert.ToDecimal(DTcijene.Rows[0]["cijena_nocenja"].ToString()) * Convert.ToDecimal(DTcijene.Rows[0]["tecaj"].ToString()); ukupno_stavka += (cijena_sobe - (((cijena_sobe) * rabat_stavka) / 100)) + vrsta_usluge + bor_pristojba; } else { ukupno_stavka += (cijena_sobe - (((cijena_sobe) * rabat_stavka) / 100)) + vrsta_usluge + bor_pristojba; } int zadnji = dgv.RowCount; //**********************************OVDJE ULAZI AKO PRVI PUT PUNI DATAGRID ILI AKO JE NASTALA NOVA CIJENA*********************************************** if (zadnji == 0 || dgv.Rows[zadnji - 1].Cells["cijena_sobe_dgv"].FormattedValue.ToString() != cijena_sobe.ToString()) { string d_od = zadnji == 0 ? dtpDatDolaska.Value.ToString() : dat.ToString(); ukupno_stavka = 0; ukupno_stavka = ((cijena_sobe - (((cijena_sobe) * rabat_stavka) / 100)) + vrsta_usluge + bor_pristojba); dgv.Rows.Add( txtImePrezime.Text, txtAdresa.Text, d_od, dtpDatOdlaska.Value, cbSoba.Text, txtAvans.Text, txtIznosBorPristojbe.Text, txtCijenaUsluge.Text, DTpostavke.Rows[0]["pdv_nocenje"].ToString(), ukupno_stavka, txtBrojOsobne.Text, txtBrojPutovnice.Text, cbAgencija.SelectedValue, cbSoba.SelectedValue, cbTipSoba.SelectedValue, cbVrstaUsluge.SelectedValue, dorucak, rucak, vecera, txtNapomena.Text, txtPopust.Text, cbBorProstojba.SelectedValue, cbVrsteGosta.SelectedValue, cbDrzava.SelectedValue, dtpRodenje.Value, cijena_sobe, "" ); } else { dgv.Rows[zadnji - 1].Cells["datum_odlaska"].Value = dat.ToString(); dgv.Rows[zadnji - 1].Cells["ukupno"].Value = ukupno_stavka; } dat = dat.AddDays(1); RacunajUkupno(); }//for }