//------------------------------------------------------------------------- protected override CResultAErreur MyInitChamps() { CResultAErreur result = base.MyInitChamps(); AffecterTitre(I.T("Ticket Origin|502" + ": " + OrigineTicket.Libelle)); CListeObjetsDonnees listeFormulaires = new CListeObjetsDonnees(OrigineTicket.ContexteDonnee, typeof(CFormulaire)); listeFormulaires.Filtre = CFormulaire.GetFiltreFormulairesForRole(OrigineTicket.RoleChampCustomDesElementsAChamp.CodeRole); /* new CFiltreData( * CFormulaire.c_champCodeRole + "=@1", * OrigineTicket.RoleChampCustomDesElementsAChamp.CodeRole);*/ m_cmbxSelectFormulaire.Init( listeFormulaires, "Libelle", true); m_cmbxSelectFormulaire.ElementSelectionne = OrigineTicket.Formulaire; //InitApercuFormulaire(); return(result); }
//------------------------------------------------ public void Init(CDossierSuivi sousDossier) { if (m_createur == null) { m_createur = new CCreateur2iFormulaireObjetDonnee(sousDossier.ContexteDonnee.IdSession); } m_dossier = sousDossier; if (sousDossier.TypeDossier.FormulaireResume == null) { m_formulaireAffiche = null; m_panelFormulaire.Visible = false; return; } m_panelFormulaire.Visible = true; if (m_formulaireAffiche == null || m_formulaireAffiche != sousDossier.TypeDossier.FormulaireResume) { m_formulaireAffiche = sousDossier.TypeDossier.FormulaireResume; foreach (Control ctrl in m_panelFormulaire.Controls) { ctrl.Visible = false; ctrl.Dispose(); } m_panelFormulaire.Controls.Clear(); m_createur.CreateControlePrincipalEtChilds(m_panelFormulaire, m_formulaireAffiche.Formulaire, new CFournisseurGeneriqueProprietesDynamiques()); } m_createur.ElementEdite = sousDossier; }
//------------------------------------------------------------------------- protected override void InitPanel() { if (m_strCodeRole != "") { m_panelListe.FiltreDeBase = CFormulaire.GetFiltreFormulairesForRole(m_strCodeRole); } /*m_panelListe.FiltreDeBase = new CFiltreData ( * CFormulaire.c_champCodeRole+"=@1", * m_strCodeRole );*/ if (FiltreDeBase == null) { FiltreDeBase = new CFiltreData( CFormulaire.c_champCodeRole + "<>@1 or " + CFormulaire.c_champCodeRole + " is null", sc2i.custom.CRoleFormulaireSurImpressionWin32.c_roleChampCustom); } m_panelListe.InitFromListeObjets( m_listeObjets, typeof(CFormulaire), typeof(CFormEditionFormulaireAvance), null, ""); m_panelListe.RemplirGrille(); m_panelListe.ControlFiltreStandard = new CPanelFiltreFormulaire(); m_panelListe.MultiSelect = true; }
//------------------------------------------------------------------------- public CFormEditionFormulaire(CFormulaire formulaire, CListeObjetsDonnees liste) : base(formulaire, liste) { // Cet appel est requis par le Concepteur Windows Form. InitializeComponent(); MyInit(); }
public void AppliquerFiltre() { Filtre = new CFiltreData( ); if (m_cmbRole.SelectedValue is CRoleChampCustom) { Filtre = CFormulaire.GetFiltreFormulairesForRole(((CRoleChampCustom)m_cmbRole.SelectedValue).CodeRole); /* Filtre.Filtre = CFormulaire.c_champCodeRole + "=@1"; * Filtre.Parametres.Add(((CRoleChampCustom)m_cmbRole.SelectedValue).CodeRole);*/ } if (m_txtLibelle.Text != string.Empty) { if (Filtre.Filtre != string.Empty) { Filtre.Filtre += " AND " + CFormulaire.c_champLibelle + " LIKE @2"; } else { Filtre.Filtre = CFormulaire.c_champLibelle + " LIKE @1"; } Filtre.Parametres.Add("%" + m_txtLibelle.Text + "%"); } OnAppliqueFiltre(new object(), null); }
/// ////////////////////////////////////////////////////////////////// protected static CResultAErreur ExecuteActionFormulaireCustom(CActionSur2iLinkAfficheFormulaireCustom action, object objetCible) { CResultAErreur result = CResultAErreur.True; CFormulaire formulaire = new CFormulaire(CSc2iWin32DataClient.ContexteCourant); if (formulaire.ReadIfExists(action.IdFormulaireInDb)) { if (formulaire.Role != null) { bool bObjetOk = false; if (objetCible != null) { CRoleChampCustom role = CRoleChampCustom.GetRoleForType(objetCible.GetType()); if (role != null && formulaire.HasRole(role.CodeRole)) { bObjetOk = true; } } if (!bObjetOk) { result.EmpileErreur(I.T("The object does not correspond to the expected type of the form|30091")); return(result); } } CTimosApp.Navigateur.AffichePage(new CFormFormulaireCustom(formulaire, objetCible)); } else { result.EmpileErreur(I.T("Form|30092") + action.IdFormulaireInDb + (I.T(" does not exist |30093"))); } return(result); }
//------------------------------------------------------------------------ private void m_lnkSelectFormulaires_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { C2iExpression formule = GetFormuleValideElementEdite(m_txtFormuleElementEdite); if (formule != null) { Type tpEdite = formule.TypeDonnee.TypeDotNetNatif; CFiltreData filtre = new CFiltreData(CFormulaire.c_champTypeElementEdite + "=@1", tpEdite.ToString()); CRoleChampCustom role = CRoleChampCustom.GetRoleForType(tpEdite); if (role != null) { filtre = CFiltreData.GetOrFiltre(filtre, CFormulaire.GetFiltreFormulairesForRole(role.CodeRole)); } CListeObjetDonneeGenerique <CFormulaire> listeFormulaires = new CListeObjetDonneeGenerique <CFormulaire>( CSc2iWin32DataClient.ContexteCourant, filtre); m_menuFormulaires.Items.Clear(); foreach (CFormulaire formulaire in listeFormulaires) { CDbKey nKeyForm = formulaire.DbKey; ToolStripMenuItem itemForm = new ToolStripMenuItem(formulaire.Libelle); itemForm.Tag = nKeyForm; itemForm.Checked = m_listeDbKeysFormulaires.Contains(nKeyForm); itemForm.Click += new EventHandler(itemForm_Click); itemForm.Enabled = true; m_menuFormulaires.Items.Add(itemForm); } m_menuFormulaires.Show(m_lnkSelectFormulaires, new Point(0, m_lnkSelectFormulaires.Height)); } }
//------------------------------------------------------------------------- protected override CResultAErreur MyInitChamps() { CResultAErreur result = base.MyInitChamps(); AffecterTitre(I.T("Contract Type|1128") + " " + TypeContrat.Libelle); CListeObjetsDonnees listeOcc = new CListeObjetsDonnees(TypeContrat.ContexteDonnee, typeof(CTypeOccupationHoraire)); CListeObjetsDonnees liste = new CListeObjetsDonnees(TypeContrat.ContexteDonnee, typeof(CFormulaire)); liste.Filtre = CFormulaire.GetFiltreFormulairesForRole(CContrat.c_roleChampCustom); m_cmbFormulaire.Init(liste, "Libelle", false); m_cmbFormulaire.ElementSelectionne = TypeContrat.Formulaire; // Options if (TypeContrat.GestionSitesManuel) { m_radio_sites_manuels.Checked = true; } else { m_radio_Sites_Auto.Checked = true; } return(result); }
public CRelationComposantPhysiqueFormulaire( CComposantPhysiqueInDb composant, CFormulaire formulaire) { m_composant = composant; m_formulaire = formulaire; }
//------------------------------------------------------------------------- public CFormEditionFormulaire(CFormulaire formulaire, Image imageFond, Type typeAssocie) : base(formulaire) { InitializeComponent(); MyInit(); m_imageFond = imageFond; m_typeAssocie = typeAssocie; }
//------------------------------------------------ private void InitListeFormulaires(bool bForcer) { CFormulaire old = m_selectFormulaire.SelectedObject as CFormulaire; m_selectFormulaire.InitAvecFiltreDeBase(typeof(CFormulaire), "Libelle", CFormulaire.GetFiltreFormulairesForRole(CTypeEquipement.c_roleChampCustom), bForcer); m_selectFormulaire.SelectedObject = old; }
//--------------------------------------------------------------------------- public CFormulaire[] GetFormulaires() { CListeObjetsDonnees listeFormulaires = new CListeObjetsDonnees(ContexteDonnee, typeof(CFormulaire)); listeFormulaires.Filtre = CFormulaire.GetFiltreFormulairesForRole(c_roleChampCustom); /*new CFiltreData( * CFormulaire.c_champCodeRole + "=@1", * c_roleChampCustom);*/ return((CFormulaire[])listeFormulaires.ToArray(typeof(CFormulaire))); }
//------------------------------------------------------------------------- private void FillListeChamps(CRestrictionUtilisateurSurType restriction) { m_wndListeChamps.BeginUpdate(); m_wndListeChamps.Items.Clear(); CInfoStructureDynamique info = CInfoStructureDynamique.GetStructure(restriction.TypeAssocie, 0); List <ListViewItem> lstItems = new List <ListViewItem>(); foreach (CInfoChampDynamique champ in info.Champs) { string strTmp = ""; CDefinitionProprieteDynamique def = CConvertisseurInfoStructureDynamiqueToDefinitionChamp.GetDefinitionProprieteDynamique(champ.NomPropriete, ref strTmp); //Uniquement les propriétés "classiques" //voir CTimosApp.GetStructure if (def != null && typeof(CDefinitionProprieteDynamiqueDotNet).IsAssignableFrom(def.GetType())) { ListViewItem item = new ListViewItem(); item.Text = champ.NomChamp; item.Tag = def.NomProprieteSansCleTypeChamp; item.ImageIndex = GetIndexImage(restriction.GetRestriction(def.NomProprieteSansCleTypeChamp)); lstItems.Add(item); } } lstItems.Sort((x, y) => x.Text.CompareTo(y.Text)); if (typeof(IElementAChamps).IsAssignableFrom(restriction.TypeAssocie)) { CRoleChampCustom role = CRoleChampCustom.GetRoleForType(restriction.TypeAssocie); if (role != null) { CListeObjetsDonnees listeChampsCustom = CChampCustom.GetListeChampsForRole(CContexteDonneeSysteme.GetInstance(), role.CodeRole); foreach (CChampCustom champ in listeChampsCustom) { ListViewItem item = new ListViewItem(); item.Text = champ.Nom; item.Tag = champ.CleRestriction; item.ImageIndex = GetIndexImage(restriction.GetRestriction(champ.CleRestriction)); lstItems.Add(item); } lstItems.Sort((x, y) => x.Text.CompareTo(y.Text)); CListeObjetsDonnees listeFormulaires = new CListeObjetsDonnees(CContexteDonneeSysteme.GetInstance(), typeof(CFormulaire)); listeFormulaires.Filtre = CFormulaire.GetFiltreFormulairesForRole(role.CodeRole); foreach (CFormulaire formulaire in listeFormulaires) { ListViewItem item = new ListViewItem(); item.Text = "{" + formulaire.Libelle + "}"; item.Tag = formulaire.CleRestriction; item.ImageIndex = GetIndexImage(restriction.GetRestriction(formulaire.CleRestriction)); lstItems.Add(item); } } } m_wndListeChamps.Items.AddRange(lstItems.ToArray()); m_wndListeChamps.EndUpdate(); }
//---------------------------------------------------- public CFormulaire[] GetFormulaires() { CFormulaire formulaire = null; if (TypeContrat != null) { formulaire = TypeContrat.Formulaire; } if (formulaire != null) { return new CFormulaire[] { formulaire } } ; return(new CFormulaire[0]); }
//------------------------------------------------------------------------- protected override CResultAErreur MyInitChamps() { CResultAErreur result = base.MyInitChamps(); AffecterTitre(I.T("Actor activity type|30194") + " " + TypeActiviteActeur.Libelle); CListeObjetsDonnees liste = new CListeObjetsDonnees(TypeActiviteActeur.ContexteDonnee, typeof(CFormulaire)); liste.Filtre = CFormulaire.GetFiltreFormulairesForRole(CActiviteActeur.c_roleChampCustom); m_cmbFormulaire.Init(liste, "Libelle", false); m_cmbFormulaire.ElementSelectionne = TypeActiviteActeur.Formulaire; return(result); }
//-------------------------------------------------------------------------------------- public void InitChamps(sc2i.formulaire.CActionSur2iLink action, sc2i.expression.CObjetPourSousProprietes objetPourSousProprietes) { m_actionEditee = action as CActionSur2iLinkAfficheFormulaireCustom; if (m_actionEditee == null) { Visible = false; return; } m_objetPourSousProprietes = objetPourSousProprietes; Visible = true; CFormulaire formulaire = new CFormulaire(CSc2iWin32DataClient.ContexteCourant); if (formulaire.ReadIfExists(m_actionEditee.IdFormulaireInDb)) { m_cmbFormulaireCustom.SelectedValue = formulaire; } }
/// //////////////////////////////////////////////////////////////////////// public void InitPanel ( IDefinisseurChampCustomRelationObjetDonnee definisseur, Type typeFormGererChamps, Type typeFormGererFormulaires ) { m_definisseur = definisseur; m_typeFormGererChamps = typeFormGererChamps; m_typeFormGererFormulaires = typeFormGererFormulaires; if (m_bAvecAffectationDirecteDesChamps) { CListeObjetsDonnees listeChamps = new CListeObjetsDonnees(definisseur.ContexteDonnee, typeof(CChampCustom)); listeChamps.Filtre = CChampCustom.GetFiltreChampsForRole(definisseur.RoleChampCustomDesElementsAChamp.CodeRole); m_panelListeChampsCustom.Init( listeChamps, m_definisseur.RelationsChampsCustomListe, (CObjetDonneeAIdNumeriqueAuto)definisseur, "Definisseur", "ChampCustom" ); } CListeObjetsDonnees listeFormulaires = new CListeObjetsDonnees(definisseur.ContexteDonnee, typeof(CFormulaire)); listeFormulaires.Filtre = CFormulaire.GetFiltreFormulairesForRole(definisseur.RoleChampCustomDesElementsAChamp.CodeRole); //listeFormulaires.Filtre = new CFiltreData(CFormulaire.c_champCodeRole + "=@1", definisseur.RoleChampCustomDesElementsAChamp.CodeRole); m_panelListeFormulaires.Init( listeFormulaires, m_definisseur.RelationsFormulairesListe, (IObjetAContexteDonnee)definisseur, "Definisseur", "Formulaire" ); m_panelListeChampsCustom.RemplirGrille(); m_panelListeFormulaires.RemplirGrille(); if (!m_bAvecAffectationDirecteDesChamps) { m_panelConteneurGererChamps.Visible = false; } }
public CGroupeChamps(DataSet ds, CFormulaire formulaire, CTodoTimosWebApp todo, bool bIsInfosSecondaires, bool bIsEditable) { DataTable dt = ds.Tables[c_nomTable]; if (dt == null) { return; } DataRow row = dt.NewRow(); int nIdFormulaire = -1; string strTitreFormulaire = ""; int nOrdreAffichage = 0; if (formulaire != null) { m_formulaire = formulaire; nIdFormulaire = formulaire.Id; C2iWndFenetre fenetre = formulaire.Formulaire; if (fenetre != null && fenetre.Text != "") { strTitreFormulaire = fenetre.Text; } else { strTitreFormulaire = formulaire.Libelle; } nOrdreAffichage = formulaire.NumeroOrdre; } row[c_champId] = nIdFormulaire; row[c_champTitre] = strTitreFormulaire; row[c_champOrdreAffichage] = nOrdreAffichage; row[c_champIsInfosSecondaires] = bIsInfosSecondaires; row[c_champCanAddCaracteristiques] = false; row[c_champTitreCaracteristiques] = ""; row[c_champIsEditable] = bIsEditable; m_row = row; dt.Rows.Add(row); m_todo = todo; m_bIsInfosSecondaires = bIsInfosSecondaires; }
//---------------------------------------------------- public CFormulaire[] GetFormulaires() { ArrayList listForm = new ArrayList(); CFormulaire formulaire = null; if (TypeOperation != null) { formulaire = TypeOperation.FormulaireCompteRendu; if (formulaire != null) { listForm.Add(formulaire); } formulaire = TypeOperation.FormulaireOpPrevisionnelle; if (formulaire != null) { listForm.Add(formulaire); } } return((CFormulaire[])listForm.ToArray(typeof(CFormulaire))); }
//------------------------------------------------------- private void InitSelectFormulaire(CTextBoxZoomFormule editeur) { if (editeur == null) { return; } C2iExpression formule = GetFormuleValideElementEdite(editeur); CFormulaire formulaireSel = null; C2iTextBoxFiltreRapide selecteur = null; if (editeur == m_txtFormuleElementSecondaire) { formulaireSel = m_txtSelectFormulaireSecondaire.ElementSelectionne as CFormulaire; selecteur = m_txtSelectFormulaireSecondaire; } if (formule != null && selecteur != null) { Type tpEdite = formule.TypeDonnee.TypeDotNetNatif; CFiltreData filtre = new CFiltreData(CFormulaire.c_champTypeElementEdite + "=@1", tpEdite.ToString()); CRoleChampCustom role = CRoleChampCustom.GetRoleForType(tpEdite); if (role != null) { filtre = CFiltreData.GetOrFiltre(filtre, CFormulaire.GetFiltreFormulairesForRole(role.CodeRole)); } selecteur.InitAvecFiltreDeBase(typeof(CFormulaire), "Libelle", filtre, true); if (formulaireSel != null && formulaireSel.TypeElementEdite == tpEdite) { selecteur.ElementSelectionne = formulaireSel; } else { selecteur.ElementSelectionne = null; } } }
/// ////////////////////////////////////////////////// public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CFormulaire formulaire = (CFormulaire)objet; if (formulaire.Libelle.Trim() == "") { result.EmpileErreur(I.T("The form name cannot be empty|119")); } if (!CObjetDonneeAIdNumerique.IsUnique(formulaire, CFormulaire.c_champLibelle, formulaire.Libelle)) { result.EmpileErreur(I.T("The form name '@1' is already used|120", formulaire.Libelle)); } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
public CResultAErreur InitChamps(CTypeEntiteOrganisationnelle typeEntite) { CResultAErreur result = CResultAErreur.True; if (typeEntite != null) { Visible = true; if (!m_bComboFormInit) { CListeObjetsDonnees lste = new CListeObjetsDonnees(typeEntite.ContexteDonnee, typeof(CFormulaire)); lste.Filtre = CFormulaire.GetFiltreFormulairesForRole(CRelationElement_EO.c_roleChampCustom); //lste.Filtre = new CFiltreData(CFormulaire.c_champCodeRole + "=@1", CRelationElement_EO.c_roleChampCustom); m_comboFormulaire.Init(lste, "Libelle", false); } m_typeEntiteOrganisationnelle = typeEntite; CListeObjetsDonnees rels = typeEntite.RelationsFormulairesParType; rels.Filtre = new CFiltreData(CRelationTypeEO_FormulaireParType.c_champType + "=@1", m_typeAssocie.ToString()); if (rels.Count == 1) { CRelationTypeEO_FormulaireParType rel = (CRelationTypeEO_FormulaireParType)rels[0]; m_comboFormulaire.ElementSelectionne = rel.Formulaire; m_relationEditee = rel; } else { m_comboFormulaire.ElementSelectionne = null; m_relationEditee = null; } } else { Visible = false; m_typeEntiteOrganisationnelle = null; m_relationEditee = null; } return(result); }
//--------------------------------------------------------- private void ChangeElementAChamps(object element) { if (m_panelChamps.ElementEdite != null) { m_panelChamps.AffecteValeursToElement(); } if (element != null) { IDefinisseurChampCustom[] definisseurs = ((IElementAChamps)element).DefinisseursDeChamps; if (definisseurs.Length != 0) { IDefinisseurChampCustom definisseur = definisseurs[0]; IRelationDefinisseurChamp_Formulaire[] rels = definisseur.RelationsFormulaires; if (rels.Length > 0) { CFormulaire formulaire = rels[0].Formulaire; m_panelChamps.InitPanel(formulaire.Formulaire, element); return; } } } m_panelChamps.InitPanel(null, null); }
//-------------------------------------------- private void InitFormulaire(CFormulaire formulaire) { m_panelFormulaire.SuspendDrawing(); int nIdFormulaire = formulaire != null?formulaire.Id:-1; foreach (KeyValuePair <int, CPanelFormulaireSurElement> kv in m_dicFormulaireToPanelControles) { if (kv.Key != nIdFormulaire) { kv.Value.Visible = false; } } m_panelFormulaireEnCours = null; if (formulaire != null) { CPanelFormulaireSurElement panel = null; if (!m_dicFormulaireToPanelControles.TryGetValue(nIdFormulaire, out panel)) { panel = new CPanelFormulaireSurElement(); m_panelFormulaire.Controls.Add(panel); panel.Dock = DockStyle.Fill; m_dicFormulaireToPanelControles[nIdFormulaire] = panel; } if (panel.ElementEdite != Operation) { panel.InitPanel(formulaire.Formulaire, Operation); } panel.Visible = true; panel.LockEdition = LockEdition; panel.Size = formulaire.Formulaire.Size; panel.AutoSize = formulaire.Formulaire.AutoSize; panel.AutoScroll = !formulaire.Formulaire.AutoSize; m_panelFormulaire.Height = panel.Height + 3; m_panelFormulaireEnCours = panel; } m_panelFormulaire.ResumeDrawing(); }
public sc2i.common.CResultAErreur InitFromContexte(CContexteFormNavigable contexte) { if (contexte["ID_FORMULAIRE"] != null) { int nIdFormulaire = (int)contexte["ID_FORMULAIRE"]; m_formulaire = new CFormulaire(CSc2iWin32DataClient.ContexteCourant); if (!m_formulaire.ReadIfExists(nIdFormulaire)) { m_formulaire = null; } } if (contexte["OBJET_EDITE"] is CReferenceObjetDonnee) { m_objetEdite = ((CReferenceObjetDonnee)contexte["OBJET_EDITE"]).GetObjet(CSc2iWin32DataClient.ContexteCourant); } List <CReferenceObjetDonnee> lstRefs = contexte["OBJETS_EDITES"] as List <CReferenceObjetDonnee>; if (lstRefs != null) { List <CObjetDonnee> lst = new List <CObjetDonnee>(); foreach (CReferenceObjetDonnee reference in lstRefs) { CObjetDonnee obj = reference.GetObjet(CSc2iWin32DataClient.ContexteCourant); if (obj != null) { lst.Add(obj); } } m_objetEdite = lst.ToArray(); } if (AfterInitFromContexte != null) { AfterInitFromContexte(this, contexte); } return(CResultAErreur.True); }
//---------------------------------------------------------------------------------- public static CReferenceTypeForm GetRefFormToEdit(Type typeAEditer, string strCode) { CListeObjetsDonnees lstFormulaires = new CListeObjetsDonnees(CSc2iWin32DataClient.ContexteCourant, typeof(CFormulaire)); lstFormulaires.Filtre = new CFiltreData( CFormulaire.c_champCodeFormulaire + " = @1 AND " + CFormulaire.c_champTypeElementEdite + " = @2", strCode, typeAEditer.ToString()); if (lstFormulaires.Count > 0) { // il y a un formulaire correspondant au code donné CFormulaire form = lstFormulaires[0] as CFormulaire; if (form != null) { CReferenceTypeFormDynamic tpFormDyn = new CReferenceTypeFormDynamic(); tpFormDyn.IdFormulaireInDb = form.DbKey; return(tpFormDyn); } } return(null); }
public CReferenceTypeFormDynamic(CFormulaire formulaire) { m_strLibelle = formulaire.Libelle; m_dbKeyFormIndb = formulaire.DbKey; }
/*/// ////////////////////////////////////////////////////////////////// * private static void CCreateur2iFormulaire_AfterCreateControl ( Control ctrl, C2iWnd wnd, object elementEdite ) * { * if ( wnd is C2iWndLink && ctrl is LinkLabel ) * { * ctrl.Tag = new CInfoLinkLabel((C2iWndLink)wnd, elementEdite); * ((LinkLabel)ctrl).LinkClicked += new LinkLabelLinkClickedEventHandler(CExecuteurActionSur2iLink_Click); * } * } * * static void CCreateur2iFormulaire_AfterChangeElementEdite(Control ctrl, C2iWnd wnd, object elementEdite) * { * if (wnd is C2iWndLink && ctrl is LinkLabel) * { * ctrl.Tag = new CInfoLinkLabel((C2iWndLink)wnd, elementEdite); * } * }*/ /*/// ////////////////////////////////////////////////////////////////// * private static void CExecuteurActionSur2iLink_Click ( object sender, LinkLabelLinkClickedEventArgs args ) * { * if (sender is LinkLabel && ((LinkLabel)sender).Tag is CInfoLinkLabel) * { * CInfoLinkLabel info = (CInfoLinkLabel)((LinkLabel)sender).Tag; * C2iWndLink link = info.WndLink; * object cible = info.Cible; * CResultAErreur result = CResultAErreur.True; * if ( link.ActionAssociee != null ) * { * Form frm = ((Control)sender).FindForm(); * if (cible == null) * { * if (frm != null && frm is IFormEditObjetDonnee) * cible = ((IFormEditObjetDonnee)frm).GetObjetEdite(); * } * if (frm != null && frm is CFormEditionStandard) * { * if (((CFormEditionStandard)frm).EtatEdition) * { * if (CFormAlerte.Afficher(I.T("This action will save your data. Continue ?|1253"), * EFormAlerteType.Question) == DialogResult.No) * return; * if (!((CFormEditionStandard)frm).OnClickValider()) * return; * ((CFormEditionStandard)frm).OnClickModifier(); * } * * } * if ( frm != null && frm is CFormListeStandard ) * { * if ( link.ActionAssociee.GetType() == typeof ( CActionSur2iLinkAfficheFormulaireCustom ) || * link.ActionAssociee.GetType() == typeof ( CActionSur2iLinkAfficherFormulaire ) || * link.ActionAssociee.GetType() == typeof ( CActionSur2iLinkAfficherListe )) * cible = ((CFormListeStandard)frm).ElementSelectionne; * else if ( link.ActionAssociee.GetType() == typeof ( CActionSur2iLinkExecuterProcess ) ) * cible = ((CFormListeStandard)frm).ElementsCoches; * } * result = ExecuteAction(link.ActionAssociee, cible); * if ( !result ) * CFormAlerte.Afficher ( result.Erreur ); * } * } * }*/ /// <summary> /// ////////////////////////////////////////////////////////////////// /// </summary> /// <param name="action"></param> /// <returns></returns> public static CResultAErreur ExecuteAction(object sender, CActionSur2iLink action, object objetCible) { CResultAErreur result = CResultAErreur.True; Form frm = null; if (!action.AutoriserEnEdition && sender != null && sender is Control) { frm = ((Control)sender).FindForm(); object cible = objetCible; if (cible == null) { if (frm != null && frm is IFormEditObjetDonnee) { cible = ((IFormEditObjetDonnee)frm).GetObjetEdite(); } } if (frm != null && frm is IFormEditObjetDonnee) { if (((IFormEditObjetDonnee)frm).EtatEdition) { if (CFormAlerte.Afficher(I.T("This action will save your data. Continue ?|1253"), EFormAlerteType.Question) == DialogResult.No) { return(result); } if (!((IFormEditObjetDonnee)frm).ValiderModifications()) { return(result); } CObjetDonnee obj = ((IFormEditObjetDonnee)frm).GetObjetEdite(); if (obj != null) { if (cible is CObjetDonnee) { cible = ((CObjetDonnee)cible).GetObjetInContexte(obj.ContexteDonnee); } } //((CFormEditionStandard)frm).OnClickModifier(); } } if (frm != null && frm is CFormListeStandard) { if ( action.GetType() == typeof(CActionSur2iLinkAfficherFormulaire) || action.GetType() == typeof(CActionSur2iLinkAfficherListe)) { cible = ((CFormListeStandard)frm).ElementSelectionne; } else { CActionSur2iLinkAfficheFormulaireCustom actionForm = action as CActionSur2iLinkAfficheFormulaireCustom; if (actionForm != null) { cible = ((CFormListeStandard)frm).ElementSelectionne; CFormulaire formulaire = new CFormulaire(CContexteDonneeSysteme.GetInstance()); if (formulaire.ReadIfExists(actionForm.IdFormulaireInDb)) { if (formulaire.ElementEditeIsArray) { cible = ((CFormListeStandard)frm).ElementsCoches; } } } else if (action.GetType() == typeof(CActionSur2iLinkExecuterProcess)) { cible = ((CFormListeStandard)frm).ElementsCoches; } } } objetCible = cible; } if (action is CActionSur2iLinkAfficherFormulaire) { return(ExecuteActionFormulaire((CActionSur2iLinkAfficherFormulaire)action, objetCible)); } else if (action is CActionSur2iLinkAfficherListe) { return(ExecuteActionListe((CActionSur2iLinkAfficherListe)action, objetCible)); } else if (action is CActionSur2iLinkExecuterProcess) { result = ExecuteActionProcess((CActionSur2iLinkExecuterProcess)action, objetCible); CFormEditionStandard frmStd = frm as CFormEditionStandard; if (frmStd != null) { try//La fenêtre peut être fermée par le process, donc ça peut faire des erreurs { frmStd.RefillDialog(); } catch { } } else if (frm == CFormMain.GetInstance()) { CFormMain.GetInstance().RefreshPanelEtapeWorkflow(); } return(result); } else if (action is CActionSur2iLinkAfficheFormulaireCustom) { return(ExecuteActionFormulaireCustom((CActionSur2iLinkAfficheFormulaireCustom)action, objetCible)); } else if (action is CActionSur2iLinkAfficherEntite) { return(ExecuteActionAfficherEntite((CActionSur2iLinkAfficherEntite)action, objetCible)); } else if (action is CActionSur2iLinkMenuDeroulant) { return(ExecuteActionMenuDeroulant((CActionSur2iLinkMenuDeroulant)action, sender, objetCible)); } else if (action is CActionSur2iLinkFormulairePopup) { return(ExecuteActionFormulairePopup((CActionSur2iLinkFormulairePopup)action, sender, objetCible)); } result = CResultAErreur.True; result.EmpileErreur(I.T("Action not managed|30076")); return(result); }
//---------------------------------------------------- private void Init() { Visible = m_etapeEnCours != null; CBlocWorkflowFormulaire blocFormulaire = m_etapeEnCours != null && m_etapeEnCours.TypeEtape != null ? m_etapeEnCours.TypeEtape.Bloc as CBlocWorkflowFormulaire : null; SetSecondaireEdite(null); if (blocFormulaire == null) { return; } if (blocFormulaire.HideAfterValidation && m_etapeEnCours.EtatCode == (int)EEtatEtapeWorkflow.Terminée) { SetEtapeEnCours(null, null); return; } ResetClignote(); this.SuspendDrawing(); m_lblNomEtape.Text = m_etapeEnCours.Libelle; if (blocFormulaire.FormuleInstructions != null) { C2iExpression expInstructions = blocFormulaire.FormuleInstructions; CContexteEvaluationExpression ctxEval = new CContexteEvaluationExpression(m_etapeEnCours); CResultAErreur result = expInstructions.Eval(ctxEval); if (result && result.Data != null) { m_lblInstructions.Text = result.Data.ToString(); } else { m_lblInstructions.Text = m_etapeEnCours.Libelle + Environment.NewLine + result.Erreur.ToString(); } } //m_btnTerminer.Visible = m_etapeEnCours.EtatCode == (int)EEtatEtapeWorkflow.Démarrée; if (m_formulaire != null) { bool bConsultationOnly = m_etapeEnCours.EtatCode != (int)EEtatEtapeWorkflow.Démarrée; if (m_etapeEnCours.EtatCode == (int)EEtatEtapeWorkflow.Terminée && !blocFormulaire.LockerElementEditeEnFinDEtape) { bConsultationOnly = false; } m_formulaire.ConsultationOnly = bConsultationOnly; } m_bIsCollapse = false; UpdateImagePanelBas(); m_btnTerminer.Visible = m_etapeEnCours.DateFin == null && m_etapeEnCours.DateDebut != null; m_btnTerminer.Enabled = !m_etapeEnCours.EstGelee; m_btnAnnuler.Visible = !blocFormulaire.MasquerSurChangementDeFormulaire || m_etapeEnCours.DateFin != null; m_btnActions.Visible = CRecuperateurDeclencheursActions.GetActionsManuelles(m_etapeEnCours, true).Count() > 0; Image imgTask = m_etapeEnCours.EtatCode == (int)EEtatEtapeWorkflow.Terminée ? Resources._1346738948_taskok : Resources._1346738948_task; if (m_etapeEnCours.EstGelee) { imgTask = Resources._1346738948_task_pending; } SetImageTask(imgTask); int nHeight = m_panelTop.Height + m_panelInstructions.Height + m_panelBas.Height + ClientSize.Height - Size.Height; bool bShowFormulaireSecondaire = false; if (blocFormulaire.DbKeyFormulaireSecondaire != null && blocFormulaire.FormuleElementEditeSecondaire != null) { CContexteEvaluationExpression ctxEval = new CContexteEvaluationExpression(m_etapeEnCours); CResultAErreur result = blocFormulaire.FormuleElementEditeSecondaire.Eval(ctxEval); CObjetDonnee objet = result.Data as CObjetDonnee; if (result && objet != null) { CFormulaire formulaire = new CFormulaire(m_etapeEnCours.ContexteDonnee); if (formulaire.ReadIfExists(blocFormulaire.DbKeyFormulaireSecondaire)) { C2iWnd wnd = formulaire.Formulaire; if (wnd != null) { Size = new Size(Size.Width, nHeight + wnd.Size.Height + 2); if (blocFormulaire.SecondaireEnEdition) { objet.BeginEdit(); } m_panelFormulalire.InitPanel(wnd, objet); SetSecondaireEdite(blocFormulaire.SecondaireEnEdition ? objet : null); if (!blocFormulaire.SecondaireEnEdition) { m_panelFormulalire.LockEdition = true; } else { m_panelFormulalire.LockEdition = m_etapeEnCours.DateFin != null; } bShowFormulaireSecondaire = true; } } } } if (!bShowFormulaireSecondaire) { Size = new Size(Size.Width, nHeight); } m_nSizeUncollapse = Size.Height; this.ResumeDrawing(); }
/// /////////////////////////////////////////////////// public void AppliqueRestrictions(CListeRestrictionsUtilisateurSurType restrictions, IGestionnaireReadOnlySysteme gestionnaireReadOnly) { if (restrictions == null || gestionnaireReadOnly == null) { return; } m_listeRestrictions = restrictions.Clone() as CListeRestrictionsUtilisateurSurType; m_gestionnaireReadOnly = gestionnaireReadOnly; //Gère la visibilité des formulaires if (m_elementEdite != null) { CRestrictionUtilisateurSurType rest = m_listeRestrictions.GetRestriction(m_elementEdite.GetType()); rest.ApplyToObjet(m_elementEdite); if (rest.HasRestrictions) { foreach (KeyValuePair <Crownwood.Magic.Controls.TabPage, int> kv in m_tablePageToIdFormulaire) { CFormulaire formulaire = new CFormulaire(m_elementEdite.ContexteDonnee); if (formulaire.ReadIfExists(kv.Value)) { ERestriction r = rest.GetRestriction(formulaire.CleRestriction); if ((r & ERestriction.Hide) == ERestriction.Hide) { if (TabPages.Contains(kv.Key)) { TabPages.Remove(kv.Key); m_tablePagesInit[kv.Key] = false; } } } } } } //Update les pages initialisées foreach (KeyValuePair <Crownwood.Magic.Controls.TabPage, bool> kv in m_tablePagesInit) { if (kv.Value) { CCreateur2iFormulaireObjetDonnee createur = null; if (m_tableCreateurs.TryGetValue(kv.Key, out createur)) { CRestrictionUtilisateurSurType oldRest = null; if (m_elementEdite != null) { CRestrictionUtilisateurSurType restriction = m_listeRestrictions.GetRestriction(m_elementEdite.GetType()); oldRest = m_listeRestrictions.GetRestriction(m_elementEdite.GetType()); restriction.ApplyToObjet(m_elementEdite); int nIdFormulaire; if (m_tablePageToIdFormulaire.TryGetValue(kv.Key, out nIdFormulaire)) { CFormulaire formulaire = new CFormulaire(m_elementEdite.ContexteDonnee); if (formulaire.ReadIfExists(nIdFormulaire)) { ERestriction rest = restriction.GetRestriction(formulaire.CleRestriction); if ((rest & ERestriction.ReadOnly) == ERestriction.ReadOnly) { restriction.AddRestrictionsHorsPriorite(new CRestrictionUtilisateurSurType(restriction.TypeAssocie, ERestriction.ReadOnly)); //force readonly sur tous les contrôles restriction.RestrictionUtilisateur = ERestriction.ReadOnly; m_listeRestrictions.SetRestriction(restriction); } } } } createur.AppliqueRestrictions(m_listeRestrictions, m_gestionnaireReadOnly); if (oldRest != null) { m_listeRestrictions.SetRestriction(oldRest); } } } } }