public async Task <ActionResult <MonthlyLedger> > AddAsync(MonthlyLedger ledger)
        {
            var owner = Auth.GetUser(User.Claims);

            _logger.LogInformation("Adding data for user {User}", owner);

            ledger.Owner     = owner;
            ledger.UpdatedAt = DateTime.Now;
            await _ledgerService.Add(ledger);

            return(CreatedAtRoute("GetLedger", new
                                  { owner = ledger.Owner, year = ledger.Year.ToString(), month = ledger.Month.ToString() }
                                  , ledger));
        }
        public async Task <IActionResult> UpdateAsync([FromQuery] string id, MonthlyLedger inLedger)
        {
            var ledger = _ledgerService.Find(id);
            var owner  = Auth.GetUser(User.Claims);

            _logger.LogInformation("Updating id {Id} for user {User}", id, owner);

            if (ledger == null)
            {
                _logger.LogWarning("Id {Id} for user {User} not found", id, owner);
                return(NotFound());
            }

            inLedger.UpdatedAt = DateTime.Now;
            await _ledgerService.Update(id, inLedger);

            return(NoContent());
        }
        public async Task <ActionResult <MonthlyLedger> > GetAsync([FromQuery] int year, [FromQuery] int month)
        {
            var           owner  = Auth.GetUser(User.Claims);
            MonthlyLedger ledger = null;
            var           type   = "regular";

            if (year == 0 && month == 0)
            {
                type = "fixed";
            }

            _logger.LogInformation("Getting data for user {User}, {Year}/{Month}", owner, year, month);

            ledger = await _ledgerService.Get(owner, year, month, type);

            if (ledger == null)
            {
                _logger.LogWarning("Data for user {User}, {Year}/{Month} not found", owner, year, month);
                return(NotFound());
            }

            return(ledger);
        }
Beispiel #4
0
 public async Task Update(string id, MonthlyLedger ledger) =>
 await _ledgers.ReplaceOneAsync(ledger => ledger.Id == id, ledger);
Beispiel #5
0
        public async Task <MonthlyLedger> Add(MonthlyLedger ledger)
        {
            await _ledgers.InsertOneAsync(ledger);

            return(ledger);
        }