示例#1
0
        /// <summary>
        /// Skriver ny besked
        /// </summary>
        public void SkrivBesked()
        {
            MessageDialog m = Hjaelpeklasse.FejlMeddelelse("");

            try
            {
                BeskedModel.CheckOverskrift(Overskrift);
            }
            catch (Exception)
            {
                m.Content += "Overskrift er forkert!\n";
            }
            try
            {
                BeskedModel.CheckBeskrivelse(Beskrivelse);
            }
            catch (Exception)
            {
                m.Content += "Beskrivelse er forkert!\n";
            }
            if (m.Content != "")
            {
                m.ShowAsync();
            }
            else
            {
                PersistensFacade <BeskedModel> .GemDB("api/Beskeders", new BeskedModel(Overskrift, new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day), Beskrivelse, new DateTime(DateTime.Today.Year, DateTime.Today.Month + 1, DateTime.Today.Day), HovedViewModel.Brugernavn));

                HovedViewModel.BeskedCollection.Add(new BeskedModel(Overskrift, new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day), Beskrivelse, new DateTime(DateTime.Today.Year, DateTime.Today.Month + 1, DateTime.Today.Day), HovedViewModel.Brugernavn, BrugerViewModel.AnsatteCollection[0]));

                var rootFrame = Window.Current.Content as Frame;
                rootFrame.Navigate(typeof(Hovedmenu));
            }
        }
示例#2
0
 /// <summary>
 /// Henter mine vagter
 /// </summary>
 /// <param name="vagtCollection">Tager vagtcollection som parameter</param>
 public async void MineVagter(ObservableCollection <VagtModel>[] vagtCollection)
 {
     try
     {
         VagtCollection.LoadVagter();
         ClearVagterCollections();
         for (int i = 0; i < vagtCollection.Length; i++)
         {
             var query =
                 from q in VagtCollection.VagterListe
                 where q.UgedagId == i + 1 && q.Ugenummer == _vagtCollection.Ugenummer && q.Brugernavn == Brugernavn
                 orderby q.Starttidspunkt ascending, q.Sluttidspunkt
             select q;
             foreach (var item in query)
             {
                 vagtCollection[i].Add(item);
             }
         }
     }
     catch (Exception)
     {
         MessageDialog m = Hjaelpeklasse.FejlMeddelelse("Der kunne ikke udtrækkes fra databasen");
         m.ShowAsync();
     }
 }
示例#3
0
        /// <summary>
        /// Redigere i eksisterende vagt
        /// </summary>
        public void RedigerVagt()
        {
            var m = Hjaelpeklasse.FejlMeddelelse("");

            if (Ansat == null)
            {
                m.Content += "Vælg en ansat\n";
            }
            if (VagtplanViewModel.SelectedVagter.Ugenummer == 0)
            {
                m.Content += "Vælg ugenummer\n";
            }
            if (Ugedag == null)
            {
                m.Content += "Vælg en ugedag\n";
            }
            if (m.Content != "")
            {
                m.ShowAsync();
            }
            else
            {
                PersistensFacade <VagtModel> .RedigerDB("api/Vagters", new VagtModel(VagtplanViewModel.SelectedVagter.VagtId, VagtplanViewModel.SelectedVagter.Starttidspunkt, VagtplanViewModel.SelectedVagter.Sluttidspunkt, VagtplanViewModel.SelectedVagter.Ugenummer, Ugedag.UgedagId, Ansat.Brugernavn), id : VagtplanViewModel.SelectedVagter.VagtId);

                VagtplanViewModel.VagtCollection.VagtCollectionsArray[VagtplanViewModel.SelectedVagter.UgedagId - 1].Remove(VagtplanViewModel.SelectedVagter);

                if (VagtplanViewModel.SelectedVagter.Ugenummer == VagtplanViewModel.VagtCollection.Ugenummer)
                {
                    VagtplanViewModel.VagtCollection.VagtCollectionsArray[Ugedag.UgedagId - 1].Add(new VagtModel(VagtplanViewModel.SelectedVagter.Starttidspunkt, VagtplanViewModel.SelectedVagter.Sluttidspunkt, VagtplanViewModel.SelectedVagter.Ugenummer, Ugedag.UgedagId, Ansat.Brugernavn, Ansat.Navn));
                }

                var rootFrame = Window.Current.Content as Frame;
                rootFrame.Navigate(typeof(Vagtplan));
            }
        }
示例#4
0
        /// <summary>
        /// Opretter ny vagt
        /// </summary>
        public void OpretVagt()
        {
            MessageDialog m = Hjaelpeklasse.SuccesMeddelelse("");

            if (Ansat == null)
            {
                m.Content += "Vælg en ansat\n";
            }
            if (Ugenummer == 0)
            {
                m.Content += "Vælg ugenummer\n";
            }
            if (Ugedag == null)
            {
                m.Content += "Vælg en ugedag\n";
            }
            if (m.Content != "")
            {
                m.ShowAsync();
            }
            else
            {
                PersistensFacade <VagtModel> .GemDB("api/Vagters", new VagtModel(Starttidspunkt, Sluttidspunkt, Ugenummer, Ugedag, Ansat));

                VagtModel vagt = new VagtModel(Starttidspunkt, Sluttidspunkt, Ugedag.UgedagId, Ugenummer, Ansat.Brugernavn, Ansat.Navn);

                VagtplanViewModel.VagtCollection.VagtCollectionsArray[Ugedag.UgedagId - 1].Add(vagt);

                MessageDialog m1 = Hjaelpeklasse.SuccesMeddelelse("Vagten blev tilføjet");
                m1.ShowAsync();
            }
        }
示例#5
0
 /// <summary>
 /// Navigerer til RedigerVagt view
 /// </summary>
 public void NavigerRedigerVagt()
 {
     if (VagtplanViewModel.SelectedVagter == null)
     {
         MessageDialog m = Hjaelpeklasse.FejlMeddelelse("Vælg en vagt der skal redigeres");
         m.ShowAsync();
     }
     else
     {
         var rootFrame = Window.Current.Content as Frame;
         rootFrame.Navigate(typeof(RedigerVagt));
     }
 }
        /// <summary>
        /// Constructor for HovedViewModel
        /// </summary>
        public HovedViewModel()
        {
            _beskedCollection = GeneriskSingleton <BeskedModel> .Instance();

            Setting = ApplicationData.Current.LocalSettings;

            Brugernavn = (string)Setting.Values["Brugernavn"];
            SkjulKnap  = Hjaelpeklasse.Stilling((int)Setting.Values["StillingId"]);

            AnmodningCollection = new ObservableCollection <AnmodningModel>();
            InitialiserAnmodninger();

            HovedHandler = new HovedHandler(this);
        }
示例#7
0
        /// <summary>
        /// Sletter valgte vagt
        /// </summary>
        public void SletVagt()
        {
            if (VagtplanViewModel.SelectedVagter == null)
            {
                MessageDialog m = Hjaelpeklasse.FejlMeddelelse("Vælg en vagt der skal slettes");
                m.ShowAsync();
            }
            else
            {
                PersistensFacade <VagtModel> .SletDB("api/Vagters", VagtplanViewModel.SelectedVagter.VagtId);

                switch (VagtplanViewModel.SelectedVagter.UgedagId)
                {
                case 1:
                    VagtplanViewModel.VagtCollection.MandagCollection.Remove(VagtplanViewModel.SelectedVagter);
                    break;

                case 2:
                    VagtplanViewModel.VagtCollection.TirsdagCollection.Remove(VagtplanViewModel.SelectedVagter);
                    break;

                case 3:
                    VagtplanViewModel.VagtCollection.OnsdagCollection.Remove(VagtplanViewModel.SelectedVagter);
                    break;

                case 4:
                    VagtplanViewModel.VagtCollection.TorsdagCollection.Remove(VagtplanViewModel.SelectedVagter);
                    break;

                case 5:
                    VagtplanViewModel.VagtCollection.FredagCollection.Remove(VagtplanViewModel.SelectedVagter);
                    break;

                case 6:
                    VagtplanViewModel.VagtCollection.LoerdagCollection.Remove(VagtplanViewModel.SelectedVagter);
                    break;

                case 7:
                    VagtplanViewModel.VagtCollection.SoendagCollection.Remove(VagtplanViewModel.SelectedVagter);
                    break;
                }
            }
        }
示例#8
0
        /// <summary>
        /// Anmoder om valgte vagt
        /// </summary>
        public void AnmodVagt()
        {
            if (VagtplanViewModel.SelectedVagter == null)
            {
                MessageDialog m = Hjaelpeklasse.FejlMeddelelse("Vælg en vagt du vil anmode om");
                m.ShowAsync();
            }
            else if (VagtplanViewModel.SelectedVagter.Brugernavn == VagtplanViewModel.Brugernavn)
            {
                MessageDialog m = Hjaelpeklasse.FejlMeddelelse("Du kan ikke anmode vagtskift med dig selv");
                m.ShowAsync();
            }
            else
            {
                PersistensFacade <AnmodningModel> .GemDB("api/Anmodningers", new AnmodningModel(VagtplanViewModel.SelectedVagter.VagtId, VagtplanViewModel.Brugernavn));

                MessageDialog m1 = Hjaelpeklasse.SuccesMeddelelse("Du har anmodet " + VagtplanViewModel.SelectedVagter.Navn + " om denne vagt");
                m1.ShowAsync();
            }
        }
示例#9
0
        /// <summary>
        /// Constructor for VagtplanViewModel
        /// </summary>
        public VagtplanViewModel()
        {
            _vagtCollection = VagtplanSingleton.Instance();
            Setting         = ApplicationData.Current.LocalSettings;
            Brugernavn      = (string)Setting.Values["Brugernavn"];
            SkjulKnap       = Hjaelpeklasse.Stilling((int)Setting.Values["StillingId"]);

            Aar = DateTime.Today.Year;

            NuvaerendeUgedag(new SolidColorBrush(Color.FromArgb(255, 169, 169, 169)), new SolidColorBrush(Color.FromArgb(255, 184, 19, 35)));
            Ugedage();

            ClearVagterCollections();
            VagtCollection.LoadVagter();

            VagtHandler = new VagtHandler(this);

            AnsatteListe  = new List <Ansatte>();
            UgedageListe  = new List <Ugedage>();
            UgenumreListe = new List <int>();
            var a = PersistensFacade <Ansatte> .LoadDB("api/Ansattes").Result;

            foreach (var item in a)
            {
                AnsatteListe.Add(item);
            }
            var u = PersistensFacade <Ugedage> .LoadDB("api/Ugedages").Result;

            foreach (var item in u)
            {
                UgedageListe.Add(item);
            }
            for (int i = 1; i <= 53; i++)
            {
                UgenumreListe.Add(i);
            }
            _sorting = AlleVagter;
        }
        /// <summary>
        /// Konstruktør for BrugerViewModel
        /// </summary>
        public BrugerViewModel()
        {
            Hjaelpeklasse.AabenForbindelse();
            _ansatteSingleton = GeneriskSingleton <Ansatte> .Instance();

            Setting         = ApplicationData.Current.LocalSettings;
            Brugernavn      = (string)Setting.Values["Brugernavn"];
            StillingerListe = new List <Stillinger>();

            //Brugernavn = "Daniel";
            //Password = "******";

            var responce = PersistensFacade <Stillinger> .LoadDB("api/Stillingers");

            var query = from q in responce.Result
                        select q;

            foreach (var itemStillinger in query)
            {
                StillingerListe.Add(itemStillinger);
            }
            BrugerHandler = new BrugerHandler(this);
        }
        /// <summary>
        /// Logger brugeren ind
        /// </summary>
        public void LogInd()
        {
            try
            {
                AnsatteCollection.Clear();
                var responce = PersistensFacade <Ansatte> .LoadDB("api/Ansattes");

                var query = from q in responce.Result
                            where q.Brugernavn == Brugernavn && q.Password == Hjaelpeklasse.KrypterStreng(Password)
                            select q;
                foreach (var item in query)
                {
                    AnsatteCollection.Add(item);
                }
                if (AnsatteCollection.Any())
                {
                    Setting.Values["Brugernavn"] = AnsatteCollection[0].Brugernavn;
                    Setting.Values["StillingId"] = AnsatteCollection[0].StillingId;
                    var rootFrame = Window.Current.Content as Frame;
                    rootFrame.Navigate(typeof(Hovedmenu));
                }
                else
                {
                    MessageDialog m = Hjaelpeklasse.FejlMeddelelse("Forkert brugernavn/password");
                    m.ShowAsync();
                }
            }
            catch (ArgumentException ex)
            {
                if (AnsatteCollection.Any() == false)
                {
                    AnsatteCollection.Clear();
                }
                MessageDialog m = Hjaelpeklasse.FejlMeddelelse("Der kunne ikke udtrækkes fra databasen");
                m.ShowAsync();
            }
        }
示例#12
0
        /// <summary>
        /// Eksporterer alle mine vagter
        /// </summary>
        public async void EksporterMineVagter()
        {
            FileSavePicker savePicker = new FileSavePicker();

            savePicker.SuggestedStartLocation = PickerLocationId.Desktop;
            savePicker.FileTypeChoices.Add("Filformat", new List <string>()
            {
                ".ics", ".csv"
            });
            savePicker.SuggestedFileName = "vagtplan-mine-uge-" + _vagtCollection.Ugenummer;

            StorageFile fil = await savePicker.PickSaveFileAsync();

            if (fil != null)
            {
                CachedFileManager.DeferUpdates(fil);
                string       vagter = null;
                const string emne   = "Fakta - vagt";
                const string sted   = "Jyderup";
                if (fil.FileType.Equals(".ics"))
                {
                    vagter +=
                        "BEGIN:VCALENDAR\n" +
                        "VERSION:2.0\n\n";
                    for (int i = 0; i < VagtCollection.VagtCollectionsArray.Length; i++)
                    {
                        var query1 =
                            from q in VagtCollection.VagtCollectionsArray[i]
                            where q.UgedagId == i + 1 && q.Ugenummer == _vagtCollection.Ugenummer && q.Brugernavn == Brugernavn
                            select new { q.Starttidspunkt, q.Sluttidspunkt };
                        foreach (var item in query1)
                        {
                            vagter +=
                                "BEGIN:VEVENT\n" +
                                "DTSTART:" + FoersteDagPaaUge(Aar, _vagtCollection.Ugenummer).AddDays(i).ToString("yyyyMMdd") + "T" +
                                item.Starttidspunkt.ToString("hhmmss") + "\n" +
                                "DTEND:" + FoersteDagPaaUge(Aar, _vagtCollection.Ugenummer).AddDays(i).ToString("yyyyMMdd") + "T" +
                                item.Sluttidspunkt.ToString("hhmmss") + "\n" +
                                "SUMMARY:" + emne + "\n" +
                                "LOCATION:" + sted + "\n" +
                                "END:VEVENT\n\n";
                        }
                    }
                    vagter += "END:VCALENDAR";
                }
                else
                {
                    vagter +=
                        "Subject, Start Date, Start Time, End Date, End Time, Location\n";
                    for (int i = 0; i < VagtCollection.VagtCollectionsArray.Length; i++)
                    {
                        var query1 =
                            from q in VagtCollection.VagtCollectionsArray[i]
                            where q.UgedagId == i + 1 && q.Ugenummer == _vagtCollection.Ugenummer && q.Brugernavn == Brugernavn
                            select new { q.Starttidspunkt, q.Sluttidspunkt };
                        foreach (var item in query1)
                        {
                            vagter +=
                                emne +
                                ", " + FoersteDagPaaUge(Aar, _vagtCollection.Ugenummer).AddDays(i).ToString("d") +
                                ", " + item.Starttidspunkt +
                                ", " + FoersteDagPaaUge(Aar, _vagtCollection.Ugenummer).AddDays(i).ToString("d") +
                                ", " + item.Sluttidspunkt +
                                ", " + sted + "\n";
                        }
                    }
                }
                await FileIO.WriteTextAsync(fil, vagter);

                FileUpdateStatus status = await CachedFileManager.CompleteUpdatesAsync(fil);

                if (status == FileUpdateStatus.Complete)
                {
                    MessageDialog m = Hjaelpeklasse.SuccesMeddelelse("Vagtplanen blev eksporteret som " + fil.FileType + "-fil");
                    m.ShowAsync();
                }
                else
                {
                    MessageDialog m = Hjaelpeklasse.FejlMeddelelse("Der skete en fejl under eksporteringen - prøv igen");
                    m.ShowAsync();
                }
            }
        }
示例#13
0
        /// <summary>
        /// Metode der opretter en bruger
        /// </summary>
        public void OpretBruger()
        {
            MessageDialog m = Hjaelpeklasse.FejlMeddelelse("");
            var           u = PersistensFacade <Ansatte> .LoadDB("api/Ansattes").Result;

            foreach (var ansatte in u)
            {
                if (ansatte.Brugernavn == Brugernavn)
                {
                    m.Content += "Brugernavnet findes allerede!\n";
                }
            }
            try
            {
                Ansatte.CheckNavn(Navn);
            }
            catch (Exception)
            {
                m.Content += "Navn er forkert!\n";
            }
            try
            {
                Ansatte.CheckBrugernavn(Brugernavn);
            }
            catch (Exception)
            {
                m.Content += "Brugernavn er forkert!\n";
            }
            try
            {
                Ansatte.CheckPassword(Password);
            }
            catch (Exception)
            {
                m.Content += "Password er forkert!\n";
            }
            try
            {
                Ansatte.CheckEmail(Email);
            }
            catch (Exception)
            {
                m.Content += "Email er forkert!\n";
            }
            try
            {
                Ansatte.CheckAdresse(Adresse);
            }
            catch (Exception)
            {
                m.Content += "Adresse er forkert!\n";
            }
            try
            {
                Ansatte.CheckPostnummer(Postnummer);
            }
            catch (Exception)
            {
                m.Content += "Postnummer er forkert!\n";
            }
            try
            {
                Ansatte.CheckMobil(Mobil);
            }
            catch (Exception)
            {
                m.Content += "Mobil er forkert!\n";
            }
            if (Stilling == null)
            {
                m.Content += "Vælg en stilling!\n";
            }
            if (m.Content != "")
            {
                m.ShowAsync();
            }
            else
            {
                PersistensFacade <Ansatte> .GemDB("api/Ansattes", new Ansatte(Brugernavn, Navn, Hjaelpeklasse.KrypterStreng(Password), Email, Mobil, Adresse, Postnummer, Stilling.StillingId));

                MessageDialog m1 = Hjaelpeklasse.SuccesMeddelelse("Brugeren blev oprettet");
                m1.ShowAsync();
            }
        }
示例#14
0
        /// <summary>
        /// Metoder der retter profil
        /// </summary>
        public void RedigerBruger()
        {
            MessageDialog m = Hjaelpeklasse.FejlMeddelelse("");

            try
            {
                Ansatte.CheckNavn(Navn);
            }
            catch (Exception)
            {
                m.Content += "Navn er forkert!\n";
            }
            try
            {
                Ansatte.CheckPassword(Password);
            }
            catch (Exception)
            {
                m.Content += "Password er forkert!\n";
            }
            try
            {
                Ansatte.CheckEmail(Email);
            }
            catch (Exception)
            {
                m.Content += "Email er forkert!\n";
            }
            try
            {
                Ansatte.CheckAdresse(Adresse);
            }
            catch (Exception)
            {
                m.Content += "Adresse er forkert!\n";
            }
            try
            {
                Ansatte.CheckPostnummer(Postnummer);
            }
            catch (Exception)
            {
                m.Content += "Postnummer er forkert!\n";
            }
            try
            {
                Ansatte.CheckMobil(Mobil);
            }
            catch (Exception)
            {
                m.Content += "Mobil er forkert!\n";
            }
            if (m.Content != "")
            {
                m.ShowAsync();
            }
            else
            {
                PersistensFacade <Ansatte> .RedigerDB("api/Ansattes",
                                                      new Ansatte(BrugerViewModel.AnsatteCollection[0].Brugernavn,
                                                                  Navn, Hjaelpeklasse.KrypterStreng(Password),
                                                                  Email, Mobil,
                                                                  Adresse, Postnummer,
                                                                  BrugerViewModel.AnsatteCollection[0].StillingId),
                                                      streng : BrugerViewModel.AnsatteCollection[0].Brugernavn);

                BrugerViewModel.AnsatteCollection[0].Navn       = Navn;
                BrugerViewModel.AnsatteCollection[0].Password   = Password;
                BrugerViewModel.AnsatteCollection[0].Email      = Email;
                BrugerViewModel.AnsatteCollection[0].Mobil      = Mobil;
                BrugerViewModel.AnsatteCollection[0].Adresse    = Adresse;
                BrugerViewModel.AnsatteCollection[0].Postnummer = Postnummer;


                var rootFrame = Window.Current.Content as Frame;
                rootFrame.Navigate(typeof(Hovedmenu));

                MessageDialog m1 = Hjaelpeklasse.SuccesMeddelelse("Din profil blev redigeret");
                m1.ShowAsync();
            }
        }