// Statistika za razdoblje po potrosnji public static List <AktivnostKorisnika> StatistikaRazdobljaPoPotrosnji(DateTime datumOd, DateTime datumDo, int id) { datumDo.AddHours(23); datumDo.AddMinutes(59); datumDo.AddSeconds(59); konekcija.Open(); string statistikaRazdoblja = @"SELECT * FROM aktivnostikorisnika WHERE k_id=" + id + " AND datum>=" + datumOd.ToFileTime() + " AND datum<=" + datumDo.ToFileTime() + " ORDER BY potrosnja"; SQLiteCommand cmd = new SQLiteCommand(statistikaRazdoblja, konekcija); SQLiteDataReader reader = cmd.ExecuteReader(); List <AktivnostKorisnika> listaAktivnostiKorisnika = new List <AktivnostKorisnika>(); while (reader.Read()) { AktivnostKorisnika ak = new AktivnostKorisnika(reader.GetInt32(0), reader.GetInt32(1), reader.GetInt32(2), reader.GetString(3), DateTime.FromFileTime(reader.GetInt64(4)), DateTime.FromFileTime(reader.GetInt64(5)), DateTime.FromFileTime(reader.GetInt64(6)), reader.GetDouble(7)); listaAktivnostiKorisnika.Add(ak); } konekcija.Close(); cmd.Dispose(); return(listaAktivnostiKorisnika); }
//Učitavanje aktivnosti korisnika sa baze po pripadajucem id-u i datumu public static List <AktivnostKorisnika> DbUcitajAktivnostiKorisnikaPoDatumu(int id, DateTime datum) { konekcija.Open(); string ucitajAktivnostiKorisnika = "SELECT * FROM aktivnostikorisnika WHERE k_id =" + id + " AND datum = " + datum.ToFileTime(); SQLiteCommand createcmd = new SQLiteCommand(ucitajAktivnostiKorisnika, konekcija); SQLiteDataReader reader = createcmd.ExecuteReader(); List <AktivnostKorisnika> listaAktivnostiKorisnika = new List <AktivnostKorisnika>(); string getTip = @"SELECT tipoviaktivnosti.naziv FROM tipoviaktivnosti, aktivnostikorisnika WHERE tipoviaktivnosti.id = aktivnostikorisnika.ta_id AND aktivnostikorisnika.id=" + id; SQLiteCommand getTipCmd = new SQLiteCommand(getTip, konekcija); var tip = getTipCmd.ExecuteNonQuery().ToString(); while (reader.Read()) { AktivnostKorisnika ak = new AktivnostKorisnika(reader.GetInt32(0), reader.GetInt32(1), reader.GetInt32(2), reader.GetString(3), DateTime.FromFileTime(reader.GetInt64(4)), DateTime.FromFileTime(reader.GetInt64(5)), DateTime.FromFileTime(reader.GetInt64(6)), reader.GetDouble(7)); listaAktivnostiKorisnika.Add(ak); } konekcija.Close(); createcmd.Dispose(); return(listaAktivnostiKorisnika); }
//Slanje promjena o aktivnosti korisnika bazi public static void UpdateAktivnostiKorisnika(AktivnostKorisnika ak) { konekcija.Open(); string updateAktivnostKorisnika = @"UPDATE aktivnostikorisnika SET naziv='" + ak.Naziv + "', datum='" + ak.Datum.ToFileTime() + "', vrijeme_pocetka= " + ak.Vrijeme_pocetka.ToFileTime() + ", vrijeme_kraja=" + ak.Vrijeme_kraja.ToFileTime() + ", potrosnja= " + ak.Potrosnja + " WHERE id=" + ak.Id; SQLiteCommand cmd = new SQLiteCommand(updateAktivnostKorisnika, konekcija); cmd.ExecuteNonQuery(); konekcija.Close(); cmd.Dispose(); }
public AktKorisnikaNode(AktivnostKorisnika aktKorisnika) { this.aktivnostiKorisnika = aktKorisnika; this.id = aktKorisnika.Id; this.k_id = aktKorisnika.K_id; this.ta_id = aktKorisnika.Ta_id; this.naziv = aktKorisnika.Naziv; this.tip = aktKorisnika.Tip; this.datum = aktKorisnika.Datum.ToString("dd.MM.yyyy"); this.vrijeme_pocetka = aktKorisnika.Vrijeme_pocetka.ToString("HH:mm:ss"); this.vrijeme_kraja = aktKorisnika.Vrijeme_kraja.ToString("HH:mm:ss"); this.potrosnja = aktKorisnika.Potrosnja.ToString(); }
//AKTIVNOSTI KORISNIKA //Spremanje aktivnosti korisnika u bazu public static void DbSpremiAktivnostKorisnika(AktivnostKorisnika ak) { konekcija.Open(); string unesiAktivnostKorisnika = @"INSERT INTO aktivnostikorisnika (k_id,ta_id,naziv,datum,vrijeme_pocetka,vrijeme_kraja,potrosnja) VALUES (" + ak.K_id + "," + ak.Ta_id + ",'" + ak.Naziv + "'," + ak.Datum.ToFileTime() + "," + ak.Vrijeme_pocetka.ToFileTime() + "," + ak.Vrijeme_kraja.ToFileTime() + "," + ak.Potrosnja + ")"; SQLiteCommand createcmd = new SQLiteCommand(unesiAktivnostKorisnika, konekcija); createcmd.ExecuteNonQuery(); string getId = @"SELECT last_insert_rowid() as id FROM aktivnostikorisnika"; SQLiteCommand cmdId = new SQLiteCommand(getId, konekcija); var id = cmdId.ExecuteScalar(); ak.Id = Int32.Parse(id.ToString()); konekcija.Close(); createcmd.Dispose(); cmdId.Dispose(); }
// Statistika po tipu aktivnosti public static List <AktivnostKorisnika> StatistikaRazdobljaPoTipu(int tip_id, int id) { konekcija.Open(); string statistikaTipa = @"SELECT * FROM aktivnostikorisnika WHERE k_id=" + id + " AND ta_id = " + tip_id + " ORDER BY potrosnja"; SQLiteCommand cmd = new SQLiteCommand(statistikaTipa, konekcija); SQLiteDataReader reader = cmd.ExecuteReader(); List <AktivnostKorisnika> listaAktivnostiKorisnika = new List <AktivnostKorisnika>(); while (reader.Read()) { AktivnostKorisnika ak = new AktivnostKorisnika(reader.GetInt32(0), reader.GetInt32(1), reader.GetInt32(2), reader.GetString(3), DateTime.FromFileTime(reader.GetInt64(4)), DateTime.FromFileTime(reader.GetInt64(5)), DateTime.FromFileTime(reader.GetInt64(6)), reader.GetDouble(7)); listaAktivnostiKorisnika.Add(ak); } konekcija.Close(); cmd.Dispose(); return(listaAktivnostiKorisnika); }
protected void SpremiClicked(object sender, EventArgs e) { DateTime datum = new DateTime(Int32.Parse(comboboxGodina.ActiveText), (int)(comboboxMjesec.Active + 1), Int32.Parse(comboboxDan.ActiveText)); DateTime vrijeme_p = new DateTime(Int32.Parse(comboboxGodina.ActiveText), (int)(comboboxMjesec.Active + 1), Int32.Parse(comboboxDan.ActiveText), Int32.Parse(comboboxSatPocetak.ActiveText), Int32.Parse(comboboxMinPocetak.ActiveText), Int32.Parse(comboboxSecPocetak.ActiveText)); DateTime vrijeme_k = new DateTime(Int32.Parse(comboboxGodina.ActiveText), (int)(comboboxMjesec.Active + 1), Int32.Parse(comboboxDan.ActiveText), Int32.Parse(comboboxSatKraj.ActiveText), Int32.Parse(comboboxMinKraj.ActiveText), Int32.Parse(comboboxSecKraj.ActiveText)); TimeSpan tot_vrijeme = vrijeme_k - vrijeme_p; //Naziv aktivnosti ne smije biti prazan if (entryNaziv.Text == "") { Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Warning, ButtonsType.Ok, "Naziv ne može biti prazan."); d.Run(); d.Destroy(); } //Datum rodjenja ne smije biti > danas else if (datum > DateTime.Today) { Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Warning, ButtonsType.Ok, "Odaberite valjani datum."); d.Run(); d.Destroy(); } //Tip aktivnosti mora biti odabran else if (comboboxTipovi.ActiveText == "") { Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Warning, ButtonsType.Ok, "Odaberite tip aktivnosti."); d.Run(); d.Destroy(); } else if (vrijeme_k <= vrijeme_p) { Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Warning, ButtonsType.Ok, "Odaberite valjano vrijeme aktivnosti."); d.Run(); d.Destroy(); } //Spremi podatke u bazu i zatvori prozor else { List <TipAktivnosti> listaTipova = new List <TipAktivnosti>(); listaTipova = Baza.DbUcitajTipAktivnosti(); foreach (var x in listaTipova) { if (x.Naziv == comboboxTipovi.ActiveText) { if (x.JedinicaMjere == "min") { double minuti = tot_vrijeme.Hours * 60 + tot_vrijeme.Minutes; labelPotrosnjaKcal.Text = (minuti * x.KcalPoJediniciMjere).ToString(); } else if (x.JedinicaMjere == "h") { double sati = tot_vrijeme.Hours; double minuti = tot_vrijeme.Minutes; labelPotrosnjaKcal.Text = (sati * x.KcalPoJediniciMjere + minuti / 60 * x.KcalPoJediniciMjere).ToString(); } } } Dialog d = new Gtk.MessageDialog(this, DialogFlags.Modal, MessageType.Other, ButtonsType.OkCancel, "Naziv: " + entryNaziv.Text + "\nDatum: " + datum.Date.ToString("d") + "\nVrijeme početka: " + vrijeme_p.ToString("HH:mm:ss") + "\nVrijeme kraj: " + vrijeme_k.ToString("HH:mm:ss") + "\nTrajanje " + tot_vrijeme.ToString("c") + "\nPotrosnja: " + labelPotrosnjaKcal.Text); var response = (ResponseType)d.Run(); if (response == ResponseType.Ok) { AktivnostKorisnika novaAktivnostKorisnika = new AktivnostKorisnika(0, Int32.Parse(labelKorisnikId.Text), Int32.Parse(labelTipId.Text), entryNaziv.Text, datum, vrijeme_p, vrijeme_k, Double.Parse(labelPotrosnjaKcal.Text)); Baza.DbSpremiAktivnostKorisnika(novaAktivnostKorisnika); labelPotrosnjaKcal.Text = ""; d.Destroy(); this.Destroy(); } else { d.Destroy(); } } }
public void Add(AktivnostKorisnika k) { this.AddNode(new AktKorisnikaNode(k)); }