//------------------------------------------------------------------------- protected override CResultAErreur MAJ_Champs() { CResultAErreur result = base.MAJ_Champs(); //CUtilASauvegardeProfilDesigner.SauvegarderDansRegistre(new CContexteSauvegardeProfilDesigner(m_panelEditionFormulaire)); if (!result) { return(result); } if (m_cmbRoleFormulaire.SelectedValue is CRoleChampCustom) { Formulaire.Role = (CRoleChampCustom)m_cmbRoleFormulaire.SelectedValue; } else { Formulaire.Role = null; } Formulaire.Formulaire = (sc2i.formulaire.C2iWndFenetre)m_panelEditionFormulaire.ObjetEdite; int nRest = 0; foreach (ListViewItem item in m_wndListeMasquer.Items) { if (item.Checked) { CRestrictionChampCustom rest = (CRestrictionChampCustom)item.Tag; nRest |= (int)Math.Pow(2, rest.ValeurFlag); } } Formulaire.RestrictionsMasquer = nRest; return(result); }
//------------------------------------------------------------------- public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CRestrictionChampCustom flag = (CRestrictionChampCustom)objet; if (flag.Libelle == "") { result.EmpileErreur(I.T("Flag label cannot be empty|280")); } if (!CObjetDonneeAIdNumerique.IsUnique(flag, CRestrictionChampCustom.c_champValeurFlag, flag.ValeurFlag.ToString())) { result.EmpileErreur(I.T("A flag already exist with this value|281")); } if (flag.ValeurFlag > 31 || flag.ValeurFlag < 1) { result.EmpileErreur(I.T("Flag value must be ranking between 1 and 31|282")); } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
//------------------------------------------------------------------------- protected override CResultAErreur InitChamps() { CResultAErreur result = base.InitChamps(); AffecterTitre(I.T("Form @1|10000", Formulaire.Libelle)); if (result) { //CUtilASauvegardeProfilDesigner.InitialiserProfil( new CContexteSauvegardeProfilDesigner(m_panelEditionFormulaire)); ArrayList lst = new ArrayList(CRoleChampCustom.Roles); foreach (CRoleChampCustom role in lst.ToArray(typeof(CRoleChampCustom))) { if (role.CodeRole == sc2i.custom.CRoleFormulaireSurImpressionWin32.c_roleChampCustom) { lst.Remove(role); } } if (Formulaire.Role != null && Formulaire.Role.CodeRole == sc2i.custom.CRoleFormulaireSurImpressionWin32.c_roleChampCustom) { m_panelLibelle.Visible = false; } else { m_panelLibelle.Visible = true; } m_cmbRoleFormulaire.ListDonnees = lst; m_cmbRoleFormulaire.SelectedValue = Formulaire.Role; C2iWndFenetre fenetre = Formulaire.Formulaire; fenetre.ImageFond = m_imageFond; m_panelEditionFormulaire.ObjetEdite = fenetre; m_panelEditionFormulaire.FournisseurProprietes = m_fournisseurProprietes; RedefinitRoleAssocie(); m_panelEditionFormulaire.TypeEdite = m_typeAssocie; if (m_imageFond != null) { Formulaire.Formulaire.ImageFond = m_imageFond; } CListeObjetsDonnees listeRestrictions = new CListeObjetsDonnees(Formulaire.ContexteDonnee, typeof(CRestrictionChampCustom)); m_wndListeMasquer.Remplir(listeRestrictions); foreach (ListViewItem item in m_wndListeMasquer.Items) { CRestrictionChampCustom rest = (CRestrictionChampCustom)item.Tag; if ((Formulaire.RestrictionsMasquer & (int)Math.Pow(2, rest.ValeurFlag)) != 0) { item.Checked = true; } else { item.Checked = false; } } } return(result); }
//------------------------------------------------------------------- /// <summary> /// Créée les restrictions par défaut /// </summary> /// <param name="nIdSession"></param> public static void CreateDefaultRestrictions(int nIdSession) { using (CContexteDonnee contexte = new CContexteDonnee(nIdSession, true, false)) { CRestrictionChampCustom rest = new CRestrictionChampCustom(contexte); if (!rest.ReadIfExists(new CFiltreData(CRestrictionChampCustom.c_champValeurFlag + "=7"))) { rest.CreateNew(); rest.ValeurFlag = c_nRestrictionPDA; rest.Libelle = "PDA"; rest.CommitEdit(); } } }
//------------------------------------------------------------------- public override CResultAErreur TraitementAvantSauvegarde(CContexteDonnee contexte) { CResultAErreur result = base.TraitementAvantSauvegarde(contexte); if (!result) { return(result); } DataTable table = contexte.Tables[GetNomTable()]; if (table == null) { return(result); } ArrayList lst = new ArrayList(table.Rows); foreach (DataRow row in lst) { if (row.RowState == DataRowState.Modified || row.RowState == DataRowState.Deleted) { CRestrictionChampCustom rest = new CRestrictionChampCustom(row); rest.VersionToReturn = DataRowVersion.Original; int nOldFlag = rest.ValeurFlag; rest.VersionToReturn = DataRowVersion.Default; if (nOldFlag == c_nRestrictionPDA) { if (row.RowState == DataRowState.Deleted) { result.EmpileErreur(I.T("Cannot delete restriction related to PDA|283")); return(result); } rest.ValeurFlag = c_nRestrictionPDA; } } } return(result); }