Пример #1
0
        /// <summary>
        /// Create a new Expense, using ExpensesPostModel so we can use string for type
        /// </summary>
        /// <param name="expenses">New Expense object</param>
        /// <returns>Expense added</returns>
        public ExpensesPostModel Create(ExpensesPostModel expenses)
        {
            Expenses toAdd = ExpensesPostModel.ToExpenses(expenses);

            context.Expensess.Add(toAdd);
            context.SaveChanges();

            return(expenses);
        }
Пример #2
0
        /// <summary>
        /// Create a new Expense, using ExpensesPostModel so we can use string for type
        /// </summary>
        /// <param name="expenses">New Expense object</param>
        /// <returns>Expense added</returns>
        public Expenses AddExpense(ExpensesPostModel expenses)
        {
            Expenses toAdd = ExpensesPostModel.ToExpenses(expenses);

            if (toAdd == null)
            {
                return(null);
            }
            context.Expensess.Add(toAdd);
            context.SaveChanges();

            return(toAdd);
        }
Пример #3
0
        /// <summary>
        /// Update/Inseret
        /// </summary>
        /// <param name="id">Id for update, otherwise add</param>
        /// <param name="expenses">New Expense Object that we want to add</param>
        /// <returns>Expense we gave</returns>
        public Expenses UpsertExpense(int id, ExpensesPostModel expenses)
        {
            var existing = context.Expensess.AsNoTracking().Include(c => c.Comments).FirstOrDefault(c => c.Id == id);

            if (existing == null)
            {
                var expense = context.Expensess.Add(ExpensesPostModel.ToExpenses(expenses));
                context.SaveChanges();
                return(expense.Entity);
            }

            var res = ExpensesPostModel.ToUpdateExpenses(expenses, existing);

            context.SaveChanges();
            return(res);
        }