コード例 #1
0
        private void SaveCategory()
        {
            category.Name        = editName.Text;
            category.Description = editDescription.Text;
            category.Type        = Category.CategoryTypes.Income.ToString() == spinnerCategoryType.SelectedItem.ToString() ? Category.CategoryTypes.Income : Category.CategoryTypes.Expense;
            category.Visible     = 1;
            category.Icon        = iconDrawable;

            if (!editMode)
            {
                category.CreatedDate = DateTime.Today;
            }

            SilverCoinsManager.SaveCategory(category);
            Finish();
        }
コード例 #2
0
        internal static void ImportTransactionsFromList(IEnumerable <TransactionImportExport> transactionsForImport)
        {
            if (transactionsForImport.Any())
            {
                // Get list of accounts and categories from document
                var accountsForImport = transactionsForImport.Select(x => new Account
                {
                    Name        = x.Account,
                    Currency    = x.Currency,
                    Balance     = Convert.ToDecimal(x.Balance),
                    CreatedDate = DateTime.Today,
                    Description = string.Empty,
                    Icon        = Resource.Drawable.cash
                });

                var categoriesForImport = transactionsForImport.Select(x => new Category
                {
                    Name        = x.Category,
                    Type        = x.Type == Category.CategoryTypes.Expense.ToString() ? Category.CategoryTypes.Expense : Category.CategoryTypes.Income,
                    Description = string.Empty,
                    CreatedDate = DateTime.Today,
                    Visible     = 1,
                    Icon        = Resource.Drawable.salary
                });

                var accounts   = SilverCoinsManager.GetAccounts();
                var categories = SilverCoinsManager.GetCategories();

                // Find accounts and categories that do not exist in database
                var newAccounts   = accountsForImport.Where(x => !accounts.Any(s => s.Name == x.Name));
                var newCategories = categoriesForImport.Where(x => !categories.Any(s => s.Name == x.Name));

                // Insert missing accounts and categories
                if (newAccounts.Any())
                {
                    foreach (var account in newAccounts)
                    {
                        SilverCoinsManager.SaveAccount(account);
                    }
                }

                if (newCategories.Any())
                {
                    foreach (var category in newCategories)
                    {
                        SilverCoinsManager.SaveCategory(category);
                    }
                }

                foreach (var transaction in transactionsForImport)
                {
                    SilverCoinsManager.SaveTransaction(new Transaction
                    {
                        Name        = transaction.Name,
                        Account     = SilverCoinsManager.GetAccountByName(transaction.Account).Id,
                        Category    = SilverCoinsManager.GetCategoryByName(transaction.Category).Id,
                        Amount      = Convert.ToDecimal(transaction.Amount),
                        PaymentType = transaction.PaymentType,
                        Type        = transaction.Type,
                        CreatedDate = DateTime.Now
                    });
                }
            }
        }
コード例 #3
0
        private void PrepareCategories()
        {
            Configuration categoryConfig = SilverCoinsManager.GetConfigurationRecordByKey("CATINIT");

            if (categoryConfig == null || categoryConfig.BooleanValue == false)
            {
                Category[] categories =
                {
                    new Category {
                        Name        = "Salary",
                        Description = "",
                        Type        = Category.CategoryTypes.Income,
                        CreatedDate = DateTime.Today,
                        Visible     = 1,
                        Icon        = Resource.Drawable.salary,
                    },
                    new Category {
                        Name        = "Groceries",
                        Description = "",
                        Type        = Category.CategoryTypes.Expense,
                        CreatedDate = DateTime.Today,
                        Visible     = 1,
                        Icon        = Resource.Drawable.groceries,
                    },
                    new Category {
                        Name        = "Eating out",
                        Description = "",
                        Type        = Category.CategoryTypes.Expense,
                        CreatedDate = DateTime.Today,
                        Visible     = 1,
                        Icon        = Resource.Drawable.eating_out,
                    },
                    new Category {
                        Name        = "Holidays",
                        Description = "",
                        Type        = Category.CategoryTypes.Expense,
                        CreatedDate = DateTime.Today,
                        Visible     = 1,
                        Icon        = Resource.Drawable.vacation,
                    },
                    new Category {
                        Name        = "Sport",
                        Description = "",
                        Type        = Category.CategoryTypes.Expense,
                        CreatedDate = DateTime.Today,
                        Visible     = 1,
                        Icon        = Resource.Drawable.sports,
                    },
                    new Category {
                        Name        = "Car",
                        Description = "",
                        Type        = Category.CategoryTypes.Expense,
                        CreatedDate = DateTime.Today,
                        Visible     = 1,
                        Icon        = Resource.Drawable.car,
                    },
                    new Category {
                        Name        = "Shopping",
                        Description = "",
                        Type        = Category.CategoryTypes.Expense,
                        CreatedDate = DateTime.Today,
                        Visible     = 1,
                        Icon        = Resource.Drawable.shopping,
                    },
                    new Category {
                        Name        = "Entertainment",
                        Description = "",
                        Type        = Category.CategoryTypes.Expense,
                        CreatedDate = DateTime.Today,
                        Visible     = 1,
                        Icon        = Resource.Drawable.entertainment,
                    },
                    new Category {
                        Name        = "Pets",
                        Description = "",
                        Type        = Category.CategoryTypes.Expense,
                        CreatedDate = DateTime.Today,
                        Visible     = 1,
                        Icon        = Resource.Drawable.pets,
                    },
                    new Category {
                        Name        = "Kids",
                        Description = "",
                        Type        = Category.CategoryTypes.Expense,
                        CreatedDate = DateTime.Today,
                        Visible     = 1,
                        Icon        = Resource.Drawable.kids,
                    },
                    new Category {
                        Name        = "Electronics",
                        Description = "",
                        Type        = Category.CategoryTypes.Expense,
                        CreatedDate = DateTime.Today,
                        Visible     = 1,
                        Icon        = Resource.Drawable.electronics,
                    },
                    new Category {
                        Name        = "Transfer",
                        Description = "",
                        Type        = Category.CategoryTypes.MoneyTransfer,
                        CreatedDate = DateTime.Today,
                        Visible     = 0,
                        Icon        = Resource.Drawable.transfer
                    },
                };

                foreach (var category in categories)
                {
                    SilverCoinsManager.SaveCategory(category);
                }

                SilverCoinsManager.SaveConfiguration(new Configuration()
                {
                    Name         = "Categories initalized",
                    Key          = "CATINIT",
                    BooleanValue = true
                });
            }
        }