Beispiel #1
0
        public int InsertEKGMeasurement(DTO_EKGMåling nyMåling) // Indlæs DTO her med de respektive data. Set vores værdier ind i en tabel i SQL server
        {
            SqlConnection conn;
            const String  db = "F20ST2ITS2201908775";

            conn = new SqlConnection("Data Source = st-i4dab.uni.au.dk;Initial Catalog = " + db + ";Persist Security Info = True;User ID = " + db + ";Password = "******"");
            conn.Open();

            string insertStringParam = $"INSERT INTO SP_NyeEkger ([raa_data],[id_medarbejder],[borger_cprnr],[start_tidspunkt],[antal_maalepunkter],[samplerate_hz]) OUTPUT INSERTED.id_måling VALUES(@data, @employeeID, @socSecNb, @startTime, @antalMålePkt, @hz)";

            using (SqlCommand cmd = new SqlCommand(insertStringParam, conn))
            {
                //Tilføjer vores rådata til et BLOB objekt
                cmd.Parameters.AddWithValue("@data",
                                            nyMåling.RåData.SelectMany(value =>
                                                                       BitConverter.GetBytes(value)).ToArray());

                //Parametrene gør koden på linje 108 mere læsevenlig
                cmd.Parameters.AddWithValue("@employeeID", (nyMåling.MedarbejderID));
                cmd.Parameters.AddWithValue("@socSecNb", (nyMåling.BorgerCPR));
                cmd.Parameters.AddWithValue("@startTime", (nyMåling.StarttidspunktMåling));
                cmd.Parameters.AddWithValue("@antalMålePkt", (nyMåling.AntalMålepunkter));
                cmd.Parameters.AddWithValue("@hz", (nyMåling.SampleRateHz));

                Retur = (int)cmd.ExecuteScalar();
            }
            conn.Close();

            return(Retur);
        }
Beispiel #2
0
        /// <summary>
        /// Opretter DTO med parametre tilsvarende kolonner i databasens tabel SP_NyeEkger.
        /// Sender målingen videre til datalaget, hvorfra målingen endeligt indlæses i databasen.
        /// </summary>
        /// <param name="EmployeeIdAsString">Det indtastede medarbejderID som string. </param>
        /// <param name="SocSecNumberAsString">Det indtastede CPR-nummer som string.
        /// Er måling foretaget uden CPR, er default 111111-1111 </param>
        public void CreateEKGDTO(string EmployeeIdAsString, string SocSecNumberAsString) //Modtager disse to fra presentationlayer
        {
            StartEkgRecord();                                                            //Starter målingen

            DTO_EKGMåling nyMåling = new DTO_EKGMåling(EmployeeIdAsString, SocSecNumberAsString, Convert.ToDateTime(starttidspunkt), ekgRawData, antalSamples, samplerate);

            localDataRef.InsertEKGMeasurement(nyMåling); //Sender målingen til databasen
        }
Beispiel #3
0
        public void InsertEKGMeasurement(DTO_EKGMåling nyMåling)
        {
            output = new FileStream(@"Skrivebord\EKGMaaling.txt", FileMode.OpenOrCreate, FileAccess.Write);
            //writer = new StreamWriter(output);
            //writer.WriteLine(nyMåling.MedarbejderID + ";" + nyMåling.BorgerCPR + ";" + )

            formatter = new BinaryFormatter();
            formatter.Serialize(output, nyMåling);



            // writer.Close();

            output.Close();

            // Retur = CountID();

            // return Retur;
        }
Beispiel #4
0
        /// <summary>
        /// Indlæser DTO objekt i databasen.
        /// <example>
        /// <code>
        /// 1. conn.Open()
        /// 2. Opret lokalt stringparamater(INSERT INTO SP_NyeEkger ())
        /// 3a Kør cmd.
        /// 3. Opret reference parametre fra DTO parametrene.
        /// 4. Eksempel:
        ///
        ///             cmd.Parameters.AddWithValue("@data",
        ///             nyMåling.RåData.SelectMany(value =>
        ///             BitConverter.GetBytes(value)).ToArray());
        ///
        /// 5. conn.Close()
        /// </code>
        /// </example>
        /// </summary>
        /// <param name="nyMåling">Parameter modtaget fra LogicLayer.</param>
        public void InsertEKGMeasurement(DTO_EKGMåling nyMåling) // Indlæs DTO her med de respektive data. Set vores værdier ind i en tabel i SQL server
        {
            conn.Open();

            string insertStringParam = $"INSERT INTO SP_NyeEkger ([raa_data],[id_medarbejder],[borger_cprnr],[start_tidspunkt],[antal_maalepunkter],[samplerate_hz]) OUTPUT INSERTED.id_måling VALUES(@data, @employeeID, @socSecNb, @startTime, @antalMålePkt, @hz)";

            using (SqlCommand cmd = new SqlCommand(insertStringParam, conn))
            {
                //Tilføjer vores rådata til et BLOB objekt

                cmd.Parameters.AddWithValue("@data",
                                            nyMåling.RåData.SelectMany(value =>
                                                                       BitConverter.GetBytes(value)).ToArray());

                cmd.Parameters.AddWithValue("@employeeID", (nyMåling.MedarbejderID));
                cmd.Parameters.AddWithValue("@socSecNb", (nyMåling.BorgerCPR));
                cmd.Parameters.AddWithValue("@startTime", (nyMåling.StarttidspunktMåling));
                cmd.Parameters.AddWithValue("@antalMålePkt", (nyMåling.AntalMålepunkter));
                cmd.Parameters.AddWithValue("@hz", (nyMåling.SampleRateHz));
            }
            conn.Close();
        }
Beispiel #5
0
        /// <summary>
        /// Modtager DTO objekt som parameter, og udskriver hver enkelt parameter herfra til txt.fil.
        /// </summary>
        /// <param name="nyMåling">Parameter modtaget fra LogicLayer.</param>
        public void InsertEKGMeasurement(DTO_EKGMåling nyMåling)
        {
            if (File.Exists("EKGMaalingerTEST.txt") == false)
            {
                output = new FileStream("EKGMaalingerTEST.txt", FileMode.Create, FileAccess.Write);
                writer = new StreamWriter(output);
                foreach (double item in nyMåling.RåData)
                {
                    writer.Write(item + ";");
                }
                writer.WriteLine(nyMåling.MedarbejderID + ";" + nyMåling.BorgerCPR + ";" + nyMåling.StarttidspunktMåling + ";" + nyMåling.AntalMålepunkter + ";" + nyMåling.SampleRateHz);
            }

            output = new FileStream("EKGMaalingerTEST.txt", FileMode.Append, FileAccess.Write);
            writer = new StreamWriter(output);

            foreach (double item in nyMåling.RåData) //Vi indlæser først alle værdier fra array (de første 2500 værdier, adskilt med ;)
            {
                writer.Write(item + ";");
            }
            //Indsætter derefter resterende værdier
            writer.WriteLine(nyMåling.MedarbejderID + ";" + nyMåling.BorgerCPR + ";" + nyMåling.StarttidspunktMåling + ";" + nyMåling.AntalMålepunkter + ";" + nyMåling.SampleRateHz);
            writer.Close();
        }