Пример #1
0
        private void UpdateSelectionStatus(string newStatus)
        {
            Identifiable tempItem, selectedPlate;

            Point[] selectedWells;


            this.Cursor = Cursors.WaitCursor;
            //Get the selected plate.
            selectedPlate = (Identifiable)PlateComboBox.SelectedItem;
            //Clear any previous selections.
            MyDataServer.ClearPlateSelection();

            //Add selected wells.
            selectedWells = Plate.GetSelectedIndices();
            if (selectedWells.GetLength(0) < 1)
            {
                this.Cursor = Cursors.Default;
                MessageManager.ShowInformation("Please select at least one well.", this);
                return;
            }
            for (int i = 0; i < selectedWells.GetLength(0); i++)
            {
                MyDataServer.AddPlateWell(selectedWells[i].X, selectedWells[i].Y);
            }

            //Add checked experiments.
            if (ExperimentCheckedListBox.TheCheckedListBox.CheckedItems.Count < 1)
            {
                this.Cursor = Cursors.Default;
                MessageManager.ShowInformation("Please select at least one experiment.", this);
                return;
            }
            for (int i = 0; i < ExperimentCheckedListBox.TheCheckedListBox.CheckedItems.Count; i++)
            {
                tempItem = (Identifiable)ExperimentCheckedListBox.TheCheckedListBox.CheckedItems[i];
                MyDataServer.AddPlateExperiment(tempItem.ID);
            }

            //Add checked items.
            if (ItemCheckedListBox.TheCheckedListBox.CheckedItems.Count < 1)
            {
                this.Cursor = Cursors.Default;
                MessageManager.ShowInformation("Please select at least one item.", this);
                return;
            }
            for (int i = 0; i < ItemCheckedListBox.TheCheckedListBox.CheckedItems.Count; i++)
            {
                tempItem = (Identifiable)ItemCheckedListBox.TheCheckedListBox.CheckedItems[i];
                MyDataServer.AddPlateItem(tempItem.ID);
            }
            this.Cursor = Cursors.Default;

            if (MessageManager.ShowQuestion("Set status to '" + newStatus + "' for the selected items from the " +
                                            "selected experiments in the marked wells?") == DialogResult.No)
            {
                return;
            }

            MyDataServer.UpdatePlateSelectionStatus(selectedPlate.ID, MySessionSettings, newStatus);
        }