示例#1
0
        // -> DB Finder
        private void SetInsulatorSetFromExternalData(int index, int sectionSize, string code, double?armLength, double?armWeight, double?openingAngle)
        {
            IEnumerable <InsulatorSet> insulators;
            IEnumerable <InsulatorSet> matchedInsulators;
            InsulatorSet bufferedInsulatorSet = new InsulatorSet("dummyCat", "dummyCode", "", armLength.GetValueOrDefault(0), armWeight.GetValueOrDefault(0), openingAngle.GetValueOrDefault(0));

            if (index == 0 || index == sectionSize - 1)
            {
                insulators        = _insulatorManager.GetSelectedGroup(MainSettings.Instance.FixedCategoryName0);
                matchedInsulators = insulators.Where(ins => ins.CodeName == code);
            }
            else
            {
                insulators        = _insulatorManager.GetSelectedGroup(MainSettings.Instance.FixedCategoryName1);
                matchedInsulators = insulators.Where(ins => ins.CodeName == code);
            }

            if (matchedInsulators.Count() == 1)
            {
                if (matchedInsulators.First().Equals(bufferedInsulatorSet))
                {
                    Spans[index].SelectedItem = matchedInsulators.First();
                    return;
                }
            }

            Spans[index].InsulatorSetLength       = armLength;
            Spans[index].InsulatorSetWeight       = armWeight;
            Spans[index].InsulatorSetOpeningAngle = openingAngle;
            return;
        }
示例#2
0
        // CONSTRUCTORS
        public UserSpan()
        {
            this.userDefinedName  = "User Defined";
            this.insulatorManager = InsulatorSetDataManager.Instance;
            this.dummySet         = new InsulatorSet("", userDefinedName, "", 0, 0);
            this.selectedItem     = dummySet;

            isLastSpan = false;
            this.State = UserSpanState.EditionPending;

            OrdinalIndex = 0;
            Clear();
        }
示例#3
0
        public void SynchronizeWithAttachmentSetDatabase()
        {
            int          index;
            InsulatorSet bufferedInsulatorSet = SelectedItem;

            RaisePropertyChanged("InsulatorSetsAvailableSelection"); // I'm pretty sure combobox forget about it's selected item when it's itemsource will be updated/changed

            index = InsulatorSetsAvailableSelection.IndexOf(bufferedInsulatorSet);
            if (index >= 0)
            {
                SelectedItem = (InsulatorSet)InsulatorSetsAvailableSelection[index];
            }
            else
            {
                SelectedItem = null;
            }
        }
示例#4
0
 private void MarkAsUserDefined()
 {
     selectedItem = dummySet; // intended: changes only selected item (its name to "User Defined"). Occurs when user manualy changes any attachment set related value to inform user that from now attachment set is defined by him (case with intended desynchronization between selected item and its related values) uff... in other places where attachment set reset is required the statement looks like this: SelectedItem = dummySet;
     RaisePropertyChanged("SelectedItem");
 }