Esempio n. 1
0
        public void GetUnit()
        {
            BeanDefinition         beanDefinition      = BeanDescriptor.GetDefinition(new Bean());
            BeanPropertyDescriptor propertyPourcentage = beanDefinition.Properties["Pourcentage"];

            Assert.AreEqual(FormatterPercent.UnitPercentage, propertyPourcentage.Unit);
        }
Esempio n. 2
0
        public void ConvertFromStringFormatteur()
        {
            BeanDefinition         beanDefinition = BeanDescriptor.GetDefinition(new Bean());
            BeanPropertyDescriptor propertyDate   = beanDefinition.Properties["Date"];

            propertyDate.ConvertFromString("02/01/2007");
        }
Esempio n. 3
0
        public void ConvertFromStringBadType()
        {
            BeanDefinition         beanDefinition = BeanDescriptor.GetDefinition(new Bean());
            BeanPropertyDescriptor primaryKey     = beanDefinition.PrimaryKey;

            primaryKey.ConvertFromString("aaa");
        }
Esempio n. 4
0
        public void IsReadonly()
        {
            BeanDefinition definition = BeanDescriptor.GetDefinition(new object());
            ICollection <BeanPropertyDescriptor> coll = definition.Properties;

            Assert.IsTrue(coll.IsReadOnly);
        }
Esempio n. 5
0
        /// <summary>
        /// Retourne si la collection contient l'élément.
        /// </summary>
        /// <param name="collection">Collection a traiter.</param>
        /// <param name="pkValue">Valeur de la clef primaire.</param>
        /// <returns>True si l'objet est inclus, False sinon.</returns>
        /// <remarks>Utilisé dans Kinetix.WebControls.</remarks>
        public static bool Contains(ICollection collection, object pkValue)
        {
            if (collection == null)
            {
                throw new ArgumentNullException("collection");
            }

            if (pkValue == null)
            {
                throw new ArgumentNullException("pkValue");
            }

            BeanDefinition definition = BeanDescriptor.GetCollectionDefinition(collection);

            if (definition.PrimaryKey == null)
            {
                throw new NotSupportedException();
            }

            IEnumerator enumerator = collection.GetEnumerator();

            while (enumerator.MoveNext())
            {
                object tmp = enumerator.Current;
                if (pkValue.Equals(definition.PrimaryKey.GetValue(tmp)))
                {
                    return(true);
                }
            }

            return(false);
        }
Esempio n. 6
0
        public void CheckValueTypeBadType()
        {
            BeanDefinition         beanDefinition = BeanDescriptor.GetDefinition(new Bean());
            BeanPropertyDescriptor primaryKey     = beanDefinition.PrimaryKey;

            primaryKey.CheckValueType(String.Empty);
        }
Esempio n. 7
0
        public void GetCollectionUnit()
        {
            BeanDefinition         beanDefinition = BeanDescriptor.GetDefinition(new Bean());
            BeanPropertyDescriptor property       = beanDefinition.Properties["RoleList"];

            Assert.IsNull(property.Unit);
        }
Esempio n. 8
0
        public void GetObjectUnit()
        {
            BeanDefinition         beanDefinition = BeanDescriptor.GetDefinition(new Bean());
            BeanPropertyDescriptor property       = beanDefinition.Properties["Child"];

            Assert.IsNull(property.Unit);
        }
Esempio n. 9
0
        public void ValidConstraintsError()
        {
            BeanDefinition         beanDefinition = BeanDescriptor.GetDefinition(new Bean());
            BeanPropertyDescriptor property       = beanDefinition.Properties["Libelle"];

            property.ValidConstraints("0123456789012345678901234567890123456789", null);
        }
Esempio n. 10
0
        public void CheckValueTypeUnsupportedGenericType()
        {
            BeanDefinition         beanDefinition = BeanDescriptor.GetDefinition(new Bean());
            BeanPropertyDescriptor primaryKey     = beanDefinition.PrimaryKey;

            primaryKey.CheckValueType(new Generic <Bean>());
        }
Esempio n. 11
0
        public void Clear()
        {
            BeanDefinition definition = BeanDescriptor.GetDefinition(new object());
            ICollection <BeanPropertyDescriptor> coll = definition.Properties;

            coll.Clear();
        }
Esempio n. 12
0
        /// <summary>
        /// Prend en charge l'alimentation de la classe pour les valeurs d'initialisation.
        /// </summary>
        /// <param name="classe">Classe concernée.</param>
        /// <param name="item">Bean d'initialisation.</param>
        protected void HandleCorrectInit(ModelClass classe, TableInit item)
        {
            if (!DictionaryItemInit.ContainsKey(classe))
            {
                DictionaryItemInit.Add(classe, item);
            }

            foreach (ItemInit itemInit in item.ItemInitList)
            {
                BeanDefinition         definition         = BeanDescriptor.GetDefinition(itemInit.Bean);
                BeanPropertyDescriptor propertyDescriptor = GetReferenceKeyDescriptor(classe, definition);
                object propertyValue = propertyDescriptor.GetValue(itemInit.Bean);
                if (propertyDescriptor.PrimitiveType == typeof(string))
                {
                    propertyValue = "\"" + propertyValue + "\"";
                }

                BeanPropertyDescriptor libelleDescriptor = GetLibelleDescriptor(classe, definition);
                string libelle = null;
                if (libelleDescriptor != null)
                {
                    libelle = (string)libelleDescriptor.GetValue(itemInit.Bean);
                }
                else
                {
                    libelle = itemInit.VarName;
                }

                classe.ConstValues.Add(itemInit.VarName, new StaticListElement()
                {
                    Code = propertyValue, Libelle = libelle, CodeType = propertyDescriptor.PrimitiveType.ToString()
                });
            }
        }
Esempio n. 13
0
        public void GetDefinitionPrimaryKey()
        {
            BeanDefinition beanDefinition = BeanDescriptor.GetDefinition(new Bean());

            Assert.IsNotNull(beanDefinition.PrimaryKey);
            Assert.AreEqual("Id", beanDefinition.PrimaryKey.PropertyName);
        }
Esempio n. 14
0
        public void GetDefinitionDynamic()
        {
            BeanDefinition beanDefinition         = BeanDescriptor.GetDefinition(new BeanDynamic());
            BeanPropertyDescriptorCollection coll = beanDefinition.Properties;
            bool idOk      = false;
            bool otherIdOk = false;

            foreach (BeanPropertyDescriptor prop in coll)
            {
                if ("Id".Equals(prop.PropertyName))
                {
                    Assert.AreEqual("IDENTIFIANT", prop.DomainName);
                    Assert.AreEqual("BEA_ID", prop.MemberName);
                    Assert.IsTrue(prop.IsRequired);
                    idOk = true;
                }
                else if ("OtherId".Equals(prop.PropertyName))
                {
                    Assert.AreEqual("IDENTIFIANT", prop.DomainName);
                    Assert.AreEqual("OTH_ID", prop.MemberName);
                    Assert.IsFalse(prop.IsRequired);
                    otherIdOk = true;
                }
            }
            Assert.IsTrue(idOk);
            Assert.IsTrue(otherIdOk);
        }
Esempio n. 15
0
        public void GetDefinitionUnsupportedType()
        {
            BeanDefinition         definition = BeanDescriptor.GetDefinition(new BeanInvalidUnsupportedType());
            BeanPropertyDescriptor property   = definition.Properties["OtherId"];

            property.ValidConstraints(3, null);
        }
Esempio n. 16
0
        public string GetReferenceValueByPrimaryKey(Type referenceType, object primaryKey, object dataSource, string defaultPropertyName = null)
        {
            BeanDefinition         definition         = BeanDescriptor.GetDefinition(referenceType);
            BeanPropertyDescriptor primaryKeyProperty = definition.PrimaryKey;
            BeanPropertyDescriptor valueProperty      = string.IsNullOrEmpty(defaultPropertyName) ? definition.DefaultProperty : definition.Properties[defaultPropertyName];
            ICollection            dataSourceColl     = (ICollection)dataSource;

            if (dataSourceColl == null)
            {
                throw new NotSupportedException("DataSource must be an ICollection.");
            }

            object candidate = null;

            foreach (object item in dataSourceColl)
            {
                if (primaryKeyProperty.GetValue(item).Equals(primaryKey))
                {
                    candidate = item;
                    break;
                }
            }

            if (candidate == null)
            {
                throw new NotSupportedException("The datasource does not contain an object with this primary key.");
            }

            return(valueProperty.ConvertToString(valueProperty.GetValue(candidate)));
        }
Esempio n. 17
0
        /// <summary>
        /// Prépare les colonnes à charger dans le cas de colonnes traduites, pour une propriété.
        /// </summary>
        /// <param name="commandText">Texte de commande.</param>
        /// <param name="definition">Définition de l'objet à charger.</param>
        /// <param name="property">Propriété à charger.</param>
        private void PrepareTranslationColumn(StringBuilder commandText, BeanDefinition definition, BeanPropertyDescriptor property)
        {
            string refName   = "ref" + property.PropertyName;
            string langue    = refName + "." + "LAN_CODE";
            string valeur    = refName + "." + "TDR_VALEUR";
            string cultureUI = CultureInfo.CurrentUICulture.TwoLetterISOLanguageName.ToUpperInvariant();

            IDictionary <string, string> valuesMap = new Dictionary <string, string>();

            valuesMap.Add("'" + cultureUI + "'", valeur);
            string caseWhenCondition = GetCaseWhen(langue, valuesMap, "'[' + " + langue + " + '] ' + " + valeur, null);

            commandText.Append(GetIsNullSqlString(caseWhenCondition, "tab." + property.MemberName, property.MemberName));

            commandText.Append(", ");
            valuesMap.Clear();
            valuesMap.Add("'" + cultureUI + "'", "1");
            if (!valuesMap.ContainsKey("'EN'"))
            {
                valuesMap.Add("'EN'", "2");
            }

            IEnumerable <string> partitionList = new List <string>()
            {
                "tab." + definition.PrimaryKey.MemberName
            };
            IEnumerable <string> orderList = new List <string>()
            {
                langue
            };

            caseWhenCondition = GetCaseWhen(langue, valuesMap, GetRankOverPartitionSqlString(partitionList, orderList, null) + " + 2", "rg" + property.PropertyName);
            commandText.Append(caseWhenCondition);
        }
Esempio n. 18
0
        public void ConvertToStringFormatteur()
        {
            BeanDefinition         beanDefinition = BeanDescriptor.GetDefinition(new Bean());
            BeanPropertyDescriptor propertyDate   = beanDefinition.Properties["Date"];

            propertyDate.ConvertToString(DateTime.Now);
        }
Esempio n. 19
0
        public void Item()
        {
            BeanDefinition         definition = BeanDescriptor.GetDefinition(new Bean());
            BeanPropertyDescriptor primaryKey = definition.PrimaryKey;

            Assert.AreEqual(primaryKey, definition.Properties[primaryKey.PropertyName]);
        }
Esempio n. 20
0
        /// <summary>
        /// Applique le tri et le filtrage à la liste.
        /// </summary>
        /// <typeparam name="TSource">Type source.</typeparam>
        /// <param name="list">Liste source.</param>
        /// <returns>Liste triée.</returns>
        public ICollection <TSource> Apply <TSource>(ICollection <TSource> list)
        {
            if (list == null)
            {
                throw new ArgumentNullException("list");
            }

            if (_sortList.Count != 1)
            {
                throw new NotImplementedException();
            }

            if (this.InlineCount)
            {
                QueryContext.InlineCount = list.Count;
            }

            string    sortColumn = _sortList[0];
            SortOrder sortOrder  = _mapSort[sortColumn];

            BeanDefinition         beanDef            = BeanDescriptor.GetDefinition(typeof(TSource));
            BeanPropertyDescriptor propertyDescriptor = beanDef.Properties[FirstToUpper(sortColumn)];

            if (sortOrder == SortOrder.Asc)
            {
                list = list.OrderBy(x => propertyDescriptor.GetValue(x)).ToList();
            }
            else
            {
                list = list.OrderByDescending(x => propertyDescriptor.GetValue(x)).ToList();
            }

            // If this.Limit == 0 we disable pagination.
            return(list.Skip(this.Offset).Take(this.Limit > 0 ? this.Limit : list.Count).ToList());
        }
Esempio n. 21
0
        public void Count()
        {
            BeanDefinition definition = BeanDescriptor.GetDefinition(new object());
            ICollection <BeanPropertyDescriptor> coll = definition.Properties;

            Assert.AreEqual(0, coll.Count);
        }
Esempio n. 22
0
        public void Remove()
        {
            BeanDefinition definition = BeanDescriptor.GetDefinition(new object());
            ICollection <BeanPropertyDescriptor> coll = definition.Properties;

            coll.Remove(null);
        }
Esempio n. 23
0
        /// <summary>
        /// Ajoute comme nouveaux paramètres toutes les propriétés publiques primitives du bean considéré.
        /// Le nom du paramètre correspond au nom de la propriété.
        /// </summary>
        /// <param name="bean">Le bean en question.</param>
        /// <returns>La liste des paramètres ajoutés.</returns>
        /// <exception cref="System.NotSupportedException">Si le bean contient une propriété non primitive.</exception>
        public ICollection <SqlServerParameter> AddBeanProperties(object bean)
        {
            if (bean == null)
            {
                throw new ArgumentNullException("bean");
            }

            ICollection <SqlServerParameter> parameterList = new List <SqlServerParameter>();
            BeanDefinition beanDefinition = BeanDescriptor.GetDefinition(bean);

            foreach (BeanPropertyDescriptor property in
                     beanDefinition.Properties.Where(property => property.PropertyType != typeof(ChangeAction)))
            {
                if (property.PrimitiveType == null)
                {
                    continue;
                }

                if (property.PrimitiveType.Name == "ICollection`1")
                {
                    continue;
                }

                string             parameterName = property.MemberName ?? property.PropertyName;
                SqlServerParameter parameter     = AddWithValue(parameterName, property.GetValue(bean, true));
                parameterList.Add(parameter);
            }

            return(parameterList);
        }
Esempio n. 24
0
        public void GetDefinitionContract()
        {
            BeanDefinition beanDefinition = BeanDescriptor.GetDefinition(new Bean());

            Assert.IsNotNull(beanDefinition.ContractName);
            Assert.AreEqual("BEAN", beanDefinition.ContractName);
        }
        /// <summary>
        /// Crée un dictionnaire { nom de la propriété => valeur } pour un item à insérer.
        /// </summary>
        /// <param name="modelClass">Modele de la classe.</param>
        /// <param name="initItem">Item a insérer.</param>
        /// <param name="isPrimaryKeyIncluded">True si le script d'insert doit comporter la clef primaire.</param>
        /// <returns>Dictionnaire contenant { nom de la propriété => valeur }.</returns>
        protected override Dictionary <string, string> CreatePropertyValueDictionary(ModelClass modelClass, ItemInit initItem, bool isPrimaryKeyIncluded)
        {
            Dictionary <string, string> nameValueDict = new Dictionary <string, string>();
            BeanDefinition definition = BeanDescriptor.GetDefinition(initItem.Bean);

            foreach (ModelProperty property in modelClass.PersistentPropertyList)
            {
                if (!property.DataDescription.IsPrimaryKey || isPrimaryKeyIncluded)
                {
                    BeanPropertyDescriptor propertyDescriptor = definition.Properties[property.Name];
                    object propertyValue    = propertyDescriptor.GetValue(initItem.Bean);
                    string propertyValueStr = propertyValue == null ? string.Empty : propertyValue.ToString();
                    if (property.DataType == "byte[]")
                    {
                        nameValueDict[property.DataMember.Name] = GetBulkColumn(propertyValueStr);
                    }
                    else if (propertyDescriptor.PrimitiveType == typeof(string))
                    {
                        nameValueDict[property.DataMember.Name] = "'" + propertyValueStr.Replace("'", "''") + "'";
                    }
                    else
                    {
                        nameValueDict[property.DataMember.Name] = propertyValueStr;
                    }
                }
            }

            return(nameValueDict);
        }
Esempio n. 26
0
        /// <summary>
        /// Retourne la valeur d'une liste de référence à partir
        /// de son identifiant.
        /// </summary>
        /// <param name="referenceType">Type de la liste de référence.</param>
        /// <param name="primaryKey">Identifiant de la liste de référence.</param>
        /// <param name="defaultPropertyName">Nom de la propriété par défaut à utiliser. Null pour utiliser la valeur définie au niveau de l'objet.</param>
        /// <returns>Libellé de la liste de référence.</returns>
        public string GetReferenceValueByPrimaryKey(Type referenceType, object primaryKey, string defaultPropertyName = null)
        {
            object                 reference  = GetReferenceObjectByPrimaryKey(referenceType, primaryKey);
            BeanDefinition         definition = BeanDescriptor.GetDefinition(reference);
            BeanPropertyDescriptor property   = string.IsNullOrEmpty(defaultPropertyName) ? definition.DefaultProperty : definition.Properties[defaultPropertyName];

            return(property.ConvertToString(property.GetValue(reference)));
        }
Esempio n. 27
0
        public void ValidConstraints()
        {
            Bean                   b = new Bean();
            BeanDefinition         beanDefinition = BeanDescriptor.GetDefinition(b);
            BeanPropertyDescriptor primaryKey     = beanDefinition.PrimaryKey;

            primaryKey.ValidConstraints(2, null);
        }
Esempio n. 28
0
        public void ConvertFromString()
        {
            BeanDefinition         beanDefinition = BeanDescriptor.GetDefinition(new Bean());
            BeanPropertyDescriptor primaryKey     = beanDefinition.PrimaryKey;
            object o = primaryKey.ConvertFromString("3");

            Assert.AreEqual(3, o);
        }
Esempio n. 29
0
        public void SetValueBadType()
        {
            Bean                   b = new Bean();
            BeanDefinition         beanDefinition = BeanDescriptor.GetDefinition(b);
            BeanPropertyDescriptor primaryKey     = beanDefinition.PrimaryKey;

            primaryKey.SetValue(b, "test");
        }
Esempio n. 30
0
        public void ConvertToString()
        {
            BeanDefinition         beanDefinition = BeanDescriptor.GetDefinition(new Bean());
            BeanPropertyDescriptor primaryKey     = beanDefinition.PrimaryKey;
            string text = primaryKey.ConvertToString(3);

            Assert.AreEqual("3", text);
        }