//-------------------------------------------------------------------------
        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);
        }
Esempio n. 2
0
 //------------------------------------------------
 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;
 }
Esempio n. 3
0
        //-------------------------------------------------------------------------
        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;
        }
Esempio n. 4
0
 //-------------------------------------------------------------------------
 public CFormEditionFormulaire(CFormulaire formulaire, CListeObjetsDonnees liste)
     : base(formulaire, liste)
 {
     // Cet appel est requis par le Concepteur Windows Form.
     InitializeComponent();
     MyInit();
 }
Esempio n. 5
0
        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));
            }
        }
Esempio n. 8
0
        //-------------------------------------------------------------------------
        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);
        }
Esempio n. 9
0
 public CRelationComposantPhysiqueFormulaire(
     CComposantPhysiqueInDb composant,
     CFormulaire formulaire)
 {
     m_composant  = composant;
     m_formulaire = formulaire;
 }
Esempio n. 10
0
 //-------------------------------------------------------------------------
 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;
        }
Esempio n. 12
0
        //---------------------------------------------------------------------------
        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)));
        }
Esempio n. 13
0
        //-------------------------------------------------------------------------
        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();
        }
Esempio n. 14
0
        //----------------------------------------------------
        public CFormulaire[] GetFormulaires()
        {
            CFormulaire formulaire = null;

            if (TypeContrat != null)
            {
                formulaire = TypeContrat.Formulaire;
            }
            if (formulaire != null)
            {
                return new CFormulaire[] { formulaire }
            }
            ;
            return(new CFormulaire[0]);
        }
Esempio n. 15
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);
        }
Esempio n. 16
0
        //--------------------------------------------------------------------------------------
        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;
            }
        }
Esempio n. 18
0
        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;
        }
Esempio n. 19
0
        //----------------------------------------------------
        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;
                }
            }
        }
Esempio n. 21
0
        /// //////////////////////////////////////////////////
        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);
        }
Esempio n. 23
0
 //---------------------------------------------------------
 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);
 }
Esempio n. 24
0
        //--------------------------------------------
        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();
        }
Esempio n. 25
0
        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);
        }
Esempio n. 26
0
        //----------------------------------------------------------------------------------
        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);
        }
Esempio n. 27
0
 public CReferenceTypeFormDynamic(CFormulaire formulaire)
 {
     m_strLibelle    = formulaire.Libelle;
     m_dbKeyFormIndb = formulaire.DbKey;
 }
Esempio n. 28
0
        /*/// //////////////////////////////////////////////////////////////////
         * 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();
        }
Esempio n. 30
0
        /// ///////////////////////////////////////////////////
        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);
                        }
                    }
                }
            }
        }