示例#1
0
 //const string plasmaName = "Plasma";
 //const string redCellName = "RedCell";
 public BarcodeTracker(PipettingSettings pipettingSettings,LabwareSettings labwareSettings,List<PatientInfo> patientInfos)
 {
     this.patientInfos = patientInfos;
     this.pipettingSettings = pipettingSettings;
     ExcelReader excelReader = new ExcelReader();
     correspondingbarcodes = excelReader.ReadBarcodes(labwareSettings,
         pipettingSettings,
         barcode_plateBarcodes,
         barcode_Position);
     if(patientInfos.Count > correspondingbarcodes.Count)
     {
         throw new Exception("source barcodes' count > dest barcodes' count");
     }
 }
示例#2
0
 public List<List<string>> ReadBarcodes(LabwareSettings labwareSettings,
     PipettingSettings pipettingSettings,
     Dictionary<string, string> barcode_plateBarcode,
     Dictionary<string,string> barcode_Position)
 {
     startIndex = 0;
     this.labwareSettings = labwareSettings;
     this.pipettingSettings = pipettingSettings;
     string sFolder = GlobalVars.Instance.DstBarcodeFolder;
     var di = new DirectoryInfo(sFolder);
     var files = di.EnumerateFiles("*.csv").ToList();
     files = files.OrderBy(x => x.CreationTime).ToList();
     List<List<string>> correspondingbarcodes = new List<List<string>>();
     files.ForEach(x => ReadBarcode(correspondingbarcodes, barcode_plateBarcode,barcode_Position, x.FullName));
     return correspondingbarcodes;
 }
示例#3
0
        static private void ConfigureToolSettings(string config, string sourcePath)
        {
            Dictionary <string, string> currentSettings = new Dictionary <string, string>();
            Setting settings = new Setting();

            currentSettings = settings.LoadConfigSettings();
            if (config.Substring(0, 1) == "b")
            {
                currentSettings["2DBarcodeVendor"] = "baiquan";
            }
            currentSettings["reportPath"] = sourcePath + "\\ProjectTest\\depends\\biobanking\\data" + config.Substring(10, 2) + ".txt";
            //currentSettings["reportPath"] = @"C:\biobanking\data" + config.Substring(10, 2) + ".txt";
            settings.SaveConfigSettings(currentSettings);

            string sLabwareSettingFileName = sourcePath + "\\Biobanking\\bin\\Debug\\labwareSettings.xml";
            //string sLabwareSettingFileName = "E:\\projects\\biobanking\\trunk\\Biobanking\\bin\\Debug\\labwareSettings.xml";
            string          s = File.ReadAllText(sLabwareSettingFileName);
            LabwareSettings labwareSettings = new LabwareSettings();

            labwareSettings             = Utility.Deserialize <LabwareSettings>(s);
            currentSettings             = settings.GetSetting(labwareSettings);
            currentSettings["tipCount"] = config.Substring(1, 1);
            settings.SetSetting(labwareSettings, currentSettings);
            Utility.SaveSettings(labwareSettings, sLabwareSettingFileName);


            string sPipettingFileName = sourcePath + "\\Biobanking\\bin\\Debug\\pipettingSettings.xml";

            s = File.ReadAllText(sPipettingFileName);
            PipettingSettings pipettingSettings = new PipettingSettings();

            pipettingSettings = Utility.Deserialize <PipettingSettings>(s);
            currentSettings   = settings.GetSetting(pipettingSettings);
            currentSettings["dstPlasmaSlice"]     = config.Substring(2, 1);
            currentSettings["dstbuffySlice"]      = config.Substring(3, 1);
            currentSettings["buffyVolume"]        = config.Substring(4, 3);
            currentSettings["plasmaGreedyVolume"] = config.Substring(7, 3);
            currentSettings["buffyStandalone"]    = Convert.ToBoolean(Convert.ToInt16(config.Substring(12, 1))) ? "True" : "False";
            settings.SetSetting(pipettingSettings, currentSettings);
            Utility.SaveSettings(pipettingSettings, sPipettingFileName);
        }
        public LayoutInfo(PipettingSettings pipettingSettings)
        {
            cellX = 3;
            cellY = 0.8;
            cellXGap = 0.6;
            cellYGap = 0.2;
            yTopMargin = 1;
            yBottomMargin = 2.6;
            xLeftMargin = 2;
            xRightMargin = xLeftMargin;
            xTotalUnits = xLeftMargin + xRightMargin;
            int tipCount = EVOPipettingInfoGlobal.Value.tipsCount;
            xTotalUnits += tipCount * cellX;
            xTotalUnits += (tipCount - 1) * cellXGap;

            yTotalUnits = yTopMargin + yBottomMargin;
            int totalSlice = pipettingSettings.dstbuffySlice + pipettingSettings.dstPlasmaSlice;

            yTotalUnits += totalSlice * cellY;
            yTotalUnits += (totalSlice - 1) * cellYGap;
        }
示例#5
0
        public Dictionary <string, string> Load(bool isConfigSettings, bool isLabwareSettings, bool isPipettingSettings)
        {
            if (isConfigSettings)
            {
                return(LoadConfigSettings());
            }

            string s = File.ReadAllText(sPipettingFileName);

            pipettingSettings = Utility.Deserialize <PipettingSettings>(s);
            s = File.ReadAllText(sLabwareSettingFileName);
            labwareSettings = Utility.Deserialize <LabwareSettings>(s);
            if (isLabwareSettings)
            {
                return(GetSetting(labwareSettings));
            }
            if (isPipettingSettings)
            {
                return(GetSetting(pipettingSettings));
            }
            throw new Exception("不支持的设置!");
        }
示例#6
0
        public MainWindow()
        {
            InitializeComponent();

            sLabwareSettingFileName = xmlFolder + "\\labwareSettings.xml";
            sPipettingFileName = xmlFolder + "\\pipettingSettings.xml";
            //sTubeSettingsFileName = xmlFolder + stringRes.tubeSettingFileName;
            string exePath = Utility.GetExeFolder() + "Biobanking.exe";
            Configuration config = ConfigurationManager.OpenExeConfiguration(exePath);

            maxSampleCount = int.Parse(config.AppSettings.Settings[stringRes.maxSampleCount].Value);
            string s = "";
            plasmaMaxCount = int.Parse(config.AppSettings.Settings["PlasmaMaxCount"].Value);
            buffyMaxCount = int.Parse(config.AppSettings.Settings["BuffyMaxCount"].Value);
            if (!File.Exists(sLabwareSettingFileName))
            {
                SetInfo("LabwareSettings xml does not exist! at : " + sLabwareSettingFileName, Colors.Red);
                return;
            }

            if (!File.Exists(sPipettingFileName))
            {
                SetInfo("PipettingSettings xml does not exist! at : " + sPipettingFileName, Colors.Red);
                return;
            }

            try
            {
                s = File.ReadAllText(sPipettingFileName);
                pipettingSettings = Utility.Deserialize<PipettingSettings>(s);
                s = File.ReadAllText(sLabwareSettingFileName);
                labwareSettings = Utility.Deserialize<LabwareSettings>(s);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 public PositionGenerator(PipettingSettings pSettings, LabwareSettings lSettings, int nSample)
 {
     pipettingSettings = pSettings;
      labwareSettings = lSettings;
      totalSample = nSample;
 }
 public PipettingUI(double w, double h, int wellsPerLabware,ProgressController prgController)
     : base(w, h)
 {
     this.prgController = prgController;
     this.wellsPerLabware = wellsPerLabware;
     runResult = RunResultReader.Read();
     //smpInfos = RunResultReader.Read();
     pipettingSettings = Utility.LoadPipettingSettings();
     layoutInfo = new LayoutInfo(pipettingSettings);
 }