예제 #1
0
        //------------------------------------------------------------------------------
        public CResultAErreur Maj_Champs()
        {
            CResultAErreur result = CResultAErreur.True;

            CObjetDonnee objElementAOp = ElementAOperations as CObjetDonnee;

            if (ElementAOperations == null || (objElementAOp != null && !objElementAOp.IsValide()))
            {
                return(result);
            }
            ElementAOperations.DateDebut = m_dtDebut.Value;
            ElementAOperations.DateFin   = m_dtFin.Value;

            if (!m_listeDerniersfractionInterventions.Contains(ElementAOperations.Id))
            {
                m_listeDerniersfractionInterventions.Add(ElementAOperations.Id);
            }

            result = m_wndListeOperations.MajChamps();
            CFractionIntervention fraction = ElementAOperations as CFractionIntervention;

            if (fraction != null)
            {
                fraction.DureeSaisie = m_wndDuree.ValeurHeure;
            }

            return(result);
        }
예제 #2
0
        /// ////////////////////////////////////////////////////
        private void OnSelectionListeChange(object sender, EventArgs args)
        {
            if (DesignMode)
            {
                return;
            }
            if (m_bIsChangingSelection)
            {
                return;
            }
            m_bIsChangingSelection = true;
            if (m_objetEnCoursEdition != null &&
                m_objetEnCoursEdition.ContexteDonnee.IsEnEdition &&
                m_objetEnCoursEdition.IsValide() &&
                MAJ_Champs != null)
            {
                CObjetDonneeResultEventArgs argsMAJ = new CObjetDonneeResultEventArgs(m_objetEnCoursEdition);
                MAJ_Champs(this, argsMAJ);
                if (!argsMAJ.Result)
                {
                    Cursor.Current = Cursors.WaitCursor;
                    CAppeleurFonctionAvecDelai.CallFonctionAvecDelai(this, "ShowErreurValidation", 1000, new Object[] { argsMAJ.Result });
                    return;
                }
                if (m_itemEnCours != null && m_itemEnCours.ListView != null /*supprimé*/)
                {
                    m_wndListe.UpdateItemWithObject(m_itemEnCours, m_objetEnCoursEdition);
                }
            }
            m_bIsChangingSelection = false;
            m_objetEnCoursEdition  = null;
            if (m_wndListe.SelectedItems.Count == 1)
            {
                m_nLastIndexDeListe   = m_wndListe.SelectedItems[0].Index;
                m_objetEnCoursEdition = (CObjetDonnee)m_wndListe.SelectedItems[0].Tag;
            }
            if (InitChamp != null)
            {
                InitChamp(this, new CObjetDonneeResultEventArgs(m_objetEnCoursEdition));
            }

            if (m_wndListe.SelectedItems.Count == 1)
            {
                m_itemEnCours = m_wndListe.SelectedItems[0];
            }
            else
            {
                m_itemEnCours = null;
            }
        }
        //------------------------------------------------------------------------------
        public CResultAErreur Maj_Champs()
        {
            CResultAErreur result = CResultAErreur.True;

            CObjetDonnee objElementAOp = ElementAOperations as CObjetDonnee;

            if (ElementAOperations == null || (objElementAOp != null && !objElementAOp.IsValide()))
            {
                return(result);
            }
            ElementAOperations.DateDebut = m_dtDebut.Value;
            ElementAOperations.DateFin   = m_dtFin.Value;
            //if (m_dtDebut.Value == null)
            //{
            //    result.EmpileErreur("Date de début d'intervention obligatoire");
            //    return result;
            //}

            if (!m_listeDerniersfractionInterventions.Contains(ElementAOperations.Id))
            {
                m_listeDerniersfractionInterventions.Add(ElementAOperations.Id);
            }

            Hashtable tableNiveauToParent = new Hashtable();

            foreach (CControleSaisieOperation control in m_listeControlsUtiles)
            {
                result = control.Maj_Champs(tableNiveauToParent);
                if (!result)
                {
                    return(result);
                }
                COperation donnee = control.Operation;
                if (donnee != null)
                {
                    tableNiveauToParent[donnee.Niveau] = donnee;
                }
            }

            CFractionIntervention fraction = ElementAOperations as CFractionIntervention;

            if (fraction != null)
            {
                fraction.DureeSaisie = m_wndDuree.ValeurHeure;
            }

            return(result);
        }
예제 #4
0
        private void m_btnOk_Click(object sender, EventArgs e)
        {
            CResultAErreur result = CResultAErreur.True;

            CContexteDonnee ctx            = null;
            int?            nIDProj        = null;
            CFiltreData     filtreLiens    = new CFiltreData();
            CFiltreData     filtreProjets  = new CFiltreData();
            CFiltreData     filtreInters   = new CFiltreData();
            bool            bFiltreLiens   = false;
            bool            bFiltreProjets = false;
            bool            bFiltreInters  = false;

            foreach (I2iObjetGraphique objGraph in m_objsGraphiques)
            {
                IElementDeProjet ele = CUtilProjet.GetIElementDeProjet(objGraph);
                if (!(ele is CObjetDonnee))
                {
                    return;
                }
                CObjetDonnee obj = (CObjetDonnee)ele;
                if (!obj.IsValide())
                {
                    return;
                }
                if (ctx == null)
                {
                    ctx = obj.ContexteDonnee;
                }
                if (ele.Projet == null)
                {
                    return;
                }
                if (!nIDProj.HasValue)
                {
                    nIDProj = ele.Projet.Id;
                }

                CFiltreData filtreBase = filtreLiens;

                CFiltreData filtreTmp;

                if (m_rbtnDetacher.Checked)
                {
                    bFiltreLiens = true;

                    if (objGraph is IWndElementDeProjetPlanifiable)
                    {
                        ((IWndElementDeProjetPlanifiable)objGraph).Detacher = true;
                    }

                    string strRqt = "";
                    switch (ele.TypeElementDeProjet.Code)
                    {
                    case ETypeElementDeProjet.Projet:
                        strRqt = CLienDeProjet.c_champPrjA + " = @1 OR " + CLienDeProjet.c_champPrjB + " = @1";
                        break;

                    case ETypeElementDeProjet.Intervention:
                        strRqt = CLienDeProjet.c_champInterA + " = @1 OR " + CLienDeProjet.c_champInterB + " = @1";
                        break;

                    case ETypeElementDeProjet.Lien:
                        strRqt = CLienDeProjet.c_champId + " =@1";
                        break;

                    default:
                        return;
                    }
                    ele.Projet = null;
                    filtreTmp  = new CFiltreData(strRqt, ele.Id);
                }
                else
                {
                    switch (ele.TypeElementDeProjet.Code)
                    {
                    case ETypeElementDeProjet.Intervention:
                        bFiltreInters = true;
                        filtreBase    = filtreInters;
                        break;

                    case ETypeElementDeProjet.Lien:
                        bFiltreLiens = true;
                        filtreBase   = filtreLiens;
                        break;

                    case ETypeElementDeProjet.Projet:
                        bFiltreProjets = true;
                        filtreBase     = filtreProjets;
                        break;

                    default:
                        break;
                    }
                    filtreTmp = new CFiltreData(CUtilProjet.GetChampIDElement(objGraph) + " =@1", ele.Id);
                }

                if (filtreBase.Filtre != "")
                {
                    filtreBase = CFiltreData.GetOrFiltre(filtreBase, filtreTmp);
                }
                else
                {
                    filtreBase = filtreTmp;
                }

                if (m_rbtnDetacher.Checked)
                {
                    filtreLiens = filtreBase;
                }
                else
                {
                    switch (ele.TypeElementDeProjet.Code)
                    {
                    case ETypeElementDeProjet.Projet:
                        filtreProjets = filtreTmp;
                        break;

                    case ETypeElementDeProjet.Intervention:
                        filtreInters = filtreTmp;
                        break;

                    case ETypeElementDeProjet.Lien:
                        filtreLiens = filtreTmp;
                        break;

                    default:
                        break;
                    }
                }
            }
            CFiltreData filtreSurProjet = new CFiltreData(CProjet.c_champId + " =@1", nIDProj.Value);

            if (bFiltreLiens)
            {
                filtreLiens = CFiltreData.GetAndFiltre(filtreLiens, filtreSurProjet);
                result      = CObjetDonneeAIdNumerique.Delete(new CListeObjetsDonnees(ctx, typeof(CLienDeProjet), filtreLiens));
            }
            if (result && bFiltreInters)
            {
                filtreInters = CFiltreData.GetAndFiltre(filtreInters, filtreSurProjet);
                result       = CObjetDonneeAIdNumerique.Delete(new CListeObjetsDonnees(ctx, typeof(CIntervention), filtreInters));
            }
            if (result && bFiltreProjets)
            {
                filtreSurProjet = new CFiltreData(CProjet.c_champIdParent + " =@1", nIDProj);
                filtreProjets   = CFiltreData.GetAndFiltre(filtreProjets, filtreSurProjet);
                result          = CObjetDonneeAIdNumerique.Delete(new CListeObjetsDonnees(ctx, typeof(CProjet), filtreProjets));
            }

            if (!result)
            {
                CFormAlerte.Afficher(result.Erreur);
                return;
            }

            DialogResult = DialogResult.OK;
        }