private void EnregistrementDetails(Enregistrement enregSelected) { var navigationParam = new NavigationParameters(); navigationParam.Add("Enregistrement", enregSelected); NavigationService.NavigateAsync("EnregistrementDetails", navigationParam); }
private async void AddEnregAsync() { var answer = await App.Current.MainPage.DisplayAlert("Question?", "Voulez-vous vraiment enregistrer ?", "Yes", "No"); if (answer) { var locator = CrossGeolocator.Current; var position = await locator.GetPositionAsync(TimeSpan.FromSeconds(1000)); var placemarks = await Geocoding.GetPlacemarksAsync(position.Latitude, position.Longitude); // position.Latitude, position.Longitude string adress = ""; var placemark = placemarks?.FirstOrDefault(); if (placemark != null) { adress = placemark.FeatureName + " " + placemark.Thoroughfare + " " + ", " + placemark.PostalCode + " " + placemark.Locality + " - " + placemark.CountryName; } DateTime heurrr = DateTime.Now; string heure = heurrr.Hour.ToString() + "h" + heurrr.Minute.ToString(); DateTime datee = DateTime.Now; Enregistrement Enreg = new Enregistrement(Name, Description, Tag, ImageName, position.Latitude, position.Longitude, adress, heure, datee); _enregistrementService.AddEnregistrement(Enreg); UserDialogs.Instance.Toast("Enregistrement avec succès!"); resetInputs(); } }
public ActionResult DeleteConfirmed(int id) { Enregistrement enregistrement = db.Enregistrement.Find(id); db.Enregistrement.Remove(enregistrement); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "Code_Morceau,Titre,Code_Composition,Nom_de_Fichier,Duree,Duree_Seconde,Prix,Extrait")] Enregistrement enregistrement) { if (ModelState.IsValid) { db.Entry(enregistrement).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(enregistrement)); }
public override void OnNavigatingTo(INavigationParameters parameters) { base.OnNavigatingTo(parameters); _enregistrement = parameters.GetValue <Enregistrement>("Enregistrement"); Name = _enregistrement.Name; Description = _enregistrement.Description; Date = _enregistrement.Date; Location = _enregistrement.Location; StringTags = _enregistrement.StringTags; }
public override void OnNavigatingTo(INavigationParameters parameters) { base.OnNavigatingTo(parameters); Console.WriteLine("aaaaf"); enrg = parameters.GetValue <Enregistrement>("Enregistrement"); ImageName = enrg.ImageName; Heure = enrg.Heure; Name = enrg.Name; Tag = enrg.Tag; Description = enrg.Description; Coordonnee = enrg.Latitude + " - " + enrg.Longitude; Adress = enrg.Adress; }
// GET: Enregistrements/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Enregistrement enregistrement = db.Enregistrement.Find(id); if (enregistrement == null) { return(HttpNotFound()); } return(View(enregistrement)); }
private async void DeleteEnregistrement(Enregistrement obj) { var answer = await _dialogService.DisplayAlertAsync("ATTENTION !", "Êtes-vous sûr de vouloir supprimer cet enregistrement ?", "Oui", "Non"); if (answer) { answer = await _dialogService.DisplayAlertAsync("ATTENTION !", "Êtes-vous réellement sûr ?", "Oui", "Non"); if (answer) { _enregistrementService.DeleteEnregistrement(obj); _enregistrementsInDb.Remove(obj); _EnregistrementsDisplayed.Remove(obj); } } }
private void InitLocal() { Enregistrement test = new Enregistrement("Le Coin Gourmand", "Après une dure matinée de cours, rien ne vaut un déjeuner au resto Le Coin Gourmand !", new DateTime(2017, 3, 16)); test.AddTag(new Tag("LeCoinGourmand")); test.AddTag(new Tag("SuperRepas")); test.AddTag(new Tag("Food")); _enregistrements.Add(test); test = new Enregistrement("Salaire", "Quoi de mieux que d'être étudiant et d'avoir un salaire à chaque fin de mois", new DateTime(2018, 10, 5)); test.AddTag(new Tag("Money")); test.AddTag(new Tag("PouvoirD'achat")); test.AddTag(new Tag("Etudiant")); test.AddTag(new Tag("Riche")); _enregistrements.Add(test); }
private void FirstInsertDB() { _liteDBClient.CleanCollection(_dbCollectionEnregistrement); Enregistrement test = new Enregistrement("Le Coin Gourmand", "Après une dure matinée de cours, rien ne vaut un déjeuner au resto Le Coin Gourmand !", new DateTime(2017, 3, 16)); test.AddTag(new Tag("LeCoinGourmand")); test.AddTag(new Tag("SuperRepas")); test.AddTag(new Tag("Food")); _liteDBClient.InsertObjectInDB <Enregistrement>(test, _dbCollectionEnregistrement); test = new Enregistrement("Salaire", "Quoi de mieux que d'être étudiant et d'avoir un salaire à chaque fin de mois", new DateTime(2018, 10, 5)); test.AddTag(new Tag("Money")); test.AddTag(new Tag("Salaire")); test.AddTag(new Tag("PouvoirD'achat")); test.AddTag(new Tag("Etudiant")); test.AddTag(new Tag("Riche")); _liteDBClient.InsertObjectInDB <Enregistrement>(test, _dbCollectionEnregistrement); }
public void InitializeEnregistrementDateDifference(Enregistrement enregistrement) { if (enregistrement.Date.Year == DateTime.Now.Year && enregistrement.Date.Month == DateTime.Now.Month && enregistrement.Date.Day == DateTime.Now.Day) { enregistrement.DateDiff = "Today"; } else { TimeSpan span = DateTime.Now.Subtract(enregistrement.Date); if (span.Days == 0) { enregistrement.DateDiff = "il y a " + span.Hours + " heures"; } else { enregistrement.DateDiff = "il y a " + span.Days + " jours"; } } }
public Item(Enregistrement en, int quantity) { this.en = en; this.quantity = quantity; }
public void DeleteEnregistrement(Enregistrement enreg) { _liteDBClient.RemoveObjectFromDB <Enregistrement>(enreg.Id, _dbCollectionEnreg); _enregs.Remove(enreg); }
public void AddEnregistrement(Enregistrement enreg) { _liteDBClient.InsertObjectInDB <Enregistrement>(enreg, _dbCollectionEnreg); _enregs.Add(enreg); }
/// <summary> /// Permet d'énumérer les enregistrements résultant d'une requête de consultation par une méthode passée en paramètre /// </summary> /// <param name="Requete">Requête SQL à exécuter (doit être de type SELECT ou SHOW)</param> /// <param name="Valeurs">Valeurs des parties variables</param> /// <returns>Chaque enregistrement produit par cette requête de consultation</returns> public IEnumerable <IEnregistrement> Enumerer(string Requete, params object[] Valeurs) { using (GestionnaireDeConnexionDeLecture GestionnaireConnexionLecture = new GestionnaireDeConnexionDeLecture(this)) { // Boucle permettant de réessayer après une reconnexion for (int NombreEchecs = 0; NombreEchecs < 2; NombreEchecs++) { Enregistrement Enregistrement = null; int IndiceEnregistrement = 0; while (true) { try { if (Enregistrement == null) { // Vérification de l'état théorique de la connexion if (!EstConnecte) { throw new Exception("Pas de connexion établie au serveur MySql"); } // Vérification qu'il s'agit bien d'une requête de consultation if (!EstRequeteConsultation(Requete)) { throw new Exception("Une requête d'action ne peut pas faire l'objet de la méthode MyDB.Consulter()"); } // Création de la commande SQL MySqlCommand Commande = CreerCommande(Requete, Valeurs); if (!GestionnaireConnexionLecture.DebuterLecture(Commande)) { throw new Exception("Aucun objet de lecture n'a pu être créé"); } // Préparation de l'objet représentant l'enregistrement courant Enregistrement = new Enregistrement(GestionnaireConnexionLecture.ConnexionUtilisee.m_Lecteur); } // Boucle de lecture des enregistrements if (!GestionnaireConnexionLecture.ConnexionUtilisee.m_Lecteur.Read()) { /* * // Terminaison de la lecture avec libération des ressources associées * if (ConnexionLecture.ConnexionUtilisee != null) ConnexionLecture.ConnexionUtilisee.TerminerLecture(this); */ // Permet de quitter la boucle de lecture des enregistrements et cette méthode d'énumération yield break; } // Transfert des valeurs de l'enregistrement courant dans le dictionnaire le représentant Enregistrement.ChargerValeurs(IndiceEnregistrement, GestionnaireConnexionLecture.ConnexionUtilisee.m_Lecteur); // Incrémentation du nombre d'enregistrements consultés IndiceEnregistrement++; } catch (Exception Erreur) { /* * System.Diagnostics.Debug.WriteLine(string.Format( * "\nMyDB.Consulter({0}, {1}) a échoué (version avec méthode de traitement) :\n{2}\n", * Requete, * string.Join("", Valeurs.Select(Valeur => string.Format(", {0}", Valeur))), * Erreur.Message)); */ if (SurErreur != null) { SurErreur(this, MethodeExecutantRequeteSql.Enumerer, Requete, Valeurs, Erreur.Message); } /* * // Terminaison de la lecture avec libération des ressources associées * if (ConnexionLecture.ConnexionUtilisee != null) ConnexionLecture.ConnexionUtilisee.TerminerLecture(this); */ // Test de l'état de connexion if ((EtatConnexionConnu != EtatConnexion.Perdu) && (!EstConnecte || TesterConnexion())) { if (SurErreur != null) { SurErreur(this, MethodeExecutantRequeteSql.Enumerer, Requete, Valeurs, Erreur.Message); } yield break; // Permet de quitter la boucle de lecture des enregistrements et cette méthode d'énumération } // En cas de perte de connexion, on tente une fois de se reconnecter if (!SeConnecter()) { if (SurErreur != null) { SurErreur(this, MethodeExecutantRequeteSql.Enumerer, Requete, Valeurs, Erreur.Message); } yield break; // Permet de quitter la boucle de lecture des enregistrements et cette méthode d'énumération } // En cas de réussite de la re-connexion, on boucle une seconde fois sur la tentative d'exécution de cette lecture break; // Permet de quitter la boucle de lecture des enregistrements } // Enumération de l'élément courant (comme retour partiel devant être "consommé") yield return(Enregistrement); } } } }
/// <summary> /// Permet de récupérer le premier enregistrement résultant d'une requête de consultation /// </summary> /// <param name="Requete">Requête SQL à exécuter (doit être de type SELECT ou SHOW)</param> /// <param name="Valeurs">Valeurs des parties variables</param> /// <returns>Enregistrement si possible, sinon null</returns> public IEnregistrement Consulter(string Requete, params object[] Valeurs) { for (int NombreEchecs = 0; NombreEchecs < 2; NombreEchecs++) { MyDB ConnexionUtilisee = null; try { // Vérification de l'état théorique de la connexion if (!EstConnecte) { throw new Exception("Pas de connexion établie au serveur MySql"); } // Vérification qu'il s'agit bien d'une requête de consultation if (!EstRequeteConsultation(Requete)) { throw new Exception("Une requête d'action ne peut pas faire l'objet de la méthode MyDB.Consulter()"); } // Création de la commande SQL MySqlCommand Commande = CreerCommande(Requete, Valeurs); if (!DebuterLecture(Commande, out ConnexionUtilisee)) { throw new Exception("Aucun objet de lecture n'a pu être créé"); } // Préparation de l'objet représentant l'enregistrement courant Enregistrement Enregistrement = new Enregistrement(ConnexionUtilisee.m_Lecteur); // Tentative de lecture du premier enregistrement if (ConnexionUtilisee.m_Lecteur.Read()) { // Transfert des valeurs de l'enregistrement courant dans le dictionnaire le représentant Enregistrement.ChargerValeurs(0, ConnexionUtilisee.m_Lecteur); // Terminaison de la lecture avec libération des ressources associées if (ConnexionUtilisee != null) { ConnexionUtilisee.TerminerLecture(this); } // Retour du premier enregistrement lu return(Enregistrement); } // Terminaison de la lecture avec libération des ressources associées if (ConnexionUtilisee != null) { ConnexionUtilisee.TerminerLecture(this); } } catch (Exception Erreur) { /* * System.Diagnostics.Debug.WriteLine(string.Format( * "\nMyDB.Consulter({0}, {1}) a échoué (version de récupération du premier enregistrement) :\n{2}\n", * Requete, * string.Join("", Valeurs.Select(Valeur => string.Format(", {0}", Valeur))), * Erreur.Message)); */ // Terminaison de la lecture avec libération des ressources associées if (ConnexionUtilisee != null) { ConnexionUtilisee.TerminerLecture(this); } // Test de l'état de connexion if ((EtatConnexionConnu != EtatConnexion.Perdu) && (!EstConnecte || TesterConnexion())) { if (SurErreur != null) { SurErreur(this, MethodeExecutantRequeteSql.Enumerer, Requete, Valeurs, Erreur.Message); } break; } // En cas de perte de connexion, on tente une fois de se reconnecter if (!SeConnecter()) { if (SurErreur != null) { SurErreur(this, MethodeExecutantRequeteSql.Enumerer, Requete, Valeurs, Erreur.Message); } break; } // En cas de réussite de la re-connexion, on boucle une seconde fois sur la tentative d'exécution de cette lecture } } // Retour d'un enregistrement "null" afin de représenter l'absence d'enregistrement return(null); }
public void EditEnregistrement(Enregistrement enregistrement) { _liteDBClient.UpdateObjectFromDB <Enregistrement>(enregistrement, _dbCollectionEnregistrement); _enregistrements.Remove(enregistrement); _enregistrements.Add(enregistrement); }
public void DeleteEnregistrement(Enregistrement enregistrement) { //Pour les opérations sur la DB, il faudrait normalement vérifier le succès de l'opération (cascade d'exceptions) _liteDBClient.RemoveObjectFromDB <Enregistrement>(enregistrement.Id, _dbCollectionEnregistrement); _enregistrements.Remove(enregistrement); }
public void AddEnregistrement(Enregistrement enregistrement) { //Pour les opérations sur la DB, il faudrait normalement vérifier le succès de l'opération (cascade d'exceptions) _liteDBClient.InsertObjectInDB <Enregistrement>(enregistrement, _dbCollectionEnregistrement); _enregistrements.Add(enregistrement); }