/// <summary> /// Modifie les visites de la base centrale /// </summary> private void SynchronisationModification() { var repoVisiteCentrale = new VisiteRepositoryCentrale(); var repoVisiteLocale = new VisiteRepository(); var visitesCentrales = repoVisiteCentrale.GetAll(); var visitesLocales = repoVisiteLocale.GetWithAnUpdateDate(); foreach (var visite in visitesLocales) { var temp = visitesCentrales.FirstOrDefault(w => w.Guid == visite.Guid); if (temp != null) { //DateTime fromLocale = DateTime.Parse(); //DateTime fromCentrale = DateTime.Parse(); if (temp.DateUpdate.HasValue) { int result = DateTime.Compare(visite.DateUpdate.Value, temp.DateUpdate.Value); // Si la date locale est supérieur à la date centrale if (result > 0) { repoVisiteCentrale.Update(visite); } } else { repoVisiteCentrale.Update(visite); } } } }
public UserControlVisites(Utilisateur utilisateur) { InitializeComponent(); _user = utilisateur; VisiteRepository repoVisite = new VisiteRepository(); UtilisateurRepository repoUtilisateur = new UtilisateurRepository(); if (_user.type == 2) { DialogHostButton.Visibility = Visibility.Collapsed; // TODO: A passer à 1 quand ce sera le nom/prénom et non l'id ColHeaderVisiteur.Width = 0; VisitListView.Width = double.NaN; VisitListView.Margin = new Thickness(370, 0, 0, 0); ColHeaderModifBtn.Width = 0; ColHeaderDelBtn.Width = 0; ColHeaderMedecin.Width = 0; Visites listeVisitesMedecin = repoVisite.GetVisiteAllByIdMedecin(_user.id, _user); afficherListeByMedecin(listeVisitesMedecin.ListeVisites); } else { ColHeaderMedecin.Width = double.NaN; ColHeaderVisiteur.Width = 0; VisitListView.Margin = new Thickness(170, 0, 0, 0); Visites listeVisites = repoVisite.GetVisiteAllByIdVisiteur(_user.id, _user); Utilisateurs listeMedecins = repoUtilisateur.GetMedecinVisiteur(_user.id, _user); afficherListe(listeVisites.ListeVisites, listeMedecins); } }
//public bool ValidValues() //{ // //Utilisateur medecin = (Utilisateur)DoctorComboBox.SelectedItem; // //DateTime dateVisite = DateTime.Parse(dateVisiteDatePicker.Text); // //heureDebutTimePicker // //DateTime heureDepart = DateTime.Parse(heureDepartTimePicker.Text); // if(medecin == null) // { // MessageBox.Show("Sélectionnez un médecin"); // return false; // } // if (dateVisite == null) // { // MessageBox.Show("Il faut spécifier la date de visite."); // return false; // } // else if ((heureDebut == null) && (heureDepart != null)) // { // MessageBox.Show("Vous ne pouvez pas renseigner d'heure de départ si une heure 'arrivée n'est pas spécifiée."); // return false; // } // else if (heureDepart < heureDebut) // { // MessageBox.Show("Erreur : l'heure de départ du cabinet doit être supérieure à celle de début d'entretien."); // return false; // } // return true; //} public void ButtonClick_ModifierVisite(object sender, RoutedEventArgs e) { int idVisite = int.Parse(idVisiteLabel.Content.ToString()); bool isRDV = rdvComboBox.Text == "Oui" ? true : false; Utilisateur medecin = (Utilisateur)DoctorComboBox.SelectedItem; int idMedecin = medecin.id; int idVisiteur = _user.id; Visite visiteModif = new Visite( idVisite, idVisiteur, idMedecin, DateTime.Parse(dateVisiteDatePicker.Text), isRDV, DateTime.Parse(heureArriveeTimePicker.Text), DateTime.Parse(heureDebutTimePicker.Text), DateTime.Parse(heureDepartTimePicker.Text) ); VisiteRepository visiteRepository = new VisiteRepository(); visiteRepository.UpdateVisite(visiteModif, _user); MessageBox.Show("Visite modifiée"); Visites listeVisites = visiteRepository.GetVisiteAllByIdVisiteur(_user.id, _user); UtilisateurRepository repoUtilisateur = new UtilisateurRepository(); Utilisateurs listeMedecins = repoUtilisateur.GetMedecinAll(_user); afficherListe(listeVisites.ListeVisites, listeMedecins); }
public void ButtonClick_AjouterVisite(object sender, RoutedEventArgs e) { if (ValidValues()) { bool isRDV = rdvComboBox.Text == "Oui" ? true : false; Utilisateur medecin = (Utilisateur)DoctorComboBox.SelectedItem; int idMedecin = medecin.id; Visite nouvelleViste = new Visite( _user.id, idMedecin, DateTime.Parse(dateVisiteDatePicker.Text), isRDV, DateTime.Parse(heureArriveeTimePicker.Text), DateTime.Parse(heureDebutTimePicker.Text), DateTime.Parse(heureDepartTimePicker.Text) ); VisiteRepository visiteRepository = new VisiteRepository(); visiteRepository.CreateVisite(nouvelleViste, _user); MessageBox.Show("Visite créée"); Visites listeVisites = visiteRepository.GetVisiteAllByIdVisiteur(_user.id, _user); UtilisateurRepository repoUtilisateur = new UtilisateurRepository(); Utilisateurs listeMedecins = repoUtilisateur.GetMedecinAll(_user); afficherListe(listeVisites.ListeVisites, listeMedecins); } else { VisiteDialogHost.IsOpen = true; } }
/// <summary> /// Recopie toutes les visites de la base centrale dans la base locale /// </summary> private void RapatriementBaseCentrale() { var repoVisiteCentrale = new VisiteRepositoryCentrale(); var repoVisiteLocale = new VisiteRepository(); repoVisiteLocale.DeleteAll(); repoVisiteLocale.AddRange(repoVisiteCentrale.GetAll()); }
/// <summary> /// Supprime les visites de la base centrale /// </summary> private void SynchronisationSuppression() { var repoVisiteCentrale = new VisiteRepositoryCentrale(); var repoVisiteLocale = new VisiteRepository(); // Pour la suppresion, un champ de la ligne de visite est setter a true, il n'y as pas de vrai suppresion pour éviter // les conflits avec les possibles autres modifications, un système de purge est mis en place pour éviter ça var visitesLocales = repoVisiteLocale.GetDeleted(); repoVisiteCentrale.FakeDelete(visitesLocales); }
private void DeleteVisite(object sender, RoutedEventArgs e) { Button b = sender as Button; Visite visite = b.CommandParameter as Visite; VisiteRepository visiteRepository = new VisiteRepository(); visiteRepository.DeleteVisite(visite.id, _user); Visites listeVisites = visiteRepository.GetVisiteAllByIdVisiteur(_user.id, _user); UtilisateurRepository repoUtilisateur = new UtilisateurRepository(); Utilisateurs listeMedecins = repoUtilisateur.GetMedecinAll(_user); afficherListe(listeVisites.ListeVisites, listeMedecins); }
/// <summary> /// Ajoute les nouvelles visites à la base centrale /// </summary> private void SynchronisationAjout() { var visiteToAdd = new List <Visite>(); var repoVisiteCentrale = new VisiteRepositoryCentrale(); var repoVisiteLocale = new VisiteRepository(); var visitesCentrales = repoVisiteCentrale.GetAll(); var visitesLocales = repoVisiteLocale.GetAll(); foreach (var visiteLocale in visitesLocales) { var matchs = visitesCentrales.Where(w => w.Guid == visiteLocale.Guid).ToList(); if (matchs.IsNullOrEmpty()) { visiteToAdd.Add(visiteLocale); } } repoVisiteCentrale.AddRange(visiteToAdd); }
static void Main(string[] args) { UtilisateurRepository repoUtilisateur = new UtilisateurRepository(); VisiteRepository repoVisite = new VisiteRepository(); Utilisateur user = new Utilisateur("nouveauMdecin", "PrenomNouveauMedecin", "identiMede", "pwdpwdM", "10840348", "*****@*****.**", 2); Utilisateur userUpdate = new Utilisateur(3, "Wacrenier", "Emilien", "emilienemilien", "lololo", "065978", "emilien@gmail", 2); Utilisateurs listeMedecins = repoUtilisateur.GetMedecinALl(); Utilisateur unMedecin = repoUtilisateur.GetMedecinById(3); Utilisateurs listeVisiteur = repoUtilisateur.GetVisiteurAll(); Utilisateur unVisiteur = repoUtilisateur.GetVisiteurById(4); //repoUtilisateur.CreateMedecin(user); //repoUtilisateur.UpdateMedecin(userUpdate); //repoUtilisateur.DeleteMedecin(11); Visites listeVisite = repoVisite.GetVisiteAllByIdMedecin(3); Console.WriteLine("Instruction DEBUG"); }
/// <summary> /// Supprime toutes les données qui ont IsDeleted a true si jamais leur nombre est supérieur à 500 /// </summary> public static void Purge() { var repoVisiteCentrale = new VisiteRepositoryCentrale(); var repoVisiteLocale = new VisiteRepository(); try { var deletedVisitesCentrale = repoVisiteCentrale.GetDeleted(); if (deletedVisitesCentrale.Count > 500) { repoVisiteCentrale.RemoveRange(deletedVisitesCentrale); } var deletedVisitesLocale = repoVisiteLocale.GetDeleted(); if (deletedVisitesLocale.Count > 500) { repoVisiteLocale.RemoveRange(deletedVisitesLocale); } } catch (Exception ex) { } }