예제 #1
0
        public async Task <IActionResult> SetBonusAsync(string organizationId, int bonusEvents, DateTime?expires = null)
        {
            if (String.IsNullOrEmpty(organizationId) || !CanAccessOrganization(organizationId))
            {
                return(Ok(new { Success = false, Message = "Invalid Organization Id." }));
            }

            var organization = await _organizationRepository.GetByIdAsync(organizationId);

            if (organization == null)
            {
                return(Ok(new { Success = false, Message = "Invalid Organization Id." }));
            }

            _billingManager.ApplyBonus(organization, bonusEvents, expires);
            await _organizationRepository.SaveAsync(organization, o => o.Cache());

            return(Ok(new { Success = true }));
        }