Esempio n. 1
0
        //-----------------------------------------------------
        private void m_controlEdition_AfterDoubleClicElement(I2iObjetGraphique e)
        {
            if (!LockEdition && AfficherEditeur(e) == DialogResult.OK)
            {
                AfficherPanel(e);
                SelectionnerContenu(e);
            }
            else
            {
                //Si je le fait en recherchant la form editionstandard ça plante

                IFormNavigable       frm  = null;
                ETypeElementDeProjet?tele = CUtilProjet.GetTypeElement(e);
                IElementDeProjet     ele  = CUtilProjet.GetIElementDeProjet(e);
                switch (tele)
                {
                case ETypeElementDeProjet.Projet:
                    frm = new CFormEditionProjet((CProjet)ele);

                    break;

                case ETypeElementDeProjet.Intervention:
                    frm = new CFormEditionIntervention((CIntervention)ele);
                    break;

                case ETypeElementDeProjet.Lien:
                default:
                    return;
                }

                CTimosApp.Navigateur.AffichePage(frm);
            }
        }
Esempio n. 2
0
        //-----------------------------------------------------------------
        private void m_controlEdition_AfterAddElement(I2iObjetGraphique e)
        {
            //Si on est en création on edite l'élément (si il est editable)
            //Et si l'édition est annulée on doit supprimer l'élément
            if (m_rbtCreationMode.Checked &&
                e is IWndElementDeProjetPlanifiable &&
                AfficherEditeur(e) != DialogResult.OK)
            {
                SupprimerElement(e);
                return;
            }

            IElementDeProjet ele = CUtilProjet.GetIElementDeProjet(e);

            if (ele is CObjetDonnee && !((CObjetDonnee)ele).VerifieDonnees(false).Result)
            {
                CFormAlerte.Afficher(((CObjetDonnee)ele).VerifieDonnees(false).Erreur);
                SupprimerElement(e);
                return;
            }

            ActualiserDesigner();
            AfficherPanel(e);
            GenererListeContenu();
            SelectionnerContenu(e);
            m_controlEdition.ModeEdition = EModeEditeurProjet.Selection;
        }
        public void Init(List <I2iObjetGraphique> objs)
        {
            foreach (I2iObjetGraphique obj in objs)
            {
                if (!(CUtilProjet.GetTypeElement(obj).HasValue))
                {
                    DialogResult = DialogResult.Abort;
                }
            }

            m_objsGraphiques = objs;            //.ConvertAll<IElementDeProjet>(CUtilProjet.GetIElementDeProjet);// new Converter<I2iObjetGraphique, IElementDeProjet>(CUtilProjet.GetIElementDeProjet));// delegate(I2iObjetGraphique obj) { return (IWndElementDeProjetPlanifiable)obj; });

            string strDescrip = CUtilProjet.GetIElementDeProjet(m_objsGraphiques[0]).DescriptionElement;

            if (objs.Count == 1)
            {
                Text = I.T("@1 removing...|1237", strDescrip);
            }
            else
            {
                bool bOnlyOnType = false;
                for (int n = 1; n < m_objsGraphiques.Count; n++)
                {
                    if (CUtilProjet.GetIElementDeProjet(m_objsGraphiques[n]).DescriptionElement != strDescrip)
                    {
                        bOnlyOnType = false;
                        break;
                    }
                }

                if (bOnlyOnType)
                {
                    Text = I.T("@1 removing...|1237", strDescrip);
                }
                else
                {
                    Text = I.T("Removing...|30409");
                }
            }
        }
        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;
        }
Esempio n. 5
0
        private void SelectionnerContenu(I2iObjetGraphique o)
        {
            IElementDeProjet ele = CUtilProjet.GetIElementDeProjet(o);

            SelectionnerContenu(ele);
        }