//------------------------------------------------------------------------------ public void ReactualiserArbre() { m_bCmbArbreInitialisee = false; Type typeConsulte = null; CListeObjetsDonnees lst = new CListeObjetsDonnees(CSc2iWin32DataClient.ContexteCourant, typeof(CConsultationHierarchique)); if (m_elementEdite != null) { lst.Filtre = new CFiltreData(CConsultationHierarchique.c_champTypeSource + " = @1", m_elementEdite.GetType().ToString()); typeConsulte = m_elementEdite.GetType(); } else { lst.Filtre = new CFiltreData(CConsultationHierarchique.c_champTypeSource + " = @1", ""); } m_cmbArbreHierarchique.Init(lst, "Libelle", true); m_cmbArbreHierarchique.AssureRemplissage(); int nIdLastConsultationUtilisee = new CTimosAppRegistre().GetLastIdConsultationHierarchiqueForGED(typeConsulte); if (nIdLastConsultationUtilisee >= 0) { CConsultationHierarchique cslt = new CConsultationHierarchique(CSc2iWin32DataClient.ContexteCourant); if (cslt.ReadIfExists(nIdLastConsultationUtilisee)) { m_cmbArbreHierarchique.ElementSelectionne = cslt; } } if (m_cmbArbreHierarchique.ElementSelectionne == null && m_cmbArbreHierarchique.Items.Count > 0) { m_cmbArbreHierarchique.SelectedIndex = 0; } m_bCmbArbreInitialisee = true; m_panelConsultationHierarchique.Visible = lst.Count > 0; }
public override CContexteFormNavigable GetContexte() { CContexteFormNavigable contexte = base.GetContexte(); if (contexte == null) { return(null); } if (m_objetForGED != null) { contexte["TYPE_OBJET"] = m_objetForGED.GetType(); contexte["ID_OBJET"] = m_objetForGED.Id; } return(contexte); }
//------------------------------------------------------------------- //Lie un document à un élément //Le data du result contient le CRelationElementToDocument public CResultAErreur LinkTo(IObjetDonneeAIdNumerique objet) { CResultAErreur result = CResultAErreur.True; if (objet == null) { return(result); } CRelationElementToDocument relationToDoc = new CRelationElementToDocument(ContexteDonnee); CFiltreData filtre = new CFiltreData(c_champId + "=@1 and " + CRelationElementToDocument.c_champIdElement + "=@2 and " + CRelationElementToDocument.c_champTypeElement + "=@3", Id, objet.Id, objet.GetType().ToString()); if (!relationToDoc.ReadIfExists(filtre)) { relationToDoc = new CRelationElementToDocument(ContexteDonnee); relationToDoc.CreateNewInCurrentContexte(); relationToDoc.DocumentGed = this; relationToDoc.ElementLie = objet; } result.Data = relationToDoc; return(result); }
public CContexteFormNavigable GetContexte() { CContexteFormNavigable contexte = new CContexteFormNavigable(GetType()); if (m_elementForGED != null) { contexte["TYPE_OBJET"] = m_elementForGED.GetType(); contexte["ID_OBJET"] = m_elementForGED.Id; } if (AfterGetContexte != null) { AfterGetContexte(this, contexte); } return(contexte); }
//------------------------------------------------------------------ public static CListeObjetsDonnees GetEntitesOrganisationnellesDirectementLiees(IObjetDonneeAIdNumerique objet) { CFiltreData filtre = new CFiltreData( CRelationElement_EO.c_champTypeElement + "=@1 and " + CRelationElement_EO.c_champIdElement + "=@2", objet.GetType().ToString(), objet.Id); CListeObjetsDonnees liste = new CListeObjetsDonnees(objet.ContexteDonnee, typeof(CRelationElement_EO)); liste.Filtre = filtre; return(liste.GetDependances("EntiteOrganisationnelle")); }
//------------------------------------------------------------------ public static CListeObjetsDonnees GetRelationsSelections(IObjetDonneeAIdNumerique objet) { CFiltreData filtre = new CFiltreData( CRelationBesoinQuantite_Element.c_champTypeElement + "=@1 and " + CRelationBesoinQuantite_Element.c_champIdElement + "=@2", objet.GetType().ToString(), objet.Id); CListeObjetsDonnees liste = new CListeObjetsDonnees(objet.ContexteDonnee, typeof(CRelationBesoinQuantite_Element)); liste.Filtre = filtre; return(liste); }
private void m_lnkDissocierElementEnCours_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (m_elementSelectionne != null) { List <string> listeIdsDocuments = new List <string>(); foreach (CDocumentGED document in m_panelListDocumentsGED.ElementsSelectionnes) { listeIdsDocuments.Add(document.Id.ToString()); } int nbSelectionne = listeIdsDocuments.Count(); if (nbSelectionne == 0) { CFormAlerte.Afficher(I.T("No Document selected to dissociate|10334")); } else { DialogResult reponse = CFormAlerte.Afficher(I.T("Dissociate @1 document(s) from '@2'. Do you Confirm?|10335", nbSelectionne.ToString(), m_elementSelectionne.DescriptionElement), EFormAlerteType.Question); if (reponse == DialogResult.Yes) { using (CContexteDonnee ctx = CSc2iWin32DataClient.ContexteCourant.GetContexteEdition()) { CListeObjetsDonnees listeRelationsASupprimer = new CListeObjetsDonnees(ctx, typeof(CRelationElementToDocument)); listeRelationsASupprimer.Filtre = new CFiltreData( CRelationElementToDocument.c_champTypeElement + " = @1 AND " + CRelationElementToDocument.c_champIdElement + " = @2 AND " + CDocumentGED.c_champId + " in (" + string.Join(",", listeIdsDocuments.ToArray()) + ")", m_elementSelectionne.GetType().ToString(), m_elementSelectionne.Id); if (listeRelationsASupprimer.Count > 0) { CObjetDonneeAIdNumerique.Delete(listeRelationsASupprimer, true); } CResultAErreur result = ctx.CommitEdit(); if (!result) { CFormAlerte.Afficher(result.Erreur); } else { InitPanelList(m_elementSelectionne); } } } } } }
/// <summary> /// Retourne les caractéristiques d'un élément /// </summary> /// <param name="element"></param> /// <returns></returns> public static CListeObjetsDonnees GetCaracteristiques(IObjetDonneeAIdNumerique element) { CFiltreData filtre = null; if (element == null) { filtre = new CFiltreDataImpossible(); } else { filtre = new CFiltreData(CCaracteristiqueEntite.c_champTypeElement + "=@1 and " + CCaracteristiqueEntite.c_champIdElementLie + "=@2", element.GetType().ToString(), ((IObjetDonneeAIdNumerique)element).Id); } return(new CListeObjetsDonnees(element.ContexteDonnee, typeof(CCaracteristiqueEntite), filtre)); }
//////////////////////////////////////////////////////////////////////// public static CListeObjetsDonnees GetListeDocumentsForElement(IObjetDonneeAIdNumerique objet) { if (objet == null) { return(null); } CFiltreData filtre = new CFiltreDataAvance( CDocumentGED.c_nomTable, CRelationElementToDocument.c_nomTable + "." + CRelationElementToDocument.c_champIdElement + "=@1 and " + CRelationElementToDocument.c_nomTable + "." + CRelationElementToDocument.c_champTypeElement + "=@2", objet.Id, objet.GetType().ToString()); CListeObjetsDonnees liste = new CListeObjetsDonnees(objet.ContexteDonnee, typeof(CDocumentGED)); liste.RemplissageProgressif = true; liste.Filtre = filtre; return(liste); }
//------------------------------------------------------------------------------ private void FillCategoriesForElement(IObjetDonneeAIdNumerique element) { CFiltreData filtreCategories; if (element != null && !m_chkToutesCategories.Checked) { filtreCategories = new CFiltreDataAvance( CCategorieGED.c_nomTable, CRelationDocumentGED_Categorie.c_nomTable + "." + CDocumentGED.c_nomTable + "." + CRelationElementToDocument.c_nomTable + "." + CRelationElementToDocument.c_champIdElement + " = @1 AND " + CRelationDocumentGED_Categorie.c_nomTable + "." + CDocumentGED.c_nomTable + "." + CRelationElementToDocument.c_nomTable + "." + CRelationElementToDocument.c_champTypeElement + " = @2", element.Id, element.GetType().ToString() ); } else { filtreCategories = null; } m_arbreCategories.AddRootForAll = true; m_arbreCategories.RootLabel = I.T("All categories|20246"); CTreeViewNodeKeeper keeper = new CTreeViewNodeKeeper(m_arbreCategories); m_arbreCategories.Init( typeof(CCategorieGED), "CategoriesFilles", CCategorieGED.c_champIdParent, "Libelle", filtreCategories, null); m_arbreCategories.CheckBoxes = false; keeper.Apply(m_arbreCategories); }
//------------------------------------------------------------------- protected override void InitPanel() { //N'affiche que les éléments avec catégorie et non liés à un //élément. if (m_filtreDeBaseOriginal == null) { m_filtreDeBaseOriginal = FiltreDeBase; } CFiltreData filtreDeBase = m_filtreDeBaseOriginal; if (m_objetForSuivi != null) { filtreDeBase = CFiltreData.GetAndFiltre(filtreDeBase, new CFiltreData( CDossierSuivi.c_champTypeElementLie + "=@1 and " + CDossierSuivi.c_champIdElementLie + "=@2", m_objetForSuivi.GetType().ToString(), m_objetForSuivi.Id)); } if (ContexteUtilisation.Trim() != "") { m_chkOnlyPrincipaux.Visible = false; m_chkOnlyPrincipaux.Checked = false; } if (m_chkOnlyPrincipaux.Checked) { CFiltreData filtre = new CFiltreDataAvance( CDossierSuivi.c_nomTable, "hasno(" + CDossierSuivi.c_champIdDossierParent + ")"); filtreDeBase = CFiltreData.GetAndFiltre(filtre, filtreDeBase); } bool bOldVal = m_panelListe.FiltreDeBaseEnAjout; m_panelListe.FiltreDeBaseEnAjout = false; m_panelListe.FiltreDeBase = filtreDeBase; m_panelListe.FiltreDeBaseEnAjout = bOldVal; //m_panelListe.ControlFiltreStandard = new CPanelFiltreDocumentGed(); m_panelListe.InitFromListeObjets( m_listeObjets, typeof(CDossierSuivi), null, ""); //S'il n'existe aucun type de dossier pour le type de l'élément, le bouton //AJoute est masqué. CListeObjetsDonnees liste = new CListeObjetsDonnees(CSc2iWin32DataClient.ContexteCourant, typeof(CTypeDossierSuivi)); if (m_objetForSuivi != null) { liste.Filtre = new CFiltreData(CTypeDossierSuivi.c_champTypeSuivi + "=@1", m_objetForSuivi.GetType().ToString()); } else { liste.Filtre = new CFiltreData(CTypeDossierSuivi.c_champTypeSuivi + "=@1", ""); } m_panelListe.BoutonAjouterVisible = liste.Count > 0 && m_panelListe.BoutonAjouterVisible; m_panelListe.RemplirGrille(); if (m_objetForSuivi == null) { m_lnkElement.Visible = false; } else { m_lnkElement.Visible = true; m_lnkElement.Text = m_objetForSuivi.DescriptionElement; } }
/// //////////////////////////////////////////////////////// public static CResultAErreur SerializeValeurVariable( ref object valeur, IVariableDynamique variable, C2iSerializer serializer, CContexteDonnee contexteDonnee, bool bAvecCompatibiliteSurVersionQuiTravaillaitDirectementDansCProcess) { int nVersion = GetNumVersion(); CResultAErreur result = CResultAErreur.True; if (!bAvecCompatibiliteSurVersionQuiTravaillaitDirectementDansCProcess) { result = serializer.TraiteVersion(ref nVersion); } if (!result) { return(result); } if (variable is CVariableDynamiqueSaisie || variable is CVariableDynamiqueSelectionObjetDonnee) { result = serializer.TraiteObjetSimple(ref valeur); } else { if (nVersion <= 11 && variable.GetType().ToString().IndexOf("CVariableProcessTypeComplexe") < 0) { //Avant, on ne serialisait que les variables complexes return(result); } Type tp = variable.TypeDonnee.TypeDotNetNatif; if (tp == typeof(int) || tp == typeof(double) || tp == typeof(string) || tp == typeof(DateTime) || tp == typeof(bool)) { if (nVersion >= 5) { if (variable.TypeDonnee.IsArrayOfTypeNatif) { IList lst = valeur as IList; serializer.TraiteListeObjetsSimples(ref lst); if (serializer.Mode == ModeSerialisation.Lecture) { valeur = lst; } } else { serializer.TraiteObjetSimple(ref valeur); } } } else if (typeof(IObjetDonneeAIdNumerique).IsAssignableFrom(tp)) #region ObjetAIdNumerique AUTO { if (!variable.TypeDonnee.IsArrayOfTypeNatif) { IObjetDonneeAIdNumerique objet = (IObjetDonneeAIdNumerique)valeur; SerializeObjetAIdAuto(nVersion, objet == null ? tp : objet.GetType(), ref objet, serializer, contexteDonnee); valeur = objet; } else { int nNb = 0; if (valeur != null) { nNb = ((IList)valeur).Count; } serializer.TraiteInt(ref nNb); switch (serializer.Mode) { case ModeSerialisation.Ecriture: if (valeur != null) { foreach (IObjetDonneeAIdNumerique objet in (IList)valeur) { IObjetDonneeAIdNumerique objetForRef = objet; SerializeObjetAIdAuto(nVersion, objetForRef == null ? tp : objetForRef.GetType(), ref objetForRef, serializer, contexteDonnee); } } break; case ModeSerialisation.Lecture: ArrayList lst = new ArrayList(); for (int nElt = 0; nElt < nNb; nElt++) { IObjetDonneeAIdNumerique element = null; SerializeObjetAIdAuto(nVersion, tp, ref element, serializer, contexteDonnee); if (element != null) { lst.Add(element); } } valeur = (IObjetDonneeAIdNumerique[])lst.ToArray(typeof(IObjetDonneeAIdNumeriqueAuto)); break; } } } else if (variable.TypeDonnee.TypeDotNetNatif.GetCustomAttributes(typeof(SerializableAttribute), true).Length > 0) { if (nVersion >= 13) { bool bHasObjet = valeur != null; serializer.TraiteBool(ref bHasObjet); if (bHasObjet) { result = serializer.TraiteSerializable(ref valeur); } } } #endregion } return(result); }