Esempio n. 1
0
        public async Task <IHttpActionResult> Create(EventCreateModel createModel)
        {
            if (!await _eventsService.CanCreateAsync(createModel.GroupId))
            {
                return(StatusCode(System.Net.HttpStatusCode.Forbidden));
            }

            var @event     = MapToEvent(createModel);
            var activityId = _eventsService.Create(@event);

            _reminderService.CreateIfNotExists(activityId, ReminderTypeEnum.OneDayBefore);

            @event = _eventsService.Get(activityId);

            if (createModel.GroupId.HasValue)
            {
                _groupActivityService.AddRelation(createModel.GroupId.Value, activityId);
                @event.GroupId = createModel.GroupId;
            }

            _activityTagsHelper.ReplaceTags(activityId, createModel.TagIdsData);

            ResolveMentions(createModel.Description, @event);

            var redirectUrl = _activityLinkService.GetLinks(activityId).Details;

            ReloadFeed();
            return(Ok(redirectUrl));
        }