/// <inheritdoc /> public override int Construct ( Expression expression, object[] arguments, out object value, out bool wasHandled ) { var memberInit = (MemberInitExpression)expression; int i = ConstructionHelper.Invoke(memberInit.NewExpression, arguments, out value); foreach (MemberBinding binding in memberInit.Bindings) { var memberAssignment = binding as MemberAssignment; if (memberAssignment != null) { object temp; i += ConstructionHelper.Invoke(memberAssignment.Expression, arguments.Skip(i).ToArray(), out temp); SetValue(binding.Member, value, temp); } } wasHandled = true; return(i); }
public void GetListByExpressionReturnsNullIfSelectionIsNull() { Expression <Func <UserEntity, object> > expression = x => new { x.IsOnline }; IEnumerable <int> list = ConstructionHelper.GetListByExpression <int>(expression, null); Assert.That(list, Is.Null); }
static void DiggerLimitResearch(AbstractResearchable res, ColonyScienceState manager, EResearchCompletionReason reason) { int current = manager.Colony.TemporaryData.GetAsOrDefault("pipliz.diggerlimit", 0); int next = DiggerLimits[res.GetKey()]; manager.Colony.TemporaryData.SetAs("pipliz.diggerlimit", Math.Max(current, next)); ConstructionHelper.SendPacket(manager.Colony); }
public void GetObjectByExpressionConverterThrowsWhenExpressionIsNull() { Assert .That ( () => ConstructionHelper.GetObjectByExpressionConverter <int>(null), Throws.InstanceOf <ArgumentNullException>() ); }
public void GetListByExpressionThrowsWhenExpressionIsNull() { Assert .That ( () => ConstructionHelper.GetListByExpression <int>(null, new object[] { }), Throws.InstanceOf <ArgumentNullException>() ); }
/// <inheritdoc /> public override int Construct ( Expression expression, object[] arguments, out object value, out bool wasHandled ) { wasHandled = true; return(ConstructionHelper.Invoke(((LambdaExpression)expression).Body, arguments, out value)); }
public void CanGetListByExpression() { Expression <Func <UserEntity, object> > expression = x => new Wrapper { Value = x.IsOnline }; IEnumerable enumerable = Session.CreateCriteria <UserEntity>() .SetProjection(Projections.Property("IsOnline")) .List(); IEnumerable <Wrapper> isOnline = ConstructionHelper.GetListByExpression <Wrapper>(expression, enumerable); Assert.That(isOnline.Count(), Is.EqualTo(4)); }
public void GetObjectByExpressionConverterWorksForNewExpression() { Expression <Func <int, ObjectWrapper <int> > > newExpression = x => new ObjectWrapper <int>(x); Func <object, ObjectWrapper <int> > converter = ConstructionHelper.GetObjectByExpressionConverter <ObjectWrapper <int> >(newExpression); ObjectWrapper <int> test1 = converter(1); ObjectWrapper <int> test2 = converter(2); ObjectWrapper <int> test3 = converter(3); Assert.That(test1, Is.Not.Null); Assert.That(test2, Is.Not.Null); Assert.That(test3, Is.Not.Null); Assert.That(test1.Object, Is.EqualTo(1)); Assert.That(test2.Object, Is.EqualTo(2)); Assert.That(test3.Object, Is.EqualTo(3)); }
/// <inheritdoc /> public override int Construct ( Expression expression, object[] arguments, out object value, out bool wasHandled ) { var methodCall = expression as MethodCallExpression; if (methodCall != null) { var lambda = ExpressionHelper.GetValue <LambdaExpression>(methodCall.Arguments[1]); if (lambda != null) { wasHandled = true; return(ConstructionHelper.Invoke(lambda, arguments, out value)); } } return(base.Construct(expression, arguments, out value, out wasHandled)); }
public override void OnResearchComplete(ColonyScienceState manager, EResearchCompletionReason reason) { manager.Colony.TemporaryData.SetAs("pipliz.builderlimit", 25000000); ConstructionHelper.SendPacket(manager.Colony); }
static void SendData(Players.Player player, Colony oldColony, Colony newColony) { ConstructionHelper.OnColonyChange(player, oldColony, newColony); }