private void ParseLine(string line)
        {
            string[] items = line.Split(new char[] { '|' });

            if (items.Length != 14)
            {
                throw new Exception("Wrong number of items in line. Expected 14, got " + items.Length);
            }

            SampleImportEntry s = new SampleImportEntry();

            s.Number     = Convert.ToInt32(items[2]);
            s.ExternalId = items[0] + " - " + items[2];
            mProject     = items[1].Trim();
            DateTimeOffset dto = DateTimeOffset.Parse(items[3], CultureInfo.InvariantCulture);

            s.SamplingDate = dto.DateTime + dto.Offset;
            s.Latitude     = Convert.ToDouble(items[4].Trim());
            s.Longitude    = Convert.ToDouble(items[5].Trim());
            s.Altitude     = Convert.ToDouble(items[6].Trim());
            s.Location     = items[7].Trim();
            s.SampleType   = items[8].Trim();
            if (items.Length >= 14)
            {
                s.Comment = items[13].Trim();
            }

            mSamples.Add(s);
        }
        private void btnSetSampleType_Click(object sender, EventArgs e)
        {
            if (gridSamples.SelectedRows.Count < 1)
            {
                MessageBox.Show("You must select one or more samples first");
                return;
            }

            foreach (DataGridViewRow row in gridSamples.SelectedRows)
            {
                int num = Convert.ToInt32(row.Cells["ColumnNumber"].Value);
                SampleImportEntry se = mSamples.Find(x => x.Number == num);
                if (se == null)
                {
                    continue;
                }

                se.LIMSSampleType   = cboxSampleTypes.Text;
                se.LIMSSampleTypeId = Utils.MakeGuid(cboxSampleTypes.SelectedValue);
            }

            Populate();
        }