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));
            }
        }