示例#1
0
        //--------------------------------------------------------------
        public static void EditeDroits(Type type)
        {
            if (type == null)
            {
                return;
            }
            CFormEditDroitsSurType form = new CFormEditDroitsSurType();

            using (CContexteDonnee contexte = CSc2iWin32DataClient.ContexteCourant.GetContexteEdition())
            {
                CDroitEditionType droit = new CDroitEditionType(contexte);
                if (!droit.ReadIfExists(new CFiltreData(CDroitEditionType.c_champTypeElements + "=@1",
                                                        type.ToString())))
                {
                    droit.CreateNewInCurrentContexte();
                    droit.TypeElements = type;
                }
                form.m_droitSurType = droit;
                if (form.ShowDialog() == DialogResult.OK)
                {
                    CResultAErreur result = contexte.CommitEdit();
                    if (!result)
                    {
                        CFormAlerte.Afficher(result.Erreur);
                    }
                }
                else
                {
                    contexte.CancelEdit();
                }
            }
            form.Dispose();
            return;
        }
        //-------------------------------------------------------------------
        public override CResultAErreur VerifieDonnees(CObjetDonnee objet)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                CDroitEditionType          droitEditionType = (CDroitEditionType)objet;
                CParametreDroitEditionType parametre        = droitEditionType.ParametreDroits;
                if (parametre != null)
                {
                    result = parametre.VerifieDonnees();
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }
        //------------------------------------------------------------------------
        public void Init(CDroitEditionType droit)
        {
            List <CCustomizableListItem> items     = new List <CCustomizableListItem>();
            CParametreDroitEditionType   parametre = droit.ParametreDroits;

            if (droit.TypeElements != null)
            {
                m_picType.Image = DynamicClassAttribute.GetImage(droit.TypeElements);
                m_lblType.Text  = DynamicClassAttribute.GetNomConvivial(droit.TypeElements);
                ((CEditeurDroitTypeEdition)ItemControl).TypeObjets = droit.TypeElements;
                foreach (CParametreDroitEditionType.CCoupleFormuleToGroupeRestrictions couple in parametre.CouplesFormuleGroupe)
                {
                    CCustomizableListItem item = new CCustomizableListItem();
                    item.Tag = CCloner2iSerializable.Clone(couple) as CParametreDroitEditionType.CCoupleFormuleToGroupeRestrictions;
                    items.Add(item);
                }
            }
            Items = items.ToArray();
            Refill();
        }
示例#4
0
        //---------------------------------------------------
        public static void EditeProjet(
            CProjet projet,
            bool bModeEdition,
            CFormEditionStandard formAppelante)
        {
            CFormQuickEditProjet form = new CFormQuickEditProjet();

            form.m_formAppelante = formAppelante;
            form.m_gestionnaireModeEdition.ModeEdition = bModeEdition;
            form.m_projet = projet;

            IInfoUtilisateur info = CTimosApp.SessionClient.GetInfoUtilisateur();

            if (info != null)
            {
                CRestrictionUtilisateurSurType restriction = info.GetRestrictionsSurObjet(projet, projet.ContexteDonnee.IdVersionDeTravail);
                if (restriction != null)
                {
                    form.m_listeRestrictions.SetRestriction(restriction);
                }
            }
            CListeRestrictionsUtilisateurSurType restrictionsEnPlus = CDroitEditionType.GetDroits(projet);

            if (restrictionsEnPlus != null)
            {
                form.m_listeRestrictions.Combine(restrictionsEnPlus);
            }

            CRestrictionUtilisateurSurType rest = form.m_listeRestrictions.GetRestriction(typeof(CProjet));

            form.m_gestionnaireModeEdition.ModeEdition = bModeEdition && (rest.RestrictionGlobale & ERestriction.ReadOnly) != ERestriction.ReadOnly;

            form.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width / 2 - form.Width / 2,
                                      Screen.PrimaryScreen.WorkingArea.Height / 2 - form.Height / 2);
            form.ShowDialog();
            form.Dispose();
        }