Example #1
0
        public async Task <CommonMealExpenseViewModel> Map(CommonMealExpense item)
        {
            var person = await _personRepository.GetById(item.PersonId);

            return(new CommonMealExpenseViewModel
            {
                Id = item.Id,
                Amount = item.Amount != null ? (int?)Math.Round(item.Amount.Value, 0) : null,
                Date = item.Timestamp,
                MealId = item.MealId,
                PersonId = item.PersonId,
                PersonName = person.CallName
            });
        }
Example #2
0
        public async Task Update(CommonMealExpense expense)
        {
            const string query =
                " UPDATE commonMealExpense " +
                " SET personId = @PersonId, commonMealId = @MealId, date = @Date, amount = @Amount " +
                " WHERE Id = @Id ";

            using (var connection = _connectionFactory.New())
            {
                await connection.QueryAsync(query, new
                {
                    Id       = expense.Id,
                    PersonId = expense.PersonId,
                    MealId   = expense.MealId,
                    Date     = expense.Timestamp,
                    Amount   = expense.Amount
                });
            }
        }
Example #3
0
        public async Task <CommonMealExpense> Add(CommonMealExpense expense)
        {
            const string query =
                " INSERT INTO commonMealExpense (personId, date, commonMealId, amount) " +
                " VALUES (@PersonId, @Date, @MealId, @Amount) " +
                " RETURNING id ";

            using (var connection = _connectionFactory.New())
            {
                var id = await connection.QueryAsync <int>(query, new
                {
                    PersonId = expense.PersonId,
                    MealId   = expense.MealId,
                    Date     = expense.Timestamp,
                    Amount   = expense.Amount
                });

                expense.Id = id.Single();
                return(expense);
            }
        }