public async Task <ActionResult <EfExpense> > PostExpense(NewExpense newExpense) { if (newExpense is null) { return(BadRequest("Data is missing")); } var role = User.Claims.First(a => a.Type == ClaimTypes.Role).Value; long modelId; if (role == "Manager") { modelId = 8055; } else // Role == Model { var modelStr = User.Claims.First(a => a.Type == "ModelId").Value; if (!long.TryParse(modelStr, out modelId)) { return(Unauthorized("ModelId missing")); } } var expense = _mapper.Map <EfExpense>(newExpense); expense.ModelId = modelId; _context.Expenses.Add(expense); await _context.SaveChangesAsync().ConfigureAwait(false); return(CreatedAtAction("GetExpense", new { id = expense.EfExpenseId }, expense)); }
public void InsertExpense(object obj) { List <Expense> test = Expenses; test.Add(NewExpense.NewExpense); Expenses = test; RaisePropertyChanged("AllBudgetItems"); NewExpense.ResetExpense(); }
public async Task <ActionResult <EfExpense> > PostExpense(NewExpense newExpense) { if (newExpense is null) { return(BadRequest("Data is missing")); } var expense = _mapper.Map <EfExpense>(newExpense); _context.Expenses.Add(expense); await _context.SaveChangesAsync().ConfigureAwait(false); return(CreatedAtAction("GetExpense", new { id = expense.EfExpenseId }, expense)); }
public ActionResult <EfExpense> PostExpense(NewExpense newExpense) { if (newExpense is null) { return(BadRequest("Data is missing")); } var expense = _mapper.Map <EfExpense>(newExpense); _expensesRepository.Create(expense); return(_expensesRepository.GetBy(selector: source => source, predicate: e => e.EfExpenseId == expense.EfExpenseId).FirstOrDefault()); }
public Guid CreateExpense(string settlementId, NewExpense expense) { var expenseEntity = _mapper.Map <Database.Models.Expense>(expense); expenseEntity.SettlementId = settlementId; _context.Expenses.Add(expenseEntity); _context.SaveChanges(); _context.ExpenseParticipations.AddRange( expense.Participants.Select(userId => new ExpenseParticipation { ExpenseId = expenseEntity.Id, SettlementUserId = userId })); _context.SaveChanges(); return(expenseEntity.Id); }
public async Task <Expense> InsertAsync(NewExpense newExpense) { var expenseOwner = await _expenseOwnerRepository.GetAll() .FirstOrDefaultAsync(owner => owner.OwnerUserId == newExpense.ExpenseOwnerUserId).ConfigureAwait(false); if (expenseOwner == null) { throw new MxNotFoundException($"Expense Owner with id {newExpense.ExpenseOwnerUserId} does not exist"); } var expense = new Expense(newExpense, expenseOwner.ExpenseOwnerId); _expenseRepository.Insert(expense); await _expenseRepository.SaveChangesAsync().ConfigureAwait(false); return(expense); }
/// <summary> /// Opens the form to allow the user to add a new expense /// </summary> /// <param name="sender">Standard sender object</param> /// <param name="e">Standard event object</param> private void newExcpenceToolStripMenuItem_Click(object sender, EventArgs e) { // If the instance is not already open if (NewExpense == null) { MdiChilrenSum++; NewExpense = new InputOutUI(); NewExpense.MdiParent = this; NewExpense.Show(); NewExpense.FormClosed += new FormClosedEventHandler(MdiChildClosed); NewExpense.FormClosed += new FormClosedEventHandler(NewExpenseClose); } // Forces the form to the front else { NewExpense.BringToFront(); } }
public void UpdateExpense(string settlementId, Guid expenseId, NewExpense expense) { var entity = _mapper.Map <Database.Models.Expense>(expense); entity.SettlementId = settlementId; entity.Id = expenseId; _context.Expenses.Update(entity); _context.ExpenseParticipations.RemoveRange( _context.ExpenseParticipations .Where(p => p.ExpenseId == expenseId) ); _context.ExpenseParticipations.AddRange( expense.Participants.Select(userId => new ExpenseParticipation { ExpenseId = expenseId, SettlementUserId = userId }) ); _context.SaveChanges(); }
public ActionResult Post(string settlementId, Guid expenseId, [FromBody] NewExpense expense) { _expensesRepository.UpdateExpense(settlementId, expenseId, expense); return(Ok()); }
public ActionResult Post(string settlementId, [FromBody] NewExpense expense) { var id = _expensesRepository.CreateExpense(settlementId, expense); return(Ok(id)); }