private void btnInscription_Click(object sender, EventArgs e) { DateTime dtDateAbonnement = new DateTime(); DateTime dtDateReabonnement = new DateTime(); var abonnement = from unAbonnement in dataContext.Abonnements where unAbonnement.Id.Equals(cbNomEtPrenomAbonne.SelectedValue) select unAbonnement.DateAbonnement; foreach (var c in abonnement) { dtDateAbonnement = c; } if (dtDateAbonnement.Year < DateTime.Now.Year) { var reabonnement = from unReabonnement in dataContext.Reabonnements where unReabonnement.IdAbonnement.Equals(cbNomEtPrenomAbonne.SelectedValue) select unReabonnement.DateRenouvellement; foreach (var c in reabonnement) { dtDateReabonnement = c; } if (dtDateReabonnement.Year == DateTime.Now.Year) { PartiesJouees partieJouee = new PartiesJouees { Remarque = tbRemarque.Text, IdAbonnement = cbNomEtPrenomAbonne.SelectedValue.ToString(), DatePartie = DateTime.Now, Pointage = int.Parse(nupPointage.Value.ToString()), NoTerrain = int.Parse(cbTerrains.SelectedValue.ToString()) }; dataContext.PartiesJouees.InsertOnSubmit(partieJouee); try { dataContext.SubmitChanges(); partieDeGolfJoueeBindingSource.DataSource = from unePartie in dataContext.PartiesJouees select new { strIdAbonnement = unePartie.IdAbonnement, intNoTerrains = unePartie.NoTerrain, strDatePartie = unePartie.DatePartie.ToShortDateString(), dblPointage = unePartie.Pointage, strRemarque = unePartie.Remarque }; this.partieDeGolfJoueeDataGridView.Refresh(); MessageBox.Show("La partie a été ajoutée.", "Ajout de la partie"); } catch (Exception ex) { MessageBox.Show(ex.Message, "Impossible de modifier la base de données"); } } else { MessageBox.Show("Une partie de golf ne peut pas être inscrite si l'abonné principal est désabonné"); } } else { PartiesJouees partieJouee = new PartiesJouees { Remarque = tbRemarque.Text, IdAbonnement = cbNomEtPrenomAbonne.SelectedValue.ToString(), DatePartie = DateTime.Now, Pointage = int.Parse(nupPointage.Value.ToString()), NoTerrain = int.Parse(cbTerrains.SelectedValue.ToString()) }; dataContext.PartiesJouees.InsertOnSubmit(partieJouee); try { dataContext.SubmitChanges(); MessageBox.Show("La partie a été ajoutée.", "Ajout de la partie"); } catch (Exception ex) { MessageBox.Show(ex.Message, "Impossible de modifier la base de données"); } } }
private void btnInscriptionPartie_Click(object sender, EventArgs e) { //ajouter la partie jouer Boolean booTrouver = false; PartiesJouees nouvellePartie = new PartiesJouees(); //requete qui me permet d'aller chercher tout les personnes qui ont besoin de se reabonneee var abonnementReabonnee = (from abonnement in dataContext.Abonnements where !abonnement.Reabonnements.Any() where DateTime.Now > abonnement.DateAbonnement.AddYears(1) select new { idAbonneePrincipal = abonnement.Id, idNomEtPrenom = abonnement.Id + "-" + abonnement.Nom + ", " + abonnement.Prenom }).Union(from abonnement in dataContext.Abonnements where abonnement.Reabonnements.Any() where abonnement.Reabonnements.All(x => DateTime.Now > x.DateRenouvellement.AddYears(1)) select new { idAbonneePrincipal = abonnement.Id, idNomEtPrenom = abonnement.Id + "-" + abonnement.Nom + ", " + abonnement.Prenom }); foreach (var abonne in abonnementReabonnee)// tous les abonnemetn qui nont pas ete reabonnee { if (abonne.idNomEtPrenom.Equals(cbAbonnement.Text.ToString())) { booTrouver = true; } } if (booTrouver) { MessageBox.Show("Vous ne pouvez pas inscrire une partie à un abonnement qui ne s'est pas réabonné.", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { nouvellePartie.IdAbonnement = cbAbonnement.SelectedValue.ToString(); nouvellePartie.Terrains = (from terrain in dataContext.Terrains where terrain.Nom == cbTerrain.SelectedValue.ToString() select terrain).FirstOrDefault(); nouvellePartie.DatePartie = DateTime.Now; nouvellePartie.Pointage = Convert.ToInt32(ndPointage.Value); try { dataContext.SubmitChanges(ConflictMode.ContinueOnConflict); MessageBox.Show("La partie à été ajouté!", "Ajout", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (ChangeConflictException) { dataContext.ChangeConflicts.ResolveAll(RefreshMode.KeepCurrentValues); MessageBox.Show("La valeur de la base de donnée est gardée!", "Ajout", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "Erreur lors de l'ajout"); } //MessageBox.Show("Id : " + cbAbonnement.SelectedValue.ToString() + "\nterrain : " + cbTerrain.SelectedValue.ToString() + "\ndate du jour : " + DateTime.Now + "\nPointage : " + ndPointage.Value); } }