/// <summary>
        /// Raises request for editing control for existing budget record.
        /// </summary>
        /// <param name="item"></param>
        public void ShowRecordEditor(RecordItem item)
        {
            BudgetRecordEditorViewModel vm = new BudgetRecordEditorViewModel(item.record);

            if (windowService.ShowBudgetRecordEditor(vm) == true)
            {
                if (Core.Instance.UpdateRecord(
                        item.record, vm.Amount, vm.Category.category,
                        vm.BudgetType, vm.OnDay,
                        vm.Month, vm.Year))
                {
                    if (vm.Month != SelectedMonth || vm.Year != selectedYear)
                    {
                        Records.Remove(item);
                    }
                }
            }
        }
        /// <summary>
        /// Raises request for editing control for new budget record.
        /// </summary>
        public void ShowRecordEditor()
        {
            BudgetRecordEditorViewModel vm = new BudgetRecordEditorViewModel();

            if (windowService.ShowBudgetRecordEditor(vm) == true)
            {
                BudgetRecord newRecord;
                if (Core.Instance.AddRecord(
                        vm.Amount, vm.Category.category,
                        vm.BudgetType, vm.OnDay,
                        vm.Month, vm.Year, out newRecord))
                {
                    if (newRecord.Month == SelectedMonth && newRecord.Year == SelectedYear)
                    {
                        Records.Add(new RecordItem(newRecord));
                    }
                }
            }
        }