Exemple #1
0
        //-------------------------------------------
        private void m_btnOk_Click(object sender, EventArgs e)
        {
            if (m_bModeGeler && !(m_cmbCause.ElementSelectionne is CCauseGel))
            {
                CFormAlerte.Afficher(I.T("Select a cause of freezing|1373"), EFormAlerteType.Exclamation);
                return;
            }
            CResultAErreur result = CResultAErreur.True;

            if (m_bModeGeler)
            {
                //Si on est en modif on test
                if (m_bModif && (m_gel.DateFin < m_dtGel.Value))
                {
                    result.EmpileErreur(I.T("The freezing start date cannot be after the freezing end date|1378"));
                }

                //On regarde si la date de début ne rentre pas en conflit avec le gel précédant
                //foreach (CGel g in m_gel.ElementGelable.Gels)
                //    if (g.Id != m_gel.Id && g.DateFin < m_gel.DateDebut && g.DateFin > m_dtGel.Value)
                //    {
                //        MessageBox.Show(I.T("Impossible because the last freeze finish after the start date indicated|1382"));
                //        return;
                //    }
            }
            else
            {
                if (m_gel.DateDebut > m_dtGel.Value)
                {
                    result.EmpileErreur(I.T("The freezing start date cannot be after the freezing end date|1378"));
                }

                //On regarde si la date de fin ne rentre pas en conflit avec le gel suivant
                //foreach(CGel g in m_gel.ElementGelable.Gels)
                //    if(g.Id != m_gel.Id && g.DateDebut > m_gel.DateFin && g.DateDebut < m_dtGel.Value)
                //    {
                //        MessageBox.Show(I.T("Impossible because the next freeze begin before the end date indicated|1381"));
                //        return;
                //    }
            }
            if (result)
            {
                if (m_bModeGeler)
                {
                    if (m_bModif)
                    {
                        result = SElementGelable.ModifGeler(m_gel, m_dtGel.Value, (CCauseGel)m_cmbCause.ElementSelectionne, m_txtInfo.Text);
                    }
                    else
                    {
                        result = m_elementGelable.Geler(m_dtGel.Value, (CCauseGel)m_cmbCause.ElementSelectionne, m_txtInfo.Text);
                    }
                }
                else
                {
                    if (m_bModif)
                    {
                        result = SElementGelable.ModifDegeler(m_gel, m_dtGel.Value, m_txtInfo.Text);
                    }
                    else
                    {
                        result = m_elementGelable.Degeler(m_dtGel.Value, m_txtInfo.Text);
                    }
                }
            }

            if (!result)
            {
                if (m_bModeGeler && !m_bModif)
                {
                    result.EmpileErreur(I.T("Freezing impossible|1374"));
                }
                else if (!m_bModeGeler && !m_bModif)
                {
                    result.EmpileErreur(I.T("Impossible unfreezing|1388"));
                }
                else
                {
                    result.EmpileErreur(I.T("Modification impossible|1379"));
                }

                CFormAlerte.Afficher(result.Erreur);
            }
            else
            {
                if (m_handlerOnGeler != null)
                {
                    m_handlerOnGeler(this, new EventArgs());
                }
            }

            Hide();
        }