示例#1
0
        private void addMapping(MenuItemViewModel item)
        {
            int index = _mappings.Count;     //add on the last row by default

            if (_selectedMappings.Count > 0) //if something is selected, add it at the end of the selection
            {
                index = _mappings.IndexOf(_selectedMappings.Last()) + 1;
            }

            var proxy = item.Tag as CommandProxy;

            Mapping m;

            try {
                m = _device.CreateMapping(proxy);
            } catch (Exception e) {
                if (true || CmdrSettings.Instance.VerboseExceptions)
                {
                    MessageBoxHelper.ShowException("Error adding mapping " + item.Text, e);
                }
                return;
            }

            _device.InsertMapping(index, m); // this is to add the mapping itelf

            var mvm = new MappingViewModel(_device, m);
            var row = new RowItemViewModel(mvm);

            _mappings.Insert(index, row); //this is to add the row to the grid

            selectExclusive(row);
            row.BringIntoView();
        }
        private void Calc(List <RowItemViewModel> list, double amountFinanced, double i, double pv, int n)
        {
            RowItemViewModel item = new RowItemViewModel();

            item.Number = list.Count + 1;
            //PRICE
            //double i =  taxaJurosMensal / 100;

            //valor parcela
            item.Installment = Convert.ToDouble(pv * ((Math.Pow((1 + i), n) * i) / (Math.Pow((1 + i), n) - 1)));

            item.Tax          = i * amountFinanced;
            item.Amortization = item.Installment - item.Tax;

            item.OutstandingBalance = amountFinanced - item.Amortization;

            list.Add(item);
            if (item.OutstandingBalance > 0)
            {
                Calc(list, item.OutstandingBalance, i, pv, n);
            }
            else
            {
                item.OutstandingBalance = 0;
            }
        }
示例#3
0
 private void selectExclusive(RowItemViewModel row)
 {
     if (can_change_selection_automatically())
     {
         SelectedMappings.Clear();
         SelectedMappings.Add(row);
     }
 }
示例#4
0
        private void insertMapping(int index, Mapping rawMapping)
        {
            _device.InsertMapping(index, rawMapping);
            var mvm = new MappingViewModel(_device, rawMapping);
            var row = new RowItemViewModel(mvm);

            _mappings.Insert(index, row);

            SelectedMappings.Add(row);
        }
示例#5
0
        private object GetPropertyValue(RowItemViewModel row, Binding binding)
        {
            object item = row.Item;

            string[] propertyNamePath = binding.Path.Path
                                        .Remove(0, "item.".Length)
                                        .Split('.');

            foreach (string name in propertyNamePath)
            {
                item = GetPropertyValue(item, name);
            }

            return(item);
        }
示例#6
0
        private void insertMapping(int index, Mapping rawMapping)
        {
            _device.InsertMapping(index, rawMapping);
            var mvm = new MappingViewModel(_device, rawMapping);
            var row = new RowItemViewModel(mvm);

            _mappings.Insert(index, row);

            if (can_change_selection_automatically())
            {
                SelectedMappings.Add(row);
            }

            OnModification();
        }
示例#7
0
        private void addMapping(MenuItemViewModel item)
        {
            int index = _mappings.Count;

            if (_selectedMappings.Count > 0)
            {
                index = _mappings.IndexOf(_selectedMappings.Last()) + 1;
            }

            var proxy = item.Tag as CommandProxy;
            var m     = _device.CreateMapping(proxy);

            _device.InsertMapping(index, m);

            var mvm = new MappingViewModel(_device, m);
            var row = new RowItemViewModel(mvm);

            _mappings.Insert(index, row);

            selectExclusive(row);
            row.BringIntoView();
        }
示例#8
0
        private void Calc(List <RowItemViewModel> list, double amountFinanced, double i, double pv, int n)
        {
            RowItemViewModel item = new RowItemViewModel();

            item.Number = list.Count + 1;
            //PRICE

            item.Tax          = i * pv;
            item.Amortization = amountFinanced / n;

            item.Installment        = item.Amortization + item.Tax;
            item.OutstandingBalance = pv - item.Amortization;

            list.Add(item);

            if (item.OutstandingBalance > 0)
            {
                Calc(list, amountFinanced, i, item.OutstandingBalance, n);
            }
            else
            {
                item.OutstandingBalance = 0;
            }
        }
示例#9
0
        private void addMapping(MenuItemViewModel item)
        {
            int index = _mappings.Count;       //add on the last row by default

            if (_selectedMappings.Count > 0)   //if something is selected, add it at the end of the selection
            {
                index = _mappings.IndexOf(_selectedMappings.Last()) + 1;
            }

            var proxy = item.Tag as CommandProxy;
            var m     = _device.CreateMapping(proxy);

            _device.InsertMapping(index, m);      // this is to add the mapping itelf

            var mvm = new MappingViewModel(_device, m);
            var row = new RowItemViewModel(mvm);

            _mappings.Insert(index, row);         //this is to add the row to the grid

            selectExclusive(row);
            row.BringIntoView();

            row.ClearFiltering();   // HACK: investigate why there is a duplication on the very first paste or "add-in". Clearing grid filters avoids this bug
        }
示例#10
0
 private void selectExclusive(RowItemViewModel row)
 {
     SelectedMappings.Clear();
     SelectedMappings.Add(row);
 }
示例#11
0
        private void updateAddMappingContextMenus()
        {
            if (OutCommands.Contains(_separator))
            {
                OutCommands.Remove(_separator);
                OutCommands.RemoveAt(OutCommands.Count - 1);
            }

            MappingViewModel selectedMapping = null;

            if (_selectedMappings.Count != 1 || (selectedMapping = _selectedMappings.Single().Item as MappingViewModel).Command.MappingType != MappingType.In)
            {
                return;
            }

            if (All.KnownOutCommands.ContainsKey(selectedMapping.Command.Id))
            {
                var commandProxy = All.KnownOutCommands[selectedMapping.Command.Id];
                if (!OutCommands.Contains(_separator))
                {
                    OutCommands.Add(_separator);
                    OutCommands.Add(new MenuItemViewModel
                    {
                        Text    = commandProxy.Name + " (" + selectedMapping.AssignmentExpression + ")",
                        Tag     = commandProxy,
                        Command = new CommandHandler <MenuItemViewModel>(i =>
                        {
                            int index = _mappings.Count;
                            if (_selectedMappings.Count > 0)
                            {
                                index = _mappings.IndexOf(_selectedMappings.Last()) + 1;
                            }

                            var proxy = i.Tag as CommandProxy;
                            var m     = _device.CreateMapping(proxy);
                            _device.InsertMapping(index, m);

                            var mvm        = new MappingViewModel(_device, m);
                            mvm.Assignment = selectedMapping.Assignment;

                            if (selectedMapping.CanOverrideFactoryMap)
                            {
                                mvm.OverrideFactoryMap = selectedMapping.OverrideFactoryMap;
                            }

                            if (selectedMapping.MidiBinding != null && MidiOutDefinitions.ContainsKey(selectedMapping.MidiBinding.Note))
                            {
                                mvm.SetBinding(MidiOutDefinitions[selectedMapping.MidiBinding.Note]);
                            }

                            if (selectedMapping.Conditions.Condition1 != null)
                            {
                                mvm.SetCondition(TsiLib.Conditions.ConditionNumber.One, selectedMapping.Conditions.Condition1);
                            }

                            if (selectedMapping.Conditions.Condition2 != null)
                            {
                                mvm.SetCondition(TsiLib.Conditions.ConditionNumber.Two, selectedMapping.Conditions.Condition2);
                            }

                            var row = new RowItemViewModel(mvm);
                            _mappings.Insert(index, row);

                            selectExclusive(row);
                            row.BringIntoView();
                        })
                    });
                }
            }
        }
示例#12
0
 private void highlight(RowItemViewModel item)
 {
     item.BringIntoView();
     _dvm.SelectedMappings.Clear();
     _dvm.SelectedMappings.Add(item);
 }