示例#1
0
        public CrossSectionRecord Clone()
        {
            CrossSectionRecord csr = new CrossSectionRecord();

            csr.Panel                       = Panel;
            csr.Stent                       = Stent;
            csr.Side                        = Side;
            csr.Segment_Type                = Segment_Type;
            csr.FirstVector                 = FirstVector;
            csr.SecondVector                = SecondVector;
            csr.SurfaceClassification       = SurfaceClassification;
            csr.Width                       = Width;
            csr.NumOfPeaks                  = NumOfPeaks;
            csr.PositionInSegment           = PositionInSegment;
            csr.GlobalPositionX             = GlobalPositionX;
            csr.GlobalPositionY             = GlobalPositionY;
            csr.FilePath                    = FilePath;
            csr.AnalyzeDate                 = AnalyzeDate;
            csr.ManualSurfaceClassification = ManualSurfaceClassification;
            return(csr);
        }
示例#2
0
        public void InsertSingleCrossSectionRecord(CrossSectionRecord record)
        {
            if (!IsConnectedToDataBase)
            {
                return;
            }

            lock (_lock)
            {
                using (SqlDataAdapter dataAdapter = new SqlDataAdapter())
                {
                    dataAdapter.SelectCommand = new SqlCommand("select TOP 1 * from " + _tableName, _connection);

                    DataSet dataSet = new DataSet();

                    dataAdapter.Fill(dataSet);

                    Debug.WriteLine("There are {0} rows in the table", dataSet.Tables[0].Rows.Count);

                    DataRow row = dataSet.Tables[0].NewRow();
                    //row["ID"] = record.ID;
                    row["Panel"]                 = record.Panel;
                    row["Stent"]                 = record.Stent;
                    row["Side"]                  = record.Side;
                    row["Segment_Type"]          = record.Segment_Type;
                    row["FirstVector"]           = record.FirstVector;
                    row["SecondVector"]          = record.SecondVector;
                    row["SurfaceClassification"] = record.SurfaceClassification;
                    row["Width"]                 = record.Width;
                    row["NumOfPeaks"]            = record.NumOfPeaks;
                    row["PositionInSegment"]     = record.PositionInSegment;
                    row["GlobalPositionX"]       = record.GlobalPositionX;
                    row["GlobalPositionY"]       = record.GlobalPositionY;
                    row["FilePath"]              = record.FilePath;
                    row["AnalyzeDate"]           = record.AnalyzeDate;

                    dataSet.Tables[0].Rows.Add(row);

                    dataAdapter.InsertCommand =
                        new SqlCommand(
                            "insert into " + _tableName + @"
                            (
                                Panel,
                                Stent,
                                Side,
                                Segment_Type,
                                FirstVector,
                                SecondVector,
                                SurfaceClassification,
                                Width,
                                NumOfPeaks,
                                PositionInSegment,
                                GlobalPositionX,
                                GlobalPositionY,
                                FilePath,
                                AnalyzeDate                                                                                                                                            
                            )
                            values 
                            (
                                @Panel,
                                @Stent,
                                @Side,
                                @Segment_Type,
                                @FirstVector,
                                @SecondVector,
                                @SurfaceClassification,
                                @Width,
                                @NumOfPeaks,
                                @PositionInSegment,
                                @GlobalPositionX,
                                @GlobalPositionY,
                                @FilePath,
                                @AnalyzeDate        
                            )",
                            _connection);

                    //dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("ID", row["ID"]));
                    dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("Panel", row["Panel"]));
                    dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("Stent", row["Stent"]));
                    dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("Side", row["Side"]));
                    dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("Segment_Type", row["Segment_Type"]));
                    dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("FirstVector", row["FirstVector"]));
                    dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("SecondVector", row["SecondVector"]));
                    dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("SurfaceClassification", row["SurfaceClassification"]));
                    dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("Width", row["Width"]));
                    dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("NumOfPeaks", row["NumOfPeaks"]));
                    dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("PositionInSegment", row["PositionInSegment"]));
                    dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("GlobalPositionX", row["GlobalPositionX"]));
                    dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("GlobalPositionY", row["GlobalPositionY"]));
                    dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("FilePath", row["FilePath"]));
                    dataAdapter.InsertCommand.Parameters.Add(new SqlParameter("AnalyzeDate", row["AnalyzeDate"]));

                    dataAdapter.Update(dataSet);

                    ////Just to prove we inserted
                    //using (DataSet newDataSet = new DataSet())
                    //{
                    //    dataAdapter.Fill(newDataSet);
                    //    Debug.WriteLine("There are {0} rows in the table", newDataSet.Tables[0].Rows.Count);
                    //}
                }
            }
        }
示例#3
0
        public CrossSectionRecord[] GetRecordsPerStent(String Panel, String Stent)
        {
            CrossSectionRecord[] recordList = null;

            using (SqlDataAdapter dataAdapter = new SqlDataAdapter())
            {
                string SQL = " SELECT  [ID]" +
                             " ,[Panel] " +
                             " ,[Side] " +
                             "  ,[Stent] " +
                             " ,[Segment_Type]" +
                             "  ,[FirstVector]" +
                             " ,[SecondVector]" +
                             ",[SurfaceClassification]" +
                             ",[Width]" +
                             ",[NumOfPeaks]" +
                             ",[PositionInSegment]" +
                             ",[GlobalPositionX]" +
                             ",[GlobalPositionY]" +
                             ",[FilePath]" +
                             ",[AnalyzeDate]" +
                             ",[ManualSurfaceClassification]" +
                             "  FROM[AVIMachineLearning].[dbo].[SurfaceData] ";

                dataAdapter.SelectCommand = new SqlCommand(SQL + "WHERE Panel LIKE '%" + Panel + "%' AND STENT LIKE '" + Stent + "'", _connection);
                dataAdapter.SelectCommand.CommandTimeout = 240;
                DataSet dataSet = new DataSet();

                dataAdapter.Fill(dataSet);
                RecordsDataSet = dataSet;
                Debug.WriteLine("There are {0} rows in the table", dataSet.Tables[0].Rows.Count);

                if (dataSet.Tables[0].Rows.Count == 0)
                {
                    return(recordList);
                }

                recordList = new CrossSectionRecord[dataSet.Tables[0].Rows.Count];
                int i = 0;
                foreach (DataRow row in dataSet.Tables[0].Rows)
                {
                    CrossSectionRecord record = new CrossSectionRecord();
                    record.ID                    = (long)row["ID"];
                    record.Panel                 = (string)row["Panel"];
                    record.Stent                 = (string)row["Stent"];
                    record.Side                  = (string)row["Side"];
                    record.Segment_Type          = (int)row["Segment_Type"];
                    record.FirstVector           = (byte[])row["FirstVector"];
                    record.SecondVector          = (byte[])row["SecondVector"];
                    record.SurfaceClassification = (int)row["SurfaceClassification"];
                    record.Width                 = (float)(double)row["Width"];
                    record.NumOfPeaks            = (int)row["NumOfPeaks"];
                    record.PositionInSegment     = (int)row["PositionInSegment"];
                    record.GlobalPositionX       = (int)row["GlobalPositionX"];
                    record.GlobalPositionY       = (int)row["GlobalPositionY"];
                    record.FilePath              = (string)row["FilePath"];
                    record.AnalyzeDate           = (DateTime)row["AnalyzeDate"];

                    recordList[i++] = record;
                }
                Adapter = dataAdapter;
            }

            return(recordList);
        }