public Upload_controller() { lokalDB_ = new lokalDB(); offentligDB_ = new OffentligDB(); datasætListe_ = new List <DTO_Datasæt>(); datasæt_ = new DTO_Datasæt(); }
public vis_måling(gennemse_data frm, Gennemse_data_controller GennemseController) { InitializeComponent(); Cursor = Cursors.WaitCursor; this.frm = frm; this.GennemseController = GennemseController; ipliste = new List <double>(); count = 0; ipTilbageKnap.Enabled = false; analyseretData.Annotations["IP"].Visible = false; datasæt_ = GennemseController.hentAnalyseretDatasæt(); CPRTextBox.Text = datasæt_.Pd_.CPRNummer_; fornavnTextBox.Text = datasæt_.Pd_.Fornavn_; efternavnTextBox.Text = datasæt_.Pd_.Efternavn_; gammelkommentar(); dataCountCorr = ((datasæt_.Data_.Count) - (datasæt_.Data_.Count % datasæt_.SampleRateHz_)) / datasæt_.SampleRateHz_; skrivTilGraf(0, true); ipTekstBox.Text = "" + datasæt_.Ip_.Count; Cursor = Cursors.Default; }
public Gennemse_data_controller(string brugerId) { lokalDB_ = new lokalDB(); dtoDatasæt_ = new DTO_Datasæt(); dtoDatasætList_ = new List <DTO_Datasæt>(); dtoPD_ = new DTO_PatientData(); ipListe_ = new List <double>(); brugerId_ = brugerId; }
// //Use-case 6 // //Gemmer et datasæt i den lokale database. public bool gemDatasæt(DTO_Datasæt ds, bool annonymt) { try { if (annonymt) { ds.Pd_.CPRNummer_ = "1234567890"; ds.Pd_.Fornavn_ = "N"; ds.Pd_.Efternavn_ = "N"; } string sql = "INSERT INTO EKGMAELING(dato, antalmaalinger, " + "sfp_maaltagermedarbjnr, sfp_mt_kommentar, sfp_ansvrmedarbjnr, " + "sfp_ans_org, sfp_anskommentar, borger_fornavn, borger_efternavn, " + "borger_cprnr)" + "OUTPUT INSERTED.ekgmaaleid " + "VALUES(CONVERT(DATETIME, '" + ds.Dato_.ToString("yyy-MM-dd HH:mm:ss") + "'), " + ds.AntalMålinger_ + ", '" + ds.MåltagerBrugerId_ + "', '" + ds.printMåltagerKommentar() + "', '" + ds.AnsvarstagerBrugerId_ + "', '" + ds.AnsvarstagerOrg_ + "', '" + ds.printIP() + "" + ds.printAnsvarstagerKommentar() + "', '" + ds.Pd_.Fornavn_ + "', '" + ds.Pd_.Efternavn_ + "', '" + ds.Pd_.CPRNummer_ + "')"; cmd = new SqlCommand(sql, conn); conn.Open(); long ekgMåleId = (long)cmd.ExecuteScalar(); conn.Close(); sql = "INSERT INTO EKGDATA(raa_data, samplerate_hz, interval_sec, " + "data_format, bin_eller_tekst, maaleformat_type, start_tid, ekgmaaleid) " + "VALUES(@data, " + ds.SampleRateHz_ + ", " + ds.IntervalSek_ + ", '" + ds.DataFormat_ + "', '" + ds.BinEllerTxt_ + "', '" + ds.MåleformatType_ + "', " + "CONVERT(DATETIME, '" + ds.StartTid_.ToString("yyy-MM-dd HH:mm:ss") + "'), " + ekgMåleId + ")"; cmd = new SqlCommand(sql, conn); conn.Open(); cmd.Parameters.AddWithValue("@data", ds.Data_.ToArray().SelectMany(value => BitConverter.GetBytes(value)).ToArray()); cmd.ExecuteScalar(); conn.Close(); return(true); } catch (Exception ex) { conn.Close(); System.Windows.Forms.MessageBox.Show("" + ex.Message); return(false); } }
public bool indlæsValgtDatasæt(int index, bool anonym) { datasæt_ = lokalDB_.hentDatasæt(datasætListe_[index]); if (offentligDB_.gemDatasæt(datasæt_, anonym)) { return(true); } else { return(false); } }
public bool gemAnalyseretData(DTO_Datasæt ds) { try { lokalDB_.gemIP(ds); return(true); } catch { return(false); } }
public bool indlæsValgtDatasæt(int index) { datasæt_ = offentligDB_.downloadDataFraOffDB(datasætListe_[index]); if (!lokalDB_.findPatient(datasæt_.Pd_)) { lokalDB_.tilføjPatient(datasæt_.Pd_); } if (lokalDB_.gemDatasæt(datasæt_)) { return(true); } else { return(false); } }
//Skriver kommentar for ansvarstager til søgt ekg id public void gemKommentar(DTO_Datasæt ds) { try { string sql = "UPDATE EKGMAALING SET sfp_anskommentar = '" + ds.printAnsvarstagerKommentar() + "', sfp_ansvrmedarbejnr = '" + ds.AnsvarstagerBrugerId_ + "' WHERE ekgmaaleid = " + ds.EkgId_; cmd = new SqlCommand(sql, conn); conn.Open(); cmd.ExecuteScalar(); conn.Close(); } catch (Exception ex) { conn.Close(); System.Windows.Forms.MessageBox.Show(ex.Message); } }
public bool analyserValgtDatasæt(int index) { dtoDatasæt_ = lokalDB_.hentDatasæt(dtoDatasætList_[index]); try { if (dtoDatasætList_[index].Ip_.Count == 0) { dtoDatasæt_.Ip_ = findRR(dtoDatasæt_.Data_); } else { dtoDatasæt_.Ip_ = dtoDatasætList_[index].Ip_; } return(true); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show("Kunne ikke hente datasæt" + ex.Message); return(false); } }
//Henter data tilhørende et valgt datasæt public DTO_Datasæt downloadDataFraOffDB(DTO_Datasæt ds) { try { string sql = "SELECT * FROM EKGDATA WHERE ekgmaaleid =" + ds.EkgId_; cmd = new SqlCommand(sql, conn); conn.Open(); rdr = cmd.ExecuteReader(); if (rdr.Read() && (long)rdr["ekgmaaleid"] == ds.EkgId_) { ds.SampleRateHz_ = Convert.ToDouble(rdr["samplerate_hz"]); ds.IntervalSek_ = (long)rdr["interval_sec"]; ds.DataFormat_ = (string)rdr["data_format"]; ds.BinEllerTxt_ = Convert.ToChar(rdr["bin_eller_tekst"]); ds.MåleformatType_ = (string)rdr["maaleformat_type"]; ds.StartTid_ = Convert.ToDateTime(rdr["start_tid"]); byte[] bytes = (byte[])rdr["raa_data"]; for (int i = 0; i < bytes.Length; i += 8) { ds.Data_.Add(BitConverter.ToDouble(bytes, i)); } } conn.Close(); return(ds); } catch (Exception ex) { conn.Close(); System.Windows.Forms.MessageBox.Show("" + ex.Message); return(null); } }
//Gemmer fundne interessepunkter til db public void gemIP(DTO_Datasæt ds) { try { string sql = "UPDATE EKGDATA SET interessepunkter = @data WHERE ekgmaaleid =" + ds.EkgId_;; cmd = new SqlCommand(sql, conn); conn.Open(); cmd.Parameters.AddWithValue("@data", ds.Ip_.ToArray().SelectMany(value => BitConverter.GetBytes(value)).ToArray()); cmd.ExecuteScalar(); conn.Close(); } catch (Exception ex) { conn.Close(); System.Windows.Forms.MessageBox.Show(ex.Message); } }
public Preview_controller() { lokalDB_ = new lokalDB(); dataListe_ = new List <double>(); dtoDatasæt_ = new DTO_Datasæt(); }
public bool gemKommentar(DTO_Datasæt ds) { ds.AnsvarstagerBrugerId_ = brugerId_; lokalDB_.gemKommentar(ds); return(true); }
// // Use-case 5 // //søger efter søgeord i offentlig database public List <DTO_Datasæt> søgIOffDB(string søgeord) { try { List <DTO_Datasæt> dsList = new List <DTO_Datasæt>(); string sql = "DECLARE @searchString NVARCHAR(100) " + "SET @searchString = '%" + søgeord + "%' " + "SELECT * FROM EKGMAELING " + "WHERE sfp_mt_kommentar LIKE @searchString " + "OR sfp_anskommentar LIKE @searchString " + "OR borger_cprnr LIKE @searchString " + "OR dato LIKE @searchString " + "OR sfp_ans_org LIKE @searchString " + "OR sfp_ansvrmedarbjnr LIKE @searchString " + "OR sfp_maaltagermedarbjnr LIKE @searchString " + "OR borger_fornavn LIKE @searchString " + "OR borger_efternavn LIKE @searchString " + "ORDER BY dato DESC"; cmd = new SqlCommand(sql, conn); conn.Open(); rdr = cmd.ExecuteReader(); while (rdr.Read()) { DTO_Datasæt ds = new DTO_Datasæt(); if (rdr["borger_cprnr"] != DBNull.Value) { ds.Pd_.CPRNummer_ = (string)rdr["borger_cprnr"]; } if (rdr["borger_fornavn"] != DBNull.Value) { ds.Pd_.Fornavn_ = (string)rdr["borger_fornavn"]; } if (rdr["borger_efternavn"] != DBNull.Value) { ds.Pd_.Efternavn_ = (string)rdr["borger_efternavn"]; } ds.EkgId_ = (long)rdr["ekgmaaleid"]; if (rdr["sfp_anskommentar"] != DBNull.Value) { ds.AnsvarstagerKommentar_.Add((string)rdr["sfp_anskommentar"]); } if (rdr["sfp_mt_kommentar"] != DBNull.Value) { ds.MåltagerKommentar_.Add((string)rdr["sfp_mt_kommentar"]); } ds.Dato_ = Convert.ToDateTime(rdr["dato"]); ds.AnsvarstagerOrg_ = (string)rdr["sfp_ans_org"]; ds.AnsvarstagerBrugerId_ = (string)rdr["sfp_ansvrmedarbjnr"]; if (rdr["sfp_maaltagermedarbjnr"] != DBNull.Value) { ds.MåltagerBrugerId_ = (string)rdr["sfp_maaltagermedarbjnr"]; } ds.SøgeResultat_ = omskrivSøgeResultat(rdr, søgeord); dsList.Add(ds); } conn.Close(); return(dsList); } catch (Exception ex) { conn.Close(); System.Windows.Forms.MessageBox.Show("" + ex.Message); return(null); } }
//Henter de valgte datasæt fra databasen public DTO_Datasæt hentDatasæt(DTO_Datasæt ds) { try { cmd = new SqlCommand("SELECT * FROM EKGMAALING WHERE ekgmaaleid =" + ds.EkgId_, conn); conn.Open(); rdr = cmd.ExecuteReader(); if (rdr.Read()) { ds.MåltagerKommentar_.Clear(); ds.AnsvarstagerKommentar_.Clear(); ds.MåltagerKommentar_.Add(Convert.ToString(rdr["sfp_mt_kommentar"])); ds.AnsvarstagerKommentar_.Add(Convert.ToString(rdr["sfp_anskommentar"])); } conn.Close(); cmd = new SqlCommand("SELECT * FROM EKGDATA WHERE ekgmaaleid =" + ds.EkgId_, conn); conn.Open(); rdr = cmd.ExecuteReader(); if (rdr.Read()) { if ((long)rdr["ekgmaaleid"] == ds.EkgId_) { ds.SampleRateHz_ = Convert.ToDouble(rdr["samplerate_hz"]); ds.IntervalSek_ = Convert.ToInt64(rdr["interval_sec"]); ds.DataFormat_ = (string)rdr["data_format"]; ds.BinEllerTxt_ = Convert.ToChar(rdr["bin_eller_tekst"]); ds.MåleformatType_ = (string)rdr["maaleformat_type"]; ds.StartTid_ = Convert.ToDateTime(rdr["start_tid"]); byte[] bytes = (byte[])rdr["raa_data"]; if (ds.Data_.Count == 0) { for (int i = 0; i < bytes.Length; i += 8) { ds.Data_.Add(BitConverter.ToDouble(bytes, i)); } } if (rdr["interessepunkter"] != DBNull.Value && ds.Ip_.Count == 0) { byte[] bytesIP = (byte[])rdr["interessepunkter"]; for (int i = 0; i < bytesIP.Length; i += 8) { ds.Ip_.Add(BitConverter.ToDouble(bytesIP, i)); } } } } conn.Close(); return(ds); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); conn.Close(); return(null); } }
// //Use-case 4 // //Henter relevant data til visning, ud fra det søgte cpr public List <DTO_Datasæt> hentCPRData(string cpr) { try { //ekgmaaleid skal også sendes retur, da det er den vi skal bruge i findDatasæt til at finde ud af om den er analyseret eller ej. DTO_Datasæt ds = new DTO_Datasæt(); List <DTO_Datasæt> dsListe = new List <DTO_Datasæt>(); //Finder CPR, dato og ID for de tilgængelige datasæt, tilknyttet det søgte CPR cmd = new SqlCommand("SELECT * FROM EKGMAALING WHERE borger_cprnr ='" + cpr + "' ORDER BY dato DESC", conn); conn.Open(); rdr = cmd.ExecuteReader(); while (rdr.Read()) { if (Convert.ToString(rdr["borger_cprnr"]) == cpr) { ds = new DTO_Datasæt(); ds.EkgId_ = (Convert.ToInt64(rdr["ekgmaaleid"])); ds.Dato_ = (Convert.ToDateTime(rdr["dato"])); ds.Pd_.CPRNummer_ = Convert.ToString(rdr["borger_cprnr"]); } dsListe.Add(ds); } conn.Close(); //Tilføjer fornavn og efternavn til de fundne datasæt cmd = new SqlCommand("SELECT * FROM PatientData WHERE CPR ='" + cpr + "'", conn); conn.Open(); rdr = cmd.ExecuteReader(); if (rdr.Read()) { if (Convert.ToString(rdr["CPR"]) == cpr) { ds.Pd_.Fornavn_ = Convert.ToString(rdr["Fornavn"]); ds.Pd_.Efternavn_ = Convert.ToString(rdr["Efternavn"]); foreach (DTO_Datasæt e in dsListe) { e.Pd_.Fornavn_ = ds.Pd_.Fornavn_; e.Pd_.Efternavn_ = ds.Pd_.Efternavn_; } if (dsListe.Count == 0) { ds.EkgId_ = 0; dsListe.Add(ds); } } } conn.Close(); return(dsListe); } catch (Exception ex) { conn.Close(); System.Windows.Forms.MessageBox.Show(ex.Message); return(null); } }