private async void CreateSpeaker()
        {
            await FillUserList();

            NewSpeaker = new Speaker(Username, Password, FullName, Description, Image.Name);
            if (!ImageCatalog.ImageCatalog.Dictionary.Keys.Contains(Image.Name))
            {
                await ImageCatalog.ImageCatalog.AddImage(Image, Image.Name);

                if (!UserNameList.Contains(NewSpeaker.UserName))
                {
                    speakerHandler.CreateSpeaker(NewSpeaker);
                }
                else
                {
                    await MessageDialogUtil.MessageDialogAsync("Username Already taken",
                                                               "brugernavnet du har angivet er allerede i brug \nbenyt venligst et andet brugernavn");
                }
            }
            else
            {
                await MessageDialogUtil.MessageDialogAsync("Billede eksisterer allerede",
                                                           "navnet af det valgte billede eksistere allerede i systemet vælg venligst et andet billede eller ændre navnet på din billedfil");
            }
        }
예제 #2
0
        /// <summary>
        /// Denne metode bliver brugt til at slette et lokale
        /// </summary>
        public async void DeleteRoom()
        {
            bool sure = await MessageDialogUtil.InputDialogAsync("Hvad?", "er du sikker på du vil slette");

            if (!sure)
            {
                return;
            }

            string roomNo = RoomViewModel.SelectedRoom.RoomNo;
            bool   ok     = await _genericPersistence.Delete(roomNo);


            if (!ok)
            {
                await MessageDialogUtil.MessageDialogAsync("Der skete en fejl i Room", "Room blev ikke slettet");
            }
            else
            {
                RoomViewModel.RoomCatalog.Rooms.Remove(RoomViewModel.SelectedRoom);
                await MessageDialogUtil.MessageDialogAsync("Alt gik godt", $"Lokalet {roomNo} blev slettet");

                RoomViewModel.NewRoom = new Room();
            }
        }
        public async void GetImage()
        {
            Image = await ImageCatalog.ImageCatalog.PickSingleImage();

            if (Image != null)
            {
                ImageView = await ImageCatalog.ImageCatalog.AsBitmapImage(Image);
            }
            else
            {
                await MessageDialogUtil.MessageDialogAsync("Forkert filtype", "Kunne ikke hente billedet");
            }
        }
예제 #4
0
        public async void Clear()
        {
            bool ok = await MessageDialogUtil.InputDialogAsync("Er du sikker?", "Er du sikker på at du vil afmelde alle deltagere fra denne begivenhed");

            if (ok)
            {
                await RegiSing.ClearRegistration(ShownEvent);
            }
            IsSubed = false;
            ChangeSubButton();
            OnPropertyChanged(nameof(RemainingSpots));
            OnPropertyChanged(nameof(TakenSpots));
        }
예제 #5
0
        /// <summary>
        /// En metode der catcher en fejl, hvis der allerede eksistert et lokale med dette nr.
        /// I starten prøver den at køre metoden CreateRoom for at løbe den igennem exception.
        /// Samt catcher en fejl hvis man ikke har udfyldt alle tekst bokse
        /// </summary>
        public async void Create()
        {
            try
            {
                await RoomHandler.CreateRoom();
            }
            catch (ItIsNotUniqueException inue)
            {
                await MessageDialogUtil.MessageDialogAsync(inue.Message, "Dette rum eksistere allerede");
            }

            catch (EmptyException ex)
            {
                await MessageDialogUtil.MessageDialogAsync(ex.Message, "Du har ikke udfyldt alle felterne");
            }
        }
예제 #6
0
        public static async Task <bool> TryOpenConn()
        {
            if (await GetConnection())
            {
                return(true);
            }
            string connString = await MessageDialogUtil.TextInputDialogAsync(FileName, "Indsæt databasens connection string");

            bool succeeded = await WriteConnection(connString);

            string message = succeeded
                ? "Fik succesfuldt forbundet med givene string"
                : "Fejl: Kunne ikke forbinde med givene string";
            await MessageDialogUtil.MessageDialogAsync(FileName, message);

            return(succeeded);
        }
예제 #7
0
        /// <summary>
        /// Denne medtode bliver bruger man til at opdaterer et lokale
        /// </summary>
        public async void UpdateRoom()
        {
            string roomNo = RoomViewModel.SelectedRoom.RoomNo;
            bool   ok     = await _genericPersistence.Put(roomNo, RoomViewModel.NewRoom);

            if (!ok)
            {
                await MessageDialogUtil.MessageDialogAsync("Der skete en fejl i Room", "Room blev ikke opdateret");
            }
            else
            {
                int index = RoomViewModel.RoomCatalog.Rooms.IndexOf(RoomViewModel.SelectedRoom);
                RoomViewModel.RoomCatalog.Rooms[index] = RoomViewModel.NewRoom;
                await MessageDialogUtil.MessageDialogAsync("Alt gik godt", $"Lokalet {roomNo} blev opdateret");

                RoomViewModel.NewRoom = new Room();
            }
        }
예제 #8
0
        /// <summary>
        /// Denne metode bliver brugt til at oprette et lokale
        /// </summary>
        /// <returns>et nyt lokale</returns>
        public async Task CreateRoom()
        {
            Validate();
            if (DoesExist())
            {
                throw new ItIsNotUniqueException("Something");
            }

            bool ok = await _genericPersistence.Post(RoomViewModel.NewRoom);

            if (!ok)
            {
                await MessageDialogUtil.MessageDialogAsync("Der skete en fejl i Room", "Lokalet blev ikke oprettet");
            }
            else
            {
                RoomViewModel.RoomCatalog.Rooms.Add(RoomViewModel.NewRoom);
                await MessageDialogUtil.MessageDialogAsync("Alt gik godt", $"Lokalet blev oprettet");

                RoomViewModel.NewRoom = new Room();
            }
        }
예제 #9
0
        private async void CreateParticipant()
        {
            if (PersonType == Participant.PersonType.Vælg_type)
            {
                await MessageDialogUtil.MessageDialogAsync("Ingen PersonType",
                                                           "Der er ikke valgt en PersonType\nVælg venligst persontype");
            }
            else
            {
                await FillUserList();

                NewParticipant = new Participant(Username, Password, PersonType);
                if (!userDictionary.Keys.Contains(NewParticipant.UserName))
                {
                    participantHandler.CreateParticipant(NewParticipant);
                }
                else
                {
                    await MessageDialogUtil.MessageDialogAsync("Username Already taken",
                                                               "brugernavnet du har angivet er allerede i brug \nbenyt venligst et andet brugernavn");
                }
            }
        }
        private async void CreateAdmin()
        {
            if (Regex.Matches(_phoneNumber, @"[a-zA-Z]").Count > 0)
            {
                await MessageDialogUtil.MessageDialogAsync("Bogstav i dit telefon nummer",
                                                           "Der er et eller flere bogstaver i dit telefon nummer\nprøv venligst igen kun med tal");
            }
            else
            {
                await FillUserList();

                NewAdmin = new Admin(Username, Password, PhoneNumber);
                if (!UserNameList.Contains(NewAdmin.UserName))
                {
                    adminHandler.CreateAdmin(NewAdmin);
                }
                else
                {
                    await MessageDialogUtil.MessageDialogAsync("Username Already taken",
                                                               "brugernavnet du har angivet er allerede i brug \nbenyt venligst et andet brugernavn");
                }
            }
        }
예제 #11
0
        public async void Delete()
        {
            bool ok = await MessageDialogUtil.InputDialogAsync("Er du sikker?", "Er du sikker på at du vil slette denne begivenhed fuldstændig");

            if (ok)
            {
                ViewModel.LoadText = "Sletter begivenheden";
                await RegiSing.DeleteEvent(ShownEvent);

                ok = await EventSing.EventCatalog.Remove(ShownEvent.Id);

                ok = ok && await ImageSingleton.Instance.ImageCatalog.RemoveImage(ShownEvent.ImageName);

                if (!ok)
                {
                    ViewModel.LoadText = "Fejl";
                    throw new BaseException("Failed to delete event");
                }
                ViewModel.LoadText    = null;
                EventSing.ViewedEvent = null;
                MainViewModel.Instance.NavigateToPage(typeof(EventHomePage));
            }
        }
예제 #12
0
        public async void LogIn()
        {
            await FillUserList();

            if (userDictionary.ContainsKey(Username) && userDictionary[Username] == Password)
            {
                MainViewModel.Instance.LoggedUser = new User(Username, Password);
                //return true;
            }
            else if (!UserNameList.Contains(Username))
            {
                await MessageDialogUtil.MessageDialogAsync("Brugernavnet er forkert",
                                                           "brugernavnet du har angivet eksisterer ikke \nprøv venligst et andet brugernavn");

                //return false;
            }
            else
            {
                await MessageDialogUtil.MessageDialogAsync("Password forkert",
                                                           "det angivede password er forkert \nprøv venligst et andet password");

                //return false;
            }
        }