/// <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)); } }
/// <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(); } }
/// <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)); } }
/// <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(); } }
/// <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); }
/// <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; } } }
/// <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(); } }
/// <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(); } }
/// <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(); } } }
/// <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(); } }
/// <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(); } }