示例#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);
            }
        }
示例#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;
        }
示例#3
0
        public void SelectionnerElement(IElementDeProjet ele)
        {
            I2iObjetGraphique o = null;

            foreach (I2iObjetGraphique objet in ObjetEdite.Childs)
            {
                switch (ele.TypeElementDeProjet.Code)
                {
                case ETypeElementDeProjet.Projet:
                    if (objet is CWndProjetBrique && ele.Equals(((CWndProjetBrique)objet).Projet))
                    {
                        o = objet;
                    }
                    break;

                case ETypeElementDeProjet.Intervention:
                    if (objet is CWndIntervention && ele.Equals(((CWndIntervention)objet).Intervention))
                    {
                        o = objet;
                    }
                    break;

                case ETypeElementDeProjet.Lien:
                    if (objet is CWndLienDeProjet && ele.Equals(((CWndLienDeProjet)objet).LienDeProjet))
                    {
                        o = objet;
                    }
                    break;

                default:
                    return;
                }
                if (o != null)
                {
                    break;
                }
            }
            if (BeforeSelectElement != null && !BeforeSelectElement())
            {
                return;
            }

            Selection.Clear();
            Selection.Add(o);
            if (AfterSelectElement != null)
            {
                AfterSelectElement(o);
            }
        }
示例#4
0
        private void SelectionnerContenu(IElementDeProjet ele)
        {
            m_lastEleSelec  = ele;
            m_bSelecContenu = true;

            bool existeEncore = ((ele != null) && ((CObjetDonnee)ele).IsValide());

            foreach (ListViewItem itm in m_lvContenu.Items)
            {
                if (existeEncore && itm.Tag.Equals(ele))
                {
                    itm.Selected = true;
                }
                else
                {
                    itm.Selected = false;
                }
            }

            m_bSelecContenu = false;
            ActualiserCouleur();
        }
示例#5
0
        //-----------------------------------------------------
        private CResultAErreur AfficherEditeur(IElementDeProjet element)
        {
            CResultAErreur result = CResultAErreur.True;

            if (element is CProjet)
            {
                CProjet projet = (CProjet)element;
                if (projet.IsNew() && m_controlEdition.ModeEdition == EModeEditeurProjet.Selection)
                {
                    projet.BeginEdit();
                }

                CFormNavigateurPopup.Show(new CFormEditionProjet(projet));
                if (!projet.IsValide() || !projet.VerifieDonnees(false).Result)
                {
                    result = CResultAErreur.False;
                }
            }
            if (element is CIntervention)
            {
                CIntervention inter = (CIntervention)element;
                if (inter.IsNew() && m_controlEdition.ModeEdition == EModeEditeurProjet.Selection)
                {
                    inter.BeginEdit();
                }

                CFormNavigateurPopup.Show(new CFormEditionIntervention(inter));
                if (!inter.IsValide() || !inter.VerifieDonnees(false).Result)
                {
                    result = CResultAErreur.False;
                }
            }
            if (result)
            {
                ActualiserDesigner();
                GenererListeContenu();
            }
            return(result);
        }
示例#6
0
        private void AjouterElementContenu(IElementDeProjet ele)
        {
            ListViewItem itm = new ListViewItem(ele.Libelle);

            itm.Tag = ele;
            string strType = I.T("Unknown|1240");
            Type   t       = ele.GetType();

            if (t == typeof(CLienDeProjet))
            {
                strType = I.T("Link|83");
            }
            else if (t == typeof(CProjet))
            {
                strType = I.T("Project|749");
            }
            else if (t == typeof(CIntervention))
            {
                strType = I.T("Intervention|561");
            }
            itm.SubItems.Add(strType);
            m_lvContenu.Items.Add(itm);
        }
        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;
        }
示例#8
0
        private void SelectionnerContenu(I2iObjetGraphique o)
        {
            IElementDeProjet ele = CUtilProjet.GetIElementDeProjet(o);

            SelectionnerContenu(ele);
        }
示例#9
0
 public void AjouterElement(IElementDeProjet ele)
 {
 }