<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>Obtics Forum Rss Feed</title><link>http://www.codeplex.com/Obtics/Thread/List.aspx</link><description>Obtics Forum Rss Description</description><item><title>New Post: Alternative</title><link>http://obtics.codeplex.com/discussions/431610</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;This project looks great -- I wish I found it sooner.  In fact, I already implemented an alternative which I blogged about today: &lt;a href="http://happynomad121.blogspot.com/2013/01/data-binding-among-complex-expressions.html" rel="nofollow"&gt;http://happynomad121.blogspot.com/2013/01/data-binding-among-complex-expressions.html&lt;/a&gt; .  I hope to get some feedback on my approach.&lt;/p&gt;
&lt;/div&gt;</description><author>happynomad</author><pubDate>Fri, 01 Feb 2013 00:29:36 GMT</pubDate><guid isPermaLink="false">New Post: Alternative 20130201122936A</guid></item><item><title>New Post: Why is this collection keeps getting recreated everytime?</title><link>http://obtics.codeplex.com/discussions/362106</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;For other programmers who are having problems with this kind of exception, I ended up having this code.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="color:black; background-color:white"&gt;
&lt;pre&gt;        &lt;span style="color:blue"&gt;private&lt;/span&gt; &lt;span style="color:blue"&gt;void&lt;/span&gt; CreateQueries()
        {
            &lt;span style="color:blue"&gt;var&lt;/span&gt; query = ExpressionObserver.Execute(() =&amp;gt; (&lt;span style="color:blue"&gt;from&lt;/span&gt; o &lt;span style="color:blue"&gt;in&lt;/span&gt; _orders
                                                          &lt;span style="color:blue"&gt;where&lt;/span&gt; o.State != OrderStateEnum.Canceled
                                                          &lt;span style="color:blue"&gt;group&lt;/span&gt; o &lt;span style="color:blue"&gt;by&lt;/span&gt; o.Isin
                                                              &lt;span style="color:blue"&gt;into&lt;/span&gt; g
                                                              &lt;span style="color:blue"&gt;let&lt;/span&gt; name = _referenceData.GetInstrumentName(g.Key)
                                                              &lt;span style="color:blue"&gt;orderby&lt;/span&gt; name &lt;span style="color:blue"&gt;ascending&lt;/span&gt;
                                                              &lt;span style="color:blue"&gt;select&lt;/span&gt; GetComplexRowViewModel(
                                                                                            g.First()
                                                                                            ,
                                                                                            (&lt;span style="color:blue"&gt;from&lt;/span&gt; p &lt;span style="color:blue"&gt;in&lt;/span&gt; _quotes
                                                                                             &lt;span style="color:blue"&gt;where&lt;/span&gt;
                                                                                                 p.Isin == g.Key &amp;amp;&amp;amp;
                                                                                                 p.Exchange == _referenceData.GetPrimaryExchangeId(g.Key) &amp;amp;&amp;amp;
                                                                                                 p.Provider == ProviderEnum.Bloomberg
                                                                                             &lt;span style="color:blue"&gt;select&lt;/span&gt; GetSimpleRowViewModel(p))
                                                                                             ,
                                                                                             (&lt;span style="color:blue"&gt;from&lt;/span&gt; q &lt;span style="color:blue"&gt;in&lt;/span&gt; _quotes
                                                                                              &lt;span style="color:blue"&gt;where&lt;/span&gt;
                                                                                                  q.Isin == g.Key &amp;amp;&amp;amp;
                                                                                                  q.Provider == ProviderEnum.Tradebase &amp;amp;&amp;amp;
                                                                                                  g.Select(s =&amp;gt; s.Exchange).Contains(q.Exchange)
                                                                                              &lt;span style="color:blue"&gt;select&lt;/span&gt; GetSimpleRowViewModel(q))
                                                                                              ,
                                                                                              (&lt;span style="color:blue"&gt;from&lt;/span&gt; o &lt;span style="color:blue"&gt;in&lt;/span&gt; _orders
                                                                                               &lt;span style="color:blue"&gt;where&lt;/span&gt; o.Isin == g.Key
                                                                                               &amp;amp;&amp;amp; o.State != OrderStateEnum.Canceled
                                                                                               &lt;span style="color:blue"&gt;group&lt;/span&gt; o &lt;span style="color:blue"&gt;by&lt;/span&gt; &lt;span style="color:blue"&gt;new&lt;/span&gt; { o.LimitPrice, o.OrderSide } &lt;span style="color:blue"&gt;into&lt;/span&gt; x
                                                                                               &lt;span style="color:blue"&gt;select&lt;/span&gt; GetCompressedRowViewModel
                                                                                               (
                                                                                                   x.Key.OrderSide == OrderSideEnum.Sell ? (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;?)x.Key.LimitPrice : (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;?)&lt;span style="color:blue"&gt;null&lt;/span&gt;,
                                                                                                   x.Key.OrderSide == OrderSideEnum.Sell ? x.Select(s =&amp;gt; s.Quantity).Aggregate((c, n) =&amp;gt; c &amp;#43; n) : 0,
                                                                                                   x.Key.OrderSide == OrderSideEnum.Buy ? (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;?)x.Key.LimitPrice : (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;?)&lt;span style="color:blue"&gt;null&lt;/span&gt;,
                                                                                                   x.Key.OrderSide == OrderSideEnum.Buy ? x.Select(s =&amp;gt; s.Quantity).Aggregate((c, n) =&amp;gt; c &amp;#43; n) : 0,
                                                                                                   &lt;span style="color:blue"&gt;string&lt;/span&gt;.Join(&lt;span style="color:#a31515"&gt;&amp;quot;, &amp;quot;&lt;/span&gt;, x.Select(s =&amp;gt; s.Exchange)),
                                                                                                   x.First().Isin.ToString(),
                                                                                                   x.Key.OrderSide == OrderSideEnum.Buy ? x.Count() : 0,
                                                                                                   x.Key.OrderSide == OrderSideEnum.Sell ? x.Count() : 0,
                                                                                                   x.Key.OrderSide == OrderSideEnum.Sell ? RowSide.Sell : RowSide.Buy
                                                                                               ))
                                                                   ,
                                                                   (&lt;span style="color:blue"&gt;from&lt;/span&gt; o &lt;span style="color:blue"&gt;in&lt;/span&gt; _orders
                                                                    &lt;span style="color:blue"&gt;where&lt;/span&gt; o.Isin == g.Key
                                                                    &amp;amp;&amp;amp; o.State != OrderStateEnum.Canceled
                                                                    &lt;span style="color:blue"&gt;select&lt;/span&gt; GetUncompressedRowViewModel(o))
                                                                  
                                                                                             ))).Cascade();
            GridData = query;
        }


        &lt;span style="color:green"&gt;// Obtics &lt;/span&gt;
        &lt;span style="color:blue"&gt;private&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, ComplexRowViewModel&amp;gt; _complexRowViewModels = &lt;span style="color:blue"&gt;new&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, ComplexRowViewModel&amp;gt;();
        &lt;span style="color:blue"&gt;private&lt;/span&gt; ComplexRowViewModel GetComplexRowViewModel(OrderStatusViewModel model, IEnumerable&amp;lt;SimpleRowViewModel&amp;gt; primaryExchanges, IEnumerable&amp;lt;SimpleRowViewModel&amp;gt; groupped
            , IEnumerable&amp;lt;CompressedRowViewModel&amp;gt; compressed, IEnumerable&amp;lt;UncompressedRowViewModel&amp;gt; uncompressed)
        {
            &lt;span style="color:blue"&gt;if&lt;/span&gt; (model == &lt;span style="color:blue"&gt;null&lt;/span&gt;)
                &lt;span style="color:blue"&gt;return&lt;/span&gt; _complexRowViewModels.GetOrAdd(&lt;span style="color:#a31515"&gt;&amp;quot;&amp;quot;&lt;/span&gt;, s2 =&amp;gt; &lt;span style="color:blue"&gt;new&lt;/span&gt; ComplexRowViewModel());

            &lt;span style="color:blue"&gt;return&lt;/span&gt; _complexRowViewModels.GetOrAdd(model.Isin,
                                                  s2 =&amp;gt;
                                                  &lt;span style="color:blue"&gt;new&lt;/span&gt; ComplexRowViewModel(_referenceData) { UnderlyingOrder = model, PrimaryExchange = primaryExchanges.First(), Groupped = groupped, Compressed = compressed, Uncompressed = uncompressed });
        }

        &lt;span style="color:blue"&gt;private&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, SimpleRowViewModel&amp;gt; _simpleRowViewModels = &lt;span style="color:blue"&gt;new&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, SimpleRowViewModel&amp;gt;();
        &lt;span style="color:blue"&gt;private&lt;/span&gt; SimpleRowViewModel GetSimpleRowViewModel(QuoteTickViewModel model)
        {
            &lt;span style="color:blue"&gt;if&lt;/span&gt; (model == &lt;span style="color:blue"&gt;null&lt;/span&gt;)
                &lt;span style="color:blue"&gt;return&lt;/span&gt; _simpleRowViewModels.GetOrAdd(&lt;span style="color:#a31515"&gt;&amp;quot;&amp;quot;&lt;/span&gt;, s2 =&amp;gt; &lt;span style="color:blue"&gt;new&lt;/span&gt; SimpleRowViewModel());

            &lt;span style="color:blue"&gt;return&lt;/span&gt; _simpleRowViewModels.GetOrAdd(model.Isin &amp;#43; model.Exchange,
                                                                s2 =&amp;gt;
                                                                &lt;span style="color:blue"&gt;new&lt;/span&gt; SimpleRowViewModel() { UnderlyingQuote = model });
        }

        &lt;span style="color:blue"&gt;private&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, UncompressedRowViewModel&amp;gt; _uncompressedRowViewModels = &lt;span style="color:blue"&gt;new&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, UncompressedRowViewModel&amp;gt;();
        &lt;span style="color:blue"&gt;private&lt;/span&gt; UncompressedRowViewModel GetUncompressedRowViewModel(OrderStatusViewModel model)
        {
            &lt;span style="color:blue"&gt;if&lt;/span&gt; (model == &lt;span style="color:blue"&gt;null&lt;/span&gt;)
                &lt;span style="color:blue"&gt;return&lt;/span&gt; _uncompressedRowViewModels.GetOrAdd(&lt;span style="color:#a31515"&gt;&amp;quot;&amp;quot;&lt;/span&gt;, s2 =&amp;gt; &lt;span style="color:blue"&gt;new&lt;/span&gt; UncompressedRowViewModel());

            &lt;span style="color:blue"&gt;return&lt;/span&gt; _uncompressedRowViewModels.GetOrAdd(model.InternalId,
                                                                s2 =&amp;gt;
                                                                &lt;span style="color:blue"&gt;new&lt;/span&gt; UncompressedRowViewModel() { UnderlyingOrder = model });
        }

        &lt;span style="color:blue"&gt;private&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, CompressedRowViewModel&amp;gt; _compressedRowViewModels = &lt;span style="color:blue"&gt;new&lt;/span&gt; ConcurrentDictionary&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;, CompressedRowViewModel&amp;gt;();
        &lt;span style="color:blue"&gt;private&lt;/span&gt; CompressedRowViewModel GetCompressedRowViewModel(&lt;span style="color:blue"&gt;decimal&lt;/span&gt;? Ask, &lt;span style="color:blue"&gt;int&lt;/span&gt; AskSize, &lt;span style="color:blue"&gt;decimal&lt;/span&gt;? Bid, &lt;span style="color:blue"&gt;int&lt;/span&gt; BidSize, &lt;span style="color:blue"&gt;string&lt;/span&gt; Exchange, &lt;span style="color:blue"&gt;string&lt;/span&gt; Isin, &lt;span style="color:blue"&gt;int&lt;/span&gt; OrderBuyCount, &lt;span style="color:blue"&gt;int&lt;/span&gt; OrderSellCount, RowSide RowSide)
        {

            &lt;span style="color:blue"&gt;return&lt;/span&gt; &lt;span style="color:blue"&gt;new&lt;/span&gt; CompressedRowViewModel()
                       {
                           Ask = Ask,
                           AskSize = AskSize,
                           Bid = Bid,
                           BidSize = BidSize,
                           Exchange = Exchange,
                           Isin = Isin,
                           OrderBuyCount = OrderBuyCount,
                           OrderSellCount = OrderSellCount,
                           RowSide = RowSide
                       };
        }
&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So basically we what we can say is, Obtics is not entirely compatible with lambda and linq.&lt;/p&gt;
&lt;p&gt;If you want to shape your viewmodels into another format or use surrogate classes or having aggregation with creating new classes on the fly, Obtics is not for you.&lt;/p&gt;
&lt;p&gt;Thanks anyway.&lt;/p&gt;
&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Tue, 10 Jul 2012 14:32:30 GMT</pubDate><guid isPermaLink="false">New Post: Why is this collection keeps getting recreated everytime? 20120710023230P</guid></item><item><title>New Post: Why is this collection keeps getting recreated everytime?</title><link>http://obtics.codeplex.com/discussions/362106</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;It is probably the same issue as mentioned in this thread: &lt;a href="http://obtics.codeplex.com/discussions/360575"&gt;http://obtics.codeplex.com/discussions/360575&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The engine does not maintain a list with conversions. It uses your lambda function to find a conversion it needs for adding AND removing. So your lambda needs to return an equal result (not necessairily referentially equal) when it gets called with equal parameters. So:&lt;/p&gt;
&lt;p&gt;X&amp;nbsp;x = value;&lt;/p&gt;
&lt;p&gt;Func&amp;lt;X,Y&amp;gt; yourLambda = &amp;lt;stuff&amp;gt;;&lt;/p&gt;
&lt;p&gt;Assert.IsTrue(EqualityComparer&amp;lt;Y&amp;gt;.Default.Equals(yourLambda(x),yourLambda(x)));&lt;/p&gt;&lt;/div&gt;</description><author>throb</author><pubDate>Tue, 10 Jul 2012 13:43:08 GMT</pubDate><guid isPermaLink="false">New Post: Why is this collection keeps getting recreated everytime? 20120710014308P</guid></item><item><title>New Post: Why is this collection keeps getting recreated everytime?</title><link>http://obtics.codeplex.com/discussions/362106</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;As far as I understand, obtics engine is still searching for the order with active state but at that time the object already got the cancelled state. so if not an equal object returns i get an error.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;but the solutions is to keep a list with every orderstate which kind of impossible&lt;/p&gt;&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Mon, 09 Jul 2012 20:34:02 GMT</pubDate><guid isPermaLink="false">New Post: Why is this collection keeps getting recreated everytime? 20120709083402P</guid></item><item><title>New Post: Why is this collection keeps getting recreated everytime?</title><link>http://obtics.codeplex.com/discussions/362106</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I am testing it for 3 days now. I've bumped my head to my desk several times because of this :) please help, I'm uploading my class which creates these queries.&lt;/p&gt;
&lt;p&gt;http://www.4shared.com/file/ce_V8PPh/MarketData.html&lt;/p&gt;
&lt;p&gt;Everything works fine until an OrderStatus gets a "Cancelled" state. I think it is because I filter the cancelled orders on top of the query. But how is this relevant I don't know. Anyway, the exception is:&lt;/p&gt;
&lt;p&gt;InvalidOperationException,&amp;nbsp;Added item does not appear at given index '0'.&lt;/p&gt;
&lt;p&gt;But this totally makes no sense since the item is already there.&lt;/p&gt;
&lt;p&gt;I'd be really glad if anyone can help me.&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Mon, 09 Jul 2012 14:15:02 GMT</pubDate><guid isPermaLink="false">New Post: Why is this collection keeps getting recreated everytime? 20120709021502P</guid></item><item><title>New Post: Why is this collection keeps getting recreated everytime?</title><link>http://obtics.codeplex.com/discussions/362106</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Allright I've somehow fixed that problem but now I got a new one :)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Added item does not appear at given index '1'.&lt;/p&gt;
&lt;p&gt;It is a typical threading problem but I really dont know what can I do about it.&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;'Pulse.UI.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Accessibility\v4.0_4.0.0.0__b03f5f7f11d50a3a\Accessibility.dll'A first chance exception of type 'System.InvalidOperationException' occurred in PresentationFramework.dllSystem.Transactions Critical: 0 : &amp;lt;TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"&amp;gt;&amp;lt;TraceIdentifier&amp;gt;http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled&amp;lt;/TraceIdentifier&amp;gt;&amp;lt;Description&amp;gt;Unhandled exception&amp;lt;/Description&amp;gt;&amp;lt;AppDomain&amp;gt;Pulse.UI.vshost.exe&amp;lt;/AppDomain&amp;gt;&amp;lt;Exception&amp;gt;&amp;lt;ExceptionType&amp;gt;System.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;lt;/ExceptionType&amp;gt;&amp;lt;Message&amp;gt;Added item does not appear at given index '1'.&amp;lt;/Message&amp;gt;&amp;lt;StackTrace&amp;gt; &amp;nbsp; at MS.Internal.Data.EnumerableCollectionView.ProcessCollectionChanged(NotifyCollectionChangedEventArgs args)&amp;nbsp; &amp;nbsp;at System.Windows.Data.CollectionView.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NCToNCC.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(Object rawMessage)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.NotifyVpcTransformation`2.Notifier.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.TranslucentTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(Object rawMessage)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.UnorderedCascadeTransformation`2.BufferNodeCC.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.TranslucentTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(Object rawMessage)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.UnorderedNotifyVpcTransformation`2.Notifier.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Values.Transformations.PropertyTransformation`2.Buffer_PropertyChanged(Object sender, EventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.Values.Transformations.PropertyTransformation`2.npc_PropertyChanged(Object sender, PropertyChangedEventArgs e)&amp;nbsp; &amp;nbsp;at System.ComponentModel.PropertyChangedEventHandler.Invoke(Object sender, PropertyChangedEventArgs e)&amp;nbsp; &amp;nbsp;at GalaSoft.MvvmLight.ViewModelBase.RaisePropertyChanged(String propertyName) in D:\GalaSoft\mydotnet\GalaSoft MVVM Light Toolkit\Source\V3\GalaSoft.MvvmLight\GalaSoft.MvvmLight (NET35)\ViewModelBase.cs:line 234&amp;nbsp; &amp;nbsp;at Pulse.UI.ViewModels.OrderStatusViewModel.set_State(OrderStateEnum value) in C:\Serkan\Pulse Project\Pulse.UI\ViewModels\OrderStatusViewModel.cs:line 236&amp;nbsp; &amp;nbsp;at Pulse.UI.ViewModels.OrderStatusViewModel.set_Status(OrderStatus value) in C:\Serkan\Pulse Project\Pulse.UI\ViewModels\OrderStatusViewModel.cs:line 80&amp;nbsp; &amp;nbsp;at Pulse.UI.Common.MarketData.&amp;amp;amp;lt;MessageHandler&amp;amp;amp;gt;b__a(OrderStatusViewModel vm, OrderStatus m) in C:\Serkan\Pulse Project\Pulse.UI\Common\MarketData.cs:line 219&amp;nbsp; &amp;nbsp;at Pulse.UI.Common.MarketData.&amp;amp;amp;lt;&amp;amp;amp;gt;c__DisplayClass20`2.&amp;amp;amp;lt;CollectionKeeper&amp;amp;amp;gt;b__1f() in C:\Serkan\Pulse Project\Pulse.UI\Common\MarketData.cs:line 333&amp;nbsp; &amp;nbsp;at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)&amp;nbsp; &amp;nbsp;at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.DispatcherOperation.InvokeImpl()&amp;nbsp; &amp;nbsp;at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.runTryCode(Object userData)&amp;nbsp; &amp;nbsp;at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.DispatcherOperation.Invoke()&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.ProcessQueue()&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp;amp;amp; handled)&amp;nbsp; &amp;nbsp;at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp;amp;amp; handled)&amp;nbsp; &amp;nbsp;at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)&amp;nbsp; &amp;nbsp;at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)&amp;nbsp; &amp;nbsp;at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)&amp;nbsp; &amp;nbsp;at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG&amp;amp;amp;amp; msg)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)&amp;nbsp; &amp;nbsp;at System.Windows.Application.RunDispatcher(Object ignore)&amp;nbsp; &amp;nbsp;at System.Windows.Application.RunInternal(Window window)&amp;nbsp; &amp;nbsp;at System.Windows.Application.Run(Window window)&amp;nbsp; &amp;nbsp;at System.Windows.Application.Run()&amp;nbsp; &amp;nbsp;at Pulse.UI.App.Main() in C:\Serkan\Pulse Project\Pulse.UI\obj\x86\Release\App.g.cs:line 0&amp;nbsp; &amp;nbsp;at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)&amp;nbsp; &amp;nbsp;at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)&amp;nbsp; &amp;nbsp;at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()&amp;nbsp; &amp;nbsp;at System.Threading.ThreadHelper.ThreadStart_Context(Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ThreadHelper.ThreadStart()&amp;lt;/StackTrace&amp;gt;&amp;lt;ExceptionString&amp;gt;System.InvalidOperationException: Added item does not appear at given index '1'.&amp;nbsp; &amp;nbsp;at MS.Internal.Data.EnumerableCollectionView.ProcessCollectionChanged(NotifyCollectionChangedEventArgs args)&amp;nbsp; &amp;nbsp;at System.Windows.Data.CollectionView.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NCToNCC.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(Object rawMessage)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.NotifyVpcTransformation`2.Notifier.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.TranslucentTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(Object rawMessage)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.UnorderedCascadeTransformation`2.BufferNodeCC.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.TranslucentTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.OpaqueTransformationBase`3.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(Object rawMessage)&amp;nbsp; &amp;nbsp;at Obtics.Collections.Transformations.UnorderedNotifyVpcTransformation`2.Notifier.NotifyChanged(Object sender, INCEventArgs changeArgs)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObject`1.NotifyChanged(Object sender, INCEventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.NotifyChangedReceiverTable.SendMessage(Object sender, INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCObservableObjectBase`1.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.NCSourcedObjectToVP`2.Release(INCEventArgs message)&amp;nbsp; &amp;nbsp;at Obtics.Values.Transformations.PropertyTransformation`2.Buffer_PropertyChanged(Object sender, EventArgs args)&amp;nbsp; &amp;nbsp;at Obtics.Values.Transformations.PropertyTransformation`2.npc_PropertyChanged(Object sender, PropertyChangedEventArgs e)&amp;nbsp; &amp;nbsp;at System.ComponentModel.PropertyChangedEventHandler.Invoke(Object sender, PropertyChangedEventArgs e)&amp;nbsp; &amp;nbsp;at GalaSoft.MvvmLight.ViewModelBase.RaisePropertyChanged(String propertyName) in D:\GalaSoft\mydotnet\GalaSoft MVVM Light Toolkit\Source\V3\GalaSoft.MvvmLight\GalaSoft.MvvmLight (NET35)\ViewModelBase.cs:line 234&amp;nbsp; &amp;nbsp;at Pulse.UI.ViewModels.OrderStatusViewModel.set_State(OrderStateEnum value) in C:\Serkan\Pulse Project\Pulse.UI\ViewModels\OrderStatusViewModel.cs:line 236&amp;nbsp; &amp;nbsp;at Pulse.UI.ViewModels.OrderStatusViewModel.set_Status(OrderStatus value) in C:\Serkan\Pulse Project\Pulse.UI\ViewModels\OrderStatusViewModel.cs:line 80&amp;nbsp; &amp;nbsp;at Pulse.UI.Common.MarketData.&amp;amp;amp;lt;MessageHandler&amp;amp;amp;gt;b__a(OrderStatusViewModel vm, OrderStatus m) in C:\Serkan\Pulse Project\Pulse.UI\Common\MarketData.cs:line 219&amp;nbsp; &amp;nbsp;at Pulse.UI.Common.MarketData.&amp;amp;amp;lt;&amp;amp;amp;gt;c__DisplayClass20`2.&amp;amp;amp;lt;CollectionKeeper&amp;amp;amp;gt;b__1f() in C:\Serkan\Pulse Project\Pulse.UI\Common\MarketData.cs:line 333&amp;nbsp; &amp;nbsp;at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)&amp;nbsp; &amp;nbsp;at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.DispatcherOperation.InvokeImpl()&amp;nbsp; &amp;nbsp;at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.runTryCode(Object userData)&amp;nbsp; &amp;nbsp;at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.DispatcherOperation.Invoke()&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.ProcessQueue()&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp;amp;amp; handled)&amp;nbsp; &amp;nbsp;at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean&amp;amp;amp;amp; handled)&amp;nbsp; &amp;nbsp;at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)&amp;nbsp; &amp;nbsp;at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)&amp;nbsp; &amp;nbsp;at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)&amp;nbsp; &amp;nbsp;at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG&amp;amp;amp;amp; msg)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)&amp;nbsp; &amp;nbsp;at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)&amp;nbsp; &amp;nbsp;at System.Windows.Application.RunDispatcher(Object ignore)&amp;nbsp; &amp;nbsp;at System.Windows.Application.RunInternal(Window window)&amp;nbsp; &amp;nbsp;at System.Windows.Application.Run(Window window)&amp;nbsp; &amp;nbsp;at System.Windows.Application.Run()&amp;nbsp; &amp;nbsp;at Pulse.UI.App.Main() in C:\Serkan\Pulse Project\Pulse.UI\obj\x86\Release\App.g.cs:line 0&amp;nbsp; &amp;nbsp;at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)&amp;nbsp; &amp;nbsp;at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)&amp;nbsp; &amp;nbsp;at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()&amp;nbsp; &amp;nbsp;at System.Threading.ThreadHelper.ThreadStart_Context(Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)&amp;nbsp; &amp;nbsp;at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)&amp;nbsp; &amp;nbsp;at System.Threading.ThreadHelper.ThreadStart()&amp;lt;/ExceptionString&amp;gt;&amp;lt;DataItems&amp;gt;&amp;lt;Data&amp;gt;&amp;lt;/Data&amp;gt;&amp;lt;/DataItems&amp;gt;&amp;lt;/Exception&amp;gt;&amp;lt;/TraceRecord&amp;gt;&lt;/p&gt;&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Fri, 06 Jul 2012 13:40:46 GMT</pubDate><guid isPermaLink="false">New Post: Why is this collection keeps getting recreated everytime? 20120706014046P</guid></item><item><title>New Post: Why is this collection keeps getting recreated everytime?</title><link>http://obtics.codeplex.com/discussions/362106</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;I don't know which property is changing to cause the entire collection to update but what strikes me is that you seem to use an outer&amp;nbsp;join between your grouped _orders and _quotes where you actually want to use an inner join.&lt;/p&gt;
&lt;p&gt;With an outer&amp;nbsp;join every group will need to be regarded when a relevant property of any _quote changes, as opposed to&amp;nbsp;an inner join where only the associated groups will be checked.&lt;/p&gt;
&lt;p&gt;Regs,&lt;/p&gt;
&lt;p&gt;Thomas.&lt;/p&gt;
&lt;/div&gt;</description><author>throb</author><pubDate>Fri, 06 Jul 2012 08:46:52 GMT</pubDate><guid isPermaLink="false">New Post: Why is this collection keeps getting recreated everytime? 20120706084652A</guid></item><item><title>New Post: Why is this collection keeps getting recreated everytime?</title><link>http://obtics.codeplex.com/discussions/362106</link><description>&lt;div style="line-height: normal;"&gt;
&lt;pre&gt;&lt;div style="color:black; background-color:white"&gt;&lt;pre&gt;        &lt;span style="color:blue"&gt;private&lt;/span&gt; &lt;span style="color:blue"&gt;void&lt;/span&gt; CreateQueries()
        {
            GridData =
                ExpressionObserver.Execute(() =&amp;gt;
                                               &lt;span style="color:blue"&gt;from&lt;/span&gt; o &lt;span style="color:blue"&gt;in&lt;/span&gt; _orders
                                               &lt;span style="color:blue"&gt;where&lt;/span&gt; o.State != OrderStateEnum.Canceled
                                               &lt;span style="color:blue"&gt;group&lt;/span&gt; o &lt;span style="color:blue"&gt;by&lt;/span&gt; o.Isin
                                               &lt;span style="color:blue"&gt;into&lt;/span&gt; g
                                               &lt;span style="color:blue"&gt;let&lt;/span&gt; germanSymbol = _referenceData.GetGermanSymbol(g.Key)
                                               &lt;span style="color:blue"&gt;let&lt;/span&gt; primarySymbol = _referenceData.GetPrimaryExchangeSymbol(g.Key)
                                               &lt;span style="color:blue"&gt;let&lt;/span&gt; name = _referenceData.GetInstrumentName(g.Key)
                                               &lt;span style="color:blue"&gt;orderby&lt;/span&gt; name &lt;span style="color:blue"&gt;ascending&lt;/span&gt;
                                               &lt;span style="color:blue"&gt;let&lt;/span&gt; primaryExchange = _referenceData.GetPrimaryExchangeId(g.Key)
                                               &lt;span style="color:blue"&gt;from&lt;/span&gt; q &lt;span style="color:blue"&gt;in&lt;/span&gt; _quotes
                                                   .Where(w =&amp;gt; w.Isin == g.Key &amp;amp;&amp;amp;
                                                               w.Exchange == primaryExchange &amp;amp;&amp;amp;
                                                               w.Provider == ProviderEnum.Bloomberg).DefaultIfEmpty(
                                                                   &lt;span style="color:blue"&gt;new&lt;/span&gt; QuoteTickViewModel())
                                               &lt;span style="color:blue"&gt;select&lt;/span&gt; &lt;span style="color:blue"&gt;new&lt;/span&gt; ComplexRowViewModel()
                                                          {
                                                              Isin = g.Key,
                                                              Name = name,
                                                              GermanSymbol = germanSymbol,
                                                              PrimarySymbol = primarySymbol,
                                                              PrimaryExchange = &lt;span style="color:blue"&gt;new&lt;/span&gt; SimpleRowViewModel()
                                                                                    {
                                                                                        Ask = (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;) q.Ask,
                                                                                        AskSize = q.AskSize,
                                                                                        Bid = (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;) q.Bid,
                                                                                        BidSize = q.BidSize,
                                                                                        Exchange = q.Exchange,
                                                                                        Isin = q.Isin,
                                                                                        Last = (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;) q.Last,
                                                                                        LastSize = q.LastSize,
                                                                                        LastTime = q.Time
                                                                                    },
                                                              Groupped =
                                                                  &lt;span style="color:blue"&gt;from&lt;/span&gt; qx &lt;span style="color:blue"&gt;in&lt;/span&gt;
                                                                      _quotes.Where(
                                                                          w =&amp;gt;
                                                                          w.Isin == g.Key &amp;amp;&amp;amp;
                                                                          w.Provider == ProviderEnum.Tradebase &amp;amp;&amp;amp;
                                                                          w.Exchange != primaryExchange)
                                                                  &lt;span style="color:blue"&gt;select&lt;/span&gt; &lt;span style="color:blue"&gt;new&lt;/span&gt; SimpleRowViewModel()
                                                                             {
                                                                                 Ask = (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;) qx.Ask,
                                                                                 AskSize = qx.AskSize,
                                                                                 Bid = (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;) qx.Bid,
                                                                                 BidSize = qx.BidSize,
                                                                                 Exchange = qx.Exchange,
                                                                                 Isin = qx.Isin,
                                                                                 Last = (&lt;span style="color:blue"&gt;decimal&lt;/span&gt;) qx.Last,
                                                                                 LastSize = qx.LastSize,
                                                                                 LastTime = qx.Time
                                                                             }
                                                          }
                        ).Cascade();
        }
&lt;/pre&gt;
&lt;/div&gt;
&lt;br&gt;&lt;/pre&gt;
&lt;pre&gt;As you see I got this query in my application. Top collection is &lt;strong&gt;orders &lt;/strong&gt;which is almost static, but the nested &lt;strong&gt;Groupped &lt;/strong&gt;collection is keeps getting updated. But insted of just updating the related properties, whole list getting recreated every update.&lt;/pre&gt;
&lt;pre&gt;&lt;br&gt;&lt;/pre&gt;
&lt;pre&gt;I was wondering if there is a solution for this ?&lt;/pre&gt;
&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Thu, 05 Jul 2012 13:37:29 GMT</pubDate><guid isPermaLink="false">New Post: Why is this collection keeps getting recreated everytime? 20120705013729P</guid></item><item><title>New Post: InvalidOperationException when removing items</title><link>http://obtics.codeplex.com/discussions/360575</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Many thanks, that did it.&lt;/p&gt;&lt;/div&gt;</description><author>steff79</author><pubDate>Tue, 26 Jun 2012 18:10:14 GMT</pubDate><guid isPermaLink="false">New Post: InvalidOperationException when removing items 20120626061014P</guid></item><item><title>New Post: InvalidOperationException when removing items</title><link>http://obtics.codeplex.com/discussions/360575</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Problem is that Select(modelItems, s =&amp;gt; CreateViewModel(s)) uses the lambda expression both for adding and removing items. So; CreateViewModel(s) gets called when an item is added and when an item is removed. Now; if CreateViewModel(s) does not return an&amp;nbsp;equal object every time it gets called with the same s then it means that a different object will be removed than was originaly added -&amp;gt; error.&lt;/p&gt;
&lt;p&gt;You should create a method GetViewModel(s) instead of CreateViewModel(s), like:&lt;/p&gt;
&lt;div style="color: black; background-color: white;"&gt;
&lt;pre&gt;TvdP.Collections.WeakValueDictionary&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;,ItemViewModel&amp;gt; _registry = &lt;span style="color: blue;"&gt;new&lt;/span&gt; TvdP.Collections.WeakValueDictionary&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;,ItemViewModel&amp;gt;()

&lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; ItemViewModel GetViewModel(&lt;span style="color: blue;"&gt;string&lt;/span&gt; s)
        {
            &lt;span style="color: green;"&gt;//this MUST be called in the UI thread because I access some thread-affine objects in my real application.&lt;/span&gt;
            &lt;span style="color: blue;"&gt;return&lt;/span&gt; _registry.GetOrAdd(s, s2 =&amp;gt; &lt;span style="color: blue;"&gt;new&lt;/span&gt; ItemViewModel {Text = s2});
        }

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description><author>Throb</author><pubDate>Mon, 25 Jun 2012 23:17:51 GMT</pubDate><guid isPermaLink="false">New Post: InvalidOperationException when removing items 20120625111751P</guid></item><item><title>New Post: InvalidOperationException when removing items</title><link>http://obtics.codeplex.com/discussions/360575</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have a scenario with a ListBox bound to a collection of ViewModels. This collection is actually a Obtics expression that binds further to a model. The model is changed by a background thread, so I use the WorkQueueOnDispatcherProvider to make sure the
 viewmodels are updated on the UI thread.&lt;/p&gt;
&lt;p&gt;Adding items works perfectly fine, but removing them throws an InvalidOperationException in the ListBox (with strange message &amp;quot;Added item does not appear at given index&amp;quot;).&lt;/p&gt;
&lt;p&gt;I have no idea what I am doing wrong. Please help me.&lt;/p&gt;
&lt;p&gt;I created a minimal example to reproduce the behaviour:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;internal class MainViewModel&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private readonly Model dummyModel;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //for binding to a ListBox&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public IEnumerable&amp;lt;ItemViewModel&amp;gt; ItemCollection { get; private set; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public MainViewModel()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dummyModel = new Model {Items = new ObservableCollection&amp;lt;string&amp;gt;()};&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dummyModel.Items.Add(&amp;quot;hello&amp;quot;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dummyModel.Items.Add(&amp;quot;world&amp;quot;);&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IValueProvider&amp;lt;IEnumerable&amp;lt;string&amp;gt;&amp;gt; valueProvider =&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ExpressionObserver.Execute(() =&amp;gt; Enumerable.Select(dummyModel.Items, s =&amp;gt; s));&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //from what I figured out, I have to call Async() before I create the final ItemCollection expression so that&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //CreateViewModel() is called in the UI thread.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IEnumerable&amp;lt;string&amp;gt; modelItems =&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; valueProvider.Cascade().Async(new WorkQueueOnDispatcherProvider().GetWorkQueue());&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ItemCollection =&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ExpressionObserver.Execute(() =&amp;gt; Enumerable.Select(modelItems, s =&amp;gt; CreateViewModel(s))).Cascade();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static ItemViewModel CreateViewModel(string s)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //this MUST be called in the UI thread because I access some thread-affine objects in my real application.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new ItemViewModel {Text = s};&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void StartOperation()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Task.Factory.StartNew(&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; () =&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thread.Sleep(1000);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dummyModel.Items.RemoveAt(1);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //dummyModel.Items.Add(&amp;quot;hello&amp;quot;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; internal class ItemViewModel&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Text { get; set; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; internal class Model&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ObservableCollection&amp;lt;string&amp;gt; Items { get; set; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;And the necessary XAML part:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;lt;Window.Resources&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ResourceDictionary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;WpfApplication1:MainViewModel x:Key=&amp;quot;myMainViewModel&amp;quot;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/WpfApplication1:MainViewModel&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/ResourceDictionary&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Window.Resources&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;StackPanel DataContext=&amp;quot;{StaticResource ResourceKey=myMainViewModel}&amp;quot;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button Click=&amp;quot;Clicked&amp;quot;&amp;gt;Start Remove&amp;lt;/Button&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ListBox ItemsSource=&amp;quot;{Binding Path=ItemCollection}&amp;quot;&amp;gt;&amp;lt;/ListBox&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/StackPanel&amp;gt;&lt;/p&gt;
&lt;/div&gt;</description><author>steff79</author><pubDate>Fri, 22 Jun 2012 09:16:03 GMT</pubDate><guid isPermaLink="false">New Post: InvalidOperationException when removing items 20120622091603A</guid></item><item><title>New Post: How do I join and aggregate two observable collections?</title><link>http://obtics.codeplex.com/discussions/280772</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I'm sorry for the late answer.&lt;/p&gt;
&lt;p&gt;My Project is not entirely unit-testable. But I can say that it's just an observablecollection for items with inotifypropertchanged interface.&lt;/p&gt;
&lt;p&gt;There are some nullable properties in items, I wanted to check them but right now I don't have time for that, I needed quick solutions and workarounds :)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id="-chrome-auto-translate-plugin-dialog" style="display: none; opacity: 1 !important; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: transparent !important; top: 0px; left: 0px; overflow-x: visible !important; overflow-y: visible !important; z-index: 999999 !important; text-align: left !important; background-position: initial initial !important; background-repeat: initial initial !important; padding: 0px !important; margin: 0px !important;"&gt;
&lt;div style="max-width: 300px !important; color: #fafafa !important; opacity: 0.8 !important; border-color: #000000 !important; border-width: 0px !important; background-color: #363636 !important; font-size: 16px !important; padding: 8px !important; overflow: visible !important; background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #000), color-stop(50%, #363636), color-stop(100%, #000)); z-index: 999999 !important; text-align: left  !important;"&gt;&lt;/div&gt;
&lt;img style="z-index: -1 !important; right: 1px !important; top: -20px !important; cursor: pointer !important; border-top-left-radius: 20px 20px; border-top-right-radius: 20px 20px; border-bottom-right-radius: 20px 20px; border-bottom-left-radius: 20px 20px; background-color: rgba(200, 200, 200, 0.296875) !important; padding-top: 3px !important; padding-right: 5px !important; padding-bottom: 0px !important; padding-left: 5px !important; margin: 0px !important;" onclick="document.location.href='http://translate.google.com/';" src="http://www.google.com/uds/css/small-logo.png" alt="" /&gt;&lt;/div&gt;&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Wed, 14 Dec 2011 15:44:04 GMT</pubDate><guid isPermaLink="false">New Post: How do I join and aggregate two observable collections? 20111214034404P</guid></item><item><title>New Post: Strange behavior</title><link>http://obtics.codeplex.com/discussions/279488</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Vincent,&lt;/p&gt;
&lt;p&gt;Haven't found the time yet to find out what is going on.&lt;/p&gt;
&lt;p&gt;I hope to have an answer for you soon,&lt;/p&gt;
&lt;p&gt;Regs&lt;/p&gt;
&lt;p&gt;Thomas.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;</description><author>throb</author><pubDate>Thu, 08 Dec 2011 23:58:50 GMT</pubDate><guid isPermaLink="false">New Post: Strange behavior 20111208115850P</guid></item><item><title>New Post: Strange behavior</title><link>http://obtics.codeplex.com/discussions/279488</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Throb,&lt;/p&gt;
&lt;p&gt;Have you an idea about my issue ?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Vincent&lt;/p&gt;&lt;/div&gt;</description><author>vbouzon</author><pubDate>Wed, 07 Dec 2011 21:29:56 GMT</pubDate><guid isPermaLink="false">New Post: Strange behavior 20111207092956P</guid></item><item><title>New Post: How do I join and aggregate two observable collections?</title><link>http://obtics.codeplex.com/discussions/280772</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Good that you found a solution. 'join into' syntax should work though but there may always be a bug.&lt;/p&gt;
&lt;p&gt;Could you create a unit test that isolates your problem?&lt;/p&gt;
&lt;p&gt;Regs,&lt;/p&gt;
&lt;p&gt;Thomas.&lt;/p&gt;&lt;/div&gt;</description><author>throb</author><pubDate>Tue, 06 Dec 2011 18:57:12 GMT</pubDate><guid isPermaLink="false">New Post: How do I join and aggregate two observable collections? 20111206065712P</guid></item><item><title>New Post: How do I join and aggregate two observable collections?</title><link>http://obtics.codeplex.com/discussions/280772</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Sorry it was my Linq Expression. It should have been like this.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;div style="color: black; background-color: white;"&gt;
&lt;pre&gt;           &lt;span style="color: blue;"&gt;var&lt;/span&gt; query = ExpressionObserver.Execute(() =&amp;gt;
                                                  &lt;span style="color: blue;"&gt;from&lt;/span&gt; q &lt;span style="color: blue;"&gt;in&lt;/span&gt; _quotes.Where(p =&amp;gt; p.Provider == ProviderEnum.Bloomberg)
                                                  &lt;span style="color: blue;"&gt;from&lt;/span&gt; qp &lt;span style="color: blue;"&gt;in&lt;/span&gt;
                                                      _currencies.Where(
                                                          j =&amp;gt; j.Isin == q.Isin &amp;amp;&amp;amp; j.Exchange == q.Exchange &amp;amp;&amp;amp; j.Provider == ProviderEnum.Tradebase)
                                                      .DefaultIfEmpty(&lt;span style="color: blue;"&gt;new&lt;/span&gt; QuoteTickViewModel())
                                                  &lt;span style="color: blue;"&gt;select&lt;/span&gt;
                                                      &lt;span style="color: blue;"&gt;new&lt;/span&gt;
                                                          {
                                                              IsinB = q.Isin,
                                                              IsinT = qp.Isin,
                                                              ExchangeB = q.Exchange,
                                                              ExchangeT = qp.Exchange,
                                                              PriceB = q.Last,
                                                              PriceT = qp.Last,
                                                              ProviderB = q.Provider,
                                                              ProviderT = qp.Provider
                                                          }
               ).Cascade();&lt;/pre&gt;
&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;pre&gt;If I try it with a normal LINQ/SQL-Like syntax (join into) then it does not function.&lt;/pre&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;div id="-chrome-auto-translate-plugin-dialog" style="opacity: 1 !important; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: transparent !important; top: 0px; left: 0px; overflow-x: visible !important; overflow-y: visible !important; z-index: 999999 !important; text-align: left !important; display: none; background-position: initial initial !important; background-repeat: initial initial !important; padding: 0px !important; margin: 0px !important;"&gt;
&lt;div style="max-width: 300px !important; color: #fafafa !important; opacity: 0.8 !important; border-color: #000000 !important; border-width: 0px !important; background-color: #363636 !important; font-size: 16px !important; padding: 8px !important; overflow: visible !important; background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0%, #000), color-stop(50%, #363636), color-stop(100%, #000)); z-index: 999999 !important; text-align: left  !important;"&gt;&lt;/div&gt;
&lt;img style="z-index: -1 !important; right: 1px !important; top: -20px !important; cursor: pointer !important; border-top-left-radius: 20px 20px; border-top-right-radius: 20px 20px; border-bottom-right-radius: 20px 20px; border-bottom-left-radius: 20px 20px; background-color: rgba(200, 200, 200, 0.296875) !important; padding-top: 3px !important; padding-right: 5px !important; padding-bottom: 0px !important; padding-left: 5px !important; margin: 0px !important;" onclick="document.location.href='http://translate.google.com/';" src="http://www.google.com/uds/css/small-logo.png" alt="" /&gt;&lt;/div&gt;&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Tue, 06 Dec 2011 10:13:06 GMT</pubDate><guid isPermaLink="false">New Post: How do I join and aggregate two observable collections? 20111206101306A</guid></item><item><title>New Post: How do I join and aggregate two observable collections?</title><link>http://obtics.codeplex.com/discussions/280772</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I think the problem is&amp;nbsp;Anonymous types.. Is it possible?&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Mon, 05 Dec 2011 13:36:23 GMT</pubDate><guid isPermaLink="false">New Post: How do I join and aggregate two observable collections? 20111205013623P</guid></item><item><title>New Post: How do I join and aggregate two observable collections?</title><link>http://obtics.codeplex.com/discussions/280772</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;I can't get this query to work.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Consolas, 'Courier New', Courier, monospace; white-space: pre;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_query&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Consolas, 'Courier New', Courier, monospace; white-space: pre;"&gt;ExpressionObserver&lt;/span&gt;&lt;span style="font-family: Consolas, 'Courier New', Courier, monospace; white-space: pre;"&gt;.Execute(()&amp;nbsp;=&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&lt;span&gt;from&lt;/span&gt;&amp;nbsp;q&amp;nbsp;&lt;span&gt;in&lt;/span&gt;&amp;nbsp;_quotes
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;where&lt;/span&gt;&amp;nbsp;q.Exchange&amp;nbsp;==&amp;nbsp;&lt;span&gt;"#FX"&lt;/span&gt;&amp;nbsp;&amp;amp;&amp;amp;&amp;nbsp;q.Provider&amp;nbsp;==&amp;nbsp;&lt;span&gt;ProviderEnum&lt;/span&gt;.Bloomberg&lt;/pre&gt;
&lt;pre&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;//join&amp;nbsp;qt&amp;nbsp;in&amp;nbsp;_currencies&amp;nbsp;on&amp;nbsp;q.Isin&amp;nbsp;equals&amp;nbsp;qt.Isin&amp;nbsp;into&amp;nbsp;joinObj1&amp;nbsp;from&amp;nbsp;joinObj2&amp;nbsp;in&amp;nbsp;joinObj1.DefaultIfEmpty(new&amp;nbsp;QuoteTickViewModel())&lt;/span&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;//where&amp;nbsp;joinObj2.Provider&amp;nbsp;==&amp;nbsp;ProviderEnum.Tradebase&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span&gt;select&lt;/span&gt;&amp;nbsp;q).Join(_currencies.Where(es&amp;nbsp;=&amp;gt;&amp;nbsp;es.Provider&amp;nbsp;==&amp;nbsp;&lt;span&gt;ProviderEnum&lt;/span&gt;.Tradebase)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;,&amp;nbsp;i&amp;nbsp;=&amp;gt;&amp;nbsp;i.Isin,&amp;nbsp;x&amp;nbsp;=&amp;gt;&amp;nbsp;x.Isin,&amp;nbsp;(h,&amp;nbsp;p)&amp;nbsp;=&amp;gt;&amp;nbsp;&lt;span&gt;new&lt;/span&gt;&amp;nbsp;{&amp;nbsp;blbisin&amp;nbsp;=&amp;nbsp;h.Isin,&amp;nbsp;blbprice&amp;nbsp;=&amp;nbsp;h.Last,&amp;nbsp;blbprovider&amp;nbsp;=&amp;nbsp;h.Provider,&amp;nbsp;tbmxisin&amp;nbsp;=&amp;nbsp;p.Isin,&amp;nbsp;tbmxprice&amp;nbsp;=&amp;nbsp;p.Last,&amp;nbsp;tbmxprovider&amp;nbsp;=&amp;nbsp;p.Provider&amp;nbsp;})
 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;).Cascade();&lt;/pre&gt;
&lt;p&gt;First I've tried with normal LINQ expression to join and then I've wrote it as chained query. I can see the values in the grid but they are not updating.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Fri, 02 Dec 2011 12:07:07 GMT</pubDate><guid isPermaLink="false">New Post: How do I join and aggregate two observable collections? 20111202120707P</guid></item><item><title>New Post: How do I join and aggregate two observable collections?</title><link>http://obtics.codeplex.com/discussions/280772</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;How would you do it using object linq?&lt;/p&gt;
&lt;p&gt;if &amp;lt;exp&amp;gt; is your linq expression giving your result you would just do:&lt;/p&gt;
&lt;p&gt;ExpressionObserver.Execute(&amp;lt;exp&amp;gt;)&lt;/p&gt;
&lt;p&gt;In case your &amp;lt;exp&amp;gt; is supposed to return a collection of values do:&lt;/p&gt;
&lt;p&gt;ExpressionObserver.Execute(&amp;lt;exp&amp;gt;).Cascade()&lt;/p&gt;
&lt;p&gt;Regs,&lt;/p&gt;
&lt;p&gt;Thomas&lt;/p&gt;&lt;/div&gt;</description><author>throb</author><pubDate>Sat, 26 Nov 2011 11:59:13 GMT</pubDate><guid isPermaLink="false">New Post: How do I join and aggregate two observable collections? 20111126115913A</guid></item><item><title>New Post: How do I join and aggregate two observable collections?</title><link>http://obtics.codeplex.com/discussions/280772</link><description>&lt;div style="line-height: normal;"&gt;
&lt;p&gt;I want to be able to do a simple left outer join (or just join) and then group (sum) some columns.&lt;/p&gt;
&lt;p&gt;I couldn't figure out how is that possible with Obtics.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
&lt;div id="-chrome-auto-translate-plugin-dialog" style="background-color:transparent!important; top:0px; left:0px; overflow-x:visible!important; overflow-y:visible!important; z-index:999999!important; text-align:left!important; padding:0px!important; margin:0px!important"&gt;
&lt;div style="max-width:300px!important; color:#fafafa!important; border-color:#000000!important; border-width:0px!important; background-color:#363636!important; font-size:16px!important; padding:8px!important; overflow:visible!important; z-index:999999!important; text-align:left!important"&gt;
&lt;/div&gt;
&lt;img src="http://www.google.com/uds/css/small-logo.png" alt="" style="z-index:-1!important; right:1px!important; top:-20px!important; padding-top:3px!important; padding-right:5px!important; padding-bottom:0px!important; padding-left:5px!important; margin:0px!important"&gt;&lt;/div&gt;
&lt;/div&gt;</description><author>stylusdotnet</author><pubDate>Thu, 24 Nov 2011 21:33:13 GMT</pubDate><guid isPermaLink="false">New Post: How do I join and aggregate two observable collections? 20111124093313P</guid></item></channel></rss>