Ejemplo n.º 1
0
        private async Task <ResponseMessagesDto> UpdateExpenseAsync(CreateExpenseDto expenseDto)
        {
            var result = await _expenseRepository.UpdateAsync(new Expense()
            {
                Id          = expenseDto.Id,
                Name        = expenseDto.Name,
                Description = expenseDto.Description,
                Cost        = expenseDto.Cost
            });

            if (result != null)
            {
                return(new ResponseMessagesDto()
                {
                    Id = result.Id,
                    SuccessMessage = AppConsts.SuccessfullyUpdated,
                    Success = true,
                    Error = false,
                });
            }
            return(new ResponseMessagesDto()
            {
                Id = 0,
                ErrorMessage = AppConsts.UpdateFailure,
                Success = false,
                Error = true,
            });
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <ExpenseDto> > CreateExpenseAsync([FromBody] CreateExpenseDto expenseForCreateDto)
        {
            if (expenseForCreateDto.BudgetId == null)
            {
                return(BadRequest("BudgetId is required."));
            }

            var budget = await budgetRepository.GetByIdAsync(expenseForCreateDto.BudgetId.Value);

            if (budget == null)
            {
                return(NotFound($"No budget with id {expenseForCreateDto.BudgetId.Value} found"));
            }

            if (!IsUserAuthorizedForResource(budget))
            {
                return(Unauthorized($"You are not authorized to access budget with id {expenseForCreateDto.BudgetId.Value}"));
            }

            var newExpense = mapper.Map <Expense>(expenseForCreateDto);

            expenseRepository.Add(newExpense);

            var saveResult = await expenseRepository.SaveAllAsync();

            if (!saveResult)
            {
                return(BadRequest("Unable to create expense."));
            }

            var expenseForReturn = mapper.Map <ExpenseDto>(newExpense);

            return(CreatedAtRoute("GetExpenseAsync", new { id = expenseForReturn.Id }, expenseForReturn));
        }
Ejemplo n.º 3
0
        private async Task <ResponseMessagesDto> CreateExpenseAsync(CreateExpenseDto expenseDto)
        {
            var result = await _expenseRepository.InsertAsync(new Expense()
            {
                Name        = expenseDto.Name,
                Description = expenseDto.Description,
                Cost        = expenseDto.Cost,
                TenantId    = expenseDto.TenantId
            });

            await UnitOfWorkManager.Current.SaveChangesAsync();

            if (result.Id != 0)
            {
                return(new ResponseMessagesDto()
                {
                    Id = result.Id,
                    SuccessMessage = AppConsts.SuccessfullyInserted,
                    Success = true,
                    Error = false,
                });
            }
            return(new ResponseMessagesDto()
            {
                Id = 0,
                ErrorMessage = AppConsts.InsertFailure,
                Success = false,
                Error = true,
            });
        }
Ejemplo n.º 4
0
        public async Task <ExpenseDto> CreateAsync(CreateExpenseDto dto, CancellationToken cancellationToken)
        {
            var entity = fMapper.Map <ExpenseEntity>(dto);

            DbSet.Add(entity);
            await fContext.SaveChangesAsync(cancellationToken);

            return(fMapper.Map <ExpenseDto>(entity));
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> CreateExpense([FromBody] CreateExpenseDto createExpenseDto)
        {
            var user = await _userService.GetById(int.Parse(User.FindFirstValue(ClaimTypes.NameIdentifier)));

            if (createExpenseDto.PlannerId != user.PlannerId)
            {
                return(BadRequest());
            }

            await _expenseService.Create(createExpenseDto);

            return(Ok());
        }
Ejemplo n.º 6
0
        public async Task <ResponseMessagesDto> CreateOrEditAsync(CreateExpenseDto expenseDto)
        {
            ResponseMessagesDto result;

            if (expenseDto.Id == 0)
            {
                result = await CreateExpenseAsync(expenseDto);
            }
            else
            {
                result = await UpdateExpenseAsync(expenseDto);
            }
            return(result);
        }
        public async Task <ActionResult <ExpenseDto> > CreateExpenseAsync(CreateExpenseDto createExpenseDto)
        {
            Expense expense = new()
            {
                Id            = Guid.NewGuid(),
                Category      = createExpenseDto.Category,
                Price         = createExpenseDto.Price,
                DateOfExpense = DateTimeOffset.UtcNow
            };

            await repository.CreateExpenseAsync(expense);

            return(CreatedAtAction(nameof(CreateExpenseAsync), new { id = expense.Id }, expense.AsDto()));
        }
Ejemplo n.º 8
0
        public async Task <ActionResult <ExpenseDto> > CreateExpenseAsync(CreateExpenseDto expenseToCreate)
        {
            var newExpense = new Expense
            {
                Id = Guid.NewGuid(),
                ApplicationUserId = expenseToCreate.ApplicationUserId,
                Price             = expenseToCreate.Price,
                Description       = expenseToCreate.Description,
                DateOfExpense     = DateTimeOffset.UtcNow,
                CategoryId        = expenseToCreate.CategoryId
            };

            await _expensesRepository.CreateExpenseAsync(newExpense);

            return(CreatedAtAction(nameof(CreateExpenseAsync), new { id = newExpense.Id }, newExpense.AsDto()));
        }