public RepositoryActionResult <ExpenseGroup> EditExpenseGroup(ExpenseGroup expenseGroup) { try { var existingEG = _context.ExpenseGroups .FirstOrDefault(eg => eg.Id == expenseGroup.Id); if (existingEG == null) { return(new RepositoryActionResult <ExpenseGroup>(expenseGroup, RepositoryActionStatus.NotFound)); } _context.Entry(existingEG).State = EntityState.Detached; _context.ExpenseGroups.Attach(expenseGroup); _context.Entry(expenseGroup).State = EntityState.Modified; var result = _context.SaveChanges(); if (result == 0) { return(new RepositoryActionResult <ExpenseGroup>(expenseGroup, RepositoryActionStatus.NothingModified, null)); } else { return(new RepositoryActionResult <ExpenseGroup>(expenseGroup, RepositoryActionStatus.Updated)); } } catch (Exception ex) { return(new RepositoryActionResult <ExpenseGroup>(expenseGroup, RepositoryActionStatus.Error, ex)); } }
public RepositoryActionResult <Expense> UpdateExpense(Expense expense) { try { var existingE = _context.Expenses .FirstOrDefault(e => e.Id == expense.Id); if (existingE == null) { return(new RepositoryActionResult <Expense>(expense, RepositoryActionStatus.NotFound, null)); } _context.Entry(existingE).State = EntityState.Detached; _context.Expenses.Attach(expense); _context.Entry(expense).State = EntityState.Modified; var result = _context.SaveChanges(); if (result > 0) { return(new RepositoryActionResult <Expense>(expense, RepositoryActionStatus.Updated)); } return(new RepositoryActionResult <Expense>(expense, RepositoryActionStatus.NothingModified, null)); } catch (Exception ex) { return(new RepositoryActionResult <Expense>(expense, RepositoryActionStatus.Error, ex)); } }