public async Task <IHttpActionResult> AddKudosLog(AddKudosLogViewModel kudosLog) { if (!ModelState.IsValid) { return(BadRequest(Resources.Models.Kudos.Kudos.KudosifyModalError)); } var kudosLogDto = _mapper.Map <AddKudosLogViewModel, AddKudosLogDto>(kudosLog); SetOrganizationAndUser(kudosLogDto); try { if (kudosLog.TotalPointsPerReceiver.HasValue && await _permissionService.UserHasPermissionAsync(GetUserAndOrganization(), AdministrationPermissions.Kudos)) { await _kudosService.AddKudosLogAsync(kudosLogDto, kudosLog.TotalPointsPerReceiver.Value); } else { await _kudosService.AddKudosLogAsync(kudosLogDto); } return(Ok()); } catch (UnauthorizedException) { return(Unauthorized()); } catch (ValidationException e) { return(BadRequestWithError(e)); } }