private void cmbListeVolsReserves_SelectedIndexChanged(object sender, EventArgs e) { RES_GetResByClientId_Result oMonVol = (RES_GetResByClientId_Result)cmbListeVolsReserves.SelectedItem; BLAccompagnateurs oBlVoyageur = new BLAccompagnateurs(); List <CLI_GetClientMoneyInfo_Result> oListInfo = new List <CLI_GetClientMoneyInfo_Result>(); List <ACC_GetAccompagnateurChiffreParTete_Result> oList = new List <ACC_GetAccompagnateurChiffreParTete_Result>(); DataTable oData = new DataTable(); DataView oView = new DataView(); try { oListInfo = BLClients.GetClientMoneyInfo(_Client.CLIENT_ID, oMonVol.RES_ID); foreach (CLI_GetClientMoneyInfo_Result row in oListInfo) { txtPrixVol.Text = row.TRA_PRIX.ToString(); txtPrixTotalReservation.Text = row.RES_PRIX.ToString(); } txtDateVol.Text = oMonVol.PLAN_VOL_DATE.ToShortDateString(); oView = BLAccompagnateurs.GetVoyageursAvecPrixData(oMonVol.RES_ID); oList = BLAccompagnateurs.GetVoyageursAvecPrix(oMonVol.RES_ID); DataTable oDataTable = ToDataTable(oList); BindingList <ACC_GetAccompagnateurChiffreParTete_Result> oBList = new BindingList <ACC_GetAccompagnateurChiffreParTete_Result>(oList); dataGridViewVoyageursMod.DataSource = oList; dataGridViewVoyageursMod.Columns[0].Visible = false; dataGridViewVoyageursMod.Columns[4].ReadOnly = true; cmbVoyageurAModifier.DataSource = oList; cmbVoyageurAModifier.ValueMember = "ACC_ID"; cmbVoyageurAModifier.DisplayMember = "ACC_NOM"; } catch (CustomError cEx) { MessageBox.Show(cEx.Message); } catch (Exception ex) { CustomError cEx = new CustomError(666); MessageBox.Show(cEx.Message); } }
// Réserver un vol private void btnSubmit_Click(object sender, EventArgs e) { RES_GetAller_Result oAller = new RES_GetAller_Result(); BLPlannings oBlPlanning = new BLPlannings(); BLVols oBlVol = new BLVols(); BLAllerRetours oBlAllerRetour = new BLAllerRetours(); BLReservations oBlRes = new BLReservations(); BLAccompagnateurs oBlAccompagnateur = new BLAccompagnateurs(); VOL_SelectAllListChoix_Result oVolSimple = (VOL_SelectAllListChoix_Result)cmbVolAller.SelectedItem; //vol simple PLA_GetDateByVolId_Result oDateSimple = (PLA_GetDateByVolId_Result)cmbDateVolAller.SelectedItem; //Date vol simple PLA_GetDateByVolIdDateCritere_Result oDateRetour = (PLA_GetDateByVolIdDateCritere_Result)cmbDateVolRetour.SelectedItem; //Date vol retour VOL_SelectAllListChoixRetour_Result oVolRetour = BLVols.GetVolRetour(oVolSimple.VOL_ID_VILLE_ARR, oVolSimple.VOL_ID_VILLE_DEP); //vol retour int cpt = 1; // on compte le client int nbPlacesRestantes = 1000; //pour le test if (txtNomVoyageur1.TextLength != 0) //on compte le nombre de voyageurs supplémentaires { cpt++; } if (txtNomVoyageur2.TextLength != 0) { cpt++; } if (txtNomVoyageur3.TextLength != 0) { cpt++; } if (txtNomVoyageur4.TextLength != 0) { cpt++; } if (txtNomVoyageur5.TextLength != 0) { cpt++; } try { using (TransactionScope scope = new TransactionScope()) { oBlPlanning.GetNbPlacesRestantesNEW(oVolSimple.VOL_ID, oDateSimple.PLAN_ID, out nbPlacesRestantes); if (cpt > nbPlacesRestantes) // s'il y a plus de voyageurs pour cette réservation que de places disponibles, fallback et on cherche les bonnes dates { string datesDispos = null; int nbPlacesRestantesDateDispo; List <PLA_GetDatesMemeVolWithPlaId_Result> oList = new List <PLA_GetDatesMemeVolWithPlaId_Result>(); oList = oBlPlanning.GetDatesMemeVol(oVolSimple.VOL_ID, oDateSimple.PLAN_ID); foreach (PLA_GetDatesMemeVolWithPlaId_Result oRes in oList) { oBlPlanning.GetNbPlacesRestantesNEW(oVolSimple.VOL_ID, oRes.PLAN_ID, out nbPlacesRestantesDateDispo); if (cpt < nbPlacesRestantesDateDispo) // récupération des bonnes dates; { datesDispos += oRes.PLAN_VOL_DATE.ToShortDateString() + "; "; } } //throw new CustomError(5) ; throw new CustomError("Place insuffisante sur ce vol.\nAlternatives: " + datesDispos); } if (radioAllerRetour.Checked) { if (cpt > nbPlacesRestantes) { throw new CustomError(6); } } //reservation commence ici int resIns = oBlRes.InsertRes(_Client.CLIENT_ID, oDateSimple.PLAN_ID); if (radioAller.Checked) { oAller = oBlRes.GetResAller(oDateSimple.PLAN_VOL_DATE, _Client.CLIENT_ID, oVolSimple.VOL_ID_VILLE_DEP, oVolSimple.VOL_ID_VILLE_ARR); if (oAller != null) { oBlAllerRetour.ARInsert(oAller.RES_ID.Value, oBlRes.GetResId(_Client.CLIENT_ID, oDateSimple.PLAN_ID)); } } int resVoy = -1; if (resIns != -1) //vérifer condition... { if (txtNomVoyageur1.TextLength != 0) //on compte le nombre de voyageurs supplémentaires { if (txtNomVoyageur1.TextLength != 0) { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur1.Text.ToUpper(), txtNomVoyageur1.Text, DateTime.Parse(dateTimePickerVoyageur1.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateSimple.PLAN_ID)); } else { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur1.Text.ToUpper(), DateTime.Parse(dateTimePickerVoyageur1.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateSimple.PLAN_ID)); } } if (txtNomVoyageur2.TextLength != 0) //on compte le nombre de voyageurs supplémentaires { if (txtNomVoyageur2.TextLength != 0) { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur2.Text.ToUpper(), txtNomVoyageur2.Text, DateTime.Parse(dateTimePickerVoyageur2.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateSimple.PLAN_ID)); } else { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur2.Text.ToUpper(), DateTime.Parse(dateTimePickerVoyageur2.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateSimple.PLAN_ID)); } } if (txtNomVoyageur3.TextLength != 0) //on compte le nombre de voyageurs supplémentaires { if (txtNomVoyageur3.TextLength != 0) { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur3.Text.ToUpper(), txtNomVoyageur3.Text, DateTime.Parse(dateTimePickerVoyageur3.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateSimple.PLAN_ID)); } else { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur3.Text.ToUpper(), DateTime.Parse(dateTimePickerVoyageur3.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateSimple.PLAN_ID)); } } if (txtNomVoyageur4.TextLength != 0) //on compte le nombre de voyageurs supplémentaires { if (txtNomVoyageur4.TextLength != 0) { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur1.Text.ToUpper(), txtNomVoyageur4.Text, DateTime.Parse(dateTimePickerVoyageur4.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateSimple.PLAN_ID)); } else { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur4.Text.ToUpper(), DateTime.Parse(dateTimePickerVoyageur4.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateSimple.PLAN_ID)); } } if (txtNomVoyageur5.TextLength != 0) //on compte le nombre de voyageurs supplémentaires { if (txtNomVoyageur5.TextLength != 0) { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur5.Text.ToUpper(), txtNomVoyageur5.Text, DateTime.Parse(dateTimePickerVoyageur5.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateSimple.PLAN_ID)); } else { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur5.Text.ToUpper(), DateTime.Parse(dateTimePickerVoyageur5.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateSimple.PLAN_ID)); } } decimal?res = oBlRes.GetResPrixTotal(oBlRes.GetResId(_Client.CLIENT_ID, oDateSimple.PLAN_ID)); if (res == null) { throw new CustomError(1); } if (radioAller.Checked && oAller != null) { MessageBox.Show("Reservation pour Vol aller déjà encodée rajoutée"); } else if (radioAller.Checked && oAller == null) { MessageBox.Show("Reservation pour Vol aller ajoutée"); } } if (radioAllerRetour.Checked) { resIns = oBlRes.InsertRes(_Client.CLIENT_ID, oDateRetour.PLAN_ID); oBlAllerRetour.ARInsert(oBlRes.GetResId(_Client.CLIENT_ID, oDateSimple.PLAN_ID), oBlRes.GetResId(_Client.CLIENT_ID, oDateRetour.PLAN_ID)); // resIns = oBlRes.InsertResRetour(_Client.CLIENT_ID, oDateRetour.PLAN_ID); si booléen //oBlRes.SetRetour(oBlRes.GetResId(_Client.CLIENT_ID, oDateSimple.PLAN_ID)); // technique du booléen if (resIns != -1) { if (txtNomVoyageur1.TextLength != 0) //on compte le nombre de voyageurs supplémentaires { if (txtNomVoyageur1.TextLength != 0) { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur1.Text.ToUpper(), txtNomVoyageur1.Text, DateTime.Parse(dateTimePickerVoyageur1.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateRetour.PLAN_ID)); } else { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur1.Text.ToUpper(), DateTime.Parse(dateTimePickerVoyageur1.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateRetour.PLAN_ID)); } } if (txtNomVoyageur2.TextLength != 0) //on compte le nombre de voyageurs supplémentaires { if (txtNomVoyageur2.TextLength != 0) { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur2.Text.ToUpper(), txtNomVoyageur2.Text, DateTime.Parse(dateTimePickerVoyageur2.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateRetour.PLAN_ID)); } else { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur2.Text.ToUpper(), DateTime.Parse(dateTimePickerVoyageur2.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateRetour.PLAN_ID)); } } if (txtNomVoyageur3.TextLength != 0) //on compte le nombre de voyageurs supplémentaires { if (txtNomVoyageur3.TextLength != 0) { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur3.Text.ToUpper(), txtNomVoyageur3.Text, DateTime.Parse(dateTimePickerVoyageur3.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateRetour.PLAN_ID)); } else { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur3.Text.ToUpper(), DateTime.Parse(dateTimePickerVoyageur3.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateRetour.PLAN_ID)); } } if (txtNomVoyageur4.TextLength != 0) //on compte le nombre de voyageurs supplémentaires { if (txtNomVoyageur4.TextLength != 0) { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur1.Text.ToUpper(), txtNomVoyageur4.Text, DateTime.Parse(dateTimePickerVoyageur4.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateRetour.PLAN_ID)); } else { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur4.Text.ToUpper(), DateTime.Parse(dateTimePickerVoyageur4.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateRetour.PLAN_ID)); } } if (txtNomVoyageur5.TextLength != 0) //on compte le nombre de voyageurs supplémentaires { if (txtNomVoyageur5.TextLength != 0) { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur5.Text.ToUpper(), txtNomVoyageur5.Text, DateTime.Parse(dateTimePickerVoyageur5.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateRetour.PLAN_ID)); } else { resVoy = oBlAccompagnateur.InsertVoyageur(txtNomVoyageur5.Text.ToUpper(), DateTime.Parse(dateTimePickerVoyageur5.Text), oBlRes.GetResId(_Client.CLIENT_ID, oDateRetour.PLAN_ID)); } } decimal?res = oBlRes.GetResPrixTotal(oBlRes.GetResId(_Client.CLIENT_ID, oDateRetour.PLAN_ID)); if (res == null) { throw new CustomError(1); } MessageBox.Show("Reservation du vol retour effectuée"); } } InitializeTabOverview(); // on recharge les données InitializeTabModification(); // on recharge les données scope.Complete(); } } catch (CustomError cEx) { MessageBox.Show(cEx.Message); } catch (FormatException fEx) { CustomError oCst = new CustomError(2); MessageBox.Show(oCst.Message); } catch (Exception ex) { CustomError cEx = new CustomError(666); MessageBox.Show(cEx.Message); } }