private void HandleReceivedBarCode(string barCode) { SampleListDialog sampleListDialog; IGenericContainer genericContainer; IGenericContainer depositContainer; GenericContainerList selectedContainers; GenericContainerList doublets, uniqueList; DoubletsDialog doubletsDialog; genericContainer = GenericContainerManager.GetGenericContainerByBarCode(barCode); if (!CheckContainerType(genericContainer)) { throw new Data.Exception.DataException("This bar code neither represent a sample container nor a deposit"); } sampleListDialog = new SampleListDialog(genericContainer); MyBarCodeController = null; if (sampleListDialog.ShowDialog() == DialogResult.OK) { depositContainer = sampleListDialog.GetSelectedDeposit(); selectedContainers = sampleListDialog.GetSelectedContainers(); doublets = GetDoublets(selectedContainers, out uniqueList); if (doublets.Count > 0) { doubletsDialog = new DoubletsDialog(doublets, "These duplicates are sorted out from the list!"); doubletsDialog.ShowDialog(); selectedContainers = uniqueList; } SampleStorageListView.BeginUpdate(); foreach (IGenericContainer container in selectedContainers) { SampleStorageListView.Items.Add(new DuoViewItem(depositContainer, container)); } SampleStorageListView.EndUpdate(); SampleStorageListView.Columns[(int)DuoViewItem.ListIndex.SampleContainer].Width = -2; this.printToolStripMenuItem.Enabled = true; this.exportToolStripMenuItem.Enabled = true; } MyBarCodeController = new BarCodeController(this); MyBarCodeController.BarCodeReceived += MyBarcodeEventhandler; }
private void SaveButton_Click(object sender, EventArgs e) { // Get every checked row (SampleStorageDuos) that are okey, // update database for each of them GenericContainerList doublets; DoubletsDialog doubletsDialog; try { doublets = GetDoublets(); if (IsNotEmpty(doublets)) { doubletsDialog = new DoubletsDialog(doublets); doubletsDialog.ShowDialog(); SampleStorageListView.Select(); return; } foreach (DuoViewItem duoView in SampleStorageListView.Items) { if (duoView.Checked) { MoveContainer(duoView.GetSampleContainer(), duoView.GetStorageContainer(), UserManager.GetCurrentUser().GetId()); } } MessageBox.Show(this, "Update is completed!", Config.GetDialogTitleStandard(), MessageBoxButtons.OK, MessageBoxIcon.Information); Reset(); } catch (Exception exception) { HandleError("Could not update locations of sample containers", exception); } SampleStorageListView.Select(); }