private static void ImporterChamps() { StreamReader reader = new StreamReader("C:\\Partage\\Import Orange\\Champs controles.txt", Encoding.Default); string strLigne = reader.ReadLine(); strLigne = reader.ReadLine(); using (CContexteDonnee contexte = new CContexteDonnee(CSessionClient.GetSessionUnique().IdSession, true, false)) { while (strLigne != null) { CRoleChampCustom roleSite = CRoleChampCustom.GetRole(CSite.c_roleChampCustom); CRoleChampCustom roleWorkBook = CRoleChampCustom.GetRole(CDossierSuivi.c_roleChampCustom); CRoleChampCustom roleCaracteristique = CRoleChampCustom.GetRole(CCaracteristiqueEntite.c_roleChampCustom); string[] datas = strLigne.Split('\t'); if (datas.Length >= 1) { CChampCustom champ = new CChampCustom(contexte); if (!champ.ReadIfExists(new CFiltreData(CChampCustom.c_champNom + "=@1", datas[0]))) { champ.CreateNewInCurrentContexte(); } champ.Nom = datas[0]; C2iTypeDonnee tp = new C2iTypeDonnee(TypeDonnee.tString); if (datas.Length > 1) { if (datas[1].ToUpper() == "BOOL") { tp = new C2iTypeDonnee(TypeDonnee.tBool); } else if (datas[1].ToUpper() == "DATE") { tp = new C2iTypeDonnee(TypeDonnee.tDate); } } champ.TypeDonneeChamp = tp; champ.Categorie = ""; if (datas.Length > 2) { champ.Categorie = datas[2]; } CRoleChampCustom role = roleCaracteristique; champ.Role = role; } strLigne = reader.ReadLine(); } reader.Close(); CResultAErreur result = contexte.SaveAll(true); if (!result) { CFormAfficheErreur.Show(result.Erreur); } } }
private void CFormEditVariableFiltreCalculee_Load(object sender, System.EventArgs e) { // Lance la traduction du formulaire sc2i.win32.common.CWin32Traducteur.Translate(this); m_cmbOperation.ValueMember = "Valeur"; m_cmbOperation.DisplayMember = "Libelle"; m_cmbOperation.DataSource = CUtilSurEnum.GetCouplesFromEnum(typeof(OperationsAgregation)); m_cmbOperation.SelectedValue = (int)m_champ.OperationAgregation; //Types finaux m_cmbTypeFinal.Items.Clear(); List <CInfoClasseDynamique> lstTypes = new List <CInfoClasseDynamique>(); lstTypes.Add(new CInfoClasseDynamique(typeof(DBNull), I.T("Default|20007"))); lstTypes.Add(new CInfoClasseDynamique(typeof(int), C2iTypeDonnee.GetLibelleType(TypeDonnee.tEntier))); lstTypes.Add(new CInfoClasseDynamique(typeof(string), C2iTypeDonnee.GetLibelleType(TypeDonnee.tString))); lstTypes.Add(new CInfoClasseDynamique(typeof(bool), C2iTypeDonnee.GetLibelleType(TypeDonnee.tBool))); lstTypes.Add(new CInfoClasseDynamique(typeof(DateTime), C2iTypeDonnee.GetLibelleType(TypeDonnee.tDate))); lstTypes.Add(new CInfoClasseDynamique(typeof(double), C2iTypeDonnee.GetLibelleType(TypeDonnee.tDouble))); m_cmbTypeFinal.DataSource = lstTypes; m_cmbTypeFinal.ValueMember = "Classe"; m_cmbTypeFinal.DisplayMember = "Nom"; Type tp = m_champ.TypeDonneeFinalForce; if (tp == null) { tp = typeof(DBNull); } try { m_cmbTypeFinal.SelectedValue = tp; } catch { } m_chkGrouper.Checked = m_champ.GroupBy; //m_lblSource.Text = m_champ.Source; m_txtNomChamp.Text = m_champ.NomChamp; m_txtFonctionSql.Text = m_champ.FonctionSql; int nIndex = 0; foreach (CSourceDeChampDeRequete source in m_champ.Sources) { CPanelSourceDeRequete panel = new CPanelSourceDeRequete(); panel.Dock = DockStyle.Top; m_panelSources.Controls.Add(panel); panel.BringToFront(); panel.Init(source, nIndex++, m_typeSource, m_defRacineDeChamps); } }
/// ////////////////////////////////////////////////////// protected C2iExpression GetExpression() { if (m_cmbType.SelectedItem == null || !(m_cmbType.SelectedItem is C2iTypeDonnee)) { CFormAlerte.Afficher(I.T("Enter a data type|30023"), EFormAlerteType.Exclamation); return(null); } C2iTypeDonnee typeDonnees = (C2iTypeDonnee)m_cmbType.SelectedItem; CContexteAnalyse2iExpression ctx = new CContexteAnalyse2iExpression(new CFournisseurPropDynStd(true), CObjetForTestValeurChampCustom.GetNewForTypeDonnee(typeDonnees.TypeDonnee, null, null).GetType()); CAnalyseurSyntaxique analyseur = new CAnalyseurSyntaxiqueExpression(ctx); CResultAErreur result = analyseur.AnalyseChaine(m_txtFormuleValidation.Text); if (!result) { CFormAlerte.Afficher(result); return(null); } return((C2iExpression)result.Data); }
/////////////////////////////////////////////////// public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CChampCustom champ = (CChampCustom)objet; if (champ.Nom == "") { result.EmpileErreur(I.T("The custom field name cannot be empty|108")); } if (!CObjetDonneeAIdNumerique.IsUnique(champ, CChampCustom.c_champNom, champ.Nom)) { result.EmpileErreur(I.T("A custom field with this name already exist|109")); } if (champ.Role == null) { result.EmpileErreur(I.T("The field usage cannot be empty|110")); } //Vérifie que toutes les valeurs sont du type du champ et qu'elles sont uniques C2iTypeDonnee typeDonnee = champ.TypeDonneeChamp; Hashtable tableValeurs = new Hashtable(); Hashtable tableDisplay = new Hashtable(); foreach (CValeurChampCustom valeur in champ.ListeValeurs) { object val = valeur.Value; if (val == null) { val = DBNull.Value; } if (tableValeurs[val] != null) { result.EmpileErreur(I.T("The value '@1' appear several times in the value list|111", val.ToString())); } else { tableValeurs[val] = valeur; } if (tableDisplay[valeur.Display] != null) { result.EmpileErreur(I.T("The displayed value '@1' appear several times in the displayed values list|112", valeur.Display)); } else { tableDisplay[valeur.Display] = valeur; } if (!typeDonnee.IsDuBonType(valeur.Value)) { result.EmpileErreur(I.T("The value '@1' is not a @2 type|113", valeur.Value.ToString(), typeDonnee.Libelle)); } } //Vérifie que la valeur par défaut fait bien partie des valeurs possibles et qu'elle est du bon type if (champ.ValeurParDefaut != null && champ.ValeurParDefaut.ToString() != C2iTypeDonnee.c_ConstanteNull) { if (!typeDonnee.IsDuBonType(champ.ValeurParDefaut)) { result.EmpileErreur(I.T("The default value '@1' is not a @2 type|114", champ.ValeurParDefaut.ToString(), typeDonnee.Libelle)); } if (tableValeurs[champ.ValeurParDefaut] == null && (tableValeurs.Count > 0)) { result.EmpileErreur(I.T("The default value is not in the possible values list|115")); } } if (champ.TypeDonneeChamp.TypeDonnee == TypeDonnee.tObjetDonneeAIdNumeriqueAuto) { if (champ.LibellePourObjetParent.Trim() == "") { result.EmpileErreur(I.T("Indicate the label for the field seen by the parental object|116")); } } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
/// ////////////////////////////////////////////////////// private void m_btnOk_Click(object sender, System.EventArgs e) { if (m_cmbType.SelectedItem == null || !(m_cmbType.SelectedItem is C2iTypeDonnee)) { CFormAlerte.Afficher(I.T("Enter a data type|30023"), EFormAlerteType.Exclamation); return; } C2iExpression expression = GetExpression(); if (expression == null) { return; } DataTable table = (DataTable)m_gridValeurs.DataSource; //Vérifie que toutes les données sont bien du type C2iTypeDonnee typeDonnees = (C2iTypeDonnee)m_cmbType.SelectedItem; ArrayList lstValeurs = new ArrayList(); foreach (DataRow row in new ArrayList(table.Rows)) { if (!typeDonnees.IsDuBonType(typeDonnees.ObjectToType(row[c_strColValeurStockee], null))) { CFormAlerte.Afficher(I.T("The value @1 is not from type @2|30023", row[c_strColValeurStockee].ToString(), typeDonnees.Libelle), EFormAlerteType.Erreur); return; } object val = typeDonnees.StringToType(row[c_strColValeurStockee].ToString(), null); lstValeurs.Add(new CValeurVariableDynamiqueSaisie(val, (string)row[c_strColValeurAffichee])); } if (typeDonnees.TypeDonnee == TypeDonnee.tDouble) { IClasseUnite classe = m_cmbSelectClasseUnite.SelectedValue as IClasseUnite; m_variable.ClasseUnite = classe; m_variable.FormatAffichageUnite = m_txtFormatUnite.Text; } else { m_variable.ClasseUnite = null; m_variable.FormatAffichageUnite = ""; } m_variable.Nom = m_txtNomVariable.Text.Replace(" ", "_").Trim(); m_variable.TypeDonnee2i = (C2iTypeDonnee)m_cmbType.SelectedItem; m_variable.ExpressionValidation = expression; m_variable.DescriptionFormat = m_txtDescriptionFormat.Text; m_variable.Valeurs.Clear(); foreach (CValeurVariableDynamiqueSaisie valeur in lstValeurs) { m_variable.Valeurs.Add(valeur); } if (m_txtValeurParDefaut.Text.Trim() == "") { m_variable.ExpressionValeurParDefaut = null; } else { CContexteAnalyse2iExpression ctxAnalyse = new CContexteAnalyse2iExpression(new CFournisseurPropDynStd(), null); CResultAErreur resultExp = new CAnalyseurSyntaxiqueExpression(ctxAnalyse).AnalyseChaine(m_txtValeurParDefaut.Text); if (!resultExp) { resultExp.EmpileErreur(I.T("Error in default value formula|30024")); CFormAlerte.Afficher(resultExp); return; } m_variable.ExpressionValeurParDefaut = (C2iExpression)resultExp.Data; } m_elementAVariables.OnChangeVariable(m_variable); DialogResult = DialogResult.OK; Close(); }
/// ////////////////////////////////////////////////////// private void UpdateAffichagePanelUnite() { C2iTypeDonnee type = m_cmbType.SelectedItem as C2iTypeDonnee; m_panelUnite.Visible = type != null && type.TypeDonnee == TypeDonnee.tDouble; }