Beispiel #1
0
        public async Task <IActionResult> Create(CreateEventInputViewModel input)
        {
            var user = await this.userManager.GetUserAsync(this.User);

            var eventId = await this.eventsService.CreateNewEvent(input, user.Id);

            this.TempData["Message"] = "You have sucessully added a hiking event!";

            return(this.RedirectToAction(nameof(this.GetById), new { id = eventId }));
        }
Beispiel #2
0
        public async Task <IActionResult> EventInput(CreateEventInputViewModel model)
        {
            var timeErrorMessage = this.eventsService.GetTimeErrorMessage(model.ActiveFrom, model.ActiveTo, model.ActivationDate, model.TimeZone);

            if (timeErrorMessage != null)
            {
                model.Error = timeErrorMessage;
                return(this.View(model));
            }

            var userId  = this.userManager.GetUserId(this.User);
            var eventId = await this.eventsService.CreateEventAsync(model.Name, model.ActivationDate, model.ActiveFrom, model.ActiveTo, userId);

            return(this.RedirectToAction("AssignGroupsToEvent", new { id = eventId }));
        }
Beispiel #3
0
        public async Task <IActionResult> EventInput(CreateEventInputViewModel model)
        {
            var timeErrorMessage = this.service.GetTimeErrorMessage(model.ActiveFrom, model.ActiveTo, model.ActivationDate, model.TimeZone);

            if (timeErrorMessage != null)
            {
                model.Error = timeErrorMessage;
                return(this.View(model));
            }

            var user = await this.userManager.GetUserAsync(this.User);

            var eventId = await this.service.CreateEventAsync(model.Name, model.ActivationDate, model.ActiveFrom, model.ActiveTo, user.Id);

            await this.hub.Clients.Group(GlobalConstants.AdministratorRoleName).SendAsync("NewEventUpdate", user.UserName, model.Name);

            return(this.RedirectToAction("AssignGroupsToEvent", new { id = eventId }));
        }
Beispiel #4
0
        public async Task <int> CreateNewEvent(CreateEventInputViewModel input, string userId)
        {
            var @event = new Event
            {
                CreatedById  = userId,
                Details      = input.Details,
                EndTime      = DateTime.Parse(input.EndTime, CultureInfo.InvariantCulture),
                StartTime    = DateTime.Parse(input.StartTime, CultureInfo.InvariantCulture),
                TransportId  = input.TransportId,
                MaxGroupSize = input.MaxGroupSize,
                TripId       = input.TripId,
                Title        = input.Title,
            };

            @event.Participants.Add(new EventsUsers {
                UserId = userId, EventId = @event.Id
            });
            await this.eventsRepository.AddAsync(@event);

            await this.eventsRepository.SaveChangesAsync();

            return(@event.Id);
        }