Ejemplo n.º 1
0
 //---------------------------------------------------------------------------
 public override Form GetForm(CObjetDonneeAIdNumeriqueAuto objetDonnee, CListeObjetsDonnees liste)
 {
     using (CWaitCursor waiter = new CWaitCursor())
     {
         return((Form)Activator.CreateInstance(m_typeForm, new object[] { objetDonnee, liste }));
     }
 }
Ejemplo n.º 2
0
        /// ////////////////////////////////////////////////////////
        public CResultAErreurType <CObjetDonneeAIdNumeriqueAuto> CloneObjet(CObjetDonneeAIdNumeriqueAuto objetSource)
        {
            CResultAErreurType <CObjetDonneeAIdNumeriqueAuto> resObjet = new CResultAErreurType <CObjetDonneeAIdNumeriqueAuto>();
            CResultAErreur result = CResultAErreur.True;
            Dictionary <CObjetDonneeAIdNumeriqueAuto, CObjetDonneeAIdNumeriqueAuto> dicClones = new Dictionary <CObjetDonneeAIdNumeriqueAuto, CObjetDonneeAIdNumeriqueAuto>();

            resObjet = CloneObjet(objetSource.ContexteDonnee, objetSource, dicClones);
            if (!resObjet)
            {
                return(resObjet);
            }
            Dictionary <object, object> copie = new Dictionary <object, object>();

            foreach (KeyValuePair <CObjetDonneeAIdNumeriqueAuto, CObjetDonneeAIdNumeriqueAuto> kv in dicClones)
            {
                copie[kv.Key] = kv.Value;
            }
            foreach (CObjetDonneeAIdNumeriqueAuto objet in dicClones.Values)
            {
                if (objet.GetType().GetCustomAttributes(typeof(RefillAfterCloneAttribute), true).Length > 0)
                {
                    RefillAfterCloneAttribute.RefillAfterClone(objet, copie);
                }
            }
            return(resObjet);
        }
Ejemplo n.º 3
0
        //-----------------------------------------------------------------------------------------
        public override CReferenceTypeForm GetFinalRefTypeForm(CObjetDonneeAIdNumeriqueAuto objetDonnee)
        {
            CResultAErreur result = CResultAErreur.True;

            if (objetDonnee == null)
            {
                foreach (CParametreTypeForm parametre in m_listeParametres)
                {
                    if (parametre.Formule == null || parametre.Formule is C2iExpressionVrai)
                    {
                        return(parametre.ReferenceTypeForm);
                    }
                }
                return(m_defaultTypeForm);
            }
            CContexteEvaluationExpression ctxEval = new CContexteEvaluationExpression(objetDonnee);

            foreach (CParametreTypeForm parametre in m_listeParametres)
            {
                result.Data = true;
                if (parametre.Formule != null)
                {
                    result = parametre.Formule.Eval(ctxEval);
                }
                if (result && CUtilBool.BoolFromObject(result.Data))
                {
                    return(parametre.ReferenceTypeForm);
                }
            }
            if (m_defaultTypeForm != null)
            {
                return(m_defaultTypeForm);
            }
            return(null);
        }
        /// ////////////////////////////////////////////////////////////
        public void FillNode(TreeNode node, CObjetDonneeAIdNumeriqueAuto objet)
        {
            if (objet != null)
            {
                string strText = "";
                if (m_formuleLibelle != null)
                {
                    CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(objet);
                    CResultAErreur result             = m_formuleLibelle.Eval(ctx);
                    if (result && result.Data != null)
                    {
                        strText = result.Data.ToString();
                    }
                }
                if (strText.Length == 0)
                {
                    strText = CInterpreteurTextePropriete.GetStringValue(objet, m_strProprieteAffichee, "Non def");
                }
                node.Text = strText;
            }
            CInfoNode info;

            if (node.Tag is CInfoNode)
            {
                info = (CInfoNode)node.Tag;
            }
            else
            {
                info = new CInfoNode();
            }
            info.Objet = objet;
            node.Tag   = info;
        }
Ejemplo n.º 5
0
        //----------------------------------------------------------------------------
        /// <summary>
        /// Utilisée pour la recherche de références externes liées à cette Action
        /// </summary>
        /// <param name="contexteGetRef"></param>
        /// <returns></returns>
        public object[] GetReferencesExternesExplicites(CContexteGetReferenceExterne contexteGetRef)
        {
            if (contexteGetRef != null)
            {
                CContexteDonnee contexte = (CContexteDonnee)contexteGetRef.GetObjetAttache(typeof(CContexteDonnee));
                if (contexte != null)
                {
                    if (ExpressionEntiteDestination != null)
                    {
                        Type typeDestination = ExpressionEntiteDestination.TypeDonnee.TypeDotNetNatif;
                        if ((typeof(IElementAChamps)).IsAssignableFrom(typeDestination))
                        {
                            CRoleChampCustom role = CRoleChampCustom.GetRoleForType(typeDestination);
                            Type[]           typeDefinisseursChamps = role.TypeDefinisseurs;

                            if (typeDefinisseursChamps.Length > 0)
                            {
                                CObjetDonneeAIdNumeriqueAuto definisseur = (CObjetDonneeAIdNumeriqueAuto)Activator.CreateInstance(typeDefinisseursChamps[0], new object[] { contexte });
                                if (DbKeyDefinisseurChampsCustomEntiteDestination != null)
                                {
                                    if (definisseur.ReadIfExists(DbKeyDefinisseurChampsCustomEntiteDestination))
                                    {
                                        return new object[] { definisseur }
                                    }
                                    ;
                                }
                            }
                        }
                    }
                }
            }

            return(new object[] { });
        }
    }
Ejemplo n.º 6
0
        protected CResultAErreur TraiterEditionPanel(CObjetDonnee objet)
        {
            CResultAErreur result = CResultAErreur.True;
            CContexteEvaluationExpression ctxEval  = CUtilControlesWnd.GetContexteEval(this, objet);
            C2iWndListeSpeedStandard      listeStd = this.WndAssociee as C2iWndListeSpeedStandard;

            if (listeStd != null)
            {
                C2iExpression formule = listeStd.AlternativeEditedElement;
                result = formule.Eval(ctxEval);
                if (!result)
                {
                    return(result);
                }
                CObjetDonneeAIdNumeriqueAuto objetToEdit = result.Data as CObjetDonneeAIdNumeriqueAuto;
                if (objetToEdit != null)
                {
                    CReferenceTypeForm refTypeForm = CFormFinder.GetRefFormToEdit(objetToEdit.GetType());
                    IFormNavigable     frmToShow   = refTypeForm.GetForm(objetToEdit) as IFormNavigable;
                    IFormNavigable     frm         = m_panelListeSpeedStd.FindForm() as IFormNavigable;
                    if (frm != null)
                    {
                        frm.Navigateur.AffichePage(frmToShow);
                    }
                    else
                    {
                        CFormNavigateurPopup.Show(frmToShow);
                    }
                }
                return(result);
            }
            return(result);
        }
Ejemplo n.º 7
0
        //--------------------------------------------------
        protected void RefreshListe()
        {
            int nNiveau = Math.Max(1, m_numUpNiveau.IntValue);

            CFiltreData filtre;
            CObjetDonneeAIdNumeriqueAuto root = null;
            string strChampConteneur          = "";
            CListeObjetsDonnees liste         = null;

            if (m_objetRacine == null)
            {
                CContexteDonnee contexteDonnee = sc2i.win32.data.CSc2iWin32DataClient.ContexteCourant;
                filtre = new CFiltreData(
                    GetChampNiveau() + "<= @2",
                    nNiveau - 1);
                strChampConteneur = "Projet";
                liste             = new CListeObjetsDonnees(
                    contexteDonnee, GetTypeElements(), filtre);
            }
            else
            {
                liste = m_objetRacine.ObjetsFils;
            }



            m_panelListeTests.InitFromListeObjets(
                liste,
                GetTypeElements(),
                GetTypeFormEdition(),
                root,
                strChampConteneur);
        }
Ejemplo n.º 8
0
        //-----------------------------------------------------
        void item_Click(object sender, EventArgs e)
        {
            CMenuItemARefObj item = sender as CMenuItemARefObj;

            if (item != null)
            {
                if (item.FonctionDelete)
                {
                    ListeObjets.Remove(item.ReferenceObjet);
                    UpdateLook();
                    Save();
                }
                else
                {
                    CObjetDonneeAIdNumeriqueAuto obj = item.ReferenceObjet.ReferenceObjet.GetObjet(CSc2iWin32DataClient.ContexteCourant) as CObjetDonneeAIdNumeriqueAuto;
                    if (obj != null)
                    {
                        CReferenceTypeForm refForm = CFormFinder.GetRefFormToEdit(obj.GetType());
                        if (refForm != null)
                        {
                            IFormNavigable frm = refForm.GetForm(obj) as IFormNavigable;
                            if (frm != null)
                            {
                                CTimosApp.Navigateur.AffichePage(frm);
                                return;
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 9
0
        //---------------------------------------------------------------------------
        private CFormEditionStandard NewCFormEdition(CObjetDonneeAIdNumeriqueAuto objet, CListeObjetsDonnees liste)
        {
            if (m_strProprieteObjetAEditer.Trim() != "")
            {
                objet = (CObjetDonneeAIdNumeriqueAuto)CInterpreteurTextePropriete.GetValue(objet, m_strProprieteObjetAEditer);
                liste = liste.GetDependances(m_strProprieteObjetAEditer);
            }
            CFormEditionStandard frm = null;

            // YK 20/02/09 : On utilise ici le nouveau CFormFinder
            if (m_referenceForm == null)
            {
                m_referenceForm = CFormFinder.GetRefFormToEdit(m_typeObjet);
            }
            if (m_referenceForm != null)
            {
                frm = (CFormEditionStandard)m_referenceForm.GetForm(objet, liste);
            }
            if (frm != null)
            {
                if (AfterCreateFormEdition != null)
                {
                    AfterCreateFormEdition(this, frm);
                }
                frm.AfterSuppression            += new ObjetDonneeEventHandler(OnSuppressionDansFormEdition);
                frm.AfterValideModification     += new ObjetDonneeEventHandler(OnValidationDansFormEdition);
                frm.AfterAnnulationModification += new ObjetDonneeEventHandler(OnAnnulationDansFormEdition);
            }
            return(frm);
        }
Ejemplo n.º 10
0
        /// ////////////////////////////////////////////////////////
        protected override CResultAErreur MyExecute(CContexteExecutionAction contexte)
        {
            CResultAErreur result = CResultAErreur.True;

            CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(Process);

            result = FormuleElementACloner.Eval(ctx);
            if (!result)
            {
                return(result);
            }
            CObjetDonneeAIdNumeriqueAuto obj = result.Data as CObjetDonneeAIdNumeriqueAuto;

            if (obj == null)
            {
                result.EmpileErreur(I.T("Erreur while cloning object : source is null|20049"));
                return(result);
            }

            CResultAErreurType <CObjetDonneeAIdNumeriqueAuto> resultClone = OptionsClonage.CloneObjet(obj);

            /*
             *
             * Dictionary<CObjetDonneeAIdNumeriqueAuto, CObjetDonneeAIdNumeriqueAuto> dicClones = new Dictionary<CObjetDonneeAIdNumeriqueAuto, CObjetDonneeAIdNumeriqueAuto>();
             * result = CloneObjet(contexte.ContexteDonnee, obj, dicClones);
             * if (!result)
             *  return result;
             *
             * Dictionary<object,object> copie = new Dictionary<object,object>();
             * foreach ( KeyValuePair<CObjetDonneeAIdNumeriqueAuto, CObjetDonneeAIdNumeriqueAuto> kv in dicClones )
             *  copie[kv.Key] = kv.Value;
             * foreach (CObjetDonneeAIdNumeriqueAuto objet in dicClones.Values)
             * {
             *  if (objet.GetType().GetCustomAttributes(typeof(RefillAfterCloneAttribute), true).Length > 0)
             *  {
             *      RefillAfterCloneAttribute.RefillAfterClone(objet, copie);
             *  }
             * }*/
            if (!resultClone)
            {
                result.EmpileErreur(resultClone.Erreur);
            }


            if (resultClone && VariableResultat != null)
            {
                if (VariableResultat != null)
                {
                    Process.SetValeurChamp(VariableResultat, resultClone.DataType);
                }
            }

            CLienAction[] liens = GetLiensSortantHorsErreur();
            if (liens.Length > 0)
            {
                result.Data = liens[0];
            }
            return(result);
        }
Ejemplo n.º 11
0
        private void EditeElement()
        {
            CObjetDonneeAIdNumeriqueAuto objet = null;

            bool            bIsNewContexte = false;
            CContexteDonnee contexteDonnee = CSc2iWin32DataClient.ContexteCourant;

            if (m_parametreEdition.IdVersionAForcer != contexteDonnee.IdVersionDeTravail)
            {
                contexteDonnee = (CContexteDonnee)CSc2iWin32DataClient.ContexteCourant.Clone();// GetNewContexteDonneeInSameThread(m_parametreEdition.IdSession, true);
                contexteDonnee.SetEnableAutoStructure(true);
                contexteDonnee.SetVersionDeTravail(m_parametreEdition.IdVersionAForcer, false);
                bIsNewContexte = true;
            }
            objet = m_parametreEdition.ReferenceObjet.GetObjet(contexteDonnee) as CObjetDonneeAIdNumeriqueAuto;
            if (objet == null)
            {
                m_resultEdit.EmpileErreur(I.T("The object to edit doesn't exist|1078"));
                return;
            }

            CReferenceTypeForm refTypeForm = null;

            if (m_strCodeFormulaire != string.Empty)
            {
                refTypeForm = CFormFinder.GetRefFormToEdit(objet.GetType(), m_strCodeFormulaire);
            }
            else
            {
                refTypeForm = CFormFinder.GetRefFormToEdit(objet.GetType());
            }

            if (refTypeForm == null)
            {
                m_resultEdit.EmpileErreur(I.T("The system is not able to edit elements from type @1|1076", m_parametreEdition.GetType().ToString()));
                return;
            }

            try
            {
                CFormEditionStandard form = refTypeForm.GetForm(objet) as CFormEditionStandard;
                if (form != null)
                {
                    CFormNavigateurPopup.Show(form);//, CTimosApp.Navigateur);
                }
            }
            catch (Exception e)
            {
                m_resultEdit.EmpileErreur(new CErreurException(e));
            }
            finally
            {
                if (bIsNewContexte)
                {
                    contexteDonnee.Dispose();
                    contexteDonnee = null;
                }
            }
        }
Ejemplo n.º 12
0
 private void m_lnkSelectionner_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
 {
     if (m_wndListeElements.SelectedItems.Count == 1)
     {
         m_objetSel = (CObjetDonneeAIdNumeriqueAuto)m_wndListeElements.SelectedItems[0];
         DisplayElement(m_objetSel.Row.Row, m_gridObjetPropose);
     }
 }
Ejemplo n.º 13
0
        /// ////////////////////////////////////////////////////////
        protected override CResultAErreur MyExecute(CContexteExecutionAction contexte)
        {
            CResultAErreur result = CResultAErreur.True;

            CObjetDonneeAIdNumeriqueAuto objet = (CObjetDonneeAIdNumeriqueAuto)Activator.CreateInstance(m_typeEntiteACreer, new object[] { contexte.ContexteDonnee });

            objet.CreateNewInCurrentContexte();

            CContexteEvaluationExpression contexteEval = new CContexteEvaluationExpression(Process);

            contexteEval.AttacheObjet(typeof(CContexteDonnee), contexte.ContexteDonnee);

            foreach (DictionaryEntry entry in m_tableValeursProprietes)
            {
                string        strProp    = (string)entry.Key;
                C2iExpression expression = (C2iExpression)entry.Value;

                //Cherche la propriété
                PropertyInfo info            = m_typeEntiteACreer.GetProperty(strProp);
                string       strNomConvivial = strProp;
                object[]     attr            = info.GetCustomAttributes(typeof(DynamicFieldAttribute), true);
                if (attr.Length > 0)
                {
                    strNomConvivial = ((DynamicFieldAttribute)attr[0]).NomConvivial;
                }
                MethodInfo methode = info.GetSetMethod();
                if (methode != null)
                {
                    //Evalue la valeur
                    result = expression.Eval(contexteEval);
                    if (!result)
                    {
                        result.EmpileErreur(I.T("Error during the @1 value evaluation|140", strNomConvivial));
                        return(result);
                    }
                    try
                    {
                        methode.Invoke(objet, new object[] { result.Data });
                    }
                    catch (Exception e)
                    {
                        result.EmpileErreur(I.T("Error during the assignment of @1 property|141", strNomConvivial));
                        result.EmpileErreur(e.Message);
                        return(result);
                    }
                }
            }
            if (VariableResultat != null)
            {
                Process.SetValeurChamp(VariableResultat, objet);
            }
            CLienAction[] liens = GetLiensSortantHorsErreur();
            if (liens.Length > 0)
            {
                result.Data = liens[0];
            }
            return(result);
        }
Ejemplo n.º 14
0
        //--------------------------------------------------------------------------
        public override Form GetForm(CObjetDonneeAIdNumeriqueAuto objetDonnee, CListeObjetsDonnees liste)
        {
            CReferenceTypeForm refType = GetFinalRefTypeForm(objetDonnee);

            if (refType != null)
            {
                return(refType.GetForm(objetDonnee, liste));
            }
            return(null);
        }
Ejemplo n.º 15
0
        //---------------------------------------------------------------------------
        public override Form GetForm(CObjetDonneeAIdNumeriqueAuto objetDonnee, CListeObjetsDonnees liste)
        {
            IFormRecepteurFormulaire form = (IFormRecepteurFormulaire)Activator.CreateInstance(
                m_typeFormRecepteur,
                new object[] { objetDonnee, liste });

            form.IdFormulaireAffiche = m_dbKeyFormIndb;

            return((Form)form);
        }
Ejemplo n.º 16
0
 /// //////////////////////////////////////////////////////////////
 public CGestionnaireAjoutModifSuppObjetDonnee
 (
     Type typeObjets,
     CReferenceTypeForm referenceFormEdition,
     CObjetDonneeAIdNumeriqueAuto objetContainer,
     string strChampLienParent)
 {
     m_typeObjet          = typeObjets;
     m_referenceForm      = referenceFormEdition;
     m_objetContainer     = objetContainer;
     m_strChampLienParent = strChampLienParent;
 }
 //-------------------------------------------------------------------
 private void m_listView_SelectedIndexChanged(object sender, System.EventArgs e)
 {
     if (OnSelectionChanged != null && m_listView.SelectedItems.Count == 1)
     {
         ListViewItem item = m_listView.SelectedItems[0];
         CObjetDonneeAIdNumeriqueAuto objet = (CObjetDonneeAIdNumeriqueAuto)item.Tag;
         if (OnSelectionChanged != null)
         {
             OnSelectionChanged(objet, GetDataAssocie(objet));
         }
     }
 }
Ejemplo n.º 18
0
        /// ////////////////////////////////////////////////
        private bool Init(DataRow row, CListeObjetsDonnees listePossibles, bool bResolutionAutomatique)
        {
            m_rowToMap       = row;
            m_listePossibles = listePossibles;

            DisplayElement(row, m_gridObjetAMapper);

            //regarde dans la liste s'il y a un élément existant avec le même id
            CFiltreData oldFiltre = m_listePossibles.Filtre;
            CFiltreData newFiltre = CFiltreData.GetAndFiltre(
                oldFiltre,
                new CFiltreData(row.Table.PrimaryKey[0].ColumnName + "=@1", row[row.Table.PrimaryKey[0]]));

            m_listePossibles.Filtre = newFiltre;
            m_listePossibles.Refresh();
            if (m_listePossibles.Count > 0)
            {
                m_objetSel = (CObjetDonneeAIdNumeriqueAuto)m_listePossibles[0];
                if (bResolutionAutomatique)
                {
                    DataRow rowObjet = m_objetSel.Row.Row;
                    //Compare toutes les valeurs, si elles sont toutes égales, on sélectionne automatique
                    //L'élément
                    bool            bAllOk    = true;
                    CStructureTable structure = CStructureTable.GetStructure(m_objetSel.GetType());
                    foreach (CInfoChampTable info in structure.Champs)
                    {
                        if (info.NomChamp != CSc2iDataConst.c_champIdSynchro && !m_rowToMap[info.NomChamp].Equals(rowObjet[info.NomChamp]))
                        {
                            bAllOk = false;
                            break;
                        }
                    }
                    if (bAllOk)
                    {
                        return(true);
                    }
                }
                DisplayElement(m_objetSel.Row.Row, m_gridObjetPropose);
            }
            else
            {
                DisplayElement(null, m_gridObjetPropose);
            }
            m_listePossibles.Filtre = oldFiltre;
            m_listePossibles.Refresh();



            m_wndListeElements.ListeSource = m_listePossibles;
            return(false);
        }
Ejemplo n.º 19
0
        /// ////////////////////////////////////////////////
        public static CObjetDonneeAIdNumeriqueAuto MappeRow(DataRow row, CListeObjetsDonnees listePossibles, ref bool bCancel, bool bResolutionAutomatique)
        {
            CFormMapRowToObjetDonnee form = new CFormMapRowToObjetDonnee();

            if (form.Init(row, listePossibles, bResolutionAutomatique))
            {
                return(form.m_objetSel);
            }
            bCancel = form.ShowDialog() != DialogResult.OK;
            CObjetDonneeAIdNumeriqueAuto objet = form.m_objetSel;

            form.Dispose();
            return(objet);
        }
Ejemplo n.º 20
0
        private void m_lnkelement_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
        {
            if (ListeRelations.Count == 0)
            {
                return;
            }
            CObjetDonneeAIdNumeriqueAuto objet = null;

            if (ListeRelations.Count > 1)
            {
                ArrayList lst = new ArrayList();
                foreach (CRelationEntreeAgenda_ElementAAgenda rel in ListeRelations)
                {
                    lst.Add(rel.ElementLie);
                }
                Point pt = m_lnkelement.PointToScreen(new Point(0, m_lnkelement.Height));
                objet = CFormLinksToElements.SelectObjet((CObjetDonneeAIdNumerique[])lst.ToArray(typeof(CObjetDonneeAIdNumerique)),
                                                         pt) as CObjetDonneeAIdNumeriqueAuto;
            }
            else
            {
                objet = ((CRelationEntreeAgenda_ElementAAgenda)ListeRelations[0]).ElementLie as CObjetDonneeAIdNumeriqueAuto;
            }
            if (objet != null)
            {
                //Type typeForm = CFormFinder.GetTypeFormToEdit(objet.GetType());
                //if ( typeForm == null || !typeForm.IsSubclassOf(typeof(CFormEditionStandard)))
                //{
                //    CFormAlerte.Afficher("Le système ne sait pas afficher les éléments du type "+m_typeRelation.TypeElementsConvivial, EFormAlerteType.Exclamation);
                //    return;
                //}
                //CFormEditionStandard form = (CFormEditionStandard)Activator.CreateInstance(typeForm, new object[]{objet});
                //CSc2iWin32DataNavigation.Navigateur.AffichePage ( form );
                CReferenceTypeForm refTypeForm = CFormFinder.GetRefFormToEdit(objet.GetType());
                if (refTypeForm == null)
                {
                    CFormAlerte.Afficher(I.T("The system cannot display elements from type @1|30120", m_typeRelation.TypeElementsConvivial), EFormAlerteType.Exclamation);
                    return;
                }
                else
                {
                    CFormEditionStandard form = refTypeForm.GetForm(objet) as CFormEditionStandard;
                    if (form != null)
                    {
                        CSc2iWin32DataNavigation.Navigateur.AffichePage(form);
                    }
                }
            }
        }
 //-------------------------------------------------------------------
 public void ApplyModifs()
 {
     if (LockEdition)
     {
         return;
     }
     foreach (ListViewItem item in m_listView.Items)
     {
         CObjetDonneeAIdNumeriqueAuto objet = (CObjetDonneeAIdNumeriqueAuto)item.Tag;
         bool bCreate = item.Checked;
         if (ExclusionParException)
         {
             bCreate = !bCreate;
         }
         if (bCreate)
         {
             CObjetDonnee relation = (CObjetDonnee)m_hashtableObjets[objet];
             if (relation == null)
             {
                 relation = (CObjetDonnee)Activator.CreateInstance(m_listeRelationsSelectionnees.TypeObjets, new object[] { m_contexte });
                 relation.CreateNewInCurrentContexte(null);
                 CInterpreteurTextePropriete.SetValue(relation, m_strPropObjetConcerne, m_objetConcerne);
                 CInterpreteurTextePropriete.SetValue(relation, m_strProprieteRetournantObjetSecondaire, objet);
                 m_hashtableObjets[objet] = relation;
             }
             if (OnValideRelation != null)
             {
                 object data = GetDataAssocie(objet);
                 if (OnSelectionChanged != null)
                 {
                     OnSelectionChanged(objet, data);
                 }
                 data = GetDataAssocie(objet);
                 OnValideRelation(objet, relation, ref data);
                 SetDataAssocie(objet, data);
             }
         }
         else
         {
             if (m_hashtableObjets[objet] != null)
             {
                 ((CObjetDonnee)m_hashtableObjets[objet]).Delete();
                 m_hashtableObjets[objet] = null;
             }
         }
     }
 }
Ejemplo n.º 22
0
        /// ////////////////////////////////////////////
        public static bool Importe(CObjetDonneeAIdNumeriqueAuto objetDestination, DataSet ds)
        {
            CResultAErreur result = CResultAErreur.True;

            if (result && ds.Tables.Count == 0)
            {
                result.EmpileErreur(I.T("No data for import|133"));
            }
            if (result && ds.Tables[0].TableName != objetDestination.GetNomTable())
            {
                result.EmpileErreur(I.T("The source file not correspond to a @1 type object|134",
                                        DynamicClassAttribute.GetNomConvivial(objetDestination.GetType())));
            }
            DataTable tableSource = null;

            if (result)
            {
                tableSource = ds.Tables[0];
                if (tableSource.Rows.Count == 0)
                {
                    result.EmpileErreur(I.T("No data for import|133"));
                }
            }

            try
            {
                if (result)
                {
                    CFormImportObjetDonnee form = new CFormImportObjetDonnee(ds, objetDestination);
                    if (form.ShowDialog() != DialogResult.OK)
                    {
                        return(false);
                    }
                    return(true);
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            if (!result)
            {
                CFormAlerte.Afficher(result);
                return(false);
            }
            return(true);
        }
Ejemplo n.º 23
0
        private void m_lnkElementGere_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            IObjetSPVAvecObjetTimos obj = m_AlarmInfo.GetElementGere(m_ctxDonnee) as IObjetSPVAvecObjetTimos;

            if (obj != null)
            {
                CObjetDonneeAIdNumeriqueAuto objTimos = obj.ObjetTimosSansGenerique as CObjetDonneeAIdNumeriqueAuto;
                if (objTimos != null)
                {
                    CReferenceTypeForm refTypeForm = CFormFinder.GetRefFormToEdit(objTimos.GetType());
                    if (refTypeForm != null)
                    {
                        IFormNavigable frm = refTypeForm.GetForm(objTimos) as IFormNavigable;
                        Navigateur.AffichePage(frm);
                    }
                }
            }
        }
Ejemplo n.º 24
0
        //----------------------------------------------------------------------------------
        private void InitPanelDefinisseurChamps()
        {
            if (ActionCopierEntite.ExpressionEntiteDestination != null)
            {
                Type typeDestination = ActionCopierEntite.ExpressionEntiteDestination.TypeDonnee.TypeDotNetNatif;
                if ((typeof(IElementAChamps)).IsAssignableFrom(typeDestination))
                {
                    m_panelDefinisseurChamps.Visible = !m_chkFullCopy.Checked;
                    CContexteDonnee ctx = ActionCopierEntite.Process.ContexteDonnee;

                    CRoleChampCustom role = CRoleChampCustom.GetRoleForType(typeDestination);
                    Type[]           typeDefinisseursChamps = role.TypeDefinisseurs;

                    if (typeDefinisseursChamps.Length > 0)
                    {
                        // Init la textBoxSelectionne
                        m_txtSelectDefinisseurChampsCustom.InitForSelect(typeDefinisseursChamps[0],
                                                                         "Libelle",
                                                                         false);

                        CObjetDonneeAIdNumeriqueAuto objet = (CObjetDonneeAIdNumeriqueAuto)Activator.CreateInstance(typeDefinisseursChamps[0], new object[] { ctx });
                        if (ActionCopierEntite.DbKeyDefinisseurChampsCustomEntiteDestination != null)
                        {
                            if (objet.ReadIfExists(ActionCopierEntite.DbKeyDefinisseurChampsCustomEntiteDestination))
                            {
                                m_txtSelectDefinisseurChampsCustom.ElementSelectionne = objet;
                            }
                            else
                            {
                                m_txtSelectDefinisseurChampsCustom.ElementSelectionne = null;
                            }
                        }
                        else
                        {
                            m_txtSelectDefinisseurChampsCustom.ElementSelectionne = null;
                        }
                    }
                }
                else
                {
                    m_panelDefinisseurChamps.Visible = false;
                }
            }
        }
Ejemplo n.º 25
0
        public override object Invoke(object objetAppelle, params object[] parametres)
        {
            if (parametres.Length < 1)
            {
                return(false);
            }
            CObjetDonneeAIdNumeriqueAuto objet = parametres[0] as CObjetDonneeAIdNumeriqueAuto;

            if (objet == null)
            {
                return(false);
            }
            objet = objet.GetObjetInContexte(CSc2iWin32DataClient.ContexteCourant) as CObjetDonneeAIdNumeriqueAuto;
            if (objet == null)
            {
                return(false);
            }
            CReferenceTypeForm refForm = null;
            string             strCode = null;

            if (parametres.Length > 1)
            {
                strCode = parametres[1] as string;
            }
            if (strCode == null || strCode.Length == 0)
            {
                refForm = CFormFinder.GetRefFormToEdit(objet.GetType());
            }
            else
            {
                refForm = CFormFinder.GetRefFormToEdit(objet.GetType(), strCode);
            }

            if (refForm != null)
            {
                CFormEditionStandard frm = refForm.GetForm(objet) as CFormEditionStandard;
                if (frm != null)
                {
                    CTimosApp.Navigateur.AffichePage(frm);
                    return(true);
                }
            }
            return(false);
        }
Ejemplo n.º 26
0
        //------------------------------------------------------------------
        private void m_linkControl_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
        {
            CObjetDonneeAIdNumeriqueAuto obj = this.SelectedObject as CObjetDonneeAIdNumeriqueAuto;

            if (obj == null)
            {
                return;
            }
            CReferenceTypeForm refTypeForm = GetTypeFormToEdit(obj.GetType());

            if (refTypeForm != null)
            {
                IFormNavigable frm = refTypeForm.GetForm(obj) as IFormNavigable;
                if (frm != null)
                {
                    CSc2iWin32DataNavigation.Navigateur.AffichePage(frm);
                }
            }
        }
Ejemplo n.º 27
0
        /// //////////////////////////////////////////////////////////////
        public CResultAErreur Modifier(
            CObjetDonneeAIdNumeriqueAuto objet,
            CListeObjetsDonnees listePourFormEdition,
            IEnumerable <CAffectationsProprietes> affectations
            )
        {
            CResultAErreur result = CResultAErreur.True;

            if (BeforeAfficheForm != null)
            {
                BeforeAfficheForm(null, null);
            }
            IFormNavigable form = (IFormNavigable)NewCFormEdition(objet, listePourFormEdition);

            if (form == null)
            {
                result.EmpileErreur(I.T("Impossible to modify the element|30033"));
                return(result);
            }
            CFormEditionStandard frmStd = form as CFormEditionStandard;

            if (frmStd != null)
            {
                frmStd.AffectationsPourNouvelElement = affectations;
            }
            if (!Navigateur.IsHandleCreated)
            {
                Navigateur.CreateControl();
            }

            Navigateur.AffichePage(form);

            if (!Navigateur.Visible)
            {
                CSc2iWin32DataNavigation.PushNavigateur(Navigateur);
                Navigateur.ShowDialog();
                CSc2iWin32DataNavigation.PopNavigateur();
            }

            return(result);
        }
Ejemplo n.º 28
0
        private void m_linkTypeq_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            CReferenceTypeForm reference;


            if (Port.TypeEquipement != null)
            {
                CObjetDonneeAIdNumeriqueAuto objetAEditer = (CObjetDonneeAIdNumeriqueAuto)Port.TypeEquipement;


                reference = CFormFinder.GetRefFormToEdit(typeof(CTypeEquipement));
                if (reference != null)
                {
                    CFormEditionStandard frm = reference.GetForm(objetAEditer) as CFormEditionStandard;

                    if (frm != null)
                    {
                        Navigateur.AffichePage(frm);
                    }
                }
            }
        }
 /// <summary>
 /// Initialise l'arbre
 /// </summary>
 /// <param name="typeObjets">Type des objets contenus dans l'abre</param>
 /// <param name="strProprieteListeFils">Propriete à appeler sur un élément pour obtenir ses fils</param>
 /// <param name="strChampParent">Champ de la table contenant l'id du parent</param>
 /// <param name="strProprieteAffichee">Propriete affichée dans l'abre</param>
 /// <returns></returns>
 public CResultAErreur Init(
     CObjetDonneeAIdNumeriqueAuto objetRoot,
     string strProprieteListeFils,
     string strChampParent,
     string strProprieteAffichee,
     CFiltreData filtre)
 {
     m_typeObjets              = objetRoot.GetType();;
     m_objetRoot               = objetRoot;
     m_strProprieteListeFils   = strProprieteListeFils;
     m_strChampParent          = strChampParent;
     m_strDefProprieteAffichee = strProprieteAffichee;
     SetupFormuleLibelle();
     if (filtre != null &&
         filtre.HasFiltre)
     {
         m_filtre = filtre;
     }
     PrepareFiltre();
     Nodes.Clear();
     FillNodes(null, null);
     return(CResultAErreur.True);
 }
 //-------------------------------------------------------------------
 private void CorrigeModifsPossibles()
 {
     foreach (ListViewItem item in m_listView.Items)
     {
         CObjetDonneeAIdNumeriqueAuto objet = (CObjetDonneeAIdNumeriqueAuto)item.Tag;
         bool bCreate = item.Checked;
         if (ExclusionParException)
         {
             bCreate = !bCreate;
         }
         if (!bCreate)
         {
             if (m_hashtableObjets[objet] != null)
             {
                 CObjetDonnee obj = (CObjetDonnee)m_hashtableObjets[objet];
                 if (!obj.CanDelete())
                 {
                     item.Checked = !ExclusionParException;
                 }
             }
         }
     }
 }