Remove alias in tests, use Unlock extension method instead of GetStatic

--- RockLib.UniversalMemberAccessor.UnitTests/UniversalMemberAccessorTests.cs
+++ RockLib.UniversalMemberAccessor.UnitTests/UniversalMemberAccessorTests.cs
@@ -6,7 +6,6 @@
 using NUnit.Framework;
 using System.Reflection;
 using RockLib.Dynamic.UnitTests.TypeCreator;
-using UMA=RockLib.Dynamic.UniversalMemberAccessor;

 namespace RockLib.Dynamic.UnitTests
 {
@@ -55,7 +54,7 @@
         [Test]
         public void CannotCallGetStaticWithNullType()
         {
-            Assert.That(() => UMA.GetStatic((Type)null), Throws.InstanceOf<ArgumentNullException>());
+            Assert.That(() => UniversalMemberAccessor.GetStatic((Type)null), Throws.InstanceOf<ArgumentNullException>());
         }

         [Test]
@@ -65,7 +64,7 @@

             var backingFoo = foo.Instance;

-            Assert.That(foo, Is.InstanceOf<UMA>());
+            Assert.That(foo, Is.InstanceOf<UniversalMemberAccessor>());
             Assert.That(backingFoo, Is.InstanceOf<Foo>());
         }

@@ -76,7 +75,7 @@

             var backingFoo = foo.Object;

-            Assert.That(foo, Is.InstanceOf<UMA>());
+            Assert.That(foo, Is.InstanceOf<UniversalMemberAccessor>());
             Assert.That(backingFoo, Is.InstanceOf<Foo>());
         }

@@ -87,7 +86,7 @@

             var backingFoo = foo.Value;

-            Assert.That(foo, Is.InstanceOf<UMA>());
+            Assert.That(foo, Is.InstanceOf<UniversalMemberAccessor>());
             Assert.That(backingFoo, Is.InstanceOf<Foo>());
         }

@@ -98,7 +97,7 @@

             Foo backingFoo = foo;

-            Assert.That(foo, Is.InstanceOf<UMA>());
+            Assert.That(foo, Is.InstanceOf<UniversalMemberAccessor>());
             Assert.That(backingFoo, Is.InstanceOf<Foo>());
         }

@@ -117,7 +116,7 @@
         [Test]
         public void CannotGetBackingInstanceFromStaticAccessorWithInstance()
         {
-            var foo = UMA.GetStatic<Foo>();
+            var foo = typeof(Foo).Unlock();

             Assert.That(() => foo.Instance, Throws.InstanceOf<RuntimeBinderException>());
         }
@@ -125,7 +124,7 @@
         [Test]
         public void CannotGetBackingInstanceFromStaticAccessorWithObject()
         {
-            var foo = UMA.GetStatic<Foo>();
+            var foo = typeof(Foo).Unlock();

             Assert.That(() => foo.Object, Throws.InstanceOf<RuntimeBinderException>());
         }
@@ -133,7 +132,7 @@
         [Test]
         public void CannotGetBackingInstanceFromStaticAccessorWithValue()
         {
-            var foo = UMA.GetStatic<Foo>();
+            var foo = typeof(Foo).Unlock();

             Assert.That(() => foo.Value, Throws.InstanceOf<RuntimeBinderException>());
         }
@@ -411,7 +410,7 @@
         {
             Foo.Reset();

-            var foo = UMA.GetStatic<Foo>();
+            var foo = typeof(Foo).Unlock();

             int baz = foo._baz;

@@ -423,7 +422,7 @@
         {
             Foo.Reset();

-            var foo = UMA.GetStatic<Foo>();
+            var foo = typeof(Foo).Unlock();

             int baz = foo.Baz;

@@ -433,7 +432,7 @@
         [Test]
         public void CanSetValueOfPrivateStaticFieldThroughStaticAccessor()
         {
-            var foo = UMA.GetStatic<Foo>();
+            var foo = typeof(Foo).Unlock();

             foo._baz = 123;

@@ -443,7 +442,7 @@
         [Test]
         public void CanSetValueOfPrivateStaticPropertyThroughStaticAccessor()
         {
-            var foo = UMA.GetStatic<Foo>();
+            var foo = typeof(Foo).Unlock();

             foo.Baz = 123;

@@ -873,7 +872,7 @@
         {
             var type = Create.Class("Foo", Define.Field("_bar", typeof(string), true, true));

-            var foo = UMA.GetStatic(type);
+            var foo = type.Unlock();

             foo._bar = "abc";

@@ -887,7 +886,7 @@
         {
             var type = Create.Class("Foo", Define.Field("_bar", typeof(int), true, true));

-            var foo = UMA.GetStatic(type);
+            var foo = type.Unlock();

             Assert.That(() => foo._bar = 123,
                 Throws.InstanceOf<NotSupportedException>().With.Message.EqualTo(
@@ -899,7 +898,7 @@
         {
             var type = Create.Class("Foo", Define.Field("_bar", typeof(int), true, true));

-            var foo = UMA.GetStatic(type);
+            var foo = type.Unlock();

             foo._bar = 123;

@@ -1150,7 +1149,7 @@
         [Test]
         public void CanRegisterAndDeregisterPrivateStaticEventThroughStaticAccessor()
         {
-            var bar = UMA.GetStatic<Bar>();
+            var bar = typeof(Bar).Unlock();

             var invocationCount = 0;

@@ -1188,7 +1187,7 @@
         [Test]
         public void CanCallPrivateStaticMethodsThroughStaticAccessor()
         {
-            var foo = UMA.GetStatic<Foo>();
+            var foo = typeof(Foo).Unlock();

             Assert.That(foo.Grault(123), Is.EqualTo("Grault(int i)"));
         }
@@ -1218,7 +1217,7 @@
         [Test]
         public void CanInvokePrivateConstructorsWithNew()
         {
-            var quxFactory = UMA.GetStatic<Qux>();
+            var quxFactory = typeof(Qux).Unlock();

             Qux qux = quxFactory.New();

@@ -1228,7 +1227,7 @@
         [Test]
         public void CanInvokePrivateConstructorsWithCreate()
         {
-            var quxFactory = UMA.GetStatic<Qux>();
+            var quxFactory = typeof(Qux).Unlock();

             Qux qux = quxFactory.Create();

@@ -1238,7 +1237,7 @@
         [Test]
         public void CanInvokePrivateConstructorsWithNewInstance()
         {
-            var quxFactory = UMA.GetStatic<Qux>();
+            var quxFactory = typeof(Qux).Unlock();

             Qux qux = quxFactory.NewInstance();

@@ -1248,7 +1247,7 @@
         [Test]
         public void CanInvokePrivateConstructorsWithCreateInstance()
         {
-            var quxFactory = UMA.GetStatic<Qux>();
+            var quxFactory = typeof(Qux).Unlock();

             Qux qux = quxFactory.CreateInstance();

@@ -1258,7 +1257,7 @@
         [Test]
         public void CannotInvokeConstructorsWithAliasWithIncorrectArgs()
         {
-            var quxFactory = UMA.GetStatic<Qux>();
+            var quxFactory = typeof(Qux).Unlock();

             Assert.That(() => quxFactory.CreateInstance("wrong", "args"), Throws.InstanceOf<RuntimeBinderException>());
         }
@@ -1266,7 +1265,7 @@
         [Test]
         public void CanResolveMultipleConstructors()
         {
-            var garplyFactory = UMA.GetStatic<Garply>();
+            var garplyFactory = typeof(Garply).Unlock();

             Assert.That(garplyFactory.New().Value, Is.EqualTo("Garply()"));
             Assert.That(garplyFactory.New(123).Value, Is.EqualTo("Garply(int i)"));
@@ -1303,7 +1302,7 @@
         public void CanGetPrivateEnumValue()
         {
             var fooType = Create.Class("Foo", Define.NestedEnum("Bar", "Baz", "Qux"));
-            var Foo = UMA.GetStatic(fooType);
+            var Foo = fooType.Unlock();

             // Note that these variables are declared as object. (see below)
             object baz = Foo.Bar.Baz;
@@ -1322,7 +1321,7 @@
         public void CanGetDefaultValueOfPrivateEnum()
         {
             var fooType = Create.Class("Foo", Define.NestedEnum("Bar", "Baz", "Qux"));
-            var Foo = UMA.GetStatic(fooType);
+            var Foo = fooType.Unlock();

             // Note that the variable is declared as object. (see below)
             object defaultBar = Foo.Bar.New();
@@ -1339,7 +1338,7 @@
         {
             var fooType = Create.Class("Foo", Define.NestedClass("Bar"));

-            var foo = UMA.GetStatic(fooType);
+            var foo = fooType.Unlock();

             var bar = foo.Bar.New();

@@ -1357,7 +1356,7 @@
                                 Define.NestedClass("Grault",
                                     Define.NestedClass("Garply"))))));

-            var foo = UMA.GetStatic(fooType);
+            var foo = fooType.Unlock();

             var garply = foo.Bar.Baz.Qux.Grault.Garply.New();

@@ -1369,7 +1368,7 @@
         {
             var fooType = Create.Class("Foo", Define.NestedStruct("Bar"));

-            var foo = UMA.GetStatic(fooType);
+            var foo = fooType.Unlock();

             var bar = foo.Bar.New();

@@ -1394,7 +1393,7 @@
         [TestCase(typeof(string), typeof(int), ushort.MaxValue)]
         public void AncestorDistanceIsCalculatedCorrectlyForInterfacesAndClasses(Type type, Type ancestorType, int expectedDistance)
         {
-            var candidate = UMA.GetStatic<UMA>().Candidate;
+            var candidate = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var distance = candidate.GetAncestorDistance(type, ancestorType);

@@ -1478,7 +1477,7 @@
         [TestCase(typeof(decimal), typeof(decimal), 0)]
         public void AncestorDistanceIsCalculatedCorrectlyForNumericTypes(Type type, Type ancestorType, int expectedDistance)
         {
-            var candidate = UMA.GetStatic<UMA>().Candidate;
+            var candidate = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var distance = candidate.GetAncestorDistance(type, ancestorType);

@@ -1492,7 +1491,7 @@
         [TestCase(typeof(Ham), typeof(Pork), true, TestName="inherited class returns true")]
         public void HasAncestorReturnsTheCorrectValue(Type type, Type ancestorType, bool expectedValue)
         {
-            var candidate = UMA.GetStatic<UMA>().Candidate;
+            var candidate = typeof(UniversalMemberAccessor).Unlock().Candidate;

             bool hasAncestor = candidate.HasAncestor(type, ancestorType);

@@ -1514,7 +1513,7 @@
         [TestCase(typeof(string), typeof(Ham), typeof(CountryHam), -32767)]
         public void AccumulateScoreModifiesScoreCorrectly(Type thisType, Type otherType, Type argType, int expectedScore)
         {
-            var candidate = UMA.GetStatic<UMA>().Candidate;
+            var candidate = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var score = 0;
             candidate.AccumulateScore(thisType, otherType, argType, ref score);
@@ -1533,7 +1532,7 @@

             var constructor = type.GetConstructors()[0];

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(constructor);

@@ -1553,7 +1552,7 @@

             var constructor = type.GetConstructors()[0];

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(constructor);

@@ -1573,7 +1572,7 @@

             var constructor = type.GetConstructors()[0];

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(constructor);

@@ -1593,7 +1592,7 @@

             var constructor = type.GetConstructors()[0];

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(constructor);

@@ -1611,7 +1610,7 @@
         {
             var method = GetType().GetMethod("Generic");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1630,7 +1629,7 @@
         {
             var method = GetType().GetMethod("NewConstraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1644,7 +1643,7 @@
         {
             var method = GetType().GetMethod("NewConstraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1658,7 +1657,7 @@
         {
             var method = GetType().GetMethod("NewConstraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1672,7 +1671,7 @@
         {
             var method = GetType().GetMethod("NewConstraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1686,7 +1685,7 @@
         {
             var method = GetType().GetMethod("NewConstraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1700,7 +1699,7 @@
         {
             var method = GetType().GetMethod("NewConstraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1719,7 +1718,7 @@
         {
             var method = GetType().GetMethod("ClassConstraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1733,7 +1732,7 @@
         {
             var method = GetType().GetMethod("ClassConstraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1747,7 +1746,7 @@
         {
             var method = GetType().GetMethod("ClassConstraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1761,7 +1760,7 @@
         {
             var method = GetType().GetMethod("ClassConstraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1780,7 +1779,7 @@
         {
             var method = GetType().GetMethod("StructConstraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1794,7 +1793,7 @@
         {
             var method = GetType().GetMethod("StructConstraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1808,7 +1807,7 @@
         {
             var method = GetType().GetMethod("StructConstraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1822,7 +1821,7 @@
         {
             var method = GetType().GetMethod("StructConstraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1841,7 +1840,7 @@
         {
             var method = GetType().GetMethod("BaseClassContraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1855,7 +1854,7 @@
         {
             var method = GetType().GetMethod("BaseClassContraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1869,7 +1868,7 @@
         {
             var method = GetType().GetMethod("BaseClassContraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1883,7 +1882,7 @@
         {
             var method = GetType().GetMethod("BaseClassContraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1902,7 +1901,7 @@
         {
             var method = GetType().GetMethod("InterfaceContraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1916,7 +1915,7 @@
         {
             var method = GetType().GetMethod("InterfaceContraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1930,7 +1929,7 @@
         {
             var method = GetType().GetMethod("InterfaceContraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1944,7 +1943,7 @@
         {
             var method = GetType().GetMethod("InterfaceContraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1963,7 +1962,7 @@
         {
             var method = GetType().GetMethod("TypeParameterContraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1977,7 +1976,7 @@
         {
             var method = GetType().GetMethod("TypeParameterContraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -1991,7 +1990,7 @@
         {
             var method = GetType().GetMethod("TypeParameterContraint");

-            var candidateFactory = UMA.GetStatic<UMA>().Candidate;
+            var candidateFactory = typeof(UniversalMemberAccessor).Unlock().Candidate;

             var candidate = candidateFactory.New(method);

@@ -2146,7 +2145,7 @@
         [Test]
         public void CreateInstanceDefinitionEqualsReturnsTrueWhenReferencesAreEqual()
         {
-            var type = UMA.GetStatic<UMA>().CreateInstanceDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().CreateInstanceDefinition;

             var definition1 = type.New(typeof(int), new[] { typeof(string), typeof(bool) }).Value;
             var definition2 = definition1;
@@ -2157,7 +2156,7 @@
         [Test]
         public void CreateInstanceDefinitionEqualsReturnsFalseWhenOtherTypeIsNotCreateInstanceDefinition()
         {
-            var type = UMA.GetStatic<UMA>().CreateInstanceDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().CreateInstanceDefinition;

             var definition1 = type.New(typeof(int), new[] { typeof(string), typeof(bool) }).Value;
             var definition2 = "abcd";
@@ -2168,7 +2167,7 @@
         [Test]
         public void CreateInstanceDefinitionEqualsReturnsFalseWhenOtherHasDifferentType()
         {
-            var type = UMA.GetStatic<UMA>().CreateInstanceDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().CreateInstanceDefinition;

             var definition1 = type.New(typeof(int), new[] { typeof(string), typeof(bool) }).Value;
             var definition2 = type.New(typeof(string), new[] { typeof(string), typeof(bool) }).Value;
@@ -2179,7 +2178,7 @@
         [Test]
         public void CreateInstanceDefinitionEqualsReturnsFalseWhenOtherHasDifferentNumberOfArgTypes()
         {
-            var type = UMA.GetStatic<UMA>().CreateInstanceDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().CreateInstanceDefinition;

             var definition1 = type.New(typeof(int), new[] { typeof(string), typeof(bool) }).Value;
             var definition2 = type.New(typeof(int), new[] { typeof(string) }).Value;
@@ -2190,7 +2189,7 @@
         [Test]
         public void CreateInstanceDefinitionEqualsReturnsFalseWhenOtherHasDifferentArgTypes()
         {
-            var type = UMA.GetStatic<UMA>().CreateInstanceDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().CreateInstanceDefinition;

             var definition1 = type.New(typeof(int), new[] { typeof(string), typeof(bool) }).Value;
             var definition2 = type.New(typeof(int), new[] { typeof(string), typeof(DateTime) }).Value;
@@ -2201,7 +2200,7 @@
         [Test]
         public void CreateInstanceDefinitionEqualsReturnsTrueWhenTypeAndArgTypesAreTheSame()
         {
-            var type = UMA.GetStatic<UMA>().CreateInstanceDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().CreateInstanceDefinition;

             var definition1 = type.New(typeof(int), new[] { typeof(string), typeof(bool) }).Value;
             var definition2 = type.New(typeof(int), new[] { typeof(string), typeof(bool) }).Value;
@@ -2212,7 +2211,7 @@
         [Test]
         public void CreateInstanceDefinitionGetHashCodeIsTheSameForEqualInstances()
         {
-            var type = UMA.GetStatic<UMA>().CreateInstanceDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().CreateInstanceDefinition;

             var definition1 = type.New(typeof(int), new[] { typeof(string), typeof(bool) }).Value;
             var definition2 = type.New(typeof(int), new[] { typeof(string), typeof(bool) }).Value;
@@ -2224,7 +2223,7 @@
         [Test]
         public void CreateInstanceDefinitionGetHashCodeIsTheSameForReferenceEqualInstances()
         {
-            var type = UMA.GetStatic<UMA>().CreateInstanceDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().CreateInstanceDefinition;

             var definition1 = type.New(typeof(int), new[] { typeof(string), typeof(bool) }).Value;
             var definition2 = definition1;
@@ -2236,7 +2235,7 @@
         [Test]
         public void InvokeMethodDefinitionEqualsReturnsTrueWhenReferencesAreEqual()
         {
-            var type = UMA.GetStatic<UMA>().InvokeMethodDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().InvokeMethodDefinition;

             var definition1 = type.New(typeof(int), "Foo", Type.EmptyTypes, new object[] { "abc", true }).Value;
             var definition2 = definition1;
@@ -2247,7 +2246,7 @@
         [Test]
         public void InvokeMethodDefinitionEqualsReturnsFalseWhenOtherTypeIsNotInvokeMethodDefinition()
         {
-            var type = UMA.GetStatic<UMA>().InvokeMethodDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().InvokeMethodDefinition;

             var definition1 = type.New(typeof(int), "Foo", Type.EmptyTypes, new object[] { "abc", true }).Value;
             var definition2 = "abcd";
@@ -2258,7 +2257,7 @@
         [Test]
         public void InvokeMethodDefinitionEqualsReturnsFalseWhenOtherHasDifferentType()
         {
-            var type = UMA.GetStatic<UMA>().InvokeMethodDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().InvokeMethodDefinition;

             var definition1 = type.New(typeof(int), "Foo", Type.EmptyTypes, new object[] { "abc", true }).Value;
             var definition2 = type.New(typeof(string), "Foo", Type.EmptyTypes, new object[] { "abc", true }).Value;
@@ -2269,7 +2268,7 @@
         [Test]
         public void InvokeMethodDefinitionEqualsReturnsFalseWhenOtherHasDifferentName()
         {
-            var type = UMA.GetStatic<UMA>().InvokeMethodDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().InvokeMethodDefinition;

             var definition1 = type.New(typeof(int), "Foo", Type.EmptyTypes, new object[] { "abc", true }).Value;
             var definition2 = type.New(typeof(int), "Bar", Type.EmptyTypes, new object[] { "abc", true }).Value;
@@ -2280,7 +2279,7 @@
         [Test]
         public void InvokeMethodDefinitionEqualsReturnsFalseWhenOtherHasDifferentNumberOfArgTypes()
         {
-            var type = UMA.GetStatic<UMA>().InvokeMethodDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().InvokeMethodDefinition;

             var definition1 = type.New(typeof(int), "Foo", Type.EmptyTypes, new object[] { "abc", true }).Value;
             var definition2 = type.New(typeof(int), "Foo", Type.EmptyTypes, new object[] { "abc" }).Value;
@@ -2291,7 +2290,7 @@
         [Test]
         public void InvokeMethodDefinitionEqualsReturnsFalseWhenOtherHasDifferentArgTypes()
         {
-            var type = UMA.GetStatic<UMA>().InvokeMethodDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().InvokeMethodDefinition;

             var definition1 = type.New(typeof(int), "Foo", Type.EmptyTypes, new object[] { "abc", true }).Value;
             var definition2 = type.New(typeof(int), "Foo", Type.EmptyTypes, new object[] { "abc", DateTime.Now }).Value;
@@ -2302,7 +2301,7 @@
         [Test]
         public void InvokeMethodDefinitionEqualsReturnsFalseWhenOtherHasDifferentNumberOfTypeArguments()
         {
-            var type = UMA.GetStatic<UMA>().InvokeMethodDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().InvokeMethodDefinition;

             var definition1 = type.New(typeof(int), "Foo", new[] { typeof(int) }, new object[] { "abc", true }).Value;
             var definition2 = type.New(typeof(int), "Foo", new[] { typeof(int), typeof(string) }, new object[] { "abc" }).Value;
@@ -2313,7 +2312,7 @@
         [Test]
         public void InvokeMethodDefinitionEqualsReturnsFalseWhenOtherHasDifferentTypeArguments()
         {
-            var type = UMA.GetStatic<UMA>().InvokeMethodDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().InvokeMethodDefinition;

             var definition1 = type.New(typeof(int), "Foo", new[] { typeof(int), typeof(string) }, new object[] { "abc", true }).Value;
             var definition2 = type.New(typeof(int), "Foo", new[] { typeof(int), typeof(int) }, new object[] { "abc", DateTime.Now }).Value;
@@ -2324,7 +2323,7 @@
         [Test]
         public void InvokeMethodDefinitionEqualsReturnsTrueWhenTypeAndArgTypesAreTheSame()
         {
-            var type = UMA.GetStatic<UMA>().InvokeMethodDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().InvokeMethodDefinition;

             var definition1 = type.New(typeof(int), "Foo", new[] { typeof(int), typeof(string) }, new object[] { "abc", true }).Value;
             var definition2 = type.New(typeof(int), "Foo", new[] { typeof(int), typeof(string) }, new object[] { "abc", true }).Value;
@@ -2335,7 +2334,7 @@
         [Test]
         public void InvokeMethodDefinitionGetHashCodeIsTheSameForEqualInstances()
         {
-            var type = UMA.GetStatic<UMA>().InvokeMethodDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().InvokeMethodDefinition;

             var definition1 = type.New(typeof(int), "Foo", new[] { typeof(int), typeof(string) }, new object[] { "abc", true }).Value;
             var definition2 = type.New(typeof(int), "Foo", new[] { typeof(int), typeof(string) }, new object[] { "abc", true }).Value;
@@ -2347,7 +2346,7 @@
         [Test]
         public void InvokeMethodDefinitionGetHashCodeIsTheSameForReferenceEqualInstances()
         {
-            var type = UMA.GetStatic<UMA>().InvokeMethodDefinition;
+            var type = typeof(UniversalMemberAccessor).Unlock().InvokeMethodDefinition;

             var definition1 = type.New(typeof(int), "Foo", new[] { typeof(int), typeof(string) }, new object[] { "abc", true }).Value;
             var definition2 = definition1;


Revert "Reorganize SignalRedraw() usage behind lock."

This reverts commit b70e75afb4f890cf05b737da5da960877ee36376.

--- Viewport/RenderedViewport.cs
+++ Viewport/RenderedViewport.cs
@@ -165,9 +165,6 @@

 		private float _alpha = 0.0f;

-		private bool _stillDrawing = false;
-		private readonly object _drawLock = new object();
-
 		private bool _runTimerForAlpha = true;
 		public void TimerForAlpha ()
 		{
@@ -179,7 +176,7 @@
 					{
 						_alpha += 0.01f;
 						if (_alpha > 1.0f) _alpha = 1.0f;
-						SignalDisplayToRedraw();
+						SignalRedraw();
 					}
 				}
 				Thread.Sleep(_fadeInMs);
@@ -236,7 +233,6 @@
 			_cycles.PassRendered += CyclesPassRendered;
 			_cycles.Database.LinearWorkflowChanged += DatabaseLinearWorkflowChanged;
 			_cycles.UploadProgress += _cycles_UploadProgress;
-			_cycles.Database.ViewChanged += Database_ViewChanged;

 			ViewportSettingsChanged += _cycles.ViewportSettingsChangedHandler;
 			_cycles.CurrentViewportSettingsRequested += _cycles_CurrentViewportSettingsRequested;
@@ -269,19 +265,10 @@
 			return true;
 		}

-		private bool _viewChangeHandled = false;
-		private void Database_ViewChanged(object sender, ChangeDatabase.ViewChangedEventArgs e)
-		{
-			lock (timerLock)
-			{
-				_viewChangeHandled = false;
-			}
-		}
-
 		private void _cycles_UploadProgress(object sender, UploadProgressEventArgs e)
 		{
 			_status = e.Message;
-			SignalDisplayToRedraw();
+			if(!_cycles.CancelRender) SignalRedraw();
 		}

 		private void _cycles_CurrentViewportSettingsRequested(object sender, EventArgs e)
@@ -329,11 +316,11 @@
 				{
 					_samplesLocal = _samples;
 				}
-				if (_viewChangeHandled && !_sameView && _cycles.ViewSet)
+				if (!_sameView && _cycles.ViewSet)
 				{
 					_sameView = _cycles.Database.AreViewsEqual(view, _cycles.View);
 				}
-				return _frameAvailable && _sameView && _samplesLocal > -1;
+				return _frameAvailable && _sameView && _samplesLocal > 0;
 			}
 			if (_modal != null)
 			{
@@ -348,14 +335,10 @@
 		{
 			if (_cycles?.IsRendering ?? false)
 			{
-				lock(timerLock)
-				{
-					_viewChangeHandled = true;
-				}
 				_frameAvailable = true;
 				_lastTime = DateTime.UtcNow;

-				SignalDisplayToRedraw();
+				if(!_cycles.CancelRender) SignalRedraw();
 			}
 		}

@@ -432,39 +415,18 @@
 		void CyclesStatusTextUpdated(object sender, RenderEngine.StatusTextEventArgs e)
 		{
 			//Rhino.RhinoApp.OutputDebugString($"{e.StatusText}\n");
-			//int samplesLocal;
+			int samplesLocal;
 			lock (timerLock)
 			{
 				_samples = e.Samples;
-				//samplesLocal = _samples;
+				samplesLocal = _samples;
 			}

 			if (_cycles?.IsWaiting ?? false) _status = "Paused";
 			else
 			{
-				_status = $"{e.Samples} - {e.StatusText}"; // e.Samples < 0 ? e.StatusText : ""; // "Updating Engine" : "";
-			}
-			SignalDisplayToRedraw();
-		}
-
-		/// <summary>
-		/// Notify the realtime display integration system we have something new to draw.
-		///
-		/// This function uses a lock to see if we still have a pending draw request. If
-		/// that is the case a redraw won't be signalled.
-		/// </summary>
-		public void SignalDisplayToRedraw()
-		{
-			lock (_drawLock)
-			{
-				if (!_stillDrawing)
-				{
-					if (!_cycles.CancelRender)
-					{
-						_stillDrawing = true;
-						SignalRedraw();
-					}
-				}
+				_status = samplesLocal < 0 ? e.StatusText : ""; // "Updating Engine" : "";
+				if(!_cycles.CancelRender) SignalRedraw();
 			}
 		}

@@ -493,27 +455,19 @@

 		public override bool DrawOpenGl()
 		{
-			int samplesLocal = -1;
+			int samplesLocal = 0;
 			float alphaLocal = 1.0f;
-			bool rc = false;
-			lock (_drawLock)
-			{
-				lock (timerLock)
+			lock (timerLock)
+			{
+				samplesLocal = _samples;
+				if (_useFastDraw)
 				{
-					samplesLocal = _samples;
-					if (_useFastDraw)
-					{
-						alphaLocal = _alpha;
-					}
+					alphaLocal = _alpha;
 				}
-				if (samplesLocal > 0)
-				{
-					rc = true;
-					_cycles.DrawOpenGl(alphaLocal);
-				}
-				_stillDrawing = false;
-				return rc;
-			}
+			}
+			if (samplesLocal < 1) return false;
+			_cycles.DrawOpenGl(alphaLocal);
+			return true;
 		}

 		public override bool OnRenderSizeChanged(int width, int height)


Update DatabaseContext.cs

Update DatabaseContext.cs

--- SandboxDatabaseManager/SandboxDatabaseManager/Database/DatabaseContext.cs
+++ SandboxDatabaseManager/SandboxDatabaseManager/Database/DatabaseContext.cs
@@ -841,7 +841,7 @@
                             RedirectOnlyResult = null,
                             RedirectToAction = myReader["RedirectToAction"] == DBNull.Value ? null : (string)myReader["RedirectToAction"],
                             RedirectToController = myReader["RedirectToController"] == DBNull.Value ? null : (string)myReader["RedirectToController"],
-                            StartDate = (DateTime)myReader["EndDate"],
+                            StartDate = (DateTime)myReader["StartDate"],
                             Status = (Tasks.TaskStatus)myReader["Status"]
                         };


Added comparison options to INamespaceOrTypeExtensions based on comparision options for INamespaceSymbolExtensions. (changeset 1326375)

--- Src/Workspaces/Core/Shared/Extensions/INamespaceOrTypeSymbolExtensions.cs
+++ Src/Workspaces/Core/Shared/Extensions/INamespaceOrTypeSymbolExtensions.cs
@@ -1,17 +1,22 @@
 // Copyright (c) Microsoft Open Technologies, Inc.  All Rights Reserved.  Licensed under the Apache License, Version 2.0.  See License.txt in the project root for license information.

+using System;
 using System.Collections.Generic;
 using System.Linq;
-using Microsoft.CodeAnalysis;
-using Microsoft.CodeAnalysis.Text;
+using System.Runtime.CompilerServices;
 using Roslyn.Utilities;

 namespace Microsoft.CodeAnalysis.Shared.Extensions
 {
     internal static partial class INamespaceOrTypeSymbolExtensions
     {
+        private static readonly ConditionalWeakTable<INamespaceOrTypeSymbol, List<string>> namespaceOrTypeToNameMap =
+            new ConditionalWeakTable<INamespaceOrTypeSymbol, List<string>>();
+
         private static readonly SymbolDisplayFormat ShortNameFormat = new SymbolDisplayFormat(
             miscellaneousOptions: SymbolDisplayMiscellaneousOptions.UseSpecialTypes | SymbolDisplayMiscellaneousOptions.ExpandNullable);
+
+        public static readonly Comparison<INamespaceOrTypeSymbol> CompareNamespaceOrTypeSymbols = CompareTo;

         public static string GetShortName(this INamespaceOrTypeSymbol symbol)
         {
@@ -24,5 +29,40 @@
                 ? SpecializedCollections.EmptyEnumerable<IPropertySymbol>()
                 : symbol.GetMembers(WellKnownMemberNames.Indexer).OfType<IPropertySymbol>().Where(p => p.IsIndexer);
         }
+
+        public static int CompareTo(this INamespaceOrTypeSymbol n1, INamespaceOrTypeSymbol n2)
+        {
+            var names1 = namespaceOrTypeToNameMap.GetValue(n1, GetNameParts);
+            var names2 = namespaceOrTypeToNameMap.GetValue(n2, GetNameParts);
+
+            for (var i = 0; i < Math.Min(names1.Count, names2.Count); i++)
+            {
+                var comp = names1[i].CompareTo(names2[i]);
+                if (comp != 0)
+                {
+                    return comp;
+                }
+            }
+
+            return names1.Count - names2.Count;
+        }
+
+        private static List<string> GetNameParts(INamespaceOrTypeSymbol namespaceSymbol)
+        {
+            var result = new List<string>();
+            GetNameParts(namespaceSymbol, result);
+            return result;
+        }
+
+        private static void GetNameParts(INamespaceOrTypeSymbol namespaceOrTypeSymbol, List<string> result)
+        {
+            if (namespaceOrTypeSymbol == null || (namespaceOrTypeSymbol.IsNamespace && ((INamespaceSymbol)namespaceOrTypeSymbol).IsGlobalNamespace))
+            {
+                return;
+            }
+
+            GetNameParts(namespaceOrTypeSymbol.ContainingNamespace, result);
+            result.Add(namespaceOrTypeSymbol.Name);
+        }
     }
 }


Improve readability of DbContextOptions code

--- StartingSource/CycleSales/CycleSales/CycleSalesModel/CycleSalesContext.cs
+++ StartingSource/CycleSales/CycleSales/CycleSalesModel/CycleSalesContext.cs
@@ -20,11 +20,8 @@

         protected override void OnConfiguring(DbContextOptions options)
         {
-            // TODO: This check is so that we can pass in external options from tests
-            //       Need to come up with a better way to handle this scenario
-            if (!((IDbContextOptionsExtensions)options).Extensions.Any())
+            if (!options.IsAlreadyConfigured())
             {
-                // TODO: Connection string in code rather than config file because of temporary limitation with Migrations
                 options.UseSqlServer(@"Server=(localdb)\v11.0;Database=CycleSales;integrated security=True;");
             }
         }
@@ -39,4 +36,12 @@
                 .Table("Bikes");
         }
     }
+
+    public static class DbOptionsExtensions
+    {
+        public static bool IsAlreadyConfigured(this DbContextOptions options)
+        {
+            return ((IDbContextOptionsExtensions)options).Extensions.Any();
+        }
+    }
 }


fix null check

fix null check

--- TeamMnMGroupingWebApp/TeamMnMGroupingWebApp/Controllers/HomeController.cs
+++ TeamMnMGroupingWebApp/TeamMnMGroupingWebApp/Controllers/HomeController.cs
@@ -61,11 +61,11 @@
                 //if cohort was created successfully then continue to create associations
                 if(cohortResult.completedSuccessfully){
                     //2) start creating student cohort association
-                    var studentsAssociations = new Task<IEnumerable<ActionResponseResult>>();
-
-                    if(obj.studentsToCreate != null && obj.studentsToCreate.Count() > 0)
+                    Task<IEnumerable<ActionResponseResult>> studentsAssociations;
+                    if (obj.studentsToCreate != null && obj.studentsToCreate.Count() > 0)
                         studentsAssociations = CreateMultipleStudentCohortAssociations(cs, cohortResult.objectId, obj.studentsToCreate);
-
+                    else
+                        studentsAssociations = null;
                     //3) initial populate of the cohort custom entity
                     var cohortCustom = cs.CreateCohortCustom(cohortResult.objectId, JsonConvert.SerializeObject(obj.custom));

@@ -95,15 +95,16 @@
                 //1) update cohort
                 var cohortResult = await UpdateCohort(cs, obj.cohort);
                 //2) create student cohort association
-                var newStudentsAssociations = new Task<IEnumerable<ActionResponseResult>>();
+                Task<IEnumerable<ActionResponseResult>> newStudentsAssociations;
                 if (obj.studentsToCreate != null && obj.studentsToCreate.Count() > 0)
                     newStudentsAssociations = CreateMultipleStudentCohortAssociations(cs, cohortResult.objectId, obj.studentsToCreate);
-
+                else
+                    newStudentsAssociations = null;
                 //3) update cohort custom entity
                 var cohortCustom = cs.UpdateCohortCustom(obj.cohort.id, JsonConvert.SerializeObject(obj.custom));

                 //4) remove students from cohort
-                var removeStudents = new Task<IEnumerable<ActionResponseResult>>();
+                Task<IEnumerable<ActionResponseResult>> removeStudents;
                 if (obj.studentsToDelete != null && obj.studentsToDelete.Count() > 0)
                 {
                     //Get a list of the current studentCohortAssociations so that we have the ids to delete them from group
@@ -111,8 +112,10 @@
                     //get the studentCohortAssociationId for students to delete
                     var associationToDelete = (from s in obj.studentsToDelete select (from csca in currentStudentCohortAssociation where csca.studentId == s select csca).Single());
                     //delete the studentCohortAssociation
-                    removeStudents = DeleteMultipleStudentCohortAssociations(cs, associationToDelete);
-                }
+                    removeStudents = DeleteMultipleStudentCohortAssociations(cs, associationToDelete);
+                }
+                else
+                    removeStudents = null;

                 await Task.WhenAll(newStudentsAssociations, cohortCustom, removeStudents);


Simplifying git logic.

Simplifying git logic.

--- WindowsAzurePowershell/src/Management.WebSites/Cmdlets/NewAzureWebSite.cs
+++ WindowsAzurePowershell/src/Management.WebSites/Cmdlets/NewAzureWebSite.cs
@@ -213,16 +213,13 @@
                 RetryCall(s => Channel.NewWebsite(s, Location, website));
             });

-            if (Git)
-            {
-                if(!IsGitWorkingTree())
-                {
-                    // Init git in current directory
-                    InitGitOnCurrentDirectory();
-                    CopyIisNodeWhenServerJsPresent();
-                    UpdateLocalConfigWithSiteName(Name, Location);
-                    CreateRepositoryAndAddRemote(publishingUser, Name, Location);
-                }
+            if (Git && !IsGitWorkingTree())
+            {
+                // Init git in current directory
+                InitGitOnCurrentDirectory();
+                CopyIisNodeWhenServerJsPresent();
+                UpdateLocalConfigWithSiteName(Name, Location);
+                CreateRepositoryAndAddRemote(publishingUser, Name, Location);
             }

             return true;


[CA-223486] Refactoring and expanding fltering to all pre-Clearwater only checks

We now enumerate pre-Creedence and pre-Clearwater servers once, and check hosts only in those lists for the checks that only apply to those servers.

Signed-off-by: Callum McIntyre <a537161e31cdf7778595df53c402d4fe84d3cdae@citrix.com>

--- XenAdmin/Wizards/RollingUpgradeWizard/RollingUpgradeWizardPrecheckPage.cs
+++ XenAdmin/Wizards/RollingUpgradeWizard/RollingUpgradeWizardPrecheckPage.cs
@@ -138,6 +138,12 @@
             get { return "Upgradeprechecks"; }
         }

+        private static bool HostNeedsLicenseCheck(Host host)
+        {
+            var edition = Host.GetEdition(host.edition);
+            return edition != Host.Edition.EnterpriseXD && edition != Host.Edition.XenDesktop;
+        }
+
         protected override List<KeyValuePair<string, List<Check>>> GenerateChecks(Pool_patch patch)
         {
             List<KeyValuePair<string, List<Check>>> checks = new List<KeyValuePair<string, List<Check>>>();
@@ -198,29 +204,27 @@
             }

             //iSL (StorageLink) check - CA-223486: only for pre-Creedence
-            if (SelectedServers.Any(h => !Helpers.CreedenceOrGreater(h)))
+            var preCreedenceServers = SelectedServers.Where(h => !Helpers.CreedenceOrGreater(h)).ToList();
+            if (preCreedenceServers.Any())
             {
                 checks.Add(new KeyValuePair<string, List<Check>>(Messages.CHECKING_STORAGELINK_STATUS, new List<Check>()));
                 checkGroup = checks[checks.Count - 1].Value;
-                foreach (Host host in SelectedServers)
-                {
-                    if(!Helpers.CreedenceOrGreater(host))
-                        checkGroup.Add(new HostHasUnsupportedStorageLinkSRCheck(host));
+                foreach (Host host in preCreedenceServers)
+                {
+                    checkGroup.Add(new HostHasUnsupportedStorageLinkSRCheck(host));
                 }
             }

             //Upgrading to Clearwater and above - license changes warning and deprecations
-            if(SelectedServers.Any(h=> !Helpers.ClearwaterOrGreater(h)))
-            {
-                //License changes
-                if (SelectedServers.Any(h => Host.GetEdition(h.edition) != Host.Edition.EnterpriseXD &&
-                                             Host.GetEdition(h.edition) != Host.Edition.XenDesktop))
+            var preClearwaterServers = SelectedServers.Where(h => !Helpers.ClearwaterOrGreater(h)).ToList();
+            if(preClearwaterServers.Any())
+            {
                 {
                     checks.Add(new KeyValuePair<string, List<Check>>(Messages.CHECKING_LICENSING_STATUS, new List<Check>()));
                     checkGroup = checks[checks.Count - 1].Value;
-                    foreach (Host host in SelectedServers)
+                    foreach (Host host in preClearwaterServers)
                     {
-                        if(!Helpers.ClearwaterOrGreater(host))
+                        if(HostNeedsLicenseCheck(host))
                             checkGroup.Add(new UpgradingFromTampaAndOlderCheck(host));
                     }
                 }
@@ -228,7 +232,7 @@
                 //WSS removal
                 checks.Add(new KeyValuePair<string, List<Check>>(Messages.CHECKING_WSS_STATUS, new List<Check>()));
                 checkGroup = checks[checks.Count - 1].Value;
-                foreach (Host host in SelectedServers)
+                foreach (Host host in preClearwaterServers)
                 {
                     checkGroup.Add(new HostHasWssCheck(host));
                 }
@@ -236,11 +240,10 @@
                 //VMP[RP]removal
                 checks.Add(new KeyValuePair<string, List<Check>>(Messages.CHECKING_VMPR_STATUS, new List<Check>()));
                 checkGroup = checks[checks.Count - 1].Value;
-                foreach (Host host in SelectedServers)
+                foreach (Host host in preClearwaterServers)
                 {
                     checkGroup.Add(new VmprActivatedCheck(host));
                 }
-
             }

             //SafeToUpgradeCheck - in automatic mode only


regionの追加

regionの追加

--- uxConsole/Program.cs
+++ uxConsole/Program.cs
@@ -32,6 +32,7 @@
     class Program
     {
         static void Main(string[] args)
+        #region -- Public Static Methods --
         {
             const int frequencty = 44100;

@@ -87,5 +88,6 @@

             connector.Stop();
         }
+        #endregion
     }
 }


Added interrupt to Pyrotech

Added interrupt to Pyrotech

--- trunk/DefaultCombat/Routines/Advanced/PowerTech/Pyrotech.cs
+++ trunk/DefaultCombat/Routines/Advanced/PowerTech/Pyrotech.cs
@@ -50,7 +50,8 @@
 							Spell.Cast("Flame Burst", ret => Me.HasBuff("Flame Barrage")),
 							Spell.Cast("Rapid Shots")
 							)),
-					Spell.Cast("Flame Thrower", ret => Me.BuffCount("Superheated Flame Thrower") == 2),
+                    Spell.Cast("Quell", ret => Me.CurrentTarget.IsCasting && !DefaultCombat.MovementDisabled),
+                    Spell.Cast("Flame Thrower", ret => Me.BuffCount("Superheated Flame Thrower") == 2),
 					Spell.DoT("Incendiary Missile", "Burning (Incendiary Missile)"),
 					Spell.DoT("Scorch", "Scorch"),
 					Spell.Cast("Rail Shot", ret => Me.HasBuff("Charged Gauntlets")),


Work item Id #656 Rules - single generic parameter is treated like property

--- trunk/Solutions/CslaGenFork/CodeGen/CslaTemplateHelperCS.cs
+++ trunk/Solutions/CslaGenFork/CodeGen/CslaTemplateHelperCS.cs
@@ -831,7 +831,7 @@
                 }
                 result = BuildArrayOrParams(parameter, result);
             }
-            else if (parameter.Type.LastIndexOf("[]") == parameter.Type.Length -2 && result != string.Empty)
+            else if (parameter.Type.LastIndexOf("[]") > -1 && parameter.Type.LastIndexOf("[]") == parameter.Type.Length -2 && result != string.Empty)
             {
                 string[] resultSplit = result.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries);
                 result = string.Empty;


Idem.

Idem.

--- trunk/Solutions/CslaGenFork/CodeGen/CslaTemplateHelperCS.cs
+++ trunk/Solutions/CslaGenFork/CodeGen/CslaTemplateHelperCS.cs
@@ -2211,13 +2211,14 @@
                 return String.Format("{0} == null ? (object)DBNull.Value : {0}", propName);
             }

-            switch (propType)
-            {
-                /*case TypeCodeEx.Guid:
-                    return propName + ".Equals(Guid.Empty) ? (object)DBNull.Value : " + propName;*/
+            /*switch (propType)
+            {
+                case TypeCodeEx.Guid:
+                    return propName + ".Equals(Guid.Empty) ? (object)DBNull.Value : " + propName;
                 default:
                     return propName;
-            }
+            }*/
+            return propName;
         }

         /// <summary>


Delete ExactSumofRealNumbers.cs

Delete ExactSumofRealNumbers.cs

--- 01.Lecture/03.ExactSumofRealNumbers/ExactSumofRealNumbers.cs
+++ 01.Lecture/03.ExactSumofRealNumbers/ExactSumofRealNumbers.cs
@@ -1,27 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace ExactSumofRealNumbers
-{
-    class ExactSumofRealNumbers
-    {
-        static void Main(string[] args)
-        {
-            int linesToSum = int.Parse(Console.ReadLine());
-
-            decimal sum = 0;
-
-            for (int i = 0; i < linesToSum; i++)
-            {
-                sum += decimal.Parse(Console.ReadLine());
-
-
-            }
-            Console.WriteLine(sum);
-
-        }
-    }
-}


refs #24 Remove unused directives

refs #24 Remove unused directives

--- Application/MatchGenerator/ViewModel/MemberClickEventArgs.cs
+++ Application/MatchGenerator/ViewModel/MemberClickEventArgs.cs
@@ -1,8 +1,4 @@
 using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;

 namespace MatchGenerator.ViewModel
 {


Made zombie parts limb velocity based on deltatime

--- Assets/Microgames/ZombieParts/Scripts/ZombiePartsLimbTilt.cs
+++ Assets/Microgames/ZombieParts/Scripts/ZombiePartsLimbTilt.cs
@@ -17,7 +17,7 @@

 	// Update is called once per frame
 	void Update () {
-		Vector3 velocity = transform.position - lastPosition;
+		Vector3 velocity = (transform.position - lastPosition) / Time.deltaTime;
 		transform.eulerAngles = Vector3.forward * Mathf.LerpAngle(
 			transform.eulerAngles.z,
 			speedToTilt.Evaluate(velocity.x / Time.unscaledDeltaTime),


Catching error in channelTaxonomyManager

--- Bonfire.Analytics.xDbPeek/Repositories/CampaignRepository.cs
+++ Bonfire.Analytics.xDbPeek/Repositories/CampaignRepository.cs
@@ -59,12 +59,21 @@

         private string GetChannel(ICampaignActivityDefinition campaign)
         {
-            if (channelTaxonomyManager == null || campaign?.ChannelUri == null)
+            if (channelTaxonomyManager == null || campaign?.ChannelUri == null || Context.Language?.CultureInfo == null)
             {
                 return null;
             }
-            var channel = channelTaxonomyManager.GetChannel(campaign.ChannelUri, Context.Language.CultureInfo);
-            return channel == null ? null : channelTaxonomyManager.GetFullName(channel.Uri, "/");
+
+            try
+            {
+                var channel = channelTaxonomyManager.GetChannel(campaign.ChannelUri, Context.Language.CultureInfo);
+                return channel == null ? null : channelTaxonomyManager.GetFullName(channel.Uri, "/");
+            }
+            catch
+            {
+                return string.Empty;
+            }
+
         }

         private ICampaignActivityDefinition GetCampaignDefinition(Guid campaignId)


add more urgency levels to the build age

--- CompatBot/Utils/ResultFormatters/LogParserResultFormatter.cs
+++ CompatBot/Utils/ResultFormatters/LogParserResultFormatter.cs
@@ -50,8 +50,14 @@
             {"BCJS70013", "NPJA00102"},
         };

+        private static readonly TimeSpan OldBuild = TimeSpan.FromDays(30);
+        private static readonly TimeSpan VeryOldBuild = TimeSpan.FromDays(60);
+        private static readonly TimeSpan VeryVeryOldBuild = TimeSpan.FromDays(90);
+        private static readonly TimeSpan AncientBuild = TimeSpan.FromDays(180);
+        private static readonly TimeSpan PrehistoricBuild = TimeSpan.FromDays(365);
+
         private static readonly char[] PrioritySeparator = {' '};
-        private static readonly string[] EmojiPriority = { "❌", "⁉", "⚠", "❔", "✅", "ℹ" };
+        private static readonly string[] EmojiPriority = { "😱", "‼", "❗", "💢", "❌", "⁉", "⚠", "❔", "✅", "ℹ" };
         private const string TrueMark = "[x]";
         private const string FalseMark = "[ ]";

@@ -494,8 +500,23 @@
             var updateInfo = await CheckForUpdateAsync(items).ConfigureAwait(false);
             if (updateInfo != null)
             {
-                var timeDeltaStr = updateInfo.GetUpdateDelta() is TimeSpan timeDelta ? timeDelta.AsTimeDeltaDescription() + " old": "outdated";
-                notes.Add($"⚠ This RPCS3 build is {timeDeltaStr}, please consider updating it");
+                string prefix = "⚠";
+                string timeDeltaStr;
+                if (updateInfo.GetUpdateDelta() is TimeSpan timeDelta)
+                {
+                    timeDeltaStr = timeDelta.AsTimeDeltaDescription() + " old";
+                    if (timeDelta > PrehistoricBuild)
+                        prefix = "😱";
+                    else if (timeDelta > AncientBuild)
+                        prefix = "💢";
+                    else if (timeDelta > VeryVeryOldBuild)
+                        prefix = "‼";
+                    else if (timeDelta > VeryOldBuild)
+                        prefix = "❗";
+                }
+                else
+                    timeDeltaStr = "outdated";
+                notes.Add($"{prefix} This RPCS3 build is {timeDeltaStr}, please consider updating it");
             }

             if (state.Error == LogParseState.ErrorCode.SizeLimit)


Add default constructor for OrthographicCamera

--- Source/Core/Cameras/OrthographicCamera.cs
+++ Source/Core/Cameras/OrthographicCamera.cs
@@ -24,8 +24,8 @@
     {
         #region Fields
         //projection (orthographic)
-        float _width;
-        float _height;
+        float _width = 1280;
+        float _height = 720;
         //updates
         //int updateLock = 0;
         #endregion fields
@@ -40,6 +40,10 @@
         {
             get { return _height; }
             set { _height = value; if (updateLock == 0) UpdateProjection(); }
+        }
+
+        public OrthographicCamera()
+        {
         }

         public OrthographicCamera(float width, float height): base()


Fixed the hyper reference in the HTML sample.

--- Samples/XamlReporting.Samples.Wpf/DocumentViewModel.cs
+++ Samples/XamlReporting.Samples.Wpf/DocumentViewModel.cs
@@ -63,7 +63,7 @@
                     Lorem ipsum dolor sit amet, <s>consetetur</s> sadipscing elitr, sed diam nonumy eirmod tempor
                     invidunt* ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam
                     et justo duo dolores123 et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est
-                    Lorem ipsum dolor sit amet: Google
+                    Lorem ipsum dolor sit amet: Google

             ";


Added a negative PhoneNumberFilter test and changed the test naming to not contain "Filter".

--- SharpRaven.UnitTests/Logging/PhoneNumberFilterTests.cs
+++ SharpRaven.UnitTests/Logging/PhoneNumberFilterTests.cs
@@ -10,7 +10,22 @@
     public class PhoneNumberFilterTests
     {
         [Test]
-        public void Filter_PhoneNumberIsScrubbed()
+        public void InvalidPhoneNumber_IsNotScrubbed()
+        {
+            const string phoneNumber = "1531";
+            var input = String.Format(
+                "Lorem ipsum dolor sit amet, consectetur adipiscing elit. {0} Praesent est dui, ornare eget condimentum a, tincidunt sit amet lectus. Nulla pellentesque, tortor eget tempus malesuada.",
+                phoneNumber);
+
+            PhoneNumberFilter filter = new PhoneNumberFilter();
+            var output = filter.Filter(input);
+
+            Assert.That(output, Is.StringContaining(phoneNumber));
+        }
+
+
+        [Test]
+        public void ValidPhoneNumber_IsScrubbed()
         {
             const string phoneNumber = "55518231234";
             var input = String.Format(
@@ -20,7 +35,7 @@
             PhoneNumberFilter filter = new PhoneNumberFilter();
             var output = filter.Filter(input);

-            Assert.That(output, Is.Not.Contains(phoneNumber));
+            Assert.That(output, Is.Not.StringContaining(phoneNumber));
         }
     }
 }


use UserTypeId to indicate which password to reset.

--- SnapMD.ConnectedCare.ApiModels/ResetPasswordRequest.cs
+++ SnapMD.ConnectedCare.ApiModels/ResetPasswordRequest.cs
@@ -1,9 +1,11 @@
-namespace SnapMD.ConnectedCare.ApiModels
+using SnapMD.ConnectedCare.ApiModels.Enums;
+
+namespace SnapMD.ConnectedCare.ApiModels
 {
     public class ResetPasswordRequest
     {
         public string Email { get; set; }
         public int HospitalId { get; set; }
-        public bool? Admin { get; set; }
+        public UserType? UserTypeId { get; set; }
     }
 }


Enabled NetworkClientConnectionOn in PreShipSelectionScene


code style

code style

--- DancingGoat/InlineContentItemResolver/HostedVideoResolver.cs
+++ DancingGoat/InlineContentItemResolver/HostedVideoResolver.cs
@@ -10,7 +10,8 @@
         {
             var selected = data.Item.VideoHost.FirstOrDefault()?.Codename;

-            switch (selected) {
+            switch (selected)
+            {
                 case "vimeo":
                     return
                         $"<iframe class=\"hosted-video__wrapper\" src=\"https://player.vimeo.com/video/{data.Item.VideoId}?title=0&byline=0&portrait=0\" width=\"640\" " +


String/integer casts in order to get MiniTri11 working.

--- Source/Tools/Generator/Model/ModelJson.cs
+++ Source/Tools/Generator/Model/ModelJson.cs
@@ -165,7 +165,7 @@
 			if (root.TryGetValue("values", out items))
 			{
 				foreach (var item in items)
-					results.Add(new EnumerationValueModel((string)item["key"], (string)item["value"]));
+					results.Add(new EnumerationValueModel((string)item["key"], item["value"].Value<string>()));
 			}

 			return results;


ID can be set, add iequatable

ID can be set, add iequatable

--- ExtendedEditor/Assets/ExtendedEditor/Core/ExtendedControl.cs
+++ ExtendedEditor/Assets/ExtendedEditor/Core/ExtendedControl.cs
@@ -7,7 +7,7 @@

 namespace TNRD.Editor {

-    public class ExtendedControl {
+    public class ExtendedControl : IEquatable<ExtendedControl> {

         [IgnoreSerialization]
         public ExtendedWindow Window;
@@ -54,7 +54,7 @@
         public EAnchor AnchorPoint = EAnchor.MiddleCenter;

         public string ID {
-            get; private set;
+            get; set;
         }

         public float DeltaTime {
@@ -178,6 +178,24 @@
             guiActions.Add( action );
             Window.Editor.Repaint();
         }
+
+        public bool Equals( ExtendedControl other ) {
+            if ( (object)other == null ) return false;
+            return ID == other.ID;
+        }
+
+        public override bool Equals( object obj ) {
+            if ( obj == null ) return false;
+            if ( obj is ExtendedControl ) {
+                return Equals( obj as ExtendedControl );
+            } else {
+                return false;
+            }
+        }
+
+        public override int GetHashCode() {
+            return ID.GetHashCode();
+        }
     }
 }
 #endif


More fixes on making selection get thread-safe.

--- FRBDK/Glue/Glue/Plugins/ExportedImplementations/GlueState.cs
+++ FRBDK/Glue/Glue/Plugins/ExportedImplementations/GlueState.cs
@@ -350,9 +350,9 @@

         public void TakeSnapshot()
         {
-            var treeNode = MainExplorerPlugin.Self.ElementTreeView.SelectedNode;
-
-            snapshot.CurrentTreeNode = treeNode;
+            var selectedTreeNode = MainExplorerPlugin.Self.ElementTreeView.SelectedNode;
+
+            snapshot.CurrentTreeNode = selectedTreeNode;
             snapshot.CurrentElementTreeNode = GetCurrentElementTreeNodeFromSelection();
             snapshot.CurrentElement = GetCurrentElementFromSelection();
             snapshot.CurrentEntitySave = GetCurrentEntitySaveFromSelection();
@@ -365,14 +365,9 @@
             snapshot.CurrentEventResponseSave = GetCurrentEventResponseSaveFromSelection();

-            TreeNode GetCurrentTreeNodeFromSelection()
-            {
-                return MainExplorerPlugin.Self.ElementTreeView.SelectedNode;
-            }
             BaseElementTreeNode GetCurrentElementTreeNodeFromSelection()
             {
-                TreeNode treeNode = MainExplorerPlugin.Self.ElementTreeView.SelectedNode;
-
+                var treeNode = selectedTreeNode;
                 while (treeNode != null)
                 {
                     if (treeNode is BaseElementTreeNode)
@@ -388,22 +383,11 @@
             }
             GlueElement GetCurrentElementFromSelection()
             {
-                if (CurrentEntitySave != null)
-                {
-                    return CurrentEntitySave;
-                }
-                else if (CurrentScreenSave != null)
-                {
-                    return CurrentScreenSave;
-                }
-                else
-                {
-                    return null;
-                }
+                return (GlueElement)GetCurrentEntitySaveFromSelection() ?? GetCurrentScreenSaveFromSelection();
             }
             EntitySave GetCurrentEntitySaveFromSelection()
             {
-                TreeNode treeNode = MainExplorerPlugin.Self.ElementTreeView.SelectedNode;
+                var treeNode = selectedTreeNode;

                 while (treeNode != null)
                 {
@@ -422,69 +406,66 @@
             ScreenSave GetCurrentScreenSaveFromSelection()
             {

-#if UNIT_TESTS
+                var treeNode = selectedTreeNode;
+
+                while (treeNode != null)
+                {
+                    if (treeNode is BaseElementTreeNode && ((BaseElementTreeNode)treeNode).SaveObject is ScreenSave)
+                    {
+                        return ((BaseElementTreeNode)treeNode).SaveObject as ScreenSave;
+                    }
+                    else
+                    {
+                        treeNode = treeNode.Parent;
+                    }
+                }
+
                 return null;
-#endif
-                TreeNode treeNode = MainExplorerPlugin.Self.ElementTreeView.SelectedNode;
-
-                while (treeNode != null)
-                {
-                    if (treeNode is BaseElementTreeNode && ((BaseElementTreeNode)treeNode).SaveObject is ScreenSave)
-                    {
-                        return ((BaseElementTreeNode)treeNode).SaveObject as ScreenSave;
-                    }
-                    else
-                    {
-                        treeNode = treeNode.Parent;
-                    }
+            }
+            ReferencedFileSave GetCurrentReferencedFileSaveFromSelection()
+            {
+                var treeNode = selectedTreeNode;
+
+                if (treeNode != null && treeNode.Tag != null && treeNode.Tag is ReferencedFileSave)
+                {
+                    return (ReferencedFileSave)treeNode.Tag;
+                }
+                else
+                {
+                    return null;
+                }
+            }
+            NamedObjectSave GetCurrentNamedObjectSaveFromSelection()
+            {
+                var treeNode = selectedTreeNode;
+
+                if (treeNode == null)
+                {
+                    return null;
+                }
+                else if (treeNode.Tag != null && treeNode.Tag is NamedObjectSave)
+                {
+                    return (NamedObjectSave)treeNode.Tag;
+                }
+                else
+                {
+                    return null;
+                }
+            }
+            StateSave GetCurrentStateSaveFromSelection()
+            {
+                var treeNode = selectedTreeNode;
+
+                if (treeNode != null && treeNode.IsStateNode())
+                {
+                    return (StateSave)treeNode.Tag;
                 }

                 return null;
             }
-            ReferencedFileSave GetCurrentReferencedFileSaveFromSelection()
-            {
-                TreeNode treeNode = MainExplorerPlugin.Self.ElementTreeView.SelectedNode;
-
-                if (treeNode != null && treeNode.Tag != null && treeNode.Tag is ReferencedFileSave)
-                {
-                    return (ReferencedFileSave)treeNode.Tag;
-                }
-                else
-                {
-                    return null;
-                }
-            }
-            NamedObjectSave GetCurrentNamedObjectSaveFromSelection()
-            {
-                TreeNode treeNode = MainExplorerPlugin.Self.ElementTreeView.SelectedNode;
-
-                if (treeNode == null)
-                {
-                    return null;
-                }
-                else if (treeNode.Tag != null && treeNode.Tag is NamedObjectSave)
-                {
-                    return (NamedObjectSave)treeNode.Tag;
-                }
-                else
-                {
-                    return null;
-                }
-            }
-            StateSave GetCurrentStateSaveFromSelection()
-            {
-                var treeNode = CurrentTreeNode;
-
-                if (treeNode != null && treeNode.IsStateNode())
-                {
-                    return (StateSave)treeNode.Tag;
-                }
-
-                return null;
-            }
             StateSaveCategory GetCurrentStateSaveCategoryFromSelection()
             {
-                TreeNode treeNode = CurrentTreeNode;
+                var treeNode = selectedTreeNode;

                 if (treeNode != null)
                 {
@@ -503,7 +484,7 @@
             }
             CustomVariable GetCurrentCustomVariableFromSelection()
             {
-                TreeNode treeNode = CurrentTreeNode;
+                var treeNode = selectedTreeNode;

                 if (treeNode == null)
                 {
@@ -518,12 +499,9 @@
                     return null;
                 }
             }
-            static EventResponseSave GetCurrentEventResponseSaveFromSelection()
-            {
-                //This is needed because of designer issues.
-                if (MainGlueWindow.Self == null) return null;
-
-                TreeNode treeNode = MainExplorerPlugin.Self.ElementTreeView.SelectedNode;
+            EventResponseSave GetCurrentEventResponseSaveFromSelection()
+            {
+                var treeNode = selectedTreeNode;

                 if (treeNode == null)
                 {


fix usings

fix usings

--- Forum-Paulo-Coelho/ForumSystem.Api/App_Start/Startup.Auth.cs
+++ Forum-Paulo-Coelho/ForumSystem.Api/App_Start/Startup.Auth.cs
@@ -1,19 +1,19 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Microsoft.AspNet.Identity;
-using Microsoft.AspNet.Identity.EntityFramework;
-using Microsoft.Owin;
-using Microsoft.Owin.Security.Cookies;
-using Microsoft.Owin.Security.Google;
-using Microsoft.Owin.Security.OAuth;
-using Owin;
-using ForumSystem.Api.Providers;
-using ForumSystem.Api.Models;
-using ForumSystem.Data;
+namespace ForumSystem.Api
+{
+    using System;
+    using System.Collections.Generic;
+    using System.Linq;
+    using Microsoft.AspNet.Identity;
+    using Microsoft.AspNet.Identity.EntityFramework;
+    using Microsoft.Owin;
+    using Microsoft.Owin.Security.Cookies;
+    using Microsoft.Owin.Security.Google;
+    using Microsoft.Owin.Security.OAuth;
+    using Owin;
+    using ForumSystem.Api.Providers;
+    using ForumSystem.Api.Models;
+    using ForumSystem.Data;

-namespace ForumSystem.Api
-{
     public partial class Startup
     {
         public static OAuthAuthorizationServerOptions OAuthOptions { get; private set; }


- dumped outdated tests

- dumped outdated tests

--- FrannHammer.Api.Tests/Controllers/CharacterControllerTest.cs
+++ FrannHammer.Api.Tests/Controllers/CharacterControllerTest.cs
@@ -1,135 +0,0 @@
-using System;
-using System.Linq;
-using System.Web.Http.Results;
-using AutoMapper;
-using FrannHammer.Models;
-using FrannHammer.Models.DTOs;
-using NUnit.Framework;
-
-namespace FrannHammer.Api.Tests.Controllers.Characters
-{
-    ///// <summary>
-    ///// TODO: These tests will soon become obsolete as they are built on an empty Effort DB.  The tests in CharacterTests will replace them
-    ///// TODO: as those tests are built with the prepopulated Effort db.
-    ///// </summary>
-    //[TestFixture]
-    //[Obsolete("Replaced with CharacterTests tests")]
-    //public class CharacterControllerTest : BaseControllerTest
-    //{
-
-    //    [Test]
-    //    public void ShouldGetCharacterById()
-    //    {
-    //        var character = TestObjects.Character();
-    //        CharactersController.PostCharacter(character);
-
-    //        var result = CharactersController.GetCharacter(character.Id) as OkNegotiatedContentResult<CharacterDto>;
-
-    //        Assert.That(result?.Content, Is.Not.Null);
-    //    }
-
-    //    [Test]
-    //    public void ShouldGetCharacterByName()
-    //    {
-    //        const string expected = "falco";
-
-    //        var character = TestObjects.Character();
-    //        CharactersController.PostCharacter(character);
-
-    //        var result = CharactersController.GetCharacterByName(expected) as OkNegotiatedContentResult<Character>;
-    //        Assert.That(result?.Content, Is.Not.Null);
-    //        Assert.That(result?.Content.Name, Is.EqualTo(expected));
-    //    }
-
-    //    [Test]
-    //    public void ShouldGetAllCharacters()
-    //    {
-    //        var newCharacter = TestObjects.Character();
-    //        CharactersController.PostCharacter(newCharacter);
-
-    //        var results = CharactersController.GetCharacters();
-
-    //        Assert.That(results.Count(), Is.EqualTo(1));
-    //    }
-
-    //    [Test]
-    //    public void ShouldGetAllMovementsForCharacter()
-    //    {
-    //        var newCharacter = TestObjects.Character();
-    //        CharactersController.PostCharacter(newCharacter);
-
-    //        var movement = TestObjects.Movement();
-    //        MovementsController.PostMovement(movement);
-
-    //        var results = CharactersController.GetMovementsForCharacter(newCharacter.Id);
-
-    //        Assert.That(results.Count(), Is.EqualTo(1));
-    //        Assert.That(results.First().Name, Is.EqualTo("jab 1"));
-    //    }
-
-    //    [Test]
-    //    public void ShouldGetAllMovesForCharacter()
-    //    {
-    //        var newCharacter = TestObjects.Character();
-
-    //        var move = TestObjects.Move();
-    //        MovesController.PostMove(move);
-
-    //        CharactersController.PostCharacter(newCharacter);
-
-    //        var results = CharactersController.GetMovesForCharacter(newCharacter.Id);
-
-    //        Assert.That(results.Count(), Is.EqualTo(1));
-    //        Assert.That(results.First().Name, Is.EqualTo("falco phantasm"));
-    //    }
-
-    //    [Test]
-    //    public void ShouldAddCharacter()
-    //    {
-    //        var newCharacter = TestObjects.Character();
-    //        var result = CharactersController.PostCharacter(newCharacter) as CreatedAtRouteNegotiatedContentResult<Character>;
-
-    //        Assert.That(result, Is.Not.Null);
-    //        Assert.That(result?.Content, Is.Not.Null);
-    //        Assert.AreEqual(newCharacter, result?.Content);
-    //    }
-
-    //    [Test]
-    //    public void ShouldUpdateCharacter()
-    //    {
-    //        const string expectedName = "mewtwo";
-    //        var character = TestObjects.Character();
-
-    //        var dateTime = DateTime.Now;
-
-    //        //arrange
-    //        var returnedCharacter =
-    //            CharactersController.PostCharacter(character) as CreatedAtRouteNegotiatedContentResult<Character>;
-    //        //act
-    //        if (returnedCharacter != null)
-    //        {
-    //            returnedCharacter.Content.Name = expectedName;
-    //            CharactersController.PutCharacter(returnedCharacter.Content.Id, returnedCharacter.Content);
-    //        }
-
-    //        var updatedCharacter = CharactersController.GetCharacter(character.Id) as OkNegotiatedContentResult<Character>;
-
-    //        //assert
-    //        Assert.That(updatedCharacter?.Content.Name, Is.EqualTo(expectedName));
-    //        Assert.That(updatedCharacter?.Content.LastModified, Is.GreaterThan(dateTime));
-    //    }
-
-    //    [Test]
-    //    public void ShouldDeleteCharacter()
-    //    {
-    //        var character = TestObjects.Character();
-    //        CharactersController.PostCharacter(character);
-
-    //        CharactersController.DeleteCharacter(character.Id);
-
-    //        var result = CharactersController.GetCharacter(character.Id) as NotFoundResult;
-    //        Assert.That(result, Is.Not.Null);
-    //    }
-
-    //}
-}


Refactored: 使用していないファイルを削除。

Refactored: 使用していないファイルを削除。

--- Implem.Pleasanter/Libraries/Settings/SiteSettingUtilities.cs
+++ Implem.Pleasanter/Libraries/Settings/SiteSettingUtilities.cs
@@ -1,232 +0,0 @@
-using Implem.Pleasanter.Models;
-namespace Implem.Pleasanter.Libraries.Settings
-{
-    public static class SiteSettingsUtility
-    {
-
-        public static SiteSettings Get(long siteId, string referenceType)
-        {
-            switch (referenceType)
-            {
-
-                case "Sites": return SitesSiteSettings(siteId);
-                case "Issues": return IssuesSiteSettings(siteId);
-                case "Results": return ResultsSiteSettings(siteId);
-                case "Wikis": return WikisSiteSettings(siteId);
-
-                default: return new SiteSettings() { SiteId = siteId };
-            }
-        }
-
-        public static SiteSettings TenantsSiteSettings()
-        {
-            var tenantsSiteSettings = new SiteSettings();
-            tenantsSiteSettings.ReferenceType = "Tenants";
-            tenantsSiteSettings.Init();
-            return tenantsSiteSettings;
-        }
-
-        public static SiteSettings DemosSiteSettings()
-        {
-            var demosSiteSettings = new SiteSettings();
-            demosSiteSettings.ReferenceType = "Demos";
-            demosSiteSettings.Init();
-            return demosSiteSettings;
-        }
-
-        public static SiteSettings SysLogsSiteSettings()
-        {
-            var sysLogsSiteSettings = new SiteSettings();
-            sysLogsSiteSettings.ReferenceType = "SysLogs";
-            sysLogsSiteSettings.Init();
-            return sysLogsSiteSettings;
-        }
-
-        public static SiteSettings DeptsSiteSettings()
-        {
-            var deptsSiteSettings = new SiteSettings();
-            deptsSiteSettings.ReferenceType = "Depts";
-            deptsSiteSettings.Init();
-            return deptsSiteSettings;
-        }
-
-        public static SiteSettings UsersSiteSettings()
-        {
-            var usersSiteSettings = new SiteSettings();
-            usersSiteSettings.ReferenceType = "Users";
-            usersSiteSettings.Init();
-            return usersSiteSettings;
-        }
-
-        public static SiteSettings MailAddressesSiteSettings()
-        {
-            var mailAddressesSiteSettings = new SiteSettings();
-            mailAddressesSiteSettings.ReferenceType = "MailAddresses";
-            mailAddressesSiteSettings.Init();
-            return mailAddressesSiteSettings;
-        }
-
-        public static SiteSettings OutgoingMailsSiteSettings()
-        {
-            var outgoingMailsSiteSettings = new SiteSettings();
-            outgoingMailsSiteSettings.ReferenceType = "OutgoingMails";
-            outgoingMailsSiteSettings.Init();
-            return outgoingMailsSiteSettings;
-        }
-
-        public static SiteSettings SearchIndexesSiteSettings()
-        {
-            var searchIndexesSiteSettings = new SiteSettings();
-            searchIndexesSiteSettings.ReferenceType = "SearchIndexes";
-            searchIndexesSiteSettings.Init();
-            return searchIndexesSiteSettings;
-        }
-
-        public static SiteSettings ItemsSiteSettings()
-        {
-            var itemsSiteSettings = new SiteSettings();
-            itemsSiteSettings.ReferenceType = "Items";
-            itemsSiteSettings.Init();
-            return itemsSiteSettings;
-        }
-
-        public static SiteSettings OrdersSiteSettings()
-        {
-            var ordersSiteSettings = new SiteSettings();
-            ordersSiteSettings.ReferenceType = "Orders";
-            ordersSiteSettings.Init();
-            return ordersSiteSettings;
-        }
-
-        public static SiteSettings ExportSettingsSiteSettings()
-        {
-            var exportSettingsSiteSettings = new SiteSettings();
-            exportSettingsSiteSettings.ReferenceType = "ExportSettings";
-            exportSettingsSiteSettings.Init();
-            return exportSettingsSiteSettings;
-        }
-
-        public static SiteSettings LinksSiteSettings()
-        {
-            var linksSiteSettings = new SiteSettings();
-            linksSiteSettings.ReferenceType = "Links";
-            linksSiteSettings.Init();
-            return linksSiteSettings;
-        }
-
-        public static SiteSettings BinariesSiteSettings()
-        {
-            var binariesSiteSettings = new SiteSettings();
-            binariesSiteSettings.ReferenceType = "Binaries";
-            binariesSiteSettings.Init();
-            return binariesSiteSettings;
-        }
-
-        public static SiteSettings SitesSiteSettings(this SiteModel siteModel)
-        {
-            var siteSettings = siteModel.SiteSettings ?? new SiteSettings();
-            siteSettings.ReferenceType = "Sites";
-            siteSettings.SiteId = siteModel.SiteId;
-            siteSettings.InheritPermission = siteModel.InheritPermission;
-            siteSettings.ParentId = siteModel.ParentId;
-            siteSettings.Title = siteModel.Title.Value;
-            siteSettings.AccessStatus = siteModel.AccessStatus;
-            siteSettings.Init();
-            return siteSettings;
-        }
-
-        public static SiteSettings SitesSiteSettings(long siteId)
-        {
-            var siteSettings = new SiteSettings();
-            siteSettings.ReferenceType = "Sites";
-            siteSettings.SiteId = siteId;
-            siteSettings.Init();
-            return siteSettings;
-        }
-
-
-        public static SiteSettings IssuesSiteSettings(this SiteModel siteModel)
-        {
-            var siteSettings = siteModel.SiteSettings ?? new SiteSettings();
-            siteSettings.ReferenceType = "Issues";
-            siteSettings.SiteId = siteModel.SiteId;
-            siteSettings.InheritPermission = siteModel.InheritPermission;
-            siteSettings.ParentId = siteModel.ParentId;
-            siteSettings.Title = siteModel.Title.Value;
-            siteSettings.AccessStatus = siteModel.AccessStatus;
-            siteSettings.Init();
-            return siteSettings;
-        }
-
-        public static SiteSettings IssuesSiteSettings(long siteId)
-        {
-            var siteSettings = new SiteSettings();
-            siteSettings.ReferenceType = "Issues";
-            siteSettings.SiteId = siteId;
-            siteSettings.Init();
-            return siteSettings;
-        }
-
-
-        public static SiteSettings ResultsSiteSettings(this SiteModel siteModel)
-        {
-            var siteSettings = siteModel.SiteSettings ?? new SiteSettings();
-            siteSettings.ReferenceType = "Results";
-            siteSettings.SiteId = siteModel.SiteId;
-            siteSettings.InheritPermission = siteModel.InheritPermission;
-            siteSettings.ParentId = siteModel.ParentId;
-            siteSettings.Title = siteModel.Title.Value;
-            siteSettings.AccessStatus = siteModel.AccessStatus;
-            siteSettings.Init();
-            return siteSettings;
-        }
-
-        public static SiteSettings ResultsSiteSettings(long siteId)
-        {
-            var siteSettings = new SiteSettings();
-            siteSettings.ReferenceType = "Results";
-            siteSettings.SiteId = siteId;
-            siteSettings.Init();
-            return siteSettings;
-        }
-
-
-        public static SiteSettings WikisSiteSettings(this SiteModel siteModel)
-        {
-            var siteSettings = siteModel.SiteSettings ?? new SiteSettings();
-            siteSettings.ReferenceType = "Wikis";
-            siteSettings.SiteId = siteModel.SiteId;
-            siteSettings.InheritPermission = siteModel.InheritPermission;
-            siteSettings.ParentId = siteModel.ParentId;
-            siteSettings.Title = siteModel.Title.Value;
-            siteSettings.AccessStatus = siteModel.AccessStatus;
-            siteSettings.Init();
-            return siteSettings;
-        }
-
-        public static SiteSettings WikisSiteSettings(long siteId)
-        {
-            var siteSettings = new SiteSettings();
-            siteSettings.ReferenceType = "Wikis";
-            siteSettings.SiteId = siteId;
-            siteSettings.Init();
-            return siteSettings;
-        }
-
-
-        public static SiteSettings PermissionsSiteSettings(this SiteModel siteModel)
-        {
-            var permissionsSiteSettings = new SiteSettings();
-            permissionsSiteSettings.ReferenceType = "Permissions";
-            permissionsSiteSettings.SiteId = siteModel.SiteId;
-            permissionsSiteSettings.InheritPermission = siteModel.InheritPermission;
-            permissionsSiteSettings.ParentId = siteModel.ParentId;
-            permissionsSiteSettings.Title = siteModel.Title.Value;
-            permissionsSiteSettings.AccessStatus = siteModel.AccessStatus;
-            permissionsSiteSettings.Init();
-            return permissionsSiteSettings;
-        }
-
-
-    }
-}


keynote speaker added

keynote speaker added

--- TeamSpark.AzureDay.WebSite.App/Service/TopicService.cs
+++ TeamSpark.AzureDay.WebSite.App/Service/TopicService.cs
@@ -46,7 +46,8 @@
 						_speakerService.ABoyko(),
 						_speakerService.GShopnik(),
 						_speakerService.ATumanoff(),
-						_speakerService.VTsykunov()
+						_speakerService.VTsykunov(),
+						_speakerService.ILeontiev()
 					},
 					Title = Localization.App.Service.Topics.Special.Keynote.Title,
 					Description = Localization.App.Service.Topics.Special.Keynote.Description.Replace(Environment.NewLine, "<br/>")


formatting and specs

formatting and specs

--- SpaceNavigator/Assets/Scripts/Movement.cs
+++ SpaceNavigator/Assets/Scripts/Movement.cs
@@ -4,7 +4,7 @@

 public class Movement : MonoBehaviour
 {
-
+
     public float TURN_DELTA = 0.1f; //torque applied from controls in rad/sec^2
     public float SPEED_DELTA = 5; //force applied from controls in 1 m/sec^2
     private float MAX_ANG_ACC = Mathf.PI * 400 / 180; //400 deg/sec^2
@@ -49,17 +49,19 @@
     {
         UDPSend.newPacket();
         addToLog(Time.time, true);
+
         applyForces();
         correctOrientation();
         limitVelocity(Motion.Angular, MAX_ANG_VEL);
         limitVelocity(Motion.Linear, MAX_LIN_VEL);
+
         updateVelAcc();
-        logsendOutput();
-        updateLog();
-    }
-
-    // applies forces from controls to ship
-    // logs controls
+        sendData();
+        udpSend.logPacket(log);
+        log = "";
+    }
+
+    // logs and applies forces from controls to ship
     private void applyForces()
     {
         bool canMove = addToLog(Input.GetAxis("Brake"), false) != 0;
@@ -74,6 +76,29 @@

         rb.AddTorque(TURN_DELTA * (canMove ? ang : -rb.angularVelocity));
         rb.AddForce(SPEED_DELTA * (canMove ? lin : -rb.velocity));
+    }
+
+    // translates force vectors (from controls) along local axes to global force vectors
+    Vector3 globalize(Vector3[] axes, Motion m)
+    {
+        Vector3 force = new Vector3();
+        for (int i = 0; i < 3; i++)
+        {
+            force += axes[i] * addToLog(Input.GetAxis(controls[(int)m][i]), false);
+        }
+        return force;
+    }
+
+    // cancels out MOOG rotations from the camera
+    private void correctOrientation()
+    {
+        byte[] packet = UDPReceive.getMOOGData();
+        float time = BitConverter.ToSingle(packet, 0);
+        Vector3 orientation = new Vector3(
+            BitConverter.ToSingle(packet, 4),
+            BitConverter.ToSingle(packet, 8),
+            BitConverter.ToSingle(packet, 12));
+        transform.Rotate(-orientation);
     }

     // clamps velocity of type m to limit
@@ -94,30 +119,6 @@
         }
     }

-
-    // translates force vectors (from controls) along local axes to global force vectors
-    Vector3 globalize(Vector3[] axes, Motion m)
-    {
-        Vector3 force = new Vector3();
-        for (int i = 0; i < 3; i++)
-        {
-            force += axes[i] * addToLog(Input.GetAxis(controls[(int)m][i]), false);
-        }
-        return force;
-    }
-
-    // cancels out MOOG rotations from the camera
-    private void correctOrientation()
-    {
-        byte[] packet = UDPReceive.getMOOGData();
-        float time = BitConverter.ToSingle(packet, 0);
-        Vector3 orientation = new Vector3(
-            BitConverter.ToSingle(packet, 4),
-            BitConverter.ToSingle(packet, 8),
-            BitConverter.ToSingle(packet, 12));
-        transform.Rotate(-orientation);
-    }
-
     // updates current velocities and accelerations vars and on GUI
     private void updateVelAcc()
     {
@@ -173,25 +174,18 @@
         return string.Format("{0,6:F2} {1,6:F2} {2,6:F2}", v.x, v.y, v.z);
     }

-    // send ship motion info to comm
-    private void logsendOutput()
-    {
-        addToLog(10*linVel.magnitude, true);
-        Vector3[] data = { 10 * angVel, 10 * linAcc, 10 * angAcc, transform.rotation.eulerAngles };
-        foreach (Vector3 v in data)
-        {
-            addToLog(v, true);
-        }
+    // log and send ship motion info to comm
+    private void sendData()
+    {
+        addToLog(10 * linVel.magnitude, true);
+        addToLog(10 * angVel, true);
+        addToLog(10 * linAcc, true);
+        addToLog(10 * angAcc, true);
+        addToLog(transform.rotation.eulerAngles, true);
         UDPSend.sendPacket();
     }

-    // log controller input and ship motion output
-    private void updateLog()
-    {
-        udpSend.logPacket(log);
-        log = "";
-    }
-
+    // adds vector v to log, if udpSend then also adds to udpSend packet
     private Vector3 addToLog(Vector3 v, bool udpSend)
     {
         addToLog(v.x, udpSend);
@@ -200,6 +194,7 @@
         return v;
     }

+    // adds float f to log, if udpSend then also adds to udpSend packet
     private float addToLog(float f, bool udpSend)
     {
         log += string.Format(" {0,8:F6}", f);


not accessible code

not accessible code

--- Terradue.Tep/Terradue/Tep/Controller/Service/WpsJob.cs
+++ Terradue.Tep/Terradue/Tep/Controller/Service/WpsJob.cs
@@ -98,9 +98,9 @@
                     }
                 }
                 return provider;
-                if (Process != null)
-                    return Process.Provider;
-                else return null;
+                //if (Process != null)
+                //    return Process.Provider;
+                //else return null;
             }
             private set {
                 provider = value;


Fix tray icon menu items not refreshing on import

--- SteamAccountSwitcher/AccountDataHelper.cs
+++ SteamAccountSwitcher/AccountDataHelper.cs
@@ -43,6 +43,7 @@
                 Settings.Default.Save();
                 TrayIconHelper.RefreshTrayIconMenu();
             };
+            TrayIconHelper.RefreshTrayIconMenu();
             App.SwitchWindow?.ReloadAccountListBinding();
         }


Updated tests.

Updated tests.

--- Tests/FxConnectProxy.Tests/Integrity/RowsMatchTests.cs
+++ Tests/FxConnectProxy.Tests/Integrity/RowsMatchTests.cs
@@ -54,6 +54,7 @@
             this.AddAllowedConversion<O2GOfferRow, OfferRow, int, InstrumentType>(dict, "InstrumentType");
             this.AddAllowedConversion<O2GOfferRow, OfferRow, string, PriceTradable>(dict, "AskTradable");
             this.AddAllowedConversion<O2GOfferRow, OfferRow, string, PriceTradable>(dict, "BidTradable");
+            this.AddAllowedConversion<O2GOfferRow, OfferRow, string, SubscriptionStatus>(dict, "SubscriptionStatus");

             this.AddAllowedConversion<O2GOrderRow, OrderRow, int, ContingencyType>(dict, "ContingencyType");
             this.AddAllowedConversion<O2GOrderRow, OrderRow, string, AccountKind>(dict, "AccountKind");


Split Downloading tests

Split Downloading tests

--- SteamShutdown.Tests/IsDownloadingTests.cs
+++ SteamShutdown.Tests/IsDownloadingTests.cs
@@ -7,37 +7,52 @@
     public class IsDownloadingTests
     {
         [TestMethod]
-        public void TestDownloadingStates()
+        public void Downloading_6()
         {
-            int[] downloadingStates =
-            {
-                6,
-                1026,
-                1030,
-                1042,
-                1044,
-                1062,
-            };
-
-            foreach (int state in downloadingStates)
-            {
-                Assert.IsTrue(CheckDownloading(state), $"State {state} was erroneously detected as not downloading.");
-            }
+            Assert.IsTrue(CheckDownloading(6));
         }

         [TestMethod]
-        public void TestNotDownloadingStates()
+        public void Downloading_1026()
         {
-            int[] downloadingStates =
-            {
-                4,
-                70,
-            };
+            Assert.IsTrue(CheckDownloading(1026));
+        }

-            foreach (int state in downloadingStates)
-            {
-                Assert.IsFalse(CheckDownloading(state), $"State {state} was erroneously detected as downloading.");
-            }
+        [TestMethod]
+        public void Downloading_1030()
+        {
+            Assert.IsTrue(CheckDownloading(1030));
+        }
+
+        [TestMethod]
+        public void Downloading_1042()
+        {
+            Assert.IsTrue(CheckDownloading(1042));
+        }
+
+        [TestMethod]
+        public void Downloading_1044()
+        {
+            Assert.IsTrue(CheckDownloading(1044));
+        }
+
+        [TestMethod]
+        public void Downloading_1062()
+        {
+            Assert.IsTrue(CheckDownloading(1062));
+        }
+
+
+        [TestMethod]
+        public void NotDownloading_4()
+        {
+            Assert.IsFalse(CheckDownloading(4));
+        }
+
+        [TestMethod]
+        public void NotDownloading_70()
+        {
+            Assert.IsFalse(CheckDownloading(70));
         }
     }
 }


fix dedlock in dashboard

fix dedlock in dashboard

--- TCC.Core/ViewModels/DashboardViewModel.cs
+++ TCC.Core/ViewModels/DashboardViewModel.cs
@@ -679,31 +679,18 @@

         public void UpdateBuffs()
         {
-            if (!Game.Logged) return;
+            //if (!Game.Logged) return;
             CurrentCharacter.Buffs.Clear();
-            Game.Me.Buffs.ToList().ForEach(b =>
-            {
-                //var existing = CurrentCharacter.Buffs.FirstOrDefault(x => x.Id == b.Abnormality.Id);
-                /*if (existing == null)*/
-                CurrentCharacter.Buffs.Add(new AbnormalityData { Id = b.Abnormality.Id, Duration = b.DurationLeft, Stacks = b.Stacks });
-                //else
-                //{
-                //    existing.Id = b.Abnormality.Id;
-                //    existing.Duration = b.DurationLeft;
-                //    existing.Stacks = b.Stacks;
-                //}
-            });
-            Game.Me.Debuffs.ToList().ForEach(b =>
-            {
-                //var existing = CurrentCharacter.Buffs.FirstOrDefault(x => x.Id == b.Abnormality.Id);
-                /*if (existing == null)*/
-                CurrentCharacter.Buffs.Add(new AbnormalityData { Id = b.Abnormality.Id, Duration = b.DurationLeft, Stacks = b.Stacks });
-                //else
-                //{
-                //    existing.Id = b.Abnormality.Id;
-                //    existing.Duration = b.DurationLeft;
-                //    existing.Stacks = b.Stacks;
-                //}
+            Task.Run(() =>
+            {
+                Game.Me.Buffs.ToList().ForEach(b =>
+                {
+                    CurrentCharacter.Buffs.Add(new AbnormalityData {Id = b.Abnormality.Id, Duration = b.DurationLeft, Stacks = b.Stacks});
+                });
+                Game.Me.Debuffs.ToList().ForEach(b =>
+                {
+                    CurrentCharacter.Buffs.Add(new AbnormalityData {Id = b.Abnormality.Id, Duration = b.DurationLeft, Stacks = b.Stacks});
+                });
             });
         }


- Adding additional Trovo unit tests

- Adding additional Trovo unit tests

--- Trovo/Trovo.Base.UnitTests/ChannelsServiceUnitTests.cs
+++ Trovo/Trovo.Base.UnitTests/ChannelsServiceUnitTests.cs
@@ -15,6 +15,26 @@
             {
                 ChannelModel channel = await connection.Channels.GetCurrentChannel();

+                Assert.IsNotNull(channel);
+                Assert.IsTrue(!string.IsNullOrEmpty(channel.channel_id));
+                Assert.IsTrue(!string.IsNullOrEmpty(channel.live_title));
+            });
+        }
+
+        [TestMethod]
+        public void GetChannel()
+        {
+            TestWrapper(async (TrovoConnection connection) =>
+            {
+                ChannelModel channel = await connection.Channels.GetCurrentChannel();
+
+                Assert.IsNotNull(channel);
+                Assert.IsTrue(!string.IsNullOrEmpty(channel.channel_id));
+                Assert.IsTrue(!string.IsNullOrEmpty(channel.live_title));
+
+                channel = await connection.Channels.GetChannel(channel.channel_id);
+
+                Assert.IsNotNull(channel);
                 Assert.IsTrue(!string.IsNullOrEmpty(channel.channel_id));
                 Assert.IsTrue(!string.IsNullOrEmpty(channel.live_title));
             });


Move line not completely to the top for Goto Definition

--- VisualStudio/ProjectPackage/Nodes/XSharpProjectNode.cs
+++ VisualStudio/ProjectPackage/Nodes/XSharpProjectNode.cs
@@ -1174,7 +1174,10 @@
                 //
                 textView.SetCaretPos(span.iStartLine, span.iStartIndex);
                 textView.EnsureSpanVisible(span);
-                textView.SetTopLine(span.iStartLine);
+                if (span.iStartLine > 5)
+                    textView.SetTopLine(span.iStartLine-5);
+                else
+                    textView.SetTopLine(0);
             }
         }


make comple backwards compitable

make comple backwards compitable

--- Webshop/ShoppingCartLogic.cs
+++ Webshop/ShoppingCartLogic.cs
@@ -21,8 +21,11 @@

         public ShoppingCartLogic(Session session, IContext context)
         {
-            this.session = session != null ? session : throw new ArgumentNullException(nameof(session));
-            this.context = context != null ? context : throw new ArgumentNullException(nameof(context));
+            if (session == null) throw new ArgumentNullException(nameof(session));
+            if (context == null) throw new ArgumentNullException(nameof(context));
+
+            this.session = session;
+            this.context = context;
         }

         public Cart currentShoppingCart


cleanup

cleanup

--- ITSWebMgmt/UserInfo.aspx.cs
+++ ITSWebMgmt/UserInfo.aspx.cs
@@ -138,9 +138,7 @@

             bool StartsWith(string[] prefix, string value) => prefix.Any(value.StartsWith);
             string[] prefixMBX_ACL = { "CN=MBX_", "CN=ACL_" };
-            Func<string, bool> startsWithMBXorACL = value => StartsWith(prefixMBX_ACL, value);
-
-
+            bool startsWithMBXorACL(string value) => StartsWith(prefixMBX_ACL, value);

             //Sort MBX and ACL Last
             groupsAsList.Sort((a, b) =>


satoshi -> sat

satoshi -> sat

--- WalletWasabi/Models/TransactionBuilding/FeeStrategy.cs
+++ WalletWasabi/Models/TransactionBuilding/FeeStrategy.cs
@@ -57,7 +57,7 @@
 				Guard.NotNull(nameof(feeRate), feeRate);
 				if (feeRate < new FeeRate(1m))
 				{
-					throw new ArgumentOutOfRangeException(nameof(feeRate), feeRate, "Cannot be less than 1 satoshi/byte.");
+					throw new ArgumentOutOfRangeException(nameof(feeRate), feeRate, "Cannot be less than 1 sat/byte.");
 				}
 				_rate = feeRate;
 			}


Chat Session Key Accessor

Chat Session Key Accessor

--- Telegram.Bot.Mvc/Framework/ChatSession.cs
+++ Telegram.Bot.Mvc/Framework/ChatSession.cs
@@ -1,4 +1,6 @@
-using System.Dynamic;
+using System.Collections;
+using System.Collections.Generic;
+using System.Dynamic;
 using Telegram.Bot.Types;

 namespace Telegram.Bot.Mvc.Framework {
@@ -6,9 +8,15 @@

         public ChatSession(ChatId chatId) {
             ChatId = chatId;
+            Clear();
         }
         public ChatId ChatId { get; set; }
-        public dynamic Bag { get; protected set; } = new ExpandoObject();
+
+
+        public void Clear()
+        {
+            _bag = new Dictionary<string, object>();
+        }

         public override bool Equals(object obj) {
             if (obj as ChatSession == null) return false;
@@ -18,5 +26,20 @@
         public override int GetHashCode() {
             return ChatId.GetHashCode();
         }
+
+        private IDictionary<string, object> _bag;
+
+        public object this[string key]
+        {
+            get
+            {
+                _bag.TryGetValue(key, out object result);
+                return result;
+            }
+            set
+            {
+                _bag[key] = value;
+            }
+        }
     }
 }


Formula Solver: Solved issue in CrossProduct

--- DefaultPlugins/GlobalcachingApplication.Plugins.FormulaSolver/FormulaInterpreter/Functions/NumberFunctions/CrossProduct.cs
+++ DefaultPlugins/GlobalcachingApplication.Plugins.FormulaSolver/FormulaInterpreter/Functions/NumberFunctions/CrossProduct.cs
@@ -6,7 +6,7 @@
     {
         private int Evaluate(int iNumber)
         {
-            return iNumber % 10 * (iNumber > 10 ? Evaluate(iNumber / 10) : 1);
+            return iNumber % 10 * (iNumber >= 10 ? Evaluate(iNumber / 10) : 1);
         }

         public override object Execute(object[] args, ExecutionContext ctx)