private List <ExpensesCategoryViewModel> GetExpensesCategories() { List <ExpensesCategoryViewModel> expensesCategories = null; if (HttpContext.Current.Cache.Get(_cacheName) != null) { expensesCategories = (List <ExpensesCategoryViewModel>)HttpContext.Current.Cache.Get(_cacheName); } if (expensesCategories == null || expensesCategories.Count == 0) { Random random = new Random(); expensesCategories = new List <ExpensesCategoryViewModel>(); ExpensesCategoryViewModel expensesCategory = new ExpensesCategoryViewModel(); int minExpensesTypeId = Enum.GetValues(typeof(ExpensesTypeEnum)).Cast <int>().Min(); int maxExpensesTypeId = Enum.GetValues(typeof(ExpensesTypeEnum)).Cast <int>().Max(); string name = "Exp Category "; for (int recordId = 1; recordId <= 100; recordId++) { expensesCategory = new ExpensesCategoryViewModel(); expensesCategory.id = recordId; expensesCategory.name = name + recordId; expensesCategory.expensesTypeId = random.Next(minExpensesTypeId, maxExpensesTypeId + 1); expensesCategory.expensesTypeName = ((ExpensesTypeEnum)expensesCategory.expensesTypeId).Description(); expensesCategories.Add(expensesCategory); } ; HttpContext.Current.Cache.Insert(_cacheName, expensesCategories); } return(expensesCategories); }
public ExpensesCategoryViewModel Get(int id) { ExpensesCategoryViewModel expensesCategory = null; List <ExpensesCategoryViewModel> expensesCategories = GetExpensesCategories(); expensesCategory = expensesCategories.Where(x => x.id == id).FirstOrDefault(); return(expensesCategory); }
public CommonResponseViewModel SaveExpensesCategory(ExpensesCategoryViewModel expensesCategoryVM) { CommonResponseViewModel response = new CommonResponseViewModel(); List <ExpensesCategoryViewModel> expensesCategories = GetExpensesCategories(); bool isDuplicate = CheckIsDuplicate(expensesCategoryVM); if (isDuplicate) { response.message = "Expenses Category Name already exists"; return(response); } if (expensesCategoryVM.id <= 0) { // insert expensesCategoryVM.id = expensesCategories[expensesCategories.Count - 1].id + 1; expensesCategoryVM.expensesTypeName = ((ExpensesTypeEnum)expensesCategoryVM.expensesTypeId).Description(); expensesCategories.Add(expensesCategoryVM); response.isSuccess = true; response.recordId = expensesCategoryVM.id; } else { // update var expensesCategory = expensesCategories.Where(x => x.id == expensesCategoryVM.id).FirstOrDefault(); if (expensesCategory != null) { int index = expensesCategories.FindIndex(x => x.id == expensesCategoryVM.id); expensesCategories[index] = expensesCategoryVM; response.isSuccess = true; response.recordId = expensesCategoryVM.id; } } if (response.isSuccess) { HttpContext.Current.Cache.Remove(_cacheName); HttpContext.Current.Cache.Insert(_cacheName, expensesCategories); } return(response); }
public bool CheckIsDuplicate(ExpensesCategoryViewModel expensesCategory) { bool isDuplicate = false; if (string.IsNullOrWhiteSpace(expensesCategory.name)) { return(isDuplicate); } var expensesCategories = GetExpensesCategories(); if (expensesCategories != null && expensesCategories.Any(x => x.name.ToLower() == expensesCategory.name.ToLower() && x.expensesTypeId == expensesCategory.expensesTypeId && x.id != expensesCategory.id)) { isDuplicate = true; } return(isDuplicate); }