public static IQuickTransaction Convert(IDictionary <string, object> line, IQuickTransactionFactory quickTransactionFactory, IAccountStorage accountStorage, ICategoryStorage categoryStorage) { var id = (long)line["id"]; var accountId = (long)(line["accountId"] is DBNull?0L: line["accountId"]); var categoryId = (long)(line["categoryId"] is DBNull ? 0L : line["categoryId"]); var name = line["name"].ToString(); var total = decimal.Parse(line["total"].ToString()); var account = accountStorage.GetAllAccounts().FirstOrDefault(x => x?.Id == accountId); var category = categoryStorage.GetAllCategories().FirstOrDefault(x => x?.Id == categoryId); var weight = decimal.Parse(line["weight"].ToString()); var askForTotal = (long)line["askForTotal"] > 0; var askForWeight = (long)line["askForWeight"] > 0; var transaction = quickTransactionFactory.CreateQuickTransaction(account, category, name, total, id, weight, askForTotal, askForWeight); transaction.Id = id; return(transaction); }
public void Create2CategoriesTest() { var category1 = _factory.CreateCategory("Category 1", "Description", 5, null); var category2 = _factory.CreateCategory("Category 2", "Description 2", 5, null); _storage.CreateCategory(category1); _storage.CreateCategory(category2); var newCategory = _storage.GetAllCategories().FirstOrDefault(); Assert.IsNotNull(newCategory); Assert.AreEqual(1, _storage.GetAllCategories().Count()); Assert.AreEqual(category2.Name, newCategory.Name); Assert.AreEqual(category2.Description, newCategory.Description); Assert.AreEqual(5, newCategory.Id); }
public static ITransaction Convert(IDictionary <string, object> line, ITransactionFactory transactionFactory, IAccountStorage accountStorage, ICategoryStorage categoryStorage) { var id = (long)line["id"]; var timestamp = DateTime.Parse(line["timestamp"].ToString()); var accountId = (long)(line["accountId"]); var categoryId = (long)(line["categoryId"]); var name = line["name"].ToString(); var total = decimal.Parse(line["total"].ToString()); var account = accountStorage.GetAllAccounts().FirstOrDefault(x => x?.Id == accountId); var category = categoryStorage.GetAllCategories().FirstOrDefault(x => x?.Id == categoryId); var weight = decimal.Parse(line["weight"].ToString()); //var productId = (line["productId"] is System.DBNull)? 0: (long)line["productId"];//Add Product Storage //var parentId = (line["parentId"] is System.DBNull) ? 0 : (long)line["parentId"]; //var isComplexTransaction = (long) line["isComplexTransaction"] > 0; var transaction = (Transaction)transactionFactory.CreateTransaction(account, category, name, total, timestamp, id, weight, null, null); transaction.Id = id; transaction.Timestamp = timestamp; return(transaction); }
private void FillTheCache() { _cache = _storage.GetAllCategories(); _flatCategoriesCache = _storage.MakeFlatCategoryTree(); _isDirty = false; }