//tbSpecimen operations /// <summary> set values </summary> /// <param name="s"></param> void setDBValue(tbSpecimen s) { s.species_id = (csmSpecies.SelectedItem as tbSpecies).species_id; s.sp_note = CutString(csmNote.Text, 50); s.sp_spid = csmSPID.Text;//实际标本号-不是必须字段 s.specimen_age = csmAge.Text; s.specimen_sex = (csmSex.SelectedItem as tbTag).tag_id; s.specimen_dry_save_path = csmDriedSpecimenSavePosition.Text; //s.sp_description = csmDescrip.Text; s.sp_collector = csmCollector.Text; s.sp_collect_place = csmCollectPlace.Text; s.sp_collect_time = csmCollectTime.Text; s.sp_identifier = csmIdentifier.Text; s.sp_dehydrant = csmDehydrant.Text; s.sp_drycirletime = int.Parse(csmDryCycleTime.Text); s.sp_dryinstrument = csmDryInstrument.Text; s.sp_preserve_status = csmPS.Text; //s.Abstract = csmSpecies.Text.Trim() + "-" + csmSPID.Text; s.Abstract = CutString(lbSpeciesLatin.Text, 28) + " : " + CutString(csmSPID.Text, 18); s.UserId = Guid.Parse(CTHelper.GetConfig("userid")); s.date_in = DateTime.Now; }
private void CTDBFormAddSpecies_Load(object sender, EventArgs e) { CTHelper.setControlTag(cspeciesOrder, 108); //load order list cspeciesOrder.DisplayMember = "tag_tag"; refreshdata(sender, e); }
private void dataGridView1_SelectionChanged(object sender, EventArgs e) { if (dataGridView1.SelectedRows.Count == 1) { //int id = (int)dataGridView1.SelectedRows[0].Cells[0].Value; int rid = dataGridView1.SelectedRows[0].Index; int id = ((dataGridView1.DataSource as ArrayList)[rid] as tbSlice).slice_id; using (CTDBEntities ct = new CTDBEntities()) { tbSlice s = ct.tbSlice.Where <tbSlice>(c => c.slice_id == id).Single(); clID.Text = s.slice_id.ToString(); CTHelper.setControl(clScan, s.scan_id); clReconstructionProgram.Text = s.slice_para_ReconstructionProgram; clFileType.Text = s.slice_para_ResultFileType; // clNumberSlice.Text = s.slice_para_SliceNumber.ToString(); clPixelSize.Text = s.slice_para_PixelSize.ToString(); CTHelper.setControl(clOpenStatus, s.open_status); ucFileInfo1.ParaDatasetID = s.slice_id; clLabelNo.Text = ct.tbLabel.Count <tbLabel>(c => c.slice_id == id).ToString(); CTHelper.setControl(cscRef, s.ref_id); mitDelete.Enabled = dataGridView1.Rows.Count > 0; } } }
private void btnOK_Click(object sender, EventArgs e) { string user = tbUser.Text.Trim(); string pass = CTHelper.Convert2MD5(tbPassword.Text.Trim()); string valid = "B6B4D7ED1E4D436F8D69FFE3924F47B3"; string strpara = "sign_in_key=" + user + "&sign_in_pwd=" + pass + "&sign_in_token=" + valid; try { string jsr = CTHelper.HttpPost("http://www.especies.cn/casuser/rest/remoteLogin", strpara); JObject jo = JObject.Parse(jsr); if (jo.GetValue("message").ToString() == "Success") { JObject jouser = JObject.Parse(jo.GetValue("returnUser").ToString()); userid = jouser.GetValue("id").ToString(); CTHelper.SetConfig("userid", userid); CTHelper.SetConfig("userkey", tbPassword.Text.Trim()); CTHelper.SetConfig("mail", jouser.GetValue("email").ToString()); CTHelper.SetConfig("username", user); System.Configuration.ConfigurationManager.RefreshSection("appSettings"); this.DialogResult = DialogResult.OK; this.Close(); } } catch { MessageBox.Show("Something wrong. Try later."); } }
void setDBValue(tbSlice s) { s.scan_id = (clScan.SelectedValue as tbScan).scan_id; s.sp_id = (clScan.SelectedValue as tbScan).sp_id; //specimen_id s.slice_para_ReconstructionProgram = clReconstructionProgram.Text; s.slice_para_ResultFileType = clResultFileType.Text.Trim(); s.slice_para_SliceNumber = ucFileInfo1.ValueFileCount;// int.Parse(clNumberSlice.Text); double psize = -1.0; double.TryParse(clPixelSize.Text, out psize); s.slice_para_PixelSize = psize; if (clPixelSize.Text != "") { s.slice_para_PixelSize = float.Parse(clPixelSize.Text); } s.open_status = int.Parse(clOpenStatus.SelectedValue.ToString()); s.slice_para_CutMethod = clCutMethod.Text; s.slice_save_path = "-";// clSavePath.Text; if (s.tbScan != null) { s.Abstract = s.tbScan.Abstract; } s.UserId = Guid.Parse(CTHelper.GetConfig("userid")); s.date_in = DateTime.Now; s.ref_id = (cscRef.SelectedItem as tbRef).ref_id; }
private void lbUpdate_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { string fupdate = Application.StartupPath + "\\Updater.exe"; if (File.Exists(fupdate)) { File.Delete(fupdate); } //update updater.exe if (!File.Exists(fupdate)) { CTHelper.DownloadFile(CTHelper.GetConfig("updateUrl") + "/Updater.exe", fupdate); } if (!File.Exists(fupdate)) { CTHelper.DownloadFile(CTHelper.GetConfig("downloadurl") + "/Updater.exe", fupdate); } if (!File.Exists(fupdate)) { MessageBox.Show("Fail!"); return; } //begin to update ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.FileName = fupdate; startInfo.Arguments = CTHelper.GetConfig("updateUrl") + " " + Application.ExecutablePath; System.Diagnostics.Process.Start(startInfo); Application.Exit(); }
private void btnDelete_Click(object sender, EventArgs e) { try { int id = int.Parse(clID.Text); if (FormUpload.HasFiles("ctdb-slice", id)) { MessageBox.Show("Files related, can't delete!"); return; } if (CTHelper.AlertYes("Delete " + id.ToString() + "?")) { using (var db = new CTDBEntities()) { var student = db.tbSlice.FirstOrDefault(s => s.slice_id == id); db.tbSlice.Remove(student); //删除萝莉 db.SaveChanges(); refreshdata(null, null); } } } catch { MessageBox.Show("记录有关联,删除失败"); } }
private void FormLogin_FormClosed(object sender, FormClosedEventArgs e) { CTHelper.SetConfig("username", tbUser.Text); CTHelper.SetConfig("userid", userid); CTHelper.SetConfig("userkey", CTHelper.Encrypt(tbPassword.Text, "WXDX")); //CTHelper.SetConfig("userkey", "womR4GniEbw="); }
//scan private void btnAdd_Click(object sender, EventArgs e) { var s = new tbScan(); setDBValue(s); using (CTDBEntities ct = new CTDBEntities()) { ct.tbScan.Add(s); ct.SaveChanges(); //将修改保存到数据库中 } //refreshDatagridview(dataGridView1.Rows.Count.ToString()); int rowid = dataGridView1.Rows.Count; refreshdata(null, null); dataGridView1.Rows[rowid].Selected = true; //return; //级联添加一个slice using (CTDBEntities ct = new CTDBEntities()) { tbSlice sl = new tbSlice(); sl.scan_id = int.Parse(cscID.Text); sl.slice_para_ReconstructionProgram = "NRecon"; sl.slice_para_ResultFileType = "BMP"; sl.slice_para_SliceNumber = 0; sl.slice_para_PixelSize = s.scan_para_ImagePixelSize; sl.open_status = 30; sl.UserId = Guid.Parse(CTHelper.GetConfig("userid")); sl.Abstract = FormSpecimen.CutString(cscSpecimen.Text, 40) + "-" + FormSpecimen.CutString(cscTagSpecimenParty.Text, 7); ct.tbSlice.Add(sl); ct.SaveChanges(); //将修改保存到数据库中 } }
/// <summary>参数加载</summary> /// <param name="file">加密参数文件</param> /// <param name="appkey">加密参数</param> /// <returns></returns> static public string LoadPara(string file, string appkey) { string connectionString = CTHelper.LoadTxt(file); connectionString = CTHelper.Decrypt(connectionString, CTHelper.GetConfig(appkey)); return(connectionString); }
/// <summary>导出元数据方法</summary> /// <param name="id">slice表的 slice_id </param> static public void ExportMeta(int id) { try { List <Tuple <string, string> > ht = new List <Tuple <string, string> >(); CTDBEntities ct = new CTDBEntities(); tbLabel lb = ct.tbLabel.FirstOrDefault(s => s.label_id == id); ht.Add(new Tuple <string, string>("Label ID", lb.label_id.ToString())); ht.Add(new Tuple <string, string>("Slice ID", lb.slice_id.ToString())); ht.Add(new Tuple <string, string>("Title", lb.label_title.ToString())); ht.Add(new Tuple <string, string>("Author", lb.label_author.ToString())); ht.Add(new Tuple <string, string>("Structure", lb.label_structure.ToString())); ht.Add(new Tuple <string, string>("Method", lb.label_method.ToString())); //ht.Add(new Tuple<string, string>("Note", lb.label_note.ToString())); string f = Application.StartupPath + "\\meta.txt"; if (File.Exists(f)) { File.Delete(f); } //foreach (System.Collections.DictionaryEntry item in ht) foreach (Tuple <string, string> item in ht) { string s = item.Item1 + "\t:\t" + item.Item2; CTHelper.AddLog(s, f); } System.Diagnostics.Process.Start(f); } catch (Exception ee) { MessageBox.Show("记录有问题,导出失败\r\n" + ee.ToString()); } }
private void dataGridView1_SelectionChanged(object sender, EventArgs e) { if (dataGridView1.SelectedRows.Count == 1) { // int id = (int)dataGridView1.SelectedRows[0].Cells[0].Value; int rid = dataGridView1.SelectedRows[0].Index; int id = ((dataGridView1.DataSource as ArrayList)[rid] as tbLabel).label_id; using (CTDBEntities ct = new CTDBEntities()) { tbLabel s = ct.tbLabel.Where <tbLabel>(c => c.label_id == id).Single(); clbID.Text = s.label_id.ToString(); // CTHelper.setControl(clbSlice, s.slice_id); clbAuthor.Text = s.label_author; //clbFileType.Text = s.label_file_type; //clbNumberSlice.Text = s.label_file_number.ToString(); clbStructure.Text = s.label_structure; clbMethod.Text = s.label_method; clbTitle.Text = s.label_title; clbSrcFolder.Text = s.label_srcfolder; CTHelper.setControl(clbOpenStatus, s.open_status); ucFileInfo1.ParaDatasetID = s.label_id; clbNote.Text = s.label_note; mitDelete.Enabled = dataGridView1.Rows.Count > 0; } } }
private void btnOCR_Click(object sender, EventArgs e) { return; if (!int.TryParse(cscID.Text, out int id)) { return; } OpenFileDialog d = new OpenFileDialog(); d.Title = "挑选参数图"; d.Filter = "Photos (*.jpg;*.png;*.bmp)|*.jpg;*.png;*.bmp"; if (d.ShowDialog() == DialogResult.OK) { string md5 = CTHelper.GetMD5Hash(d.FileName); string f = CTHelper.CommonPath("app") + "\\" + md5 + ".pdf"; File.Copy(d.FileName, f); string r = CTHelper.UploadAPI(f, id.ToString(), "upload", "ctdb-scanpara", "iozct", CTHelper.GetConfig("userid")); Console.Write(r); if (File.Exists(f)) { File.Delete(f); } if (r == "") { //update tFile 表 } } }
//从数据库里检测相关数据,看网页是否可以访问 private void btnCheckDB_Click(object sender, EventArgs e) { CTDBEntities ct = new CTDBEntities(); var q = from c in ct.tbFile where c.f_pid == ParaDatasetID && c.f_table == ParaTable orderby c.f_path select c; List <tbFile> l = q.ToList <tbFile>(); string flog = CTHelper.CommonPath("app") + "\\UrlTestlog.txt"; if (File.Exists(flog)) { File.Delete(flog); } note(l.Count); this.Enabled = false; foreach (tbFile f in l) { string url = CTHelper.GetConfig("downloadurl") + f.f_table + "/" + f.f_pid.ToString() + "/" + f.f_md5 + ".jpg"; if (CTHelper.IsUrlExist(url)) { CTHelper.AddLog("1\t" + url, flog); } else { CTHelper.AddLog("0\t" + url, flog); } notep(); } refreshdb(); this.Enabled = true; }
//operations /// <summary> set values </summary> /// <param name="s"></param> void setDBValue(tbRef s) { s.UserId = Guid.Parse(CTHelper.GetConfig("userid")); s.title = refTitle.Text; s.url = refURL.Text; s.cite = refCite.Text; s.author = refAuthor.Text; s.year = int.Parse(refYear.Text); s.doc = refDoc.Text; if (File.Exists(s.doc)) { string md5 = CTHelper.GetMD5Hash(s.doc); string f = CTHelper.CommonPath("app") + "\\" + md5 + ".pdf"; File.Copy(s.doc, f); string r = CTHelper.UploadAPI(f, s.ref_id.ToString(), "upload", "ctdb-ref", "iozct", s.UserId.ToString()); Console.Write(r); if (File.Exists(f)) { File.Delete(f); } if (r == "") { s.doc = md5; } } }
/// <summary>获得加权数据</summary> /// <param name="table">table name</param> /// <returns></returns> static public ArrayList LoadDataA(string table) { ArrayList l = new ArrayList(); Guid uid = Guid.Parse(CTHelper.GetConfig("userid")); if (uid.ToString() == "e28e0fe9-f0cd-4572-9d95-ec8b1e32bc07") { return(LoadDataF(table)); } CTDBEntities ct = new CTDBEntities(); switch (table) { case "tbSpecies": foreach (tbSpecies t in ct.tbSpecies.Where <tbSpecies>(c => ((Guid)c.UserId) == uid)) { l.Add(t); } break; case "tbSpecimen": foreach (tbSpecimen t in ct.tbSpecimen.Where <tbSpecimen>(c => ((Guid)c.UserId) == uid)) { l.Add(t); } break; case "tbScan": foreach (tbScan t in ct.tbScan.Where <tbScan>(c => ((Guid)c.UserId) == uid)) { l.Add(t); } break; case "tbSlice": foreach (tbSlice t in ct.tbSlice.Where <tbSlice>(c => ((Guid)c.UserId) == uid)) { l.Add(t); } break; case "tbLabel": foreach (tbLabel t in ct.tbLabel.Where <tbLabel>(c => ((Guid)c.UserId) == uid)) { l.Add(t); } break; case "tbFile": foreach (tbFile t in ct.tbFile.Where <tbFile>(c => ((Guid)c.UserId) == uid)) { l.Add(t); } break; case "tbRef": foreach (tbRef t in ct.tbRef.Where <tbRef>(c => ((Guid)c.UserId) == uid)) { l.Add(t); } break; } return(l); }
private void dataGridView1_SelectionChanged(object sender, EventArgs e) { if (dataGridView1.SelectedRows.Count == 1) { //int id = (int)dataGridView1.SelectedRows[0].Cells[0].Value; //lbNote.Text = id.ToString(); int rid = dataGridView1.SelectedRows[0].Index; int id = ((dataGridView1.DataSource as ArrayList)[rid] as tbScan).scan_id; CTDBEntities ct = new CTDBEntities(); var q = from c in ct.tbScan where c.scan_id == id select c; tbScan s = q.ToList <tbScan>()[0]; cscID.Text = s.scan_id.ToString(); cscOperator.Text = s.scan_operator; //cscTimeBegin.Text = s.scan_timebegin.ToShortDateString(); cscTimeBegin.Text = s.scan_timebegin.ToString(); cscTimeEnd.Text = s.scan_timeend.ToString(); cscScanDate.Text = s.scan_date; CTHelper.setControl(cscSpecimen, s.sp_id); CTHelper.setControl(cscTagSpecimenAlive, s.scan_tag_SpecimenAlive); cscTagSpecimenParty.Text = s.scan_specimen_Body; s.scan_specimen_Body = cscTagSpecimenParty.Text; //cscNumberFile.Text = s.scan_para_FilesNumber.ToString(); cscFileType.Text = s.scan_para_ImageFomat; //cscLensMultiple.Text = s.scan_para_ImagePixelSize.ToString(); cscLensMultiple.Text = s.scan_para_LensMultiple.ToString(); cscCameraBinning.Text = s.scan_para_CameraBinning; CTHelper.setControl(cscEquipment, s.e_id); cscSourceType.Text = s.scan_para_SourceType; cscCamera.Text = s.scan_para_Camera; cscSourceVoltage.Text = s.scan_para_SourceVoltage.ToString(); cscSourceCurrent.Text = s.scan_para_SourceCurrent.ToString(); cscSourcePower.Text = s.scan_para_SourcePower.ToString(); cscCamera2Source.Text = s.scan_para_Camera2Source.ToString(); cscObejct2Souce.Text = s.scan_para_Object2Source.ToString(); cscVerticalObjectPosition.Text = s.scan_para_VerticalObjectPosition.ToString(); cscPixelSize.Text = s.scan_para_ImagePixelSize.ToString(); cscRotationStep.Text = s.scan_para_RotationStep.ToString(); cscExposure.Text = s.scan_para_Exposure.ToString(); //cscScanSourceSavePath.Text = s.scan_source_save_path; cscSliceNo.Text = ct.tbSlice.Count <tbSlice>(c => c.scan_id == id).ToString(); CTHelper.setControl(cscOpenStatus, s.open_status); ucFileInfo1.ParaDatasetID = s.scan_id; CTHelper.setControl(cscRef, s.ref_id); mitDelete.Enabled = dataGridView1.Rows.Count > 0; } }
/// <summary>load/browser</summary> /// <param name="sender"></param> /// <param name="e"></param> /// <param name="rowIndex">要显示的选中的rowid, -1 </param> private void refreshdata(object sender, EventArgs e, int rowIndex = -1) { dataGridView1.DataSource = null; dataGridView1.DataSource = FormLogin.LoadDataF("tbSpecies"); FormLogin.SetColumn(dataGridView1, "species_id|species_latin|species_Order|species_Family|species_CHN|species_note"); CTHelper.SetRowIndex(dataGridView1, rowIndex); cspeciesNote.Focus(); }
private void btnExport_Click(object sender, EventArgs e) { SaveFileDialog sd = new SaveFileDialog(); sd.Filter = "CSV File(*.csv)|*.csv"; if (sd.ShowDialog() == DialogResult.OK) { CTHelper.SaveAsTxt(GetDgvToTable(dataGridView1), sd.FileName); MessageBox.Show("OK"); } }
private void FormLogin_Load(object sender, EventArgs e) { if (CTHelper.GetConfig("username") != "") { tbUser.Text = CTHelper.GetConfig("username"); } if (CTHelper.GetConfig("userkey") != "") { tbPassword.Text = CTHelper.Decrypt(CTHelper.GetConfig("userkey"), "WXDX"); } }
/// <summary>upload specimen file / example /demo </summary> /// <param name="specimenid"></param> /// <param name="lll"></param> /// <param name="filetablep"></param> /// <param name="choose_number"></param> void uploadSpecimenFile(int specimenid, List <tbFile> lll, string filetablep, int choose_number) { //从slice表中随机找出10张图 List <string> fl = new List <string>(); int[] fr = CTHelper.RandomIntArray(choose_number, 0, lll.Count - 1); for (int i = 0; i < fr.Length; i++) { string url = CTHelper.GetConfig("downloadurl") + "ct/" + filetablep + "/" + lll[fr[i]].f_pid + "/"; string fn = Path.GetFileName(lll[fr[i]].f_path.Trim()); fl.Add(url + fn); } Application.DoEvents(); string ftmpd = CTHelper.CommonPath("app") + "\\" + "d.jpg"; string ftmp = ""; //对每张图进行上传操作 同 Add功能 note(fl.Count); for (int i = 0; i < fr.Length; i++) { notep(); if (File.Exists(ftmpd)) { File.Delete(ftmpd); } CTHelper.DownloadFile(fl[i], ftmpd); //download source image string fn = CTHelper.GetMD5Hash(ftmpd) + ".jpg"; if (File.Exists(ftmpd)) { Bitmap b = CTHelper.CreateDemoImage(ftmpd, 150, 150); ftmp = CTHelper.CommonPath("app") + "\\" + fn; b.Save(ftmp, System.Drawing.Imaging.ImageFormat.Jpeg); if (File.Exists(ftmp)) { cdFileAuthor.Text = "selected from " + filetablep; string r = addFile(ftmp, ftmp, "ctdb-specimen", specimenid); if (r != "") { MessageBox.Show(r); } } } if (File.Exists(ftmpd)) { File.Delete(ftmpd); } if (File.Exists(ftmp)) { File.Delete(ftmp); } } }
private void lboxDB_SelectedIndexChanged(object sender, EventArgs e) { if (lboxDB.SelectedIndex > 0) { tbFile f = lboxDB.SelectedItem as tbFile; lbDBFile.Text = f.f_id + ":" + f.f_md5 + ":"; CTHelper.setControl(cdFileType, (int)f.f_filetype); CTHelper.setControl(cdFileOpenStatus, (int)f.open_status); CTHelper.setControl(cdFileRef, (int)f.ref_id); cdFileAuthor.Text = f.f_author; } }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); FormLogin f = new FormLogin(); if (f.ShowDialog() == DialogResult.OK) { CTHelper.SetConfig("userid", f.userid); Application.Run(new CTDBForm1()); } }
private void btnUpdate_Click(object sender, EventArgs e) { int rowid = CTHelper.GetRowIndex(dataGridView1); int id = int.Parse(cscID.Text); using (var ct = new CTDBEntities()) { var s = ct.tbScan.FirstOrDefault(st => st.scan_id == id); setDBValue(s); ct.SaveChanges(); refreshdata(null, null, rowid); } }
private void FormLabel_Load(object sender, EventArgs e) { ucFileInfo1.ParaTable = "ctdb-label"; ucFileInfo1.ParaFileType = 93; clbAuthor.Text = CTHelper.GetConfig("username"); CTHelper.setControlTag(clbOpenStatus, 31, 30); CTHelper.setControlTag(clbMethod, 58, 59); CTHelper.setControlTag(clbStructure, 18, 23); refreshdata(sender, e); }
private void CTDBForm1_Load(object sender, EventArgs e) { connectionString = CTHelper.LoadTxt("efp.txt"); connectionString = CTHelper.Decrypt(connectionString, CTHelper.GetConfig("appkey2")); CTHelper.UpdateConnectionString(Application.ProductName, conName, connectionString, providerName); lbHelpSpecimen.Text = Properties.Resources.help_ct_Specimen; lbHelpScan.Text = Properties.Resources.help_ct_Scan; lbHelpTag.Text = Properties.Resources.help_ct_Tag; lbHelp.Text = Properties.Resources.help_ct; lbHelp2.Text = Properties.Resources.help_ct; tabControl2.SelectedIndex = 3;//help updateUserInfo(); }
/// <summary>set value for combox with Tag </summary> /// <param name="cb">combox name</param> /// <param name="rootid">parent tag's id </param> /// <param name="sid">selected tag's id, -1 means not select</param> static public void setControlTag(ComboBox cb, int rootid, int sid = -1) { using (CTDBEntities ct = new CTDBEntities()) { var q = from c in ct.tbTag where c.tag_pid == rootid select c; cb.DataSource = q.ToList <tbTag>(); cb.ValueMember = "tag_id"; cb.DisplayMember = "tag_tag"; if (sid != -1) { CTHelper.setControl(cb, sid); } } }
//load/browser private void refreshdata(object sender, EventArgs e, int rowid = -1) { dataGridView1.DataSource = null; dataGridView1.DataSource = FormLogin.LoadDataF("tbRef"); FormLogin.SetColumn(dataGridView1, "ref_id|year|cite|url"); CTHelper.SetRowIndex(dataGridView1, rowid); if (dataGridView1.Rows.Count > 0) { dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.RowCount - 1; } }
private void bSpeciesUpdate_Click(object sender, EventArgs e) { int rowid = CTHelper.GetRowIndex(dataGridView1); int id = int.Parse(refID.Text); using (var db = new CTDBEntities()) { var s = db.tbRef.FirstOrDefault(st => st.ref_id == id); setDBValue(s); db.SaveChanges(); refreshdata(null, null, rowid); } }
//add demos from slice private void mitCreateExampleFromSlice_Click(object sender, EventArgs e) { if (!CTHelper.AlertYes("Selecte 10 slices as example?")) { return; } CTDBEntities ct = new CTDBEntities(); var q = from c in ct.tbFile where c.f_pid == ParaDatasetID && c.f_table == "ctdb-slice" select c; List <tbFile> lll = q.ToList <tbFile>(); int spid = ct.tbSlice.Where(c => c.slice_id == ParaDatasetID).Single().tbScan.tbSpecimen.sp_id; uploadSpecimenFile(spid, lll, "ctdb-slice", 10); refreshdb(); }