コード例 #1
0
        // 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);
        }
コード例 #2
0
        //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);
        }
コード例 #3
0
        //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();
        }
コード例 #4
0
ファイル: AktKorisnikaNode.cs プロジェクト: pbursic/Projekt
 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();
 }
コード例 #5
0
        //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();
        }
コード例 #6
0
        // 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);
        }
コード例 #7
0
        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();
                }
            }
        }
コード例 #8
0
 public void Add(AktivnostKorisnika k)
 {
     this.AddNode(new AktKorisnikaNode(k));
 }