Exemple #1
0
        //==============================================================
        //Scale Add/Delete
        partial void RunSaveScaleDialog()
        {
            /*guardians*/
            if (currentShowScale != null)
            {
                WarnUser(this.Localizer["Cannot save the new scale while other scale is in display"]);
                return;
            }

            if (currentSound == 0)
            {
                WarnUser(this.Localizer["Cannot save empty scale"]);
                return;
            }

            var selectedNotes = new List <Note>();

            foreach (var note in Notes)
            {
                if (note.IsChecked)
                {
                    selectedNotes.Add(note);
                }
            }

            var dialogWindow = new ScaleSaveDialogWindow(selectedNotes.ToArray());

            dialogWindow.DataContext = this;
            var dialogResult = dialogWindow.ShowDialog();

            if (dialogResult == true)
            {
                /*guardians*/
                if (dialogWindow.ScaleName == null)
                {
                    throw new ArgumentNullException("dialogWindow.ScaleName");
                }
                if (dialogWindow.KeynoteOfChoice == null)
                {
                    throw new ArgumentNullException("dialogWindow.KeynoteOfChoice");
                }

                string scaleName    = dialogWindow.ScaleName;
                Sound  keynoteSound = dialogWindow.KeynoteOfChoice.Sound;

                Scale newScale = new Scale(scaleName, keynoteSound, currentSound);

                AdditionalScales.Add(newScale);

                ScalesAll.Add(newScale);
                ScalesAll.Sort(new ScalesSorter());

                Request_SaveAdditionalScales?.Invoke(AdditionalScales.ToArray());

                MessageBox.Show(this.Localizer["Scale successfully saved"]);

                ClearUI();
            }
        }
        private void Initialize()
        {
            TextStrings.Add(0, "Нуль");
            TextStrings.Add(1, "Одна");
            TextStrings.Add(2, "Дві");
            TextStrings.Add(3, "Три");
            TextStrings.Add(4, "Чотири");
            TextStrings.Add(5, "П'ять");
            TextStrings.Add(6, "Шість");
            TextStrings.Add(7, "Сім");
            TextStrings.Add(8, "Вісім");
            TextStrings.Add(9, "Дев'ять");
            TextStrings.Add(10, "Десять");
            TextStrings.Add(11, "Одинадцять");
            TextStrings.Add(12, "Дванадцять");
            TextStrings.Add(13, "Тринадцять");
            TextStrings.Add(14, "Чотирнадцять");
            TextStrings.Add(15, "П'ятнадцять");
            TextStrings.Add(16, "Шістнадцять");
            TextStrings.Add(17, "Сімнадцять");
            TextStrings.Add(18, "Вісімнадцять");
            TextStrings.Add(19, "Дев'ятнадцять");
            TextStrings.Add(20, "Двадцять");
            TextStrings.Add(30, "Тридцять");
            TextStrings.Add(40, "Сорок");
            TextStrings.Add(50, "П'ятдесят");
            TextStrings.Add(60, "Шістдесят");
            TextStrings.Add(70, "Сімдесят");
            TextStrings.Add(80, "Вісімдесят");
            TextStrings.Add(90, "Дев'яносто");
            TextStrings.Add(100, "Сто");
            TextStrings.Add(200, "Двісті");
            TextStrings.Add(300, "Триста");
            TextStrings.Add(400, "Чотириста");
            TextStrings.Add(500, "П'ятсот");
            TextStrings.Add(600, "Шістсот");
            TextStrings.Add(700, "Сімсот");
            TextStrings.Add(800, "Вісімсот");
            TextStrings.Add(900, "Дев'ятсот");

            AdditionalStrings.Add(1, "Один");
            AdditionalStrings.Add(2, "Два");
            AdditionalStrings.Add(1000, "тисяча");
            AdditionalStrings.Add(1000000, "мільйон");
            AdditionalStrings.Add(1000000000, "мільярд");

            Scales.Add(1000000000, "мільярдів");
            Scales.Add(1000000, "мільйонів");
            Scales.Add(1000, "тисяч");

            AdditionalScales.Add(1000000000, "мільярди");
            AdditionalScales.Add(1000000, "мільйони");
            AdditionalScales.Add(1000, "тисячі");
        }
Exemple #3
0
        partial void DeleteSelectedScale()
        {
            if (currentShowScale == null)
            {
                WarnUser(this.Localizer["To delete the scale one must first select it"]);
                return;
            }

            var  scaleToDelete  = currentShowScale;
            bool itIsBasicScale = default(bool);

            foreach (var scale in ScalesBasic)
            {
                if (Object.ReferenceEquals(scaleToDelete, scale))
                {
                    itIsBasicScale = true;
                    break;
                }
            }

            if (itIsBasicScale)
            {
                WarnUser(this.Localizer["Cannot delete basic scale"]);
                return;
            }

            var confirmation = MessageBox.Show(this.Localizer["Delete this scale? Are you sure?"], "", MessageBoxButton.YesNo, MessageBoxImage.Question);

            if (confirmation != MessageBoxResult.Yes)
            {
                return;
            }

            //Point of no return
            AdditionalScales.Remove(scaleToDelete);
            ScalesAll.Remove(scaleToDelete);

            Request_SaveAdditionalScales?.Invoke(AdditionalScales.ToArray());

            MessageBox.Show(this.Localizer["Scale deleted"]);

            ClearUI();
        }