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