/// <summary>
        /// update the EventTemplate
        /// </summary>
        /// <param name="id">Guid</param>
        /// <param name="eventTemplate">the new information</param>
        /// <param name="ct"></param>
        /// <returns></returns>
        public async Task <ViewModels.EventTemplate> UpdateAsync(Guid id, ViewModels.EventTemplate eventTemplate, CancellationToken ct)
        {
            var eventTemplateEntity = await GetTheEventTemplateAsync(id, true, true, ct);

            eventTemplate.ModifiedBy = _user.GetId();
            _mapper.Map(eventTemplate, eventTemplateEntity);

            _context.EventTemplates.Update(eventTemplateEntity);
            await _context.SaveChangesAsync(ct);

            return(_mapper.Map(eventTemplateEntity, eventTemplate));
        }
        /// <summary>
        /// Create a EventTemplate
        /// </summary>
        /// <param name="eventTemplate"></param>
        /// <param name="ct"></param>
        /// <returns></returns>
        public async Task <ViewModels.EventTemplate> CreateAsync(ViewModels.EventTemplate eventTemplate, CancellationToken ct)
        {
            if (!(await _authorizationService.AuthorizeAsync(_user, null, new ContentDeveloperRightsRequirement())).Succeeded &&
                !(await _authorizationService.AuthorizeAsync(_user, null, new SystemAdminRightsRequirement())).Succeeded)
            {
                throw new ForbiddenException();
            }

            eventTemplate.CreatedBy = _user.GetId();
            var eventTemplateEntity = _mapper.Map <EventTemplateEntity>(eventTemplate);

            _context.EventTemplates.Add(eventTemplateEntity);
            await _context.SaveChangesAsync(ct);

            return(await GetAsync(eventTemplateEntity.Id, ct));
        }