コード例 #1
0
ファイル: MainMenu.cs プロジェクト: pjephec/Ephec-Airlines
        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);
            }
        }
コード例 #2
0
ファイル: MainMenu.cs プロジェクト: pjephec/Ephec-Airlines
        // 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);
            }
        }