Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private T FillIn<T>(T obj)
- {
- Type type = obj.GetType();
- PropertyInfo[] properties = type.GetProperties(BindingFlags.Public | BindingFlags.FlattenHierarchy | BindingFlags.Instance);
- foreach (PropertyInfo property in properties)
- {
- if (property.CanWrite && type != property.PropertyType)
- {
- if (property.PropertyType == typeof(string))
- property.SetValue(obj, random.NextString(random.Next(100)));
- else if (property.PropertyType == typeof(bool))
- property.SetValue(obj, random.NextBoolean());
- else if (property.PropertyType == typeof(decimal))
- property.SetValue(obj, (decimal)random.NextDouble());
- else if (property.PropertyType == typeof(Guid))
- property.SetValue(obj, Guid.NewGuid());
- else if (property.PropertyType == typeof(DateTime))
- property.SetValue(obj, DateTime.Now.AddMilliseconds(-1 * random.Next(1440 * 60 * 1000)));
- else if (property.PropertyType == typeof(DateTimeOffset))
- property.SetValue(obj, new DateTimeOffset(DateTime.Now.AddMilliseconds(-1 * random.Next(1440 * 60 * 1000))));
- else if (property.PropertyType == typeof(bool?))
- {
- if (random.NextDouble() > 0.5d)
- property.SetValue(obj, random.NextBoolean());
- else
- property.SetValue(obj, null);
- }
- else if (property.PropertyType == typeof(long?))
- {
- if (random.NextDouble() > 0.5d)
- property.SetValue(obj, (long)random.Next());
- else
- property.SetValue(obj, null);
- }
- else if (property.PropertyType == typeof(int?))
- {
- if (random.NextDouble() > 0.5d)
- property.SetValue(obj, (int)random.Next());
- else
- property.SetValue(obj, null);
- }
- else if (property.PropertyType == typeof(decimal?))
- {
- if (random.NextDouble() > 0.5d)
- property.SetValue(obj, (decimal)random.NextDouble());
- else
- property.SetValue(obj, null);
- }
- else if (property.PropertyType.IsPrimitive)
- property.SetValue(obj, random.Next());
- }
- }
- return obj;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement