public async Task <int> DeleteExpensesAsync(int expenseId)
        {
            var result = -1;
            var entiry = _ctx.Expenses.Include(d => d.ExpenseDetail).FirstOrDefault(x => x.Id == expenseId);

            if (entiry != null)
            {
                _ctx.Expenses.Attach(entiry);
                _ctx.Expenses.Remove(entiry);
                result = await _ctx.SaveChangesAsync();
            }
            return(result);
        }
        public async Task <int> NewExpenseRuleAsync(ExpenseRule expRule)
        {
            var result = -1;

            try
            {
                _ctx.Add(expRule);
                result = await _ctx.SaveChangesAsync();

                if (result < 1)
                {
                    throw new Exception("Error occurred while adding new expense rule into database");
                }
                result = expRule.Id;
            }
            catch (Exception)
            {
                throw;
            }

            return(result);
        }