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(); }
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 }); } } }
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 }); } }