Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        public void InsertExpense(object obj)
        {
            List <Expense> test = Expenses;

            test.Add(NewExpense.NewExpense);
            Expenses = test;
            RaisePropertyChanged("AllBudgetItems");
            NewExpense.ResetExpense();
        }
Esempio n. 3
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
 /// <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();
        }
Esempio n. 9
0
 public ActionResult Post(string settlementId, Guid expenseId, [FromBody] NewExpense expense)
 {
     _expensesRepository.UpdateExpense(settlementId, expenseId, expense);
     return(Ok());
 }
Esempio n. 10
0
        public ActionResult Post(string settlementId, [FromBody] NewExpense expense)
        {
            var id = _expensesRepository.CreateExpense(settlementId, expense);

            return(Ok(id));
        }