Пример #1
0
        public async Task <IActionResult> OnGetAsync()
        {
            if (_sessionService.GetUserId(HttpContext.Session) != null && _sessionService.GetConferenceId(HttpContext.Session) != null)
            {
                CurrentUser = await _userService.GetFromId((int)_sessionService.GetUserId(HttpContext.Session));

                CurrentConference = await _conferenceService.GetFromId((int)_sessionService.GetConferenceId(HttpContext.Session));

                UCBinding = _ucBindingService.GetAll().Result.FindAll(bind => bind.UserId.Equals(CurrentUser.UserId))
                            .Find(bind => bind.ConferenceId.Equals(CurrentConference.ConferenceId));

                if (UCBinding?.UserType == UserType.Admin || UCBinding?.UserType == UserType.SuperUser)
                {
                    IsAdmin = true;
                }
            }

            Rooms = await _roomService.GetAll();

            Venues = await _venueService.GetAll();

            Floors = await _floorService.GetAll();

            return(Page());
        }
        public async Task <IActionResult> OnPostAsync()
        {
            UserConferenceBinding existingBinding = _ucBindingService.GetAll().Result
                                                    .FindAll(binding => binding.UserId.Equals(UserId))
                                                    .Find(binding => binding.ConferenceId.Equals(ConferenceId));

            UserConferenceBinding newBinding = new UserConferenceBinding
            {
                UserId       = UserId,
                ConferenceId = ConferenceId,
                UserType     = UserType
            };

            if (existingBinding != null)
            {
                if (existingBinding.UserType != UserType)
                {
                    newBinding.UserConferenceBindingId = existingBinding.UserConferenceBindingId;
                    BindingCreated = await _ucBindingService.Update(newBinding);
                }
            }
            else
            {
                BindingCreated = await _ucBindingService.Create(newBinding);
            }

            Users = await _userService.GetAll();

            Conferences = await _conferenceService.GetAll();

            SelectListUsers       = new SelectList(Users, nameof(Models.User.UserId), nameof(Models.User.Email));
            SelectListConferences = new SelectList(Conferences, nameof(Conference.ConferenceId), nameof(Conference.Name));

            return(Page());
        }
        public async Task <IActionResult> OnGetAsync()
        {
            int?userId       = _sessionService.GetUserId(HttpContext.Session);
            int?conferenceId = _sessionService.GetConferenceId(HttpContext.Session);

            if (userId == null || conferenceId == null)
            {
                return(Unauthorized());
            }

            CurrentUser = await _userService.GetFromId((int)userId);

            CurrentConference = await _conferenceService.GetFromId((int)_sessionService.GetConferenceId(HttpContext.Session));

            CurrentBinding = _ucBindingService.GetAll().Result.FindAll(binding => binding.UserId.Equals(CurrentUser.UserId)).Find(binding => binding.ConferenceId.Equals(CurrentConference.ConferenceId));

            if (CurrentBinding?.UserType != UserType.Admin && CurrentBinding?.UserType != UserType.SuperUser)
            {
                return(Unauthorized());
            }

            Users = await _userService.GetAll();

            Conferences = await _conferenceService.GetAll();

            SelectListUsers       = new SelectList(Users, nameof(Models.User.UserId), nameof(Models.User.Email));
            SelectListConferences = new SelectList(Conferences, nameof(Conference.ConferenceId), nameof(Conference.Name));

            return(Page());
        }
Пример #4
0
        public async Task <IActionResult> OnGetAsync()
        {
            if (_sessionService.GetUserId(HttpContext.Session) != null)
            {
                CurrentUser = await _userService.GetFromId((int)_sessionService.GetUserId(HttpContext.Session));
            }
            else
            {
                return(OnGetDeniedAsync());
            }

            if (_sessionService.GetConferenceId(HttpContext.Session) != null)
            {
                CurrentConference = await _conferenceService.GetFromId((int)_sessionService.GetConferenceId(HttpContext.Session));
            }
            else
            {
                return(RedirectToPage("/Index"));
            }

            UCBinding = _ucBindingService.GetAll().Result.FindAll(bind => bind.UserId.Equals(CurrentUser.UserId))
                        .Find(bind => bind.ConferenceId.Equals(CurrentConference.ConferenceId));

            if (UCBinding?.UserType != UserType.Admin && UCBinding?.UserType != UserType.SuperUser)
            {
                return(OnGetDeniedAsync());
            }

            Room   = new Room();
            Events = new List <Event>();
            Floors = await _floorService.GetAll();

            Features = await _featureService.GetAll();

            Rooms = await _roomService.GetAll();

            RoomFeatures = _roomFeatureService.GetAll().Result.FindAll(room => room.RoomId.Equals(Room.RoomId));

            //EventsInRoom = Room.RoomId != 0
            //    ? new List<Event>(Events.FindAll(e => e.RoomId.Equals(Room.RoomId)))
            //    : new List<Event>();

            SelectListFloors = new SelectList(Floors.FindAll(f => f.VenueId.Equals(tempVenueId)), nameof(Floor.FloorId),
                                              nameof(Floor.Name));
            SelectListFeatures = new SelectList(Features, nameof(Feature.FeatureId), nameof(Feature.Name), RoomFeatures);

            return(Page());
        }
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            EventId = id;

            if (_sessionService.GetUserId(HttpContext.Session) != null)
            {
                CurrentUser = await _userService.GetFromId((int)_sessionService.GetUserId(HttpContext.Session));
            }
            else
            {
                return(OnGetDeniedAsync());
            }

            if (_sessionService.GetConferenceId(HttpContext.Session) != null)
            {
                CurrentConference = await _conferenceService.GetFromId((int)_sessionService.GetConferenceId(HttpContext.Session));
            }
            else
            {
                return(RedirectToPage("/Index"));
            }

            UCBinding = _ucBindingService.GetAll().Result
                        .FindAll(binding => binding.UserId.Equals(CurrentUser.UserId)).Find(binding =>
                                                                                            binding.ConferenceId.Equals(CurrentConference.ConferenceId));

            if (UCBinding?.UserType != UserType.Admin && UCBinding?.UserType != UserType.SuperUser)
            {
                return(OnGetDeniedAsync());
            }

            await PageSetup();

            if (EventId == null)
            {
                return(Page());
            }

            NewEvent = await _eventService.GetFromId((int)id);

            if (NewEvent != null)
            {
                Duration = (int)NewEvent.Duration?.TotalMinutes;
                return(Page());
            }

            return(Unauthorized());
        }
        public async Task OnGetAsync()
        {
            Events = await _eventService.GetAll();

            Rooms = await _roomService.GetAll();

            Enrollments = await _enrollmentService.GetAll();

            if (_sessionService.GetConferenceId(HttpContext.Session) != null)
            {
                CurrentConference = await _conferenceService.GetFromId((int)_sessionService.GetConferenceId(HttpContext.Session));
            }


            if (_sessionService.GetUserId(HttpContext.Session) != null)
            {
                CurrentUser = await _userService.GetFromId((int)_sessionService.GetUserId(HttpContext.Session));

                UCBinding = _ucBindingService.GetAll().Result
                            .FindAll(binding => binding.UserId.Equals(CurrentUser.UserId)).Find(binding =>
                                                                                                binding.ConferenceId.Equals(CurrentConference.ConferenceId));

                if (UCBinding?.UserType == UserType.Admin || UCBinding?.UserType == UserType.SuperUser)
                {
                    IsAdmin = true;
                }
                else
                {
                    IsAdmin = false;
                }
            }
            else
            {
                IsAdmin = false;
            }

            foreach (Event e in Events)
            {
                e.Enrollments = await _enrollmentService.GetFiltered(e.EventId, ModelTypes.Event);
            }
        }
Пример #7
0
        public async Task <bool> Initialize()
        {
            int?userId       = _sessionService.GetUserId(HttpContext.Session);
            int?conferenceId = _sessionService.GetConferenceId(HttpContext.Session);

            if (userId == null || conferenceId == null)
            {
                return(false);
            }

            CurrentUser = await _userService.GetFromId((int)userId);

            CurrentConference = await _conferenceService.GetFromId((int)conferenceId);

            CurrentBinding = _ucBindingService.GetAll().Result.FindAll(binding => binding.UserId.Equals(CurrentUser.UserId)).Find(binding => binding.ConferenceId.Equals(CurrentConference.ConferenceId));

            if (CurrentBinding?.UserType != UserType.Admin && CurrentBinding?.UserType != UserType.SuperUser)
            {
                return(false);
            }

            Users = await _userService.GetAll();

            SelectListUsers = new SelectList(Users, nameof(Models.User.UserId), nameof(Models.User.Email));

            Conferences = await _conferenceService.GetAll();

            Speakers = await _speakerService.GetAll();

            Venues = await _venueService.GetAll();

            Floors = await _floorService.GetAll();

            Features = await _featureService.GetAll();

            Themes = await _themeService.GetAll();

            CurrentVenue = Venues.Find(venue => venue.VenueId.Equals(CurrentConference.VenueId));
            return(true);
        }
Пример #8
0
        public async Task <IActionResult> OnPostBindingAsync()
        {
            if (await Initialize())
            {
                if (ModelState.IsValid)
                {
                    UserConferenceBinding existingBinding = _ucBindingService.GetAll().Result
                                                            .FindAll(binding => binding.UserId.Equals(UserId))
                                                            .Find(binding => binding.ConferenceId.Equals(CurrentConference.ConferenceId));

                    UserConferenceBinding newBinding = new UserConferenceBinding
                    {
                        UserId       = UserId,
                        ConferenceId = CurrentConference.ConferenceId,
                        UserType     = UserType
                    };

                    if (existingBinding != null)
                    {
                        if (existingBinding.UserType != UserType)
                        {
                            newBinding.UserConferenceBindingId = existingBinding.UserConferenceBindingId;
                            BindingCreated = await _ucBindingService.Update(newBinding);
                        }
                    }
                    else
                    {
                        BindingCreated = await _ucBindingService.Create(newBinding);
                    }
                }

                return(Page());
            }

            return(BadRequest());
        }
        public async Task <IActionResult> OnPostAsync()
        {
            ModelState.ClearValidationState(nameof(NewPasswordRepeat));
            if (NewPasswordRepeat == NewPassword)
            {
                ModelState.MarkFieldValid(nameof(NewPasswordRepeat));
            }
            else
            {
                ModelState.AddModelError(nameof(NewPasswordRepeat), "Kodeordene er ikke ens.");
            }

            bool emailValid = true;

            if (UserEmail.Length < 5)
            {
                emailValid = false;
            }
            if (UserEmail.Split('.').Length != 2)
            {
                emailValid = false;
            }
            if (UserEmail.Split('@').Length != 2)
            {
                emailValid = false;
            }
            if (UserEmail.IndexOf('.') < UserEmail.IndexOf('@'))
            {
                emailValid = false;
            }

            if (emailValid)
            {
                ModelState.MarkFieldValid(nameof(UserEmail));
            }
            else
            {
                ModelState.AddModelError(nameof(UserEmail), "Ugyldig Email");
            }

            if (UserName.Length > 0)
            {
                ModelState.MarkFieldValid(nameof(UserName));
            }

            if (IsNewUser)
            {
                ModelState.Remove(nameof(CurrentPassword));
            }
            //ModelState.MarkFieldValid(nameof(CurrentPassword));

            if (!ModelState.IsValid)
            {
                return(Page());
            }

            if (IsNewUser)
            {
                CurrentUser          = new User();
                CurrentUser.Password = NewPassword;

                int firstnameInd = UserName.IndexOf(' ') + 1;
                if (firstnameInd != 0)
                {
                    CurrentUser.FirstName = UserName.Substring(0, firstnameInd - 1);
                    CurrentUser.LastName  = UserName.Substring(firstnameInd, UserName.Length - firstnameInd);
                }
                else
                {
                    CurrentUser.FirstName = UserName;
                    CurrentUser.LastName  = UserName;
                }
                CurrentUser.Email = UserEmail;
                if (UserPrefs != null)
                {
                    CurrentUser.Preference = UserPrefs.Split(',').ToList();
                }
                else
                {
                    CurrentUser.Preference = new List <string>();
                }

                int?conferenceIdtest = _sessionService.GetConferenceId(HttpContext.Session);
                if (conferenceIdtest == null)
                {
                    return(BadRequest());
                }


                _userService.ClearItemData();
                User test = await _userService.GetFromField(CurrentUser.Identity(UserEmail));

                if (test != null)
                {
                    EmailExist = true;
                    return(Page());
                }
                await _userService.Create(CurrentUser);

                UserConferenceBinding userCon = new UserConferenceBinding();

                userCon.ConferenceId = (int)conferenceIdtest;

                test = await _userService.GetFromField(CurrentUser.Identity(UserEmail));

                userCon.UserId = test.UserId;
                await _userConService.Create(userCon);

                //_UserCon.ConferenceId = currentConferenceId;
                // _userConService
                _sessionService.SetUserId(HttpContext.Session, test.UserId);

                return(RedirectToPage("/index"));
            }

            CurrentUserId = _sessionService.GetUserId(HttpContext.Session);

            if (CurrentUserId > 0)
            {
                CurrentUser = await _userService.GetFromId((int)_sessionService.GetUserId(HttpContext.Session));

                if (CurrentUser.Password == CurrentPassword)
                {
                    CurrentUser.Password = NewPassword;
                    PasswordUpdated      = await _userService.Update(CurrentUser);
                }
                else
                {
                    WrongPassword = true;
                }
            }
            else
            {
                return(BadRequest());
            }

            return(Page());
        }
Пример #10
0
        public async Task <IActionResult> OnGetEditAsync(int rId)
        {
            if (_sessionService.GetUserId(HttpContext.Session) != null)
            {
                CurrentUser = await _userService.GetFromId((int)_sessionService.GetUserId(HttpContext.Session));
            }
            else
            {
                return(OnGetDeniedAsync());
            }

            if (_sessionService.GetConferenceId(HttpContext.Session) != null)
            {
                CurrentConference = await _conferenceService.GetFromId((int)_sessionService.GetConferenceId(HttpContext.Session));
            }
            else
            {
                return(RedirectToPage("/Index"));
            }

            UCBinding = _ucBindingService.GetAll().Result.FindAll(bind => bind.UserId.Equals(CurrentUser.UserId))
                        .Find(bind => bind.ConferenceId.Equals(CurrentConference.ConferenceId));

            if (UCBinding?.UserType != UserType.Admin && UCBinding?.UserType != UserType.SuperUser)
            {
                return(OnGetDeniedAsync());
            }

            RoomId = rId;
            Room   = await _roomService.GetFromId(rId);

            Events = _eventService.GetAll().Result.FindAll(e => e.RoomId.Equals(rId));
            Floors = await _floorService.GetAll();

            Features = await _featureService.GetAll();

            Rooms = await _roomService.GetAll();

            RoomFeatures = _roomFeatureService.GetAll().Result.FindAll(room => room.RoomId.Equals(Room.RoomId));

            foreach (RoomFeature rf in RoomFeatures)
            {
                Room.Features.Add(rf.FeatureId, true);
            }


            EventsInRoom = Room.RoomId != 0
                ? new List <Event>(Events.FindAll(e => e.RoomId.Equals(Room.RoomId)))
                : new List <Event>();

            SelectListFloors   = new SelectList(Floors.FindAll(f => f.VenueId.Equals(tempVenueId)), nameof(Floor.FloorId), nameof(Floor.Name));
            SelectListFeatures = new SelectList(Features, nameof(Feature.FeatureId), nameof(Feature.Name), RoomFeatures);

            foreach (var item in SelectListFeatures)
            {
                foreach (var rf in RoomFeatures)
                {
                    if (item.Value == rf.FeatureId.ToString())
                    {
                        item.Selected = true;
                        break;
                    }
                }
            }
            IsEditing = true;
            return(Page());
        }