Beispiel #1
0
        public Task <ActionResult <ReliefViewModel> > PostAsync([FromBody] ReliefInputModel inputModel)
        => ExecuteAsync <ReliefViewModel>(async() =>
        {
            var userId = User.UserId();
            var user   = await _usersRepository.GetByIdAsync(userId);
            var relief = new Relief(user, inputModel.Description, inputModel.Icon);

            await _reliefsRepository.AddAsync(relief);

            return(Ok((ReliefViewModel)relief));
        });
Beispiel #2
0
        public Task <ActionResult <ReliefViewModel> > PutAsync(Guid id, [FromBody] ReliefInputModel inputModel)
        => ExecuteAsync <ReliefViewModel>(async() =>
        {
            var userId = User.UserId();
            var releif = await _reliefsRepository.GetByIdAsync(id);

            if (releif == null)
            {
                return(NotFound());
            }

            if (releif.UserId != userId)
            {
                return(Forbid());
            }

            releif.SetDescription(inputModel.Description);
            releif.Icon = inputModel.Icon;

            await _reliefsRepository.UpdateAsync(releif);

            return(Ok((ReliefViewModel)releif));
        });