public static Pacijenti Create(Pacijenti p)
        {
            using (var conn = new SQLiteConnection(ConfigurationManager.ConnectionStrings["Dijagnoze"].ConnectionString))
            {
                conn.Open();

                SQLiteCommand cmd = conn.CreateCommand();

                cmd.CommandText = "INSERT INTO pacijent (ime,prezime,jmbg,adresa,pol,datumSmrti,mestoId,dijagnozaId,aktivan) VALUES (@ime,@prezime,@jmbg,@adresa,@pol,@datumSmrti,@mestoId,@dijagnozaId,@aktivan)";

                cmd.Parameters.AddWithValue("ime", p.Ime);
                cmd.Parameters.AddWithValue("prezime", p.Prezime);
                cmd.Parameters.AddWithValue("jmbg", p.Jmbg);
                cmd.Parameters.AddWithValue("adresa", p.Adresa);
                cmd.Parameters.AddWithValue("pol", p.Pol);
                cmd.Parameters.AddWithValue("datumSmrti", p.DatumSmrti);
                cmd.Parameters.AddWithValue("mestoId", p.MestoId);
                cmd.Parameters.AddWithValue("dijagnozaId", p.DijagnozaId);
                cmd.Parameters.AddWithValue("aktivan", p.Aktivan);
                cmd.ExecuteNonQuery();
            }

            Aplikacija.Instance.Pacijenti.Add(p);
            return(p);
        }
        public static ObservableCollection <Pacijenti> PretragaPacijenata(string unos)
        {
            var pacijent = new ObservableCollection <Pacijenti>();

            using (var conn = new SQLiteConnection(ConfigurationManager.ConnectionStrings["Dijagnoze"].ConnectionString))
            {
                SQLiteCommand     cmd = conn.CreateCommand();
                SQLiteDataAdapter da  = new SQLiteDataAdapter();

                cmd.CommandText = "SELECT * FROM pacijent p INNER JOIN dijagnozad d ON p.dijagnozaId = d.id INNER JOIN mesto m ON p.mestoId = m.id" +
                                  " WHERE (ime LIKE @unos OR prezime LIKE @unos OR jmbg LIKE @unos OR adresa LIKE @unos OR d.sifra LIKE @unos OR m.mesto LIKE @unos) AND aktivan = 0;";
                cmd.Parameters.AddWithValue("unos", "%" + unos.Trim() + "%");
                da.SelectCommand = cmd;
                DataSet ds = new DataSet();
                da.Fill(ds, "pacijent");

                foreach (DataRow row in ds.Tables["pacijent"].Rows)
                {
                    var p = new Pacijenti();
                    p.Id      = int.Parse(row["id"].ToString());
                    p.Ime     = row["ime"].ToString();
                    p.Prezime = row["prezime"].ToString();
                    p.Jmbg    = row["jmbg"].ToString();
                    if (!DBNull.Value.Equals(row["Adresa"].ToString()))
                    {
                        p.Adresa = row["Adresa"].ToString();
                    }
                    else
                    {
                        p.Adresa = "";
                    }
                    p.Pol = (Pol)Enum.Parse(typeof(Pol), (row["Pol"].ToString()));
                    if (DBNull.Value.Equals(row["DatumSmrti"].ToString()))
                    {
                        p.DatumSmrti = DateTime.Parse(row["DatumSmrti"].ToString());
                    }
                    else
                    {
                        p.DatumSmrti = new DateTime();
                    }
                    p.MestoId     = int.Parse(row["MestoId"].ToString());
                    p.DijagnozaId = int.Parse(row["DijagnozaId"].ToString());
                    p.Aktivan     = int.Parse(row["Aktivan"].ToString());

                    pacijent.Add(p);
                }
            }
            return(pacijent);
        }
        public static ObservableCollection <Pacijenti> GetAll()
        {
            var pacijent = new ObservableCollection <Pacijenti>();

            using (var conn = new SQLiteConnection(ConfigurationManager.ConnectionStrings["Dijagnoze"].ConnectionString))
            {
                SQLiteCommand     cmd = conn.CreateCommand();
                SQLiteDataAdapter da  = new SQLiteDataAdapter();
                cmd.CommandText  = "SELECT * FROM pacijent WHERE Aktivan = 0;";
                da.SelectCommand = cmd;
                DataSet ds = new DataSet();
                da.Fill(ds, "pacijent");

                foreach (DataRow row in ds.Tables["pacijent"].Rows)
                {
                    var p = new Pacijenti();
                    p.Id      = int.Parse(row["Id"].ToString());
                    p.Ime     = row["Ime"].ToString();
                    p.Prezime = row["Prezime"].ToString();
                    p.Jmbg    = row["Jmbg"].ToString();
                    if (!DBNull.Value.Equals(row["Adresa"].ToString()))
                    {
                        p.Adresa = row["Adresa"].ToString();
                    }
                    else
                    {
                        p.Adresa = "";
                    }

                    p.Pol = (Pol)Enum.Parse(typeof(Pol), (row["Pol"].ToString()));
                    if (DBNull.Value.Equals(row["DatumSmrti"].ToString()))
                    {
                        p.DatumSmrti = DateTime.Parse(row["DatumSmrti"].ToString());
                    }
                    else
                    {
                        p.DatumSmrti = new DateTime();
                    }
                    p.MestoId     = int.Parse(row["MestoId"].ToString());
                    p.DijagnozaId = int.Parse(row["DijagnozaId"].ToString());
                    p.Aktivan     = int.Parse(row["Aktivan"].ToString());

                    pacijent.Add(p);
                }
            }
            return(pacijent);
        }
        public static void Update(Pacijenti p)
        {
            using (var conn = new SQLiteConnection(ConfigurationManager.ConnectionStrings["Dijagnoze"].ConnectionString))
            {
                conn.Open();

                SQLiteCommand cmd = conn.CreateCommand();


                cmd.CommandText = "UPDATE pacijent SET ime = @ime,prezime = @prezime, jmbg = @jmbg,adresa = @adresa,datumSmrti = @datumSmrti,pol = @pol,mestoId = @mestoId,dijagnozaId = @dijagnozaId, aktivan= @aktivan WHERE id = @id";

                cmd.Parameters.AddWithValue("Id", p.Id);
                cmd.Parameters.AddWithValue("Ime", p.Ime);
                cmd.Parameters.AddWithValue("Prezime", p.Prezime);
                cmd.Parameters.AddWithValue("Jmbg", p.Jmbg);
                cmd.Parameters.AddWithValue("Adresa", p.Adresa);
                cmd.Parameters.AddWithValue("DatumSmrti", p.DatumSmrti);
                cmd.Parameters.AddWithValue("Pol", p.Pol);
                cmd.Parameters.AddWithValue("MestoId", p.MestoId);
                cmd.Parameters.AddWithValue("DijagnozaId", p.DijagnozaId);
                cmd.Parameters.AddWithValue("Aktivan", p.Aktivan);


                cmd.ExecuteNonQuery();
            }
            //azuriranje modela
            foreach (var pacijent in Aplikacija.Instance.Pacijenti)
            {
                if (p.Id == pacijent.Id)
                {
                    pacijent.Ime         = p.Ime;
                    pacijent.Prezime     = p.Prezime;
                    pacijent.Jmbg        = p.Jmbg;
                    pacijent.Pol         = p.Pol;
                    pacijent.DatumSmrti  = p.DatumSmrti;
                    pacijent.MestoId     = p.MestoId;
                    pacijent.DijagnozaId = p.DijagnozaId;
                    pacijent.Aktivan     = p.Aktivan;
                }
            }
        }
 public static void Delete(Pacijenti p)
 {
     p.Aktivan = 1;
     Update(p);
 }