<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3255530456565426673</id><updated>2011-09-25T20:27:42.445+02:00</updated><category term='xsl variabler array node-set tree-fragment variables'/><category term='viewstate attribute default defaultvalue'/><category term='generic cookie util serialize deserialize'/><category term='c# lambda delegate'/><title type='text'>henri's blogg</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>65</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-8684120101202442860</id><published>2011-02-18T14:28:00.005+01:00</published><updated>2011-02-18T21:04:13.597+01:00</updated><title type='text'>C#/Sharepoint: get lists and list contents from webservice</title><content type='html'>&lt;div class="posterous_autopost"&gt;I had access to part of a sharepoint site&amp;nbsp;at &lt;br /&gt;http://sharepointserver/areas/myarea&lt;br /&gt;(in norwegian http://sharepointserver/omrader/myarea, I think it's called area in english installation) &lt;br /&gt;Within the area there was a list I wanted to extract some data from. &lt;br /&gt;&lt;br /&gt;Started up .Net and created a new winforms-project. &lt;br /&gt;Add service reference - Advanced - Add web reference &lt;br /&gt;In url I added the string /_vti_bin/Lists.asmx resulting in something like &lt;br /&gt;http://sharepointserver/areas/myarea/_vti_bin/Lists.asmx &lt;br /&gt;there are other services available, but Lists was the part I was interested in. &lt;br /&gt;I gave it the name sharepoint_lists &lt;br /&gt;Now I could get a list of all lists in this part of sharepoint:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;     &lt;br /&gt;using (var sharepoint = new sharepoint_lists.Lists())&lt;/code&gt; &lt;code&gt;&lt;br /&gt;{  &lt;br /&gt;sharepoint.UseDefaultCredentials = true; &lt;br /&gt;var lister = sharepoint.GetListCollection(); &lt;br /&gt;VisXML(lister, txtXML);&lt;br /&gt;}&lt;br /&gt;...&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;private void VisXML(XmlNode node, Control txt)  &lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  txt.Text = node.OuterXml;&lt;br /&gt;}   &lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;This gives me an XML containg all the lists in this part of sharepoint. &lt;br /&gt;By glancing through it I could see my lists ID and Title, I could now use either to get the contents of my list: &lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;    using (var sharepoint = new sharepoint_lists.Lists())&lt;br /&gt;{&lt;br /&gt;sharepoint.UseDefaultCredentials = true;&lt;br /&gt;var query = SorterQuery("Title");&lt;br /&gt;var felter=LagViewFields(new string[]{"ID", "Title", "Beskrivelse"});&lt;br /&gt;//var node = sharepoint.GetListItems("4dab35f1-d2c3-4270-9c7b-555555b55555", "",query ,felter, "", null, null);&lt;br /&gt;var node = sharepoint.GetListItems("My list", "", query, felter, "", null, null);&lt;br /&gt;VisXML(node, txtXML);  &lt;br /&gt;}    &lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;SorterQuery and LagViewFields are just some quick helpers I created to help with sorting and returning fields &lt;code&gt;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;private XmlNode SorterQuery(string sortBy)&lt;br /&gt;{&lt;br /&gt;XmlDocument xmlDoc = new System.Xml.XmlDocument();&lt;br /&gt;XmlNode ndQuery = xmlDoc.CreateNode(XmlNodeType.Element, "Query", "");  ndQuery.InnerXml = "&amp;lt;OrderBy&amp;gt;" +  "&amp;lt;FieldRef Name=\"" + sortBy + "\" /&amp;gt;" +  "&amp;lt;/OrderBy&amp;gt;";&lt;br /&gt;return ndQuery;&lt;br /&gt;}&lt;br /&gt;private XmlNode LagViewFields(string[] felter)&lt;br /&gt;{&lt;br /&gt;var xmlDoc = new System.Xml.XmlDocument();&lt;br /&gt;var node = xmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", "");&lt;br /&gt;foreach (var s in felter)&lt;br /&gt;{&lt;br /&gt;node.InnerXml += "&amp;lt;FieldRef Name='" + s + "' /&amp;gt;";&lt;br /&gt;}&lt;br /&gt;return node;&lt;br /&gt;}    &lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;With this I now have access to all the elements in my list,&lt;br /&gt;and further processing is just a matter of parsing xml etc.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-8684120101202442860?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/8684120101202442860/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=8684120101202442860' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8684120101202442860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8684120101202442860'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2011/02/csharepoint-get-lists-and-list-contents_18.html' title='C#/Sharepoint: get lists and list contents from webservice'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-8515568923481077571</id><published>2010-12-28T10:24:00.002+01:00</published><updated>2010-12-28T10:29:20.526+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c# lambda delegate'/><title type='text'>c#: Lambda expression is not a delegate type</title><content type='html'>&lt;div class="posterous_autopost"&gt;&lt;div&gt;I was changing some code from Silverlight to WPF and ran into this error:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cannot convert lambda expression to type 'System.Windows.Threading.DispatcherPriority' because it is not a delegate type&lt;/div&gt;&lt;div&gt;The code was something like this&lt;/div&gt;&lt;blockquote&gt;&lt;div style="padding-left: 35pt;"&gt;gui.BeginInvoke(&lt;/div&gt;&lt;div style="padding-left: 35pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ()=&amp;gt;&lt;/div&gt;&lt;div style="padding-left: 35pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/div&gt;&lt;div style="padding-left: 35pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Orders = new ObservableCollection&amp;lt;Order&amp;gt;(x);&lt;/div&gt;&lt;div style="padding-left: 35pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;&lt;div style="padding-left: 35pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,null&lt;/div&gt;&lt;div style="padding-left: 35pt;"&gt;);&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;The problem is described in detail here: &lt;/div&gt;&lt;div&gt;&lt;a href="http://visualstudiomagazine.com/articles/2009/02/01/use-lambda-expressions-for-abstract-delegates.aspx"&gt;http://visualstudiomagazine.com/articles/2009/02/01/use-lambda-expressions-for-abstract-delegates.aspx&lt;/a&gt;&lt;/div&gt;&lt;div&gt;The article suggests a couple of ways around this, but the best solution in my opinion is found in the comments:&lt;/div&gt;&lt;div&gt;Cast the lambda to an Action explicitly.&lt;/div&gt;&lt;div&gt;It's fast to do, easy and intuitive:&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gui.BeginInvoke(&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Action)(()=&amp;gt;&lt;/div&gt;&lt;div&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; {&lt;/div&gt;&lt;div&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; Orders = new ObservableCollection&amp;lt;Order&amp;gt;(x);&lt;/div&gt;&lt;div&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;/div&gt;&lt;div&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; ,null&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;This compiles and runs fine.&lt;/div&gt;&lt;div&gt;Happy holidays&lt;/div&gt;&lt;div&gt;/Henri&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-8515568923481077571?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/8515568923481077571/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=8515568923481077571' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8515568923481077571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8515568923481077571'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2010/12/c-lambda-expression-is-not-delegate.html' title='c#: Lambda expression is not a delegate type'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-6555891667396394219</id><published>2010-12-22T15:37:00.001+01:00</published><updated>2010-12-22T15:37:17.134+01:00</updated><title type='text'>c#: switch multiple values in case 1,2,3 using extension methods in(1,2,3)</title><content type='html'>&lt;div class='posterous_autopost'&gt;       &lt;div&gt;I want to check if a variable contains one of several values, and if so do something about it.&lt;/div&gt; &lt;p /&gt; &lt;div&gt;Here's the usual switch way:&lt;/div&gt; &lt;p /&gt; &lt;div&gt;switch (value)&lt;/div&gt; &lt;div&gt;{&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 1:&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 2:&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 3:&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //do some stuff&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 4:&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 5:&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 6:&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //do some different stuff&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //default stuff&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/div&gt; &lt;div&gt;}&lt;/div&gt; &lt;p /&gt; &lt;div&gt;Does that feel ok to you?&lt;/div&gt; &lt;div&gt;To me it's just feels too verbose and cludgy.&lt;/div&gt; &lt;div&gt;In VB it's possible to write like this:&lt;/div&gt; &lt;p /&gt; &lt;div&gt;Select Case value&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 1 To 3&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'do some stuff&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case 4, 5, 6&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'do some different stuff&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case Else&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'default stuff&lt;/div&gt; &lt;div&gt;End Select&lt;/div&gt; &lt;p /&gt; &lt;div&gt;which is way more elegant.&lt;/div&gt; &lt;p /&gt; &lt;div&gt;So how do we get this in c#?&lt;/div&gt; &lt;p /&gt; &lt;div&gt;I ended up with this solution:&lt;/div&gt; &lt;p /&gt; &lt;p /&gt; &lt;div&gt;if(value.In(1,2,3))&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { /* do some stuff */ }&lt;/div&gt; &lt;div&gt;else if (value.In(4,5,6))&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { /* do some different stuff */ }&lt;/div&gt; &lt;div&gt;else&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { /*default stuff */ }&lt;/div&gt; &lt;p /&gt; &lt;div&gt;You likey - likey? ;)&lt;/div&gt; &lt;div&gt;And it's also more flexible than a switch statement.&lt;/div&gt; &lt;p /&gt; &lt;p /&gt; &lt;div&gt;The magic behind is just this sweet little extension method:&lt;/div&gt; &lt;p /&gt; &lt;p /&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static class Extensions&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static bool In&amp;lt;T&amp;gt;(this T t, params T[] values)&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { return values.Contains(t); }&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt; &lt;p /&gt; &lt;p /&gt; &lt;p /&gt; &lt;div&gt;Me likey&lt;/div&gt; &lt;div&gt;Henri&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-6555891667396394219?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/6555891667396394219/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=6555891667396394219' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/6555891667396394219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/6555891667396394219'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2010/12/c-switch-multiple-values-in-case-123.html' title='c#: switch multiple values in case 1,2,3 using extension methods in(1,2,3)'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-3958538221251789365</id><published>2010-12-22T11:41:00.002+01:00</published><updated>2010-12-22T12:40:08.931+01:00</updated><title type='text'>TFS: reattach solution to TFS, and compare folder to source control</title><content type='html'>&lt;div class='posterous_autopost'&gt;&lt;div&gt;I recently was in a situation where I had to add and change files in a solution that was originally in TFS,&lt;/div&gt;&lt;div&gt;but where TFS was unavailable because of migration to new hardware.&lt;/div&gt;&lt;p /&gt;&lt;div&gt;So I removed source control bindings and programmed away.&lt;/div&gt;&lt;p /&gt;&lt;div&gt;Now the server was up again, and I wanted to add my changes back to TFS.&lt;/div&gt;&lt;p /&gt;&lt;div&gt;I opened the solution in VS 2010, right-clicked it in Solution explorer and selected Add to source-control.&lt;/div&gt;&lt;div&gt;That gave me a warning and asked me to use the command Change source control, as it found this solution already in TFS (the &amp;quot;old&amp;quot; version).&lt;/div&gt;&lt;div&gt;So I went to File - source control - Change source control, and there I could bind my solution back to TFS by selecting the projects and clicking Bind.&lt;/div&gt;&lt;p /&gt;&lt;div&gt;But this only gets my already known solution files bound to TFS. &lt;/div&gt;&lt;div&gt;All new files added in the meantime is not detected.&lt;/div&gt;&lt;div&gt;All modified files are not marked as checked out.&lt;/div&gt;&lt;p /&gt;&lt;div&gt;So I could of course try to remember what files I changed, added etc., or even get the latest version from TFS into another folder, and then do a compare from there. &lt;/div&gt;&lt;p /&gt;&lt;div&gt;But as it turns out, TFS has this capability built right in to Visual Studio, if you only know where to look.&lt;/div&gt;&lt;div&gt;Open up Soure Control Explorer&amp;nbsp; (View - Other Windows - Source Control Explorer)&lt;/div&gt;&lt;div&gt;Find your solution in the tree and select it. Then click this button:&lt;/div&gt;&lt;p /&gt;&lt;div&gt;&lt;br /&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/henri/kGLYU5U8IJAynYiAm385drFKKHZCgEwadMPangmTSMzqILP7ZT5fBF6gxMDL/Picture_Device_Independent_Bit.jpg'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/henri/lvvqrpTd5wMbCIwRH9uXww1LXji2lYnxVaG7k7eBDsZLX34N90r3ScoCjvPT/Picture_Device_Independent_Bit.jpg.scaled.500.jpg" width="500" height="345"/&gt;&lt;/a&gt; &lt;/div&gt;&lt;p /&gt;&lt;p /&gt;&lt;p /&gt;&lt;div&gt;The next window will give you alternatives regarding what changes you want to find, defaults are fine with me:&lt;/div&gt;&lt;p /&gt;&lt;div&gt;&lt;a href='http://posterous.com/getfile/files.posterous.com/henri/dRCYHHv6GiMoVOQEsMNWCnGkBm4V6i2BQNeTpxCLcDZaHqedlg0PmwJ5qTul/0Picture_Device_Independent_Bit.jpg'&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/henri/1jEa58oEtbrgiN1BY3Ui7q9lHPU4LtAXJ6Mo06SA133gkjMIkPApaeZVVnFH/0Picture_Device_Independent_Bit.jpg.scaled.500.jpg" width="500" height="448"/&gt;&lt;/a&gt;  &lt;/div&gt;&lt;p /&gt;&lt;p /&gt;&lt;div&gt;Select ok, and voila!&lt;/div&gt;&lt;p /&gt;&lt;div&gt;You now get a window showing you all the files that are different, new etc, and the options to do something about it.&lt;/div&gt;&lt;p /&gt;&lt;div&gt;Great stuff, and easier than I had imagined when I started looking for it.&lt;/div&gt;&lt;p /&gt;&lt;div&gt;regards&lt;/div&gt;&lt;div&gt;Henri&lt;/div&gt;&lt;p /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-3958538221251789365?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/3958538221251789365/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=3958538221251789365' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/3958538221251789365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/3958538221251789365'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2010/12/tfs-reattach-solution-to-tfs-and.html' title='TFS: reattach solution to TFS, and compare folder to source control'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-4313780710188512836</id><published>2010-12-17T23:41:00.001+01:00</published><updated>2010-12-17T23:41:15.478+01:00</updated><title type='text'>c#: Linq/Lamba remove duplicates from list</title><content type='html'>&lt;div class='posterous_autopost'&gt;       &lt;div&gt;I have a list as a result of a join, and it contains duplicates.&lt;/div&gt; &lt;p /&gt; &lt;div&gt;private IEnumerable&amp;lt;Sak&amp;gt; LagListeMedSaker(IEnumerable&amp;lt;KorrespondanseInfo&amp;gt; korr, IEnumerable&amp;lt;Saksinfo&amp;gt; liste)&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/div&gt; &lt;p /&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var result = from l in liste&lt;/div&gt; &lt;div&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; join k in korr&lt;/div&gt; &lt;p /&gt; &lt;div&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; on l.Saksnummer equals k.Saksnummer&lt;/div&gt; &lt;div&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; select new Sak&lt;/div&gt; &lt;div&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; {&lt;/div&gt; &lt;div&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; Saksnr = l.Saksnummer,&lt;/div&gt; &lt;div&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; Tag = l.Tag&lt;/div&gt; &lt;div&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; };&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return result;&lt;/div&gt; &lt;p /&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt; &lt;p /&gt; &lt;div&gt;The list korr can contain duplicates of the same Saksnummer, even though the korr liste entries are unique in it self, i.e they contain other properties that are different.&lt;/div&gt; &lt;p /&gt; &lt;div&gt;Now I want to remove duplicates of the result list.&lt;/div&gt; &lt;div&gt;I wanted to use .Distinct something like this:&lt;/div&gt; &lt;p /&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //remove duplicates, not working (nor compiling..)&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result= result.Distinct(t=&amp;gt;t.Saksnr);&lt;/div&gt; &lt;p /&gt; &lt;div&gt;but Distinct doesn't support Funcs, and rather requires you to create an implentation of IEqualityComparer.&lt;/div&gt; &lt;p /&gt; &lt;div&gt;Btw the default .Distinct() without parameters won't work correctly for your custom objects unless you provide correct &lt;/div&gt; &lt;div&gt;implementations og Equals and GetHashCode. See &lt;a href="http://blogs.msdn.com/b/csharpfaq/archive/2009/03/25/how-to-use-linq-methods-to-compare-objects-of-custom-types.aspx"&gt;http://blogs.msdn.com/b/csharpfaq/archive/2009/03/25/how-to-use-linq-methods-to-compare-objects-of-custom-types.aspx&lt;/a&gt;&lt;/div&gt; for more info if interested. &lt;p /&gt; &lt;p /&gt; &lt;p /&gt; &lt;p /&gt; &lt;div&gt;So I'm feeling lazy, and want to do this in just a line or two, what are the options?&lt;/div&gt; &lt;p /&gt; &lt;div&gt;I went with this solution someone posted at stackoverflow (lost the link sorry):&lt;/div&gt; &lt;p /&gt; &lt;div&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; result= result.GroupBy(sak =&amp;gt; sak.Saksnr).Select(y =&amp;gt; y.First());&lt;/div&gt; &lt;p /&gt; &lt;div&gt;I really like this as it is really fast to implement and change according to your needs.&lt;/div&gt; &lt;p /&gt; &lt;div&gt;You can also group on multiple values by using an anonymous type, i.e:&lt;/div&gt; &lt;p /&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = result.GroupBy(sak =&amp;gt; new { sak.Saksnr, sak.Tag }).Select(y =&amp;gt; y.First());&lt;/div&gt; &lt;p /&gt; &lt;p /&gt; &lt;p /&gt; &lt;div&gt;See for example &lt;a href="http://www.devcurry.com/2009/02/groupby-multiple-values-in-linq.html"&gt;http://www.devcurry.com/2009/02/groupby-multiple-values-in-linq.html&lt;/a&gt; for full example of grouping on multiple values.&lt;/div&gt; &lt;p /&gt; &lt;p /&gt; &lt;p /&gt; &lt;div&gt;PS. I found another post using this kind of solution on stackoverflow, this contains both these concepts:&lt;/div&gt; &lt;div&gt;&lt;a href="http://stackoverflow.com/questions/489258/linq-distinct-on-a-particular-property"&gt;http://stackoverflow.com/questions/489258/linq-distinct-on-a-particular-property&lt;/a&gt;&lt;/div&gt; &lt;div&gt;(see post from David B)&lt;/div&gt; &lt;p /&gt; &lt;p /&gt; &lt;div&gt;PSPS. One could use HashSet&amp;lt;T&amp;gt; to get unique entries but that requires mostly the same as when you use .Distinct(), i.e either provide IEqualityComparer or override GetHashCode and Equals.&lt;/div&gt; &lt;p /&gt; &lt;p /&gt; &lt;div&gt;PSPSPS. Yes, I should have removed the duplicates before the join, &amp;#8230;sorry :)&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-4313780710188512836?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/4313780710188512836/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=4313780710188512836' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/4313780710188512836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/4313780710188512836'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2010/12/c-linqlamba-remove-duplicates-from-list.html' title='c#: Linq/Lamba remove duplicates from list'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-708782510874719729</id><published>2010-09-20T16:23:00.001+02:00</published><updated>2010-09-20T16:23:56.509+02:00</updated><title type='text'>Silverlight: Cannot resolve TargetProperty or OMG how hard can it be to debug this cr...p</title><content type='html'>&lt;div class='posterous_autopost'&gt;       &lt;div&gt;Sorry for the title of this post, but a little bit frustrated after using a looong time to find out why my animations didn't work.&lt;/div&gt; &lt;p /&gt; &lt;div&gt;I tried rotating two usercontrols on a page, and I constantly got this runtime-error:&lt;/div&gt; &lt;p /&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cannot resolve TargetProperty (UIElement.Projection).(PlaneProjection.RotationY) on specified object.&lt;/div&gt; &lt;p /&gt; &lt;p /&gt; &lt;div&gt;My setup was a kind of Master-Detail story, where I wanted the details usercontrol to rotate in when selecting an item in my master-control.&lt;/div&gt; &lt;div&gt;So I already had my ViewModel, my States and Messages setup and working.&lt;/div&gt; &lt;div&gt;Now I just wanted to try to get that sweet rotation thingie going, and that's the part that was giving me some headache:&lt;/div&gt; &lt;p /&gt; &lt;div&gt;My VisualState was something like this:&lt;/div&gt; &lt;p /&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;VisualStateManager.VisualStateGroups&amp;gt;&lt;/div&gt; &lt;div&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;VisualStateGroup x:Name=&amp;quot;Visning&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&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;lt;VisualState x:Name=&amp;quot;Liste&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&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;lt;Storyboard&amp;gt;&lt;/div&gt; &lt;div&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;lt;DoubleAnimationUsingKeyFrames BeginTime=&amp;quot;00:00:00&amp;quot; Storyboard.TargetName=&amp;quot;List&amp;quot;&lt;/div&gt; &lt;div&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; Storyboard.TargetProperty=&amp;quot;(UIElement.Projection).(PlaneProjection.RotationY)&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&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;lt;DiscreteDoubleKeyFrame KeyTime=&amp;quot;00:00:00&amp;quot; Value=&amp;quot;0&amp;quot; /&amp;gt;&lt;/div&gt; &lt;div&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;lt;EasingDoubleKeyFrame KeyTime=&amp;quot;00:00:00.2500000&amp;quot; Value=&amp;quot;90&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&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;lt;EasingDoubleKeyFrame.EasingFunction&amp;gt;&lt;/div&gt; &lt;div&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;lt;PowerEase EasingMode=&amp;quot;EaseIn&amp;quot;/&amp;gt;&lt;/div&gt; &lt;div&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;lt;/EasingDoubleKeyFrame.EasingFunction&amp;gt;&lt;/div&gt; &lt;div&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;lt;/EasingDoubleKeyFrame&amp;gt;&lt;/div&gt; &lt;div&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;lt;DiscreteDoubleKeyFrame KeyTime=&amp;quot;00:00:00.25&amp;quot; Value=&amp;quot;-90&amp;quot; /&amp;gt;&lt;/div&gt; &lt;div&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;lt;EasingDoubleKeyFrame KeyTime=&amp;quot;00:00:00.5000000&amp;quot; Value=&amp;quot;0&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&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;lt;EasingDoubleKeyFrame.EasingFunction&amp;gt;&lt;/div&gt; &lt;div&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;lt;PowerEase EasingMode=&amp;quot;EaseOut&amp;quot;/&amp;gt;&lt;/div&gt; &lt;div&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;lt;/EasingDoubleKeyFrame.EasingFunction&amp;gt;&lt;/div&gt; &lt;div&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;lt;/EasingDoubleKeyFrame&amp;gt;&lt;/div&gt; &lt;div&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;lt;/DoubleAnimationUsingKeyFrames&amp;gt;&lt;/div&gt; &lt;div&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;lt;ObjectAnimationUsingKeyFrames Storyboard.TargetName=&amp;quot;Details&amp;quot;&lt;/div&gt; &lt;div&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; Storyboard.TargetProperty=&amp;quot;(UIElement.Visibility)&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&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;lt;DiscreteObjectKeyFrame KeyTime=&amp;quot;00:00:00.25&amp;quot; Value=&amp;quot;Collapsed&amp;quot; /&amp;gt;&lt;/div&gt; &lt;div&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;lt;/ObjectAnimationUsingKeyFrames&amp;gt;&lt;/div&gt; &lt;div&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;lt;ObjectAnimationUsingKeyFrames Storyboard.TargetName=&amp;quot;List&amp;quot; &lt;/div&gt; &lt;div&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; Storyboard.TargetProperty=&amp;quot;(UIElement.Visibility)&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&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;lt;DiscreteObjectKeyFrame KeyTime=&amp;quot;00:00:00.25&amp;quot; Value=&amp;quot;Visible&amp;quot; /&amp;gt;&lt;/div&gt; &lt;div&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;lt;/ObjectAnimationUsingKeyFrames&amp;gt;&lt;/div&gt; &lt;div&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;lt;/Storyboard&amp;gt;&lt;/div&gt; &lt;div&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;lt;/VisualState&amp;gt;&lt;/div&gt; &lt;div&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;lt;VisualState x:Name=&amp;quot;Detaljer&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&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;#8230;. the opposite&amp;#8230;.&lt;/div&gt; &lt;div&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;lt;/VisualState&amp;gt;&lt;/div&gt; &lt;div&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;/VisualStateGroup&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/VisualStateManager.VisualStateGroups&amp;gt;&lt;/div&gt; &lt;p /&gt; &lt;div&gt;And my two Usercontrols:&lt;/div&gt; &lt;p /&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;views:TilbudsListe x:Name=&amp;quot;List&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/views:TilbudsListe&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;views:TilbudDetaljer x:Name=&amp;quot;Details&amp;quot; Visibility=&amp;quot;Collapsed&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/views:TilbudDetaljer&amp;gt;&lt;/div&gt; &lt;p /&gt; &lt;p /&gt; &lt;p /&gt; &lt;div&gt;When using these Storyboards, I get the aforementioned runtime-exception:&lt;/div&gt; &lt;p /&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cannot resolve TargetProperty (UIElement.Projection).(PlaneProjection.RotationY) on specified object.&lt;/div&gt; &lt;p /&gt; &lt;div&gt;I tried googling this, I checked my code, my xaml, my naming, my eyes, my keyboard&amp;#8230;. etc but just couldn't get this to work.&lt;/div&gt; &lt;p /&gt; &lt;div&gt;Finally I saw someones examplecode, looking kind-of half finished I thought:&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Rectangle x:Name=&amp;quot;rectangle&amp;quot; Stroke=&amp;quot;Black&amp;quot; Height=&amp;quot;113&amp;quot; Width=&amp;quot;170&amp;quot; Canvas.Left=&amp;quot;102&amp;quot; Canvas.Top=&amp;quot;83&amp;quot; Fill=&amp;quot;#FFF64040&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&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;lt;Rectangle.Projection&amp;gt;&lt;/div&gt; &lt;div&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;lt;PlaneProjection/&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Rectangle.Projection&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Rectangle&amp;gt;&lt;/div&gt; &lt;p /&gt; &lt;div&gt;At first I had just thought that the empty Rectangle.Projection properties was because of some code he had tried and then forgotten to remove.&lt;/div&gt; &lt;p /&gt; &lt;div&gt;But then it struck me; could this be the&amp;nbsp; &amp;quot;magic&amp;quot; needed for xaml/silverlight to put the missing properties on my usercontrols?&lt;/div&gt; &lt;p /&gt; &lt;div&gt;And it was. Here is the revised usercontrols:&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;views:TilbudsListe x:Name=&amp;quot;List&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&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;views:TilbudsListe.Projection&amp;gt;&lt;/div&gt; &lt;div&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;lt;PlaneProjection/&amp;gt;&lt;/div&gt; &lt;div&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;/views:TilbudsListe.Projection&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/views:TilbudsListe&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;views:TilbudDetaljer x:Name=&amp;quot;Details&amp;quot; Visibility=&amp;quot;Collapsed&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&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;views:TilbudDetaljer.Projection&amp;gt;&lt;/div&gt; &lt;div&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;lt;PlaneProjection/&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/views:TilbudDetaljer.Projection&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/views:TilbudDetaljer&amp;gt;&lt;/div&gt; &lt;p /&gt; &lt;div&gt;This obviously (?) works, and my two views now rotate in and out.&lt;/div&gt; &lt;p /&gt; &lt;div&gt;Arrrgggggh!&lt;/div&gt; &lt;div&gt;I want the last two hours back!&amp;nbsp; Now!!&lt;/div&gt; &lt;p /&gt; &lt;div&gt;Better luck for anyone reading this&amp;#8230;&lt;/div&gt; &lt;p /&gt; &lt;div&gt;rgds&lt;/div&gt; &lt;div&gt;Henri Merkesdal&lt;/div&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/silverlight-cannot-resolve-targetproperty-or"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-708782510874719729?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/708782510874719729/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=708782510874719729' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/708782510874719729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/708782510874719729'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2010/09/silverlight-cannot-resolve.html' title='Silverlight: Cannot resolve TargetProperty or OMG how hard can it be to debug this cr...p'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-8219559769404453830</id><published>2010-09-17T15:37:00.001+02:00</published><updated>2010-09-17T15:37:42.405+02:00</updated><title type='text'>Silverlight - templated usercontrols and automatic conversion</title><content type='html'>&lt;div class='posterous_autopost'&gt;       &lt;div&gt;When changing from manually defining my fields and values in xaml,&lt;/div&gt; &lt;div&gt;to defining a custom/templated usercontrol some of my bindings stopped working.&lt;/div&gt; &lt;p /&gt; &lt;p /&gt; &lt;div&gt;I created a custom control with two properties,&lt;/div&gt; &lt;div&gt;FeltLabel&lt;/div&gt; &lt;div&gt;and&lt;/div&gt; &lt;div&gt;FeltVerdi&lt;/div&gt; &lt;p /&gt; &lt;div&gt;FeltVerdi was defined as a textbox, and in my generic.xaml I had content bound like this:&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Style TargetType=&amp;quot;local:DataFelt&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property=&amp;quot;Template&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&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;Setter.Value&amp;gt;&lt;/div&gt; &lt;div&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;lt;ControlTemplate TargetType=&amp;quot;local:DataFelt&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&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;lt;Grid&amp;gt;&lt;/div&gt; &lt;div&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;#8230;.&lt;/div&gt; &lt;div&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;lt;TextBox Style=&amp;quot;{StaticResource felt}&amp;quot; &lt;/div&gt; &lt;div&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; Text=&amp;quot;{TemplateBinding FeltVerdi /&amp;gt;&lt;/div&gt; &lt;div&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;#8230;.&lt;/div&gt; &lt;div&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;lt;/Grid&amp;gt;&lt;/div&gt; &lt;div&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;lt;/ControlTemplate&amp;gt;&lt;/div&gt; &lt;div&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;/Setter.Value&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Setter&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Style&amp;gt;&lt;/div&gt; &lt;p /&gt; &lt;p /&gt; &lt;div&gt;This worked ok for most of the fields I bound to the ViewModel, but for a couple of fields it seemed as if the binding wasn't working anymore.&lt;/div&gt; &lt;p /&gt; &lt;div&gt;After doublechecking my code and bindings I couldn't find anything wrong, so I started to notice that the fields that wouldn't display anymore&lt;/div&gt; &lt;div&gt;were fields defined as numbers in my ViewModel.&lt;/div&gt; &lt;div&gt;It looked like the builtin automatic converters didn't work any more.&lt;/div&gt; &lt;p /&gt; &lt;div&gt;I googled it and found a post that helped me, see below.&lt;/div&gt; &lt;p /&gt; &lt;div&gt;The solution was to change the binding like this:&lt;/div&gt; &lt;p /&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Style TargetType=&amp;quot;local:DataFelt&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property=&amp;quot;Template&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&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;Setter.Value&amp;gt;&lt;/div&gt; &lt;div&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;lt;ControlTemplate TargetType=&amp;quot;local:DataFelt&amp;quot;&amp;gt;&lt;/div&gt; &lt;div&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;lt;Grid&amp;gt;&lt;/div&gt; &lt;div&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;#8230;.&lt;/div&gt; &lt;div&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;lt;TextBox Style=&amp;quot;{StaticResource felt}&amp;quot; &lt;/div&gt; &lt;div&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; DataContext=&amp;quot;{TemplateBinding FeltVerdi}&amp;quot; Text=&amp;quot;{Binding}&amp;quot; /&amp;gt;&lt;/div&gt; &lt;div&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;#8230;.&lt;/div&gt; &lt;div&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;lt;/Grid&amp;gt;&lt;/div&gt; &lt;div&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;lt;/ControlTemplate&amp;gt;&lt;/div&gt; &lt;div&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;/Setter.Value&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Setter&amp;gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Style&amp;gt;&lt;/div&gt; &lt;p /&gt; &lt;p /&gt; &lt;div&gt;This way automatic conversion stilll works, and my numbers etc is displaying nicely&lt;/div&gt; &lt;p /&gt; &lt;div&gt;This post helped me: &lt;a href="http://blogs.msdn.com/b/marlat/archive/2009/05/13/silverlight-3-template-binding-vs-relative-binding.aspx"&gt;http://blogs.msdn.com/b/marlat/archive/2009/05/13/silverlight-3-template-binding-vs-relative-binding.aspx&lt;/a&gt;&lt;/div&gt; &lt;p /&gt; &lt;div&gt;Might be helpful for others?&lt;/div&gt; &lt;p /&gt; &lt;div&gt;Rgds &lt;/div&gt; &lt;div&gt;Henri&lt;/div&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/silverlight-templated-usercontrols-and-automa"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-8219559769404453830?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/8219559769404453830/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=8219559769404453830' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8219559769404453830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8219559769404453830'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2010/09/silverlight-templated-usercontrols-and.html' title='Silverlight - templated usercontrols and automatic conversion'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-8113581116813826610</id><published>2010-06-20T14:13:00.001+02:00</published><updated>2010-06-20T14:13:35.210+02:00</updated><title type='text'>c# dependency injection -&gt; look no interface :)</title><content type='html'>&lt;div class='posterous_autopost'&gt;       &lt;p&gt;&lt;span&gt;So I have a class with a method that calls a webservice.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;I want to bring my class under test, so I have/want to remove the dependency on the webservice.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;So the usual routine is:&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style=""&gt;&lt;span&gt;&lt;span style=""&gt;-&lt;span style="font: 7.0pt Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;create an interface around dependencies in your class (DLs, Webservicecalls etc)&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style=""&gt;&lt;span&gt;&lt;span style=""&gt;-&lt;span style="font: 7.0pt Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;let the dependencies implement their interface&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style=""&gt;&lt;span&gt;&lt;span style=""&gt;-&lt;span style="font: 7.0pt Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;create constructor in your class that takes in instances of the new interfaces&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;But I just use this one method on the ws, and if I follow this I get&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style=""&gt;&lt;span&gt;&lt;span style=""&gt;-&lt;span style="font: 7.0pt Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;one file for the interface&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style=""&gt;&lt;span&gt;&lt;span style=""&gt;-&lt;span style="font: 7.0pt Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;one file using partial class to expand my automatic webproxy so that it implements the interface&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style=""&gt;&lt;span&gt;&lt;span style=""&gt;-&lt;span style="font: 7.0pt Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;either a new constructor taking in the new interface, &lt;/span&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style=""&gt;&lt;span&gt;&lt;span style=""&gt;-&lt;span style="font: 7.0pt Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;or I could send it in to the method actually doing the call, &lt;br /&gt; but if I use several methods on the ws I would get many small interfaces littering my code&lt;br /&gt; ie one for each method I&amp;#8217;m using on the ws&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;It feels a little bit like overkill for the problem I have at hand. &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;This has been churning in the back of my mind lately, but I have just done this the usual way with constructor injection.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;Then I was reading this post: &lt;a href="http://blacksheep.parry.org/archives/diy-di"&gt;http://blacksheep.parry.org/archives/diy-di&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;And one of the things that caught my attention was the Provider-pattern.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;(Check out step 8 if you&amp;#8217;re interested. )&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;While pondering it&amp;#8217;s implication it suddenly dawned on me a solution to my webservice-dependency.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;The way I use the webservice in my method is usually something like:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;private IEnumerable&amp;lt;Duck&amp;gt; GetDucks(GetDucksParam param) {&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="text-indent: 35.4pt;"&gt;&lt;span&gt;&amp;nbsp;IEnumerable&amp;lt;Duck&amp;gt; result = ws.GetListOfDucks(param);&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&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;#8230;.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&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; return result;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;}&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;Isn&amp;#8217;t that a perfect match for a Func&amp;lt;T,TResult&amp;gt;?&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;Ie:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;private IEnumerable&amp;lt;Duck&amp;gt; GetDucks(GetDucksParam param, Func&amp;lt;GetDucksParam ,IEnumerable&amp;lt;Duck&amp;gt;&amp;gt; GetDucksFunction) {&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="text-indent: 35.4pt;"&gt;&lt;span&gt;&amp;nbsp;IEnumerable&amp;lt;Duck&amp;gt; result = GetDucksFunction(param);&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&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;#8230;.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&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; return result;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;}&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;This is still just in my mind, as I haven&amp;#8217;t tested it yet, but doesn&amp;#8217;t it seem like it should work...?&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;Benefits?&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style=""&gt;&lt;span&gt;&lt;span style=""&gt;-&lt;span style="font: 7.0pt Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;No need for an interface, the Func is defining the contract&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style=""&gt;&lt;span&gt;&lt;span style=""&gt;-&lt;span style="font: 7.0pt Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;No partial class hacking to extend the webproxy&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style=""&gt;&lt;span&gt;&lt;span style=""&gt;-&lt;span style="font: 7.0pt Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;No new constructor, just send in the function that is going do the actual work&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoListParagraph" style=""&gt;&lt;span&gt;&lt;span style=""&gt;-&lt;span style="font: 7.0pt Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;You can use a lambda in your unit-test for the Func&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;I think I will have to try this.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;Btw I would recommend reading the full post on &lt;a href="http://blacksheep.parry.org/archives/diy-di"&gt;http://blacksheep.parry.org/archives/diy-di&lt;/a&gt; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;It&amp;#8217;s an interesting read, for example:&lt;/span&gt;&lt;/p&gt; &lt;p class="Default"&gt;&lt;span&gt;&amp;#8220;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: 11.0pt; font-family: Cambria,serif;"&gt;Mock objects &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 11.0pt; font-family: Cambria,serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: black;"&gt;Too many mock objects, or mock objects that return other mock objects, should be a code smell. Ideally a unit test won&amp;#8217;t use any mocks or stubs or fakes or dummies. Refactor the product code using inversion of control techniques, so that all classes ask directly for the values they need, not for the intermediaries that produce those values. (Good developers have spent the last few years honing their skills with mock objects, so this advice may come as a surprise. Strong testing habits no longer require the use of sophisticated mocking libraries.) &amp;#8220;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span&gt;Rgds from&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 12.0pt;"&gt;Henri&lt;/span&gt;&lt;/p&gt;   &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/c-dependency-injection-look-no-interface"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-8113581116813826610?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/8113581116813826610/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=8113581116813826610' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8113581116813826610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8113581116813826610'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2010/06/c-dependency-injection-look-no.html' title='c# dependency injection -&amp;gt; look no interface :)'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-2411401262432904483</id><published>2010-05-11T17:18:00.002+02:00</published><updated>2010-05-12T11:43:48.086+02:00</updated><title type='text'>C#: Convert List to List</title><content type='html'>&lt;div class='posterous_autopost'&gt;       &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;If I have objects that implement or inherits from a parent, I can cast them implicitly to their base class:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Here KorrespondanseParameter implements IPurrefrister:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;KorrespondanseParameter k=new KorrespondanseParameter();&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;IPurrefrister deadline= k;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;or even:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;IPurrefrister deadline= new KorrespondanseParameter();&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Same with this where NytegningAktoerRetur inherits from NytegningRetur:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;NytegningAktoerRetur nar=new NytegningAktoerRetur();&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;NytegningRetur obj= nar;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Often I have some kind of List of objects that I want to cast to it something else.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;One could think that this should work:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;List&amp;lt; KorrespondanseParameter&amp;gt; list=new List&amp;lt; KorrespondanseParameter&amp;gt;();&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;List&amp;lt; IPurrefrister&amp;gt; plist=list;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;or explicit:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;List&amp;lt; IPurrefrister&amp;gt; plist= (List&amp;lt; IPurrefrister&amp;gt;) list;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;neither compiles.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Solution with delegates:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;List&amp;lt;KorrespondanseParamer&amp;gt; to List&amp;lt;IPurrefrister&amp;gt; where &lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: #2B91AF;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2B91AF;"&gt;IPurrefrister&lt;/span&gt;&amp;gt; LagIPurrefrister(&lt;span style="color: #2B91AF;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2B91AF;"&gt;KorrespondanseParameter&lt;/span&gt;&amp;gt; korr)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;{&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt; (korr != &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; korr.ConvertAll&amp;lt;&lt;span style="color: #2B91AF;"&gt;IPurrefrister&lt;/span&gt;&amp;gt;(&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;delegate&lt;/span&gt;(&lt;span style="color: #2B91AF;"&gt;KorrespondanseParameter&lt;/span&gt; k)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; k;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;}&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;lambda:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;IEnumerable&amp;lt;NytegningAktoerRetur&amp;gt; to List&amp;lt;NytegningRetur&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;List&amp;lt;NytegningRetur&amp;gt; liste = TilbudsListe.ToList().ConvertAll&amp;lt;&lt;span style="color: #2B91AF;"&gt;NytegningRetur&lt;/span&gt;&amp;gt;(t=&amp;gt; t);&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Nice and short :)&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;rgds&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Henri&lt;/span&gt;&lt;/p&gt;   &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/c-convert-list-to-list"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-2411401262432904483?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/2411401262432904483/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=2411401262432904483' title='1 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/2411401262432904483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/2411401262432904483'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2010/05/c-convert-list-to-list.html' title='C#: Convert List to List'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-8273311383437342093</id><published>2010-05-11T17:12:00.001+02:00</published><updated>2010-05-11T17:12:43.718+02:00</updated><title type='text'>C# Handy extension methods to check if a value/object is set or not</title><content type='html'>&lt;div class='posterous_autopost'&gt;I really dislike writing these statements:  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;if(&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;!&lt;span style="color: blue;"&gt;string&lt;/span&gt;.IsNullOrEmpty(param.ID))&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;      ….something&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;earlier I made an extension method for this:&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt; IsNullOrEmpty(&lt;span style="color: blue;"&gt;this&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; test)&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;{&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    &lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;span style="color: #2b91af;"&gt;String&lt;/span&gt;.IsNullOrEmpty(test);&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;}&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;which gives you nicer code like this&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;(!param.ID.IsNullOrEmpty())&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;      …. something&lt;/span&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;I usually make this as well:&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt; IsNotNullOrEmpty(&lt;span style="color: blue;"&gt;this&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; test)&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;{&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    &lt;span style="color: blue;"&gt;return&lt;/span&gt; !&lt;span style="color: #2b91af;"&gt;String&lt;/span&gt;.IsNullOrEmpty(test);&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;}&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;giving:&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;(param.ID.IsNotNullOrEmpty())&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;      …. something&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;But today I was checking parameters on a webservice and started to want these methods for all my parameteres, so here goes:&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;public&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; IsNull(this object @object)&lt;br /&gt;{&lt;br /&gt;     &lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; &lt;/span&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;@object == null;&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt; IsNullOrDefault&amp;lt;T&amp;gt;(&lt;span style="color: blue;"&gt;this&lt;/span&gt; T value)&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;{&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    &lt;span style="color: blue;"&gt;return&lt;/span&gt; value.IsNull() ? true :  &lt;span style="color: #2b91af;"&gt;trueEqualityComparer&lt;/span&gt;&amp;lt;T&amp;gt;.Default.Equals(value, &lt;span style="color: blue;"&gt;default&lt;/span&gt;(T)) ;&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;}&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;this returns true if&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;object == null&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;int == 0&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;bool == false&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;etc.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Then I didn't quite like the way it looked in code:&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;(!param.ID.IsNullOrDefault())&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;      …. something&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;so I made a couple of aliases:&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt; ErSatt&amp;lt;T&amp;gt;(&lt;span style="color: blue;"&gt;this&lt;/span&gt; T value)&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;{&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;      return&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; value.IsNotNullOrDefault();&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;}&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt; ErIkkeSatt&amp;lt;T&amp;gt;(&lt;span style="color: blue;"&gt;this&lt;/span&gt; T value)&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;{&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;      return&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; value.IsNullOrDefault();&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;}&lt;/span&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;that's nice in norwegian, in english they could be named something like:&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt; IsSet&amp;lt;T&amp;gt;(&lt;span style="color: blue;"&gt;this&lt;/span&gt; T value)&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;public static&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;span style="color: blue;"&gt;bool&lt;/span&gt; IsNotSet&amp;lt;T&amp;gt;(&lt;span style="color: blue;"&gt;this&lt;/span&gt; T value)&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;Anyhow I can now write the first line:&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;(!string.IsNullOrEmpty(param.ID))&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;      ….something&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;like this&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;(param.ID.ErSatt())&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;      ….something&lt;/span&gt;&lt;/p&gt;  &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;or in english:&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: #002060;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;(param.ID.IsSet())&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;      ….something&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;much more intuitive in my book ;)&lt;/span&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;rgds&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;HM&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/c-handy-extension-methods-to-check-if-a-value"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-8273311383437342093?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/8273311383437342093/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=8273311383437342093' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8273311383437342093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8273311383437342093'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2010/05/c-handy-extension-methods-to-check-if_11.html' title='C# Handy extension methods to check if a value/object is set or not'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-8852160388864021211</id><published>2010-03-04T13:34:00.001+01:00</published><updated>2010-03-04T13:34:15.636+01:00</updated><title type='text'>c#: ConvertAll with Lists</title><content type='html'>&lt;div class='posterous_autopost'&gt;       &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Convert all members in a List from one entity to another.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;I have posted before about ConvertAll, but there I used an anonymous method within ConvertAll.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;I wanted to use a normal mapping-method that I could reuse, but still call it with ConvertAll.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;I had to use some time to get the syntax right, and that's what this post is about.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Here is the syntax I ended up with:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&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; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&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; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;List&amp;lt;KorrespondanseParameter&amp;gt; newlist = mylist.ConvertAll&amp;lt;KorrespondanseParameter&amp;gt;(new Converter&amp;lt;IKorrespondanseParameter,KorrespondanseParameter&amp;gt;(Map));&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;And the converter:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;private static KorrespondanseParameter Map(IKorrespondanseParameter k)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;{&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KorrespondanseParameter r = new KorrespondanseParameter();&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r.GjelderAktoerId = k.GjelderAktoerId;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r.Mottatt = k.Mottatt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r.Oppgave = k.Oppgave;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r.Saksnummer = k.Saksnummer;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r.Sendt = k.Sendt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return r;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;}&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;As we can see the implementation is straightforward, nothing complex there as long as you know how to call it.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Still took me some extra time to get this right.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Rgds&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;HM&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/c-convertall-with-lists"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt; &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-8852160388864021211?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/8852160388864021211/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=8852160388864021211' title='1 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8852160388864021211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8852160388864021211'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2010/03/c-convertall-with-lists.html' title='c#: ConvertAll with Lists'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-4508272161011005488</id><published>2009-12-11T15:53:00.001+01:00</published><updated>2009-12-11T15:53:09.039+01:00</updated><title type='text'>Visual studio/Sourcesafe: Remove sourcecontrol bindings</title><content type='html'>       &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;If connected to sourcecontrol:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Open solution in vs, &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;select File - Change sourcecontrol - Unbind.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Exit Vs.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Optionally copy files and folders to a new location.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Find all files ending with *.scc (including in subfolders) and &amp;nbsp;delete them.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Delete *.vssscc (mine had only one)&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Remove write-protection on files.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Now they are free from Sourcesafe source-control.&lt;/span&gt;&lt;/p&gt;     &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/visual-studiosourcesafe-remove-sourcecontrol"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-4508272161011005488?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/4508272161011005488/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=4508272161011005488' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/4508272161011005488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/4508272161011005488'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/12/visual-studiosourcesafe-remove.html' title='Visual studio/Sourcesafe: Remove sourcecontrol bindings'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-402326417101272882</id><published>2009-12-09T11:27:00.001+01:00</published><updated>2009-12-09T11:27:20.413+01:00</updated><title type='text'>Visual Studio 2005/2008 - Open code file instead of form</title><content type='html'>       &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;In VS when doubleclicking a form.cs file, default behaviour is to open Form Designer.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;In my case most often I want to get to the code itself.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;To set this as default:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Right-click the file in Solution Explorer and select Open With.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;In the new window change to CSharp Editor &amp;nbsp;(or VB if that's your thing) in stead of CSharp Form Editor.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;click Set as Default, OK and your good to go.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Next time you doubleclick a form it will default to code view.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;PS. you can right-click - View Designer when you want to use that, &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;or click the View Designer-icon on top of Solution Explorer.&lt;/span&gt;&lt;/p&gt;     &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/visual-studio-20052008-open-code-file-instead"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-402326417101272882?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/402326417101272882/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=402326417101272882' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/402326417101272882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/402326417101272882'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/12/visual-studio-20052008-open-code-file.html' title='Visual Studio 2005/2008 - Open code file instead of form'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-7790478076258781674</id><published>2009-12-08T14:19:00.001+01:00</published><updated>2009-12-08T14:19:54.855+01:00</updated><title type='text'>c# Infragistics ultragrid setfocus on cell</title><content type='html'>       &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Problem: We have a form with a ultragrid displaying values.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;On the form is a button to add a new row to the grid.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;When clicking it we want the new row to be activated and the first cell to be selected.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;In this solution the button adds a row with empty values to the datasource.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;So in this solution we:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;1) sort grid on column &amp;quot;Key&amp;quot; (&amp;quot;Key&amp;quot; is the name of one of our columns) &lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;myGrid.DisplayLayout.Bands[0].Columns[&lt;span style="color: #A31515;"&gt;&amp;quot;Key&amp;quot;&lt;/span&gt;].SortIndicator = &lt;span style="color: #2B91AF;"&gt;SortIndicator&lt;/span&gt;.Ascending;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;2)activate the new row, with the desired cell&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;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;myGrid.Rows[0].Cells[&amp;quot;Key&amp;quot;].Activate();&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;3) open the cell for edit &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;myGrid.PerformAction(UltraGridAction.EnterEditMode, false, false);&lt;/span&gt;&lt;/p&gt;    &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/c-infragistics-ultragrid-setfocus-on-cell"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-7790478076258781674?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/7790478076258781674/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=7790478076258781674' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/7790478076258781674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/7790478076258781674'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/12/c-infragistics-ultragrid-setfocus-on.html' title='c# Infragistics ultragrid setfocus on cell'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-388253196147714954</id><published>2009-11-26T13:24:00.001+01:00</published><updated>2009-11-26T13:24:17.502+01:00</updated><title type='text'>Visual Studio: Testing and deployment of files</title><content type='html'>       &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;When doing unit testing in VS (2008) the default is as follows:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;VS copies the compiled and all referenced assemblies to a folder named Testresults in a subfolder called something like: &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;username_pcname currentdatetime&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;If you have extra files, like for instance wse3policy.config, you need to tell vs to copy these files to the test folder, or else your tests will fail.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;One way of doing it is by adding an attribute [DeploymentItem(path)] to your tests.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;This will copy the files to the out folder. &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;You can also use menu Test -&amp;nbsp; Edit Test Run configuration and from within there select Deployment and select all the files you need for your tests to run.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;But today I found a third option:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Turn off &amp;nbsp;Deployment.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;In the same menu you selected files, you can uncheck the Deployment checkbox, and by doing this disable the entire copy assemblies and related files to a folder I really don't want issue&amp;#8230; :)&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;This saves you the trouble of selecting which files you need for your tests, &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;it also makes your tests run a bit faster, as you don't have to wait for vs to create folders and copy all files to it for each run.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Be aware that this disables code coverage results, untill you either enable deployment again, or if you go into code coverage you will be told that to do this you need it enabled, and given the option to turn it back on.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Also note that you need to do this pr solution, as MS in their wisdom has made deployment the default, with no way to select a new default afaik.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;If you have a lot of tests in your solution there is another option that can help speed things up.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Test Tools menu within Tools - Options, select Test Project and Disable background discovery of test. &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;This can help things speed along.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;rgds&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Henri&lt;/span&gt;&lt;/p&gt;   &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/visual-studio-testing-and-deployment-of-files"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-388253196147714954?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/388253196147714954/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=388253196147714954' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/388253196147714954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/388253196147714954'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/11/visual-studio-testing-and-deployment-of.html' title='Visual Studio: Testing and deployment of files'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-6075396769802452682</id><published>2009-11-16T16:07:00.001+01:00</published><updated>2009-11-16T16:07:21.511+01:00</updated><title type='text'>c#/Linq: Remove duplicates in a list, using group and orderby in linq</title><content type='html'>       &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;I had some really ugly code to remove duplicates in a list.&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;Here's my take at doing the same with linq and grouping.&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;Probably could be improved, but I like this way better then the ugly original.&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;I find it really easy to read too.&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;Because of the way the original was constructed, I used a couple of tries to get to this.&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;My first attempt used the same way of thinking as the original, &lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;and that wasn't much prettier then the old c# 2.0 code.&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;private&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: #2B91AF;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2B91AF;"&gt;NytegningAktoerRetur&lt;/span&gt;&amp;gt; GetSisteTilbudPåSammeNrLinq(&lt;span style="color: #2B91AF;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2B91AF;"&gt;NytegningAktoerRetur&lt;/span&gt;&amp;gt; liste)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;{&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    &lt;span style="color: blue;"&gt;var&lt;/span&gt; MidlertidigNrTilbud = &lt;span style="color: blue;"&gt;from&lt;/span&gt; t &lt;span style="color: blue;"&gt;in&lt;/span&gt; liste&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;                         &lt;span style="color: blue;"&gt;group&lt;/span&gt; t &lt;span style="color: blue;"&gt;by&lt;/span&gt; t.MidlertidigForsNr;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    &lt;span style="color: blue;"&gt;var&lt;/span&gt; FinListe = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2B91AF;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2B91AF;"&gt;NytegningAktoerRetur&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    &lt;span style="color: blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color: blue;"&gt;var&lt;/span&gt; midlert &lt;span style="color: blue;"&gt;in&lt;/span&gt; MidlertidigNrTilbud)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        &lt;span style="color: blue;"&gt;if&lt;/span&gt; (midlert.Count() &amp;gt; 1)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            &lt;span style="color: green;"&gt;//Finn siste&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            &lt;span style="color: blue;"&gt;var&lt;/span&gt; t = &lt;span style="color: blue;"&gt;from&lt;/span&gt; tilbud &lt;span style="color: blue;"&gt;in&lt;/span&gt; midlert&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;                    &lt;span style="color: blue;"&gt;orderby&lt;/span&gt; FinnOppgaveID(tilbud.TilbudID) &lt;span style="color: blue;"&gt;descending, tilbud.DatoRegistrert descending&lt;/span&gt;                    &lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;                    &lt;span style="color: blue;"&gt;select&lt;/span&gt; tilbud;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            FinListe.Add(t.First());&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        }&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        &lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            FinListe.Add(midlert.First());&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    }&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    &lt;span style="color: blue;"&gt;return&lt;/span&gt; FinListe;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;}&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;The original is here for warning purposes only :)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;Don't try this at home&amp;#8230;:&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;private&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; GetSisteTilbudPåSammeNr(&lt;span style="color: #2B91AF;"&gt;FinnTilbudAktoerReturMelding&lt;/span&gt; retur, &lt;span style="color: blue;"&gt;bool&lt;/span&gt; InkluderStartedeTilbud)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;{&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    &lt;span style="color: #2B91AF;"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;, &lt;span style="color: #2B91AF;"&gt;FinnTilbudHolder&lt;/span&gt;&amp;gt; liste = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2B91AF;"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;, &lt;span style="color: #2B91AF;"&gt;FinnTilbudHolder&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    &lt;span style="color: #2B91AF;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; sakstartet = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2B91AF;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    &lt;span style="color: #2B91AF;"&gt;FinnTilbudHolder&lt;/span&gt; h;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    &lt;span style="color: blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color: #2B91AF;"&gt;NytegningAktoerRetur&lt;/span&gt; r &lt;span style="color: blue;"&gt;in&lt;/span&gt; retur.TilbudsListe)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        &lt;span style="color: blue;"&gt;int&lt;/span&gt; OppgaveID = FinnOppgaveID(r.TilbudID);&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        h = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2B91AF;"&gt;FinnTilbudHolder&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        h.Tilbud = r;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        h.OppgaveID = OppgaveID;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        &lt;span style="color: green;"&gt;//finn nyeste&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        &lt;span style="color: blue;"&gt;if&lt;/span&gt; (liste.ContainsKey(h.Tilbud.MidlertidigForsNr))&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            &lt;span style="color: green;"&gt;//finn siste basert på oppgaveid&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            &lt;span style="color: #2B91AF;"&gt;FinnTilbudHolder&lt;/span&gt; org = liste[h.Tilbud.MidlertidigForsNr];&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            &lt;span style="color: blue;"&gt;if&lt;/span&gt; (OppgaveID &amp;gt; org.OppgaveID)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            { &lt;span style="color: green;"&gt;//denne (r) er nyest, skal erstatte org i listen&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;                liste[h.Tilbud.MidlertidigForsNr] = h;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            }&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            &lt;span style="color: blue;"&gt;else&lt;/span&gt; &lt;span style="color: blue;"&gt;if&lt;/span&gt; (org.OppgaveID &amp;gt; OppgaveID) &lt;span style="color: green;"&gt;//org er nyest basert på oppgaveid&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;                &lt;span style="color: green;"&gt;//beholder org&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            }&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            &lt;span style="color: blue;"&gt;else&lt;/span&gt; &lt;span style="color: blue;"&gt;if&lt;/span&gt; (org.OppgaveID == 0 &amp;amp;&amp;amp; OppgaveID == 0) &lt;span style="color: green;"&gt;//ingen oppgaveid angitt, returner nyeste på dato&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;                &lt;span style="color: green;"&gt;//hvis nyerere &amp;quot;vinner&amp;quot; den (r), ellers ingen endring&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;                &lt;span style="color: blue;"&gt;if&lt;/span&gt; (h.Tilbud.DatoRegistrert &amp;gt; org.Tilbud.DatoRegistrert)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;                    liste[h.Tilbud.MidlertidigForsNr] = h;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            }&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        }&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        &lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            liste.Add(h.Tilbud.MidlertidigForsNr, h);&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        }&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        &lt;span style="color: green;"&gt;//husk de som har startet sak&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        &lt;span style="color: blue;"&gt;if&lt;/span&gt; (!&lt;span style="color: #2B91AF;"&gt;String&lt;/span&gt;.IsNullOrEmpty(h.Tilbud.Saksnr)) sakstartet.Add(h.Tilbud.MidlertidigForsNr);&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    }&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    &lt;span style="color: blue;"&gt;if&lt;/span&gt; (!InkluderStartedeTilbud)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        &lt;span style="color: green;"&gt;//fjern de som har startet sak&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        &lt;span style="color: blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color: blue;"&gt;string&lt;/span&gt; forsnr &lt;span style="color: blue;"&gt;in&lt;/span&gt; sakstartet)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;            liste.Remove(forsnr);&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        }&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    }&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    &lt;span style="color: #2B91AF;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2B91AF;"&gt;NytegningAktoerRetur&lt;/span&gt;&amp;gt; l = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2B91AF;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2B91AF;"&gt;NytegningAktoerRetur&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    &lt;span style="color: blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color: #2B91AF;"&gt;FinnTilbudHolder&lt;/span&gt; f &lt;span style="color: blue;"&gt;in&lt;/span&gt; liste.Values)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;        l.Add(f.Tilbud);&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    }&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    retur.TilbudsListe.Clear();&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    retur.TilbudsListe.AddRange(l.ToArray());&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;}&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;That's it for the old retarted ehh I mean retired code :)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;To be fair, I also moved the code of InkluderStartedeTilbud out of this function, it goes like this:&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; (!param.InkluderStartedeTilbud)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;{&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    &lt;span style="color: green;"&gt;//Fjern startede tilbud&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;    retur.TilbudsListe.RemoveAll(g =&amp;gt; !&lt;span style="color: #2B91AF;"&gt;String&lt;/span&gt;.IsNullOrEmpty(g.Saksnr));&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;}&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;I just moved it out to make the function more clear.&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;The refactoring to linq also allowed me to remove the FinnTilbudHolder class, as it was just used to keep record of each records id,&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;because it was an expensive operation to get it (ws call).&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;In addition and it was now easy to just get the id when I knew that there was more then one record with the same number. &lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;I could (should)  have done that with the old code too, but now it was real easy to do because of the grouping and count.&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;I'm happy with the new and refactored linq version, and the easy grouping, counting and sorting in linq.&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Rgds&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;HM&lt;/span&gt;&lt;/p&gt;   &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/clinq-remove-duplicates-in-a-list-using-group"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-6075396769802452682?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/6075396769802452682/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=6075396769802452682' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/6075396769802452682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/6075396769802452682'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/11/clinq-remove-duplicates-in-list-using.html' title='c#/Linq: Remove duplicates in a list, using group and orderby in linq'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-38492605055305716</id><published>2009-11-16T12:31:00.001+01:00</published><updated>2009-11-16T12:31:36.501+01:00</updated><title type='text'>C#/Linq : Filter a list based on From/ To dates (and IENUMERABLE to LIST)</title><content type='html'>       &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;Filter my List (retur.Tilbudsliste)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;based on input of from and to-dates&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; (param.FromDato &amp;gt; &lt;span style="color: #2B91AF;"&gt;DateTime&lt;/span&gt;.MinValue || param.ToDate &amp;gt; &lt;span style="color: #2B91AF;"&gt;DateTime&lt;/span&gt;.MinValue)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;{&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: green;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //filter on date&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;var&lt;/span&gt; filtrert = &amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;from&lt;/span&gt; t &lt;span style="color: blue;"&gt;in&lt;/span&gt; retur.TilbudsListe&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&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; where&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; t.DateRegistered &amp;gt;= param.FromDate &amp;amp;&amp;amp; &lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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; (param.ToDate == &lt;span style="color: #2B91AF;"&gt;DateTime&lt;/span&gt;.MinValue || t.DateRegistered &amp;lt;= param.ToDate)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;&lt;span style="color: blue;"&gt;select&lt;/span&gt; t;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retur.TilbudsListe = filtrert.ToList();&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;}&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;The result filtrert is of type Ienumerable, and is then cast to a list with:&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;retur.TilbudsListe = filtrert.ToList();&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;Note that with the check on DateTime.Minvalue we've made both inputs optional, &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;allowing us to specify none, one or both params.&lt;/span&gt;&lt;/p&gt;     &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/clinq-filter-a-list-based-on-from-to-dates-an"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-38492605055305716?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/38492605055305716/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=38492605055305716' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/38492605055305716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/38492605055305716'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/11/clinq-filter-list-based-on-from-to.html' title='C#/Linq : Filter a list based on From/ To dates (and IENUMERABLE to LIST)'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-2156904424501352942</id><published>2009-11-06T15:58:00.001+01:00</published><updated>2009-11-06T15:58:02.984+01:00</updated><title type='text'>Team Foundation server: policy error</title><content type='html'>       &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;When checking in to Team Foundation Server I got error:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;TF10139&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;with several errors regarding policies, including:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Internal error in changeset comments policy&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Solution:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Modify my Team Foundation Server Power Tools-installation&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;and select the Check-In Policy Pack&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Team Foundation Server Power Tools can be downloaded from here: &lt;a href="http://msdn.microsoft.com/en-us/teamsystem/bb980963.aspx"&gt;http://msdn.microsoft.com/en-us/teamsystem/bb980963.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;As I already have it installed I'm not sure if you have to select Custom etc when installing, but you should verify that this is selected when installing, or modify afterwards as I just did. :)&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;That's it.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Have a nice weekend.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Rgds&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Henri &lt;/span&gt;&lt;/p&gt;  &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/team-foundation-server-policy-error"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-2156904424501352942?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/2156904424501352942/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=2156904424501352942' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/2156904424501352942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/2156904424501352942'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/11/team-foundation-server-policy-error.html' title='Team Foundation server: policy error'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-5735804541089725373</id><published>2009-11-05T15:30:00.001+01:00</published><updated>2009-11-05T15:30:43.954+01:00</updated><title type='text'>c#: Changing a value in a dictionary in a foreach</title><content type='html'>       &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;I was trying to loop through a dictionary, &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;update it's value if a certain condition was met, &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;if not remove the item from the dictionary.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;(Seems I have done something lke this before, but that's why I blog it, so I can remember next time&amp;#8230; :))&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Here's my first attempt:&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; FindEditedFieldsNotWorking(&lt;span style="color: #2B91AF;"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;, &lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; dictionary, &lt;span style="color: #2B91AF;"&gt;Control&lt;/span&gt; ctrl)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color: #2B91AF;"&gt;KeyValuePair&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;,&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; kvp &lt;span style="color: blue;"&gt;in&lt;/span&gt; dictionary)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&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;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;span style="color: #2B91AF;"&gt;CheckBox&lt;/span&gt; c = ctrl.Controls[&lt;span style="color: #A31515;"&gt;&amp;quot;chk&amp;quot;&lt;/span&gt; + kvp.Key] &lt;span style="color: blue;"&gt;as&lt;/span&gt; &lt;span style="color: #2B91AF;"&gt;CheckBox&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;span style="color: blue;"&gt;if&lt;/span&gt; (c != &lt;span style="color: blue;"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; c.Checked)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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; dictionary[kvp.Key] = ctrl.Controls[kvp.Key].Text;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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; dictionary.Remove(kvp.Key);&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&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;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;It compiles ok and seems ok.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Might have a misgiving with removing the item in a loop, but hey it's worth a shot..&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;When running this I got an exception something like&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&amp;quot;Collection was modified; enumeration operation may not execute.&amp;quot;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;My first thought was that my dictionary.Remove was the culprit, so I put a breakpoint there.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;But that was not the case (although that is not supported either in this loop)&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;It seems that I can't actually change the freakin' value within my foreach loop&amp;#8230;!&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;So I tried the same but this time using just the keys in the loop:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; private&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; FindEditedFieldsNotWorkingEither(&lt;span style="color: #2B91AF;"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;, &lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; dictionary, &lt;span style="color: #2B91AF;"&gt;Control&lt;/span&gt; ctrl)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color: blue;"&gt;string&lt;/span&gt; Key &lt;span style="color: blue;"&gt;in&lt;/span&gt; dictionary.Keys)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&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;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;span style="color: #2B91AF;"&gt;CheckBox&lt;/span&gt; c = ctrl.Controls[&lt;span style="color: #A31515;"&gt;&amp;quot;chk&amp;quot;&lt;/span&gt; + Key] &lt;span style="color: blue;"&gt;as&lt;/span&gt; &lt;span style="color: #2B91AF;"&gt;CheckBox&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;span style="color: blue;"&gt;if&lt;/span&gt; (c != &lt;span style="color: blue;"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; c.Checked)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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; dictionary[Key] = ctrl.Controls[Key].Text;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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; dictionary.Remove(Key);&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&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;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Still no go, same error.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Eventually I read a little bit about this using google and found that I couldn't do any changes while enumerating.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Here are some links I used:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;a href="http://stackoverflow.com/questions/1070766/editing-dictionary-values-in-a-foreach-loop"&gt;http://stackoverflow.com/questions/1070766/editing-dictionary-values-in-a-foreach-loop&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;a href="http://stackoverflow.com/questions/1562729/why-cant-we-change-values-of-a-dictionary-while-enumerating-its-keys"&gt;http://stackoverflow.com/questions/1562729/why-cant-we-change-values-of-a-dictionary-while-enumerating-its-keys&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Seems like a bad design decision has made this a problem for many ppl.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;The incling is probably the implisit add functionality when doing dict[key]=value; when key is not existing.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Anyways we have to get around this somehow.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;The solution I thought was nicest when I couldn't use the &amp;quot;logic&amp;quot; solution is:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;.Net 2.0&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; private&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; FindEditedFieldsWorking(&lt;span style="color: #2B91AF;"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;, &lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; dictionary, &lt;span style="color: #2B91AF;"&gt;Control&lt;/span&gt; ctrl)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #2B91AF;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; keys = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2B91AF;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt;(dictionary.Keys);&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color: blue;"&gt;string&lt;/span&gt; key &lt;span style="color: blue;"&gt;in&lt;/span&gt; keys)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&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;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;span style="color: #2B91AF;"&gt;CheckBox&lt;/span&gt; c = ctrl.Controls[&lt;span style="color: #A31515;"&gt;&amp;quot;chk&amp;quot;&lt;/span&gt; + key] &lt;span style="color: blue;"&gt;as&lt;/span&gt; &lt;span style="color: #2B91AF;"&gt;CheckBox&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;span style="color: blue;"&gt;if&lt;/span&gt; (c != &lt;span style="color: blue;"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; c.Checked)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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; dictionary[key] = ctrl.Controls[key].Text;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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; dictionary.Remove(key);&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&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;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Almost as nice as the first version, and with the added premium that dictionary.Remove won't be a problem.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Or if you're running .Net 3.0 or higher you could just do this:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; FindEditedFieldsWorking(&lt;span style="color: #2B91AF;"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;, &lt;span style="color: blue;"&gt;string&lt;/span&gt;&amp;gt; dictionary, &lt;span style="color: #2B91AF;"&gt;Control&lt;/span&gt; ctrl)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;foreach&lt;/span&gt; (var key &lt;span style="color: blue;"&gt;in&lt;/span&gt; dictionary.Keys.ToList())&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&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;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;span style="color: #2B91AF;"&gt;CheckBox&lt;/span&gt; c = ctrl.Controls[&lt;span style="color: #A31515;"&gt;&amp;quot;chk&amp;quot;&lt;/span&gt; + key] &lt;span style="color: blue;"&gt;as&lt;/span&gt; &lt;span style="color: #2B91AF;"&gt;CheckBox&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;span style="color: blue;"&gt;if&lt;/span&gt; (c != &lt;span style="color: blue;"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; c.Checked)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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; dictionary[key] = ctrl.Controls[key].Text;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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; dictionary.Remove(key);&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&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;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;where the ToList does the same as our 2.0 solution, namely creating a temp list to hold the keys.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Nice solution on a not so nice problem.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Hope this helps someone, &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;it will help me next time anyways :)&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Regards&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Henri Merkesdal&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;MERIT&lt;/span&gt;&lt;/p&gt;   &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/c-changing-a-value-in-a-dictionary-in-a-forea"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-5735804541089725373?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/5735804541089725373/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=5735804541089725373' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/5735804541089725373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/5735804541089725373'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/11/c-changing-value-in-dictionary-in.html' title='c#: Changing a value in a dictionary in a foreach'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-1731523002234766423</id><published>2009-10-21T14:39:00.001+02:00</published><updated>2009-10-21T14:39:25.271+02:00</updated><title type='text'>c#: Modal forms, ShowDialog and Close()</title><content type='html'>       &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;In first form you want to show a modal form to user, and get some object/property back from it.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;You create a new form and shows it using ShowDialog()&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; frmTilbud frm = new frmTilbud(t)&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; frm.ShowDialog();&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#8230;. some more code after frm is closed here&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;How do you get the object back to the first form?&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;You of course have the Dialogresult, but that's just a simple Ok/Cancel etc.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;You could call methods and set properties on the first form, but then you wouldn't want/need the modal dialog.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;You should think that when closing the modal form, you would also loose any properties etc on the modal form.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;But this is the clue and solution: &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;even calling this.Close() &amp;nbsp;in the modal form does not unload it from memory&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;That means you can create public properties on your modal form, and check them when it's closed again&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; frmTilbud frm = new frmTilbud()&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; frm.ShowDialog();&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (frm.MyProperty != null)&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&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; resultprop=frm.MyProperty;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ..etc&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;This also means that you're modal dialog isn't disposed before you explicitly call dispose on it (or you exit your application)&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;So a good practice is this:&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&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;&lt;span style="font-size: 10.0pt; font-family: Courier New; color: blue;"&gt;using&lt;/span&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt; (&lt;span style="color: #2B91AF;"&gt;frmTilbud&lt;/span&gt; frm = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #2B91AF;"&gt;frmTilbud&lt;/span&gt;())&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; frm.ShowDialog();&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if&lt;/span&gt; (frm.MyProperty != &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt; &lt;p style=""&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&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; resultprop = frm.MyProperty;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 10.0pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;This disposes the form when you're finished with the curly braces.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;rgds&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size: 9.0pt; font-family: Verdana,sans-serif;"&gt;Henri &lt;/span&gt;&lt;/p&gt;  &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/c-modal-forms-showdialog-and-close"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-1731523002234766423?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/1731523002234766423/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=1731523002234766423' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/1731523002234766423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/1731523002234766423'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/10/c-modal-forms-showdialog-and-close.html' title='c#: Modal forms, ShowDialog and Close()'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-7570606054793873782</id><published>2009-06-24T15:01:00.001+02:00</published><updated>2009-06-24T15:01:20.625+02:00</updated><title type='text'>VSS Sourcesafe automatic logon</title><content type='html'>                          &lt;div&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;To  logon sourcesafe automaticly:&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;To  logon sourcesafe automaticly:&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;Create  userenvironment &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;Create  userenvironment &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;variable  SSUSER value your username&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;variable  SSUSER value your username&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;the  password can be specified the same way: SSPWD&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;the  password can be specified the same way: SSPWD&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:10.0pt"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:10.0pt"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;spanspan&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;/div&gt;&lt;/p&gt;&lt;/div&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/vss-sourcesafe-automatic-logon"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-7570606054793873782?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/7570606054793873782/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=7570606054793873782' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/7570606054793873782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/7570606054793873782'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/06/vss-sourcesafe-automatic-logon.html' title='VSS Sourcesafe automatic logon'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-2222078988212004882</id><published>2009-06-24T13:11:00.001+02:00</published><updated>2009-06-24T13:11:02.608+02:00</updated><title type='text'>sourcesafe share/branch</title><content type='html'>                          &lt;div&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;How  to a share/branch a project in sourcesafe.&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;How  to a share/branch a project in sourcesafe.&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;Say  I have &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;Say  I have &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;$/Tools/MyTool/v1.0.0&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;$/Tools/MyTool/v1.0.0&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;in  sourcesafe.&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;in  sourcesafe.&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;Now  I want to create&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;Now  I want to create&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;$/Tools/MyTool/v2.0.0&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;$/Tools/MyTool/v2.0.0&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;either  by sharing (links to same copy of file) &amp;nbsp;or branching (separate files,  copied at branching) &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;either  by sharing (links to same copy of file) &amp;nbsp;or branching (separate files,  copied at branching) &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;Instead  of doing the obvious, Rightclick v1.0.0 and select share etc here's how you do  it:&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;Instead  of doing the obvious, Rightclick v1.0.0 and select share etc here's how you do  it:&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;1)  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select the place you want the files  to end, in this example &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;1)  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select the place you want the files  to end, in this example &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $/Tools/MyTool&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $/Tools/MyTool&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;2)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rightclick  and select Share to &amp;#8230;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;2)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rightclick  and select Share to &amp;#8230;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;3)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; now  select your version i.e $/Tools/MyTool/v1.0.0,&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;3)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; now  select your version i.e $/Tools/MyTool/v1.0.0,&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and  optionally select Branch after share for a separate copy&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and  optionally select Branch after share for a separate copy&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;4)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in  the next dialog you can specify a name, in this example it should bee v2.0.0&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;4)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in  the next dialog you can specify a name, in this example it should bee v2.0.0&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; remember  to select recursive&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; remember  to select recursive&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;Thank  MS for not being this counterintuitive usually&amp;#8230; :)&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="&gt;Thank  MS for not being this counterintuitive usually&amp;#8230; :)&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\\\"&gt;Happy  branching&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;span&lt;span style="&gt;Happy  branching&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;spanspan&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;/div&gt;&lt;/p&gt;&lt;/div&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/sourcesafe-sharebranch"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-2222078988212004882?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/2222078988212004882/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=2222078988212004882' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/2222078988212004882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/2222078988212004882'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/06/sourcesafe-sharebranch.html' title='sourcesafe share/branch'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-9159489071949676118</id><published>2009-06-16T11:50:00.001+02:00</published><updated>2009-06-16T11:50:05.351+02:00</updated><title type='text'>Sort List</title><content type='html'>                          &lt;div&gt;    &lt;p style="text-autospace:none"&gt;&lt;b&gt;&lt;span Courier style="font-size:12.0pt;  font-family:\"&gt;Sort with a delegate:&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;Sorts a list by name/string&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;List&lt;/span&gt;&lt;span Courier style="font-size:  10.0pt;font-family:\"&gt;&amp;lt;VomWS.&lt;span style="color:#2B91AF"&gt;Variabel&lt;/span&gt;&amp;gt;  liste = &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2B91AF"&gt;Variabel&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;liste.AddRange(samling.Liste);&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;liste.Sort(&lt;span style="color:blue"&gt;delegate&lt;/span&gt;(VomWS.&lt;span style="color:#2B91AF"&gt;Variabel&lt;/span&gt; v1, VomWS.&lt;span style="color:#2B91AF"&gt;Variabel&lt;/span&gt;  v2) { &lt;span style="color:blue"&gt;return&lt;/span&gt; v1.Navn.CompareTo(v2.Navn); });&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;b&gt;&lt;span Courier style="font-size:12.0pt;  font-family:\"&gt;Sort with Comparer:&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;Sorts a list by date in descending order&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;List&lt;/span&gt;&lt;span Courier style="font-size:  10.0pt;font-family:\"&gt;&amp;lt;&lt;span style="color:#2B91AF"&gt;OppgaveInformasjon&lt;/span&gt;&amp;gt;  liste = HentOppgaverDA(oppgaveType, dato, AntDager);&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;liste.Sort(&lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;OppgaveInformasjonDatoDescCompare&lt;/span&gt;());&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;public&lt;/span&gt;  &lt;span style="color:blue"&gt;class&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;OppgaveInformasjonDatoDescCompare&lt;/span&gt;  : &lt;span style="color:#2B91AF"&gt;IComparer&lt;/span&gt;&amp;lt;VOMVariabler.VomWS.&lt;span style="color:#2B91AF"&gt;OppgaveInformasjon&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;int&lt;/span&gt;  Compare(VOMVariabler.VomWS.&lt;span style="color:#2B91AF"&gt;OppgaveInformasjon&lt;/span&gt;  x, VOMVariabler.VomWS.&lt;span style="color:#2B91AF"&gt;OppgaveInformasjon&lt;/span&gt; y)&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style="color:blue"&gt;return&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;DateTime&lt;/span&gt;.Compare(y.DatoRegistrert,  x.DatoRegistrert);&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;/div&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/sort-list"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-9159489071949676118?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/9159489071949676118/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=9159489071949676118' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/9159489071949676118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/9159489071949676118'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/06/sort-list.html' title='Sort List'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-1720422046981532716</id><published>2009-06-11T09:30:00.001+02:00</published><updated>2009-06-11T09:30:34.930+02:00</updated><title type='text'>Mouse hourglass and back</title><content type='html'>                          &lt;div&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;    &lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;partial&lt;/span&gt; &lt;span style="color:blue"&gt;class&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;frmOppgaver&lt;/span&gt; : &lt;span style="color:#2B91AF"&gt;Form&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;    {&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;        &lt;span style="color:#2B91AF"&gt;Cursor&lt;/span&gt;  før;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;        &lt;span style="color:blue"&gt;private&lt;/span&gt; &lt;span style="color:blue"&gt;void&lt;/span&gt; SettMusHourglass()&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;        {&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;            før = &lt;span style="color:blue"&gt;this&lt;/span&gt;.Cursor;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;            &lt;span style="color:blue"&gt;this&lt;/span&gt;.Cursor  = &lt;span style="color:#2B91AF"&gt;Cursors&lt;/span&gt;.WaitCursor;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;        }&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;        &lt;span style="color:blue"&gt;private&lt;/span&gt; &lt;span style="color:blue"&gt;void&lt;/span&gt; SettMusTilbake()&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;        {&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;            &lt;span style="color:blue"&gt;this&lt;/span&gt;.Cursor  = før;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;        }&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;            }&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;/div&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/mouse-hourglass-and-back"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-1720422046981532716?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/1720422046981532716/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=1720422046981532716' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/1720422046981532716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/1720422046981532716'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/06/mouse-hourglass-and-back.html' title='Mouse hourglass and back'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-4473712832604284028</id><published>2009-06-10T12:58:00.001+02:00</published><updated>2009-06-10T12:58:28.776+02:00</updated><title type='text'>delegate find</title><content type='html'>                          &lt;div&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;ModulSamling&lt;/span&gt;&lt;span Courier style="font-size:10.0pt;font-family:  \"&gt; m = modulsamling.Find(&lt;span style="color:blue"&gt;delegate&lt;/span&gt;(&lt;span style="color:#2B91AF"&gt;ModulSamling&lt;/span&gt; ms) { &lt;span style="color:blue"&gt;return&lt;/span&gt;  ms.ID== item.Tag; });&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;Instead  of:&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;ModulSamling  m=FindModul(modulsamling, item.Tag);&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&amp;#8230;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;privat  ModulSamling FindModul(List&amp;lt;ModulSamling list, string tag)&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;{&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach(ModulSamling  m in list)&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(m.ID==tag)&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&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; return  m;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return  null;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;}&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;/div&gt; &lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/delegate-find"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-4473712832604284028?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/4473712832604284028/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=4473712832604284028' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/4473712832604284028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/4473712832604284028'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/06/delegate-find.html' title='delegate find'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-1902248064256735586</id><published>2009-06-05T11:25:00.002+02:00</published><updated>2009-06-11T12:08:32.621+02:00</updated><title type='text'>Convert a list from one type to another using Predicate and ConvertAll</title><content type='html'>&lt;div&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;List&lt;/span&gt;&lt;span Courier style="font-size:  10.0pt;font-family:\"&gt;&amp;lt;&lt;span style="color:#2B91AF"&gt;Variabel&lt;/span&gt;&amp;gt;  lv = &lt;span style="color:blue"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2B91AF"&gt;Variabel&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;lv.AddRange(liste);&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;List&lt;/span&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;&amp;gt; lst = lv.ConvertAll&amp;lt;&lt;span style="color:blue"&gt;string&lt;/span&gt;&amp;gt;(&lt;span style="color:blue"&gt;delegate&lt;/span&gt;(&lt;span style="color:#2B91AF"&gt;Variabel&lt;/span&gt; g) { &lt;span style="color:blue"&gt;return&lt;/span&gt;  g.Navn; });&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;Converts  a list of objects with type Variabel,&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;to  a list of strings.&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;Variabel  contains a string property called Navn, and this is what gets translated to the  list of strings,&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;{  return g.Navn)}&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;/div&gt;&lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/convert-a-list-from-one-type-to-another-using"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-1902248064256735586?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/1902248064256735586/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=1902248064256735586' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/1902248064256735586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/1902248064256735586'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/06/convert-list-from-one-type-to-another.html' title='Convert a list from one type to another using Predicate and ConvertAll'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-8445994357727607928</id><published>2009-05-18T11:40:00.001+02:00</published><updated>2009-05-18T11:40:45.550+02:00</updated><title type='text'>Visual Studio: Design view missing for Form</title><content type='html'>                          &lt;div&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;Recently  I had a problem opening my form in Design View within Visual Studio. (C# /  2005).&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;Seems  the problem was a corrupt project file .csproj&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;My  form was defined in the project file as follows:&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;Compile Include=&amp;quot;frmOppgaver.cs&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;/Compile&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;Compile Include=&amp;quot;frmOppgaver.Designer.cs&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;DependentUpon&amp;gt;frmOppgaver.cs&amp;lt;/DependentUpon&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;/Compile&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;#8230;..&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;EmbeddedResource Include=&amp;quot;frmOppgaver.resx&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;SubType&amp;gt;Designer&amp;lt;/SubType&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;DependentUpon&amp;gt;frmOppgaver.cs&amp;lt;/DependentUpon&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;/EmbeddedResource&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;Somehow  VS has removed a line telling it that this is a form.&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;To  correct this I had to check out the .csproj file and open it in a text-editor.&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;The  correct values with my addition in bold:&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;lt;Compile  Include=&amp;quot;frmOppgaver.cs&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;SubType&amp;gt;Form&amp;lt;/SubType&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;/Compile&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;Compile Include=&amp;quot;frmOppgaver.Designer.cs&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;DependentUpon&amp;gt;frmOppgaver.cs&amp;lt;/DependentUpon&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;/Compile&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;#8230;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;EmbeddedResource Include=&amp;quot;frmOppgaver.resx&amp;quot;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;SubType&amp;gt;Designer&amp;lt;/SubType&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;DependentUpon&amp;gt;frmOppgaver.cs&amp;lt;/DependentUpon&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;/EmbeddedResource&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;This  has happened a couple of times. I suspect it is when I move my project to a different  place,&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;or  use a copy of an existing project for start of another which sums up to the  same :) &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;Brgds  Henri&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;/div&gt;&lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/visual-studio-design-view-missing-for-form"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-8445994357727607928?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/8445994357727607928/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=8445994357727607928' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8445994357727607928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8445994357727607928'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/05/visual-studio-design-view-missing-for.html' title='Visual Studio: Design view missing for Form'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-8771787981502989035</id><published>2009-04-28T16:28:00.001+02:00</published><updated>2009-04-28T16:28:36.336+02:00</updated><title type='text'>Sort a List of custom objects</title><content type='html'>&lt;br /&gt;                          &lt;div&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;fakta.AddRange(retur.Fakta);&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;FaktaCompare&lt;/span&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt; c = &lt;span style="color:  blue"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;FaktaCompare&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;fakta.Sort(c);&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;class&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;FaktaCompare&lt;/span&gt;  : &lt;span style="color:#2B91AF"&gt;IComparer&lt;/span&gt;&amp;lt;&lt;span style="color:#2B91AF"&gt;FaktaEntitet&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt;&lt;span Courier style="font-size:10.0pt;font-family:\"&gt;  IComparer&amp;lt;FaktaEntitet&amp;gt; Members&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;public&lt;/span&gt; &lt;span style="color:blue"&gt;int&lt;/span&gt; Compare(&lt;span style="color:#2B91AF"&gt;FaktaEntitet&lt;/span&gt;  x, &lt;span style="color:#2B91AF"&gt;FaktaEntitet&lt;/span&gt; y)&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;return&lt;/span&gt; &lt;span style="color:#2B91AF"&gt;String&lt;/span&gt;.Compare(x.Key, y.Key);&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="text-autospace:none"&gt;&lt;span Courier style="font-size:10.0pt;  font-family:\"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/sort-a-listt-of-custom-objects"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-8771787981502989035?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/8771787981502989035/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=8771787981502989035' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8771787981502989035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8771787981502989035'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/04/sort-list-of-custom-objects.html' title='Sort a List of custom objects'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-7950979372493181337</id><published>2009-03-25T16:54:00.001+01:00</published><updated>2009-03-25T16:54:33.427+01:00</updated><title type='text'>
wse3policyCache.config and Visual Studio test-project  </title><content type='html'>&lt;br /&gt;                          &lt;div&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;Trying  to test a project that used Webservices with WSE3&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;I  got an exception: &amp;quot;&lt;/span&gt; &lt;span style="font-size:9.0pt;font-family:\"&gt;Failed  parsing the policy document.&amp;quot;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;while  trying to set the policy.&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;Ie:&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span courier style="font-size:10.0pt;font-family:\"&gt;MyWebServiceWse  ws = new MyWebServiceWse ();&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span courier style="font-size:10.0pt;font-family:\"&gt;ws.UseDefaultCredentials=true;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span courier style="font-size:10.0pt;font-family:\"&gt;ws.SetPolicy(&amp;quot;WebServicePolicy&amp;quot;);&lt;/span&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;Looking  closer, Innerexception told me that:&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;Could  not find file 'C:\\Something\\MyProject\\TestResults\\username_MYPC 2009-03-25  16_40_25\\Out\\wse3policyCache.config' and more..&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;Which  seems to mean that the Testproject is not finding the wse3policyCache.config  where it's currently running.&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;To  solve it I had to edit my &lt;b&gt;localtestrun.testrunconfig&lt;/b&gt;, so that it copied  this file to the current test-directory when it started testing.&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;I.e:  Menu - &lt;b&gt;Edit test run config&lt;/b&gt; - &lt;b&gt;Local test run&lt;/b&gt; - &lt;b&gt;Deployment&lt;/b&gt;  - &lt;b&gt;Add file&lt;/b&gt; and select the aforementioned wse3policyCache.config &amp;nbsp;file.&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;Btw,  if you are like me and only select the test from Test results and try to run or  debug it, &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;it  still doesn't work&amp;#8230;. I had to select my testproject in Solution Explorer ,  &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;go  to menu Test and &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;b&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;Start  selected test project (with or without Debugger)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;Finally  my testproject was executing with my policies&amp;#8230;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;Now  only to get my bugs fixed&amp;#8230; :)&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;HTH  somebody&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;Brgds&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;Henri&lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;span style="font-size:9.0pt;font-family:\"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;/div&gt;&lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/wse3policycacheconfig-and-visu"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-7950979372493181337?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/7950979372493181337/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=7950979372493181337' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/7950979372493181337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/7950979372493181337'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/03/wse3policycacheconfig-and-visual-studio.html' title='&#xA;wse3policyCache.config and Visual Studio test-project  '/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-2173146922248860212</id><published>2009-01-15T09:43:00.001+01:00</published><updated>2009-01-15T09:43:34.025+01:00</updated><title type='text'>
Winform-CAB/Smart Client Software Factory: _presenter.OnViewReady NullReferenceException  </title><content type='html'>&lt;br /&gt;                          &lt;div class=Section1&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;When  developing a module recently using Smart Client Software Factory&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;I  got an exception I could not understand.&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;SCSF  is using MVP- design and has some special attributes to create different  objects, insert dependencies etc.&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;The  problem was with a view and presenter using a well-used design , straight out from  the wizard.&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;The  following code is created by the Add view (with presenter) package/wizard (this  is from the View):&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style='color:gray'&gt;///&lt;/span&gt;&lt;span style='color:green'&gt; &lt;/span&gt;&lt;span style='color:gray'&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style='color:gray'&gt;///&lt;/span&gt;&lt;span style='color:green'&gt; Sets the presenter. The  dependency injection system will automatically&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style='color:gray'&gt;///&lt;/span&gt;&lt;span style='color:green'&gt; create a new presenter  for you.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style='color:gray'&gt;///&lt;/span&gt;&lt;span style='color:green'&gt; &lt;/span&gt;&lt;span style='color:gray'&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style='color:#2B91AF'&gt;CreateNew&lt;/span&gt;]&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style='color:blue'&gt;public&lt;/span&gt; &lt;span style='color:#2B91AF'&gt;VisXMLPresenter&lt;/span&gt;  Presenter&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style='color:blue'&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&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;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&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;  _presenter = &lt;span style='color:blue'&gt;value&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&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;  _presenter.View = &lt;span style='color:blue'&gt;this&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&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;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style='color:blue'&gt;protected&lt;/span&gt; &lt;span style='color:blue'&gt;override&lt;/span&gt; &lt;span style='color:blue'&gt;void&lt;/span&gt; OnLoad(&lt;span style='color:#2B91AF'&gt;EventArgs&lt;/span&gt;  e)&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  _presenter.OnViewReady();&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  }&lt;/span&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:9.0pt;  font-family:"Verdana","sans-serif"'&gt;As the comments from the wizard so beautifully  states: &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";  color:green'&gt;The dependency injection system will automatically&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style='color:gray'&gt;///&lt;/span&gt;&lt;span style='color:green'&gt; create a new  presenter for you&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";  color:green'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";  color:green'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;However,  when running the module the OnLoad function was called before the _presenter  was set, &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;leaving  the _presenter at null, and generating the exception.&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;Which  is very strange considering the framework/factory is handling the internal  workings of generating the _presenter due to the [CreateNew] attribute. Add to  that that this has been tested and used in many other modules by me and a lot  others.&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;What  was the problem? As usual, Google is my friend.&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;It  seems that the Webbrowsercontrol I had dragged onto my form was the culprit.&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;This  made the call to the OnLoad-function before the framework was finished doing  it's magic.&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;The  solution: add a Panel to the View/form first and add the Webbrowser to the  panel.&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;This  solves the issue until the Webbrowsercontrol itself starts behaving&amp;#8230; :)&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;And  here's the link I found using Googie: &lt;a href="http://www.codeplex.com/smartclient/Thread/View.aspx?ThreadId=7559"&gt;http://www.codeplex.com/smartclient/Thread/View.aspx?ThreadId=7559&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;span style='font-size:9.0pt;font-family:"Verdana","sans-serif"'&gt;Happy  coding ;)&lt;/span&gt;&lt;/p&gt;    &lt;/div&gt;&lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/winform-cabsmart-client-softwa"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-2173146922248860212?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/2173146922248860212/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=2173146922248860212' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/2173146922248860212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/2173146922248860212'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2009/01/winform-cabsmart-client-software.html' title='&#xA;Winform-CAB/Smart Client Software Factory: _presenter.OnViewReady NullReferenceException  '/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-3166848230728408542</id><published>2008-12-19T11:58:00.001+01:00</published><updated>2008-12-19T11:58:37.378+01:00</updated><title type='text'>
Sql/sqlserver/sp/stored procedure: Ignore optional parameters in update + CRUD functionality in SP  </title><content type='html'>&lt;br /&gt;                          &lt;div class=Section1&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;You have a Stored Procedure which can do  updates.&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;One or more of the parameters are  optional.&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;How do you express this?&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;The first solution that springs to mind is  IFs.&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;If param1 is null&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;      Update without param1&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;else&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;      Update with param1&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;Another more elegant solution could be  this:&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      Update SomeDB&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      SET &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      SomeColumn=@SomeParam,&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      Antall &lt;span style='color:gray'&gt;=&lt;/span&gt; &lt;span style='color:fuchsia'&gt;ISNULL&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;@Param1&lt;span style='color:gray'&gt;,&lt;/span&gt;Antall&lt;span style='color:gray'&gt;)&lt;/span&gt; &lt;span style='color:green'&gt;--If @Param1 is null, use the exisiting column value, i.e  no update &lt;/span&gt;&lt;span style='color:blue'&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;Of course if you want to set the column  to NULL this solution can't be used. &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;Below full stored procedure with full  CRUD functionality and optional parameters:&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;USE&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; [SOMEDB]&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;GO&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;SET&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;ANSI_NULLS&lt;/span&gt; &lt;span style='color:blue'&gt;ON&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;GO&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;SET&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;QUOTED_IDENTIFIER&lt;/span&gt; &lt;span style='color:blue'&gt;ON&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;GO&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;CREATE&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;PROCEDURE&lt;/span&gt; [dbo]&lt;span style='color:gray'&gt;.&lt;/span&gt;[HendelserVarslet_siud]&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      @FraDato &lt;span style='color:blue'&gt;DateTime&lt;/span&gt;  &lt;span style='color:gray'&gt;=&lt;/span&gt; &lt;span style='color:gray'&gt;null,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      @Tildato &lt;span style='color:blue'&gt;DateTime&lt;/span&gt;  &lt;span style='color:gray'&gt;=&lt;/span&gt;  &lt;span style='color:gray'&gt;null,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      @HendelseTypeID &lt;span style='color:blue'&gt;smallint&lt;/span&gt;&lt;span style='color:gray'&gt;=NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      @HendelseInformasjonID &lt;span style='color:  blue'&gt;int&lt;/span&gt;&lt;span style='color:gray'&gt;=NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      @RaadgiverNr &lt;span style='color:blue'&gt;nvarchar&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;50&lt;span style='color:gray'&gt;)=NULL,&lt;/span&gt;    &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      @Antall &lt;span style='color:blue'&gt;int&lt;/span&gt;&lt;span style='color:gray'&gt;=NULL,&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      @Funksjon &lt;span style='color:blue'&gt;Char&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;1&lt;span style='color:gray'&gt;)=&lt;/span&gt;&lt;span style='color:red'&gt;'L'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;AS&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;BEGIN&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;SET&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;NOCOUNT&lt;/span&gt; &lt;span style='color:blue'&gt;ON&lt;/span&gt;&lt;span style='color:gray'&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:gray'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;IF&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;@Funksjon&lt;span style='color:gray'&gt;=&lt;/span&gt;&lt;span style='color:red'&gt;'L'&lt;/span&gt; &lt;span style='color:gray'&gt;OR&lt;/span&gt; @Funksjon&lt;span style='color:gray'&gt;=&lt;/span&gt;&lt;span style='color:red'&gt;'S'&lt;/span&gt;&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:green'&gt;-- List  records&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:green'&gt;-- set  default dates&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;IF&lt;/span&gt;  @FraDato &lt;span style='color:gray'&gt;IS&lt;/span&gt; &lt;span style='color:gray'&gt;NULL&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;SET&lt;/span&gt;  @FraDato &lt;span style='color:gray'&gt;=&lt;/span&gt; dbo&lt;span style='color:gray'&gt;.&lt;/span&gt;StartOfday&lt;span style='color:gray'&gt;(&lt;/span&gt;&lt;span style='color:fuchsia'&gt;GETDATE&lt;/span&gt;&lt;span style='color:gray'&gt;())&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;IF&lt;/span&gt;  @Tildato &lt;span style='color:gray'&gt;IS&lt;/span&gt; &lt;span style='color:gray'&gt;NULL&lt;/span&gt;  &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;SET&lt;/span&gt;  @Tildato&lt;span style='color:gray'&gt;=&lt;/span&gt; dbo&lt;span style='color:gray'&gt;.&lt;/span&gt;EndOfday&lt;span style='color:gray'&gt;(&lt;/span&gt;@FraDato&lt;span style='color:gray'&gt;)&lt;/span&gt;     &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:green'&gt;-- Get&amp;nbsp;records&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        V&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseInformasjonID&lt;span style='color:gray'&gt;,&lt;/span&gt; I&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseTypeID&lt;span style='color:gray'&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        T&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseType&lt;span style='color:gray'&gt;,&lt;/span&gt; V&lt;span style='color:gray'&gt;.&lt;/span&gt;RaadgiverNr&lt;span style='color:gray'&gt;,&lt;/span&gt; V&lt;span style='color:gray'&gt;.&lt;/span&gt;Antall&lt;span style='color:gray'&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        V&lt;span style='color:gray'&gt;.&lt;/span&gt;LoggetDato&lt;span style='color:gray'&gt;,&lt;/span&gt;  I&lt;span style='color:gray'&gt;.&lt;/span&gt;Beskrivelse&lt;span style='color:gray'&gt;,&lt;/span&gt; I&lt;span style='color:gray'&gt;.&lt;/span&gt;RegistrertDato&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;FROM&lt;/span&gt;    HendelseVarslet &lt;span style='color:blue'&gt;AS&lt;/span&gt; V&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:gray'&gt;INNER&lt;/span&gt;  &lt;span style='color:gray'&gt;JOIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             HendelseInformasjon &lt;span style='color:blue'&gt;AS&lt;/span&gt; I &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;ON&lt;/span&gt; V&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseInformasjonID&lt;span style='color:gray'&gt;=&lt;/span&gt;I&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseInformasjonID&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:gray'&gt;INNER&lt;/span&gt;  &lt;span style='color:gray'&gt;JOIN&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             HendelseType T&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;ON&lt;/span&gt; T&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseTypeId &lt;span style='color:gray'&gt;=&lt;/span&gt; I&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseTypeId &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;              &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        V&lt;span style='color:gray'&gt;.&lt;/span&gt;LoggetDato&lt;span style='color:gray'&gt;&amp;gt;=&lt;/span&gt;@FraDato &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:gray'&gt;AND&lt;/span&gt;  &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        V&lt;span style='color:gray'&gt;.&lt;/span&gt;LoggetDato&lt;span style='color:gray'&gt;&amp;lt;=&lt;/span&gt;@TilDato&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:gray'&gt;AND&lt;/span&gt;         &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;                        &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";color:gray'&gt;(&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;I&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseTypeID&lt;span style='color:gray'&gt;=&lt;/span&gt;@HendelseTypeID &lt;span style='color:gray'&gt;OR&lt;/span&gt;  @HendelseTypeID &lt;span style='color:gray'&gt;IS&lt;/span&gt; &lt;span style='color:gray'&gt;NULL)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:gray'&gt;AND&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;                        &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";color:gray'&gt;(&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;V&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseInformasjonID&lt;span style='color:gray'&gt;=&lt;/span&gt;@HendelseInformasjonID &lt;span style='color:gray'&gt;OR&lt;/span&gt;  @HendelseInformasjonID &lt;span style='color:gray'&gt;IS&lt;/span&gt; &lt;span style='color:gray'&gt;NULL)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:gray'&gt;AND&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;                        &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";color:gray'&gt;(&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;V&lt;span style='color:gray'&gt;.&lt;/span&gt;RaadgiverNr&lt;span style='color:gray'&gt;=&lt;/span&gt;@RaadgiverNr &lt;span style='color:gray'&gt;OR&lt;/span&gt;  @RaadgiverNr &lt;span style='color:gray'&gt;IS&lt;/span&gt; &lt;span style='color:gray'&gt;NULL)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;RETURN&lt;/span&gt;   &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;         &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;IF&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;@Funksjon&lt;span style='color:gray'&gt;=&lt;/span&gt;&lt;span style='color:red'&gt;'I'&lt;/span&gt;&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:green'&gt;-- Insert record&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;IF    &lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;@RaadgiverNr &lt;span style='color:gray'&gt;IS&lt;/span&gt; &lt;span style='color:gray'&gt;NOT&lt;/span&gt; &lt;span style='color:gray'&gt;NULL&lt;/span&gt; &lt;span style='color:gray'&gt;AND&lt;/span&gt; @HendelseInformasjonID &lt;span style='color:gray'&gt;IS&lt;/span&gt;  &lt;span style='color:gray'&gt;NOT&lt;/span&gt; &lt;span style='color:gray'&gt;NULL&lt;/span&gt; &lt;span style='color:gray'&gt;AND&lt;/span&gt; @Antall &lt;span style='color:gray'&gt;IS&lt;/span&gt; &lt;span style='color:gray'&gt;NOT&lt;/span&gt; &lt;span style='color:gray'&gt;NULL)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:gray'&gt;AND&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:gray'&gt;NOT&lt;/span&gt;  &lt;span style='color:gray'&gt;EXISTS&lt;/span&gt;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt; &lt;span style='color:blue'&gt;SELECT&lt;/span&gt;  HendelseinformasjonId&lt;span style='color:gray'&gt;,&lt;/span&gt; RaadgiverNr &lt;span style='color:blue'&gt;FROM&lt;/span&gt; [PFA]&lt;span style='color:gray'&gt;.&lt;/span&gt;[dbo]&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseVarslet&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   &lt;span style='color:blue'&gt;WHERE&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                         RaadgiverNr&lt;span style='color:gray'&gt;=&lt;/span&gt;@RaadgiverNr &lt;span style='color:gray'&gt;AND&lt;/span&gt;  HendelseInformasjonID&lt;span style='color:gray'&gt;=&lt;/span&gt;@HendelseInformasjonID&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:gray'&gt;AND&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:gray'&gt;EXISTS&lt;/span&gt;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt; &lt;span style='color:blue'&gt;SELECT&lt;/span&gt; HendelseinformasjonId&lt;span style='color:gray'&gt;,&lt;/span&gt;  RaadgiverTil &lt;span style='color:blue'&gt;FROM&lt;/span&gt; [PFA]&lt;span style='color:gray'&gt;.&lt;/span&gt;[dbo]&lt;span style='color:gray'&gt;.&lt;/span&gt;Hendelse &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   &lt;span style='color:blue'&gt;Where &lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;RaadgiverTil&lt;span style='color:gray'&gt;=&lt;/span&gt;@RaadgiverNr &lt;span style='color:gray'&gt;OR&lt;/span&gt; Eier&lt;span style='color:gray'&gt;=&lt;/span&gt;@RaadgiverNr&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                         &lt;span style='color:gray'&gt;AND&lt;/span&gt; HendelseInformasjonID&lt;span style='color:gray'&gt;=&lt;/span&gt;@HendelseInformasjonID  &lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;INSERT&lt;/span&gt; &lt;span style='color:blue'&gt;INTO&lt;/span&gt; [PFA]&lt;span style='color:gray'&gt;.&lt;/span&gt;[dbo]&lt;span style='color:gray'&gt;.&lt;/span&gt;[HendelseVarslet]  &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;                             &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";color:gray'&gt;(&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   HendelseInformasjonID&lt;span style='color:gray'&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   RaadgiverNr&lt;span style='color:gray'&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   Antall&lt;span style='color:gray'&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   LoggetDato&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;VALUES&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;                             &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";color:gray'&gt;(&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   @HendelseInformasjonID&lt;span style='color:gray'&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   @RaadgiverNr&lt;span style='color:gray'&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   @Antall&lt;span style='color:gray'&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   &lt;span style='color:fuchsia'&gt;getdate&lt;/span&gt;&lt;span style='color:gray'&gt;()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  gray'&gt;)&lt;/span&gt;     &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RETURN&lt;/span&gt;  &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;   &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RAISERROR&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;&lt;span style='color:red'&gt;'  Invalid parameters or these values already exists in db'&lt;/span&gt;&lt;span style='color:gray'&gt;,&lt;/span&gt;11&lt;span style='color:gray'&gt;,&lt;/span&gt;1&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RETURN&lt;/span&gt; &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;IF&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;@Funksjon&lt;span style='color:gray'&gt;=&lt;/span&gt;&lt;span style='color:red'&gt;'U'&lt;/span&gt;&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:green'&gt;-- update record&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;IF    &lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;@RaadgiverNr &lt;span style='color:gray'&gt;IS&lt;/span&gt; &lt;span style='color:gray'&gt;NOT&lt;/span&gt; &lt;span style='color:gray'&gt;NULL&lt;/span&gt; &lt;span style='color:gray'&gt;AND&lt;/span&gt; @HendelseInformasjonID &lt;span style='color:gray'&gt;IS&lt;/span&gt;  &lt;span style='color:gray'&gt;NOT&lt;/span&gt; &lt;span style='color:gray'&gt;NULL)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:gray'&gt;AND&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;                        &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";color:gray'&gt;(EXISTS&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";color:blue'&gt; &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";color:gray'&gt;(&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;SELECT&lt;/span&gt;  HendelseinformasjonId&lt;span style='color:gray'&gt;,&lt;/span&gt; RaadgiverNr &lt;span style='color:blue'&gt;FROM&lt;/span&gt; [PFA]&lt;span style='color:gray'&gt;.&lt;/span&gt;[dbo]&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseVarslet&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   &lt;span style='color:blue'&gt;WHERE&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                         RaadgiverNr&lt;span style='color:gray'&gt;=&lt;/span&gt;@RaadgiverNr &lt;span style='color:gray'&gt;AND&lt;/span&gt;  HendelseInformasjonID&lt;span style='color:gray'&gt;=&lt;/span&gt;@HendelseInformasjonID&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;UPDATE&lt;/span&gt; [PFA]&lt;span style='color:gray'&gt;.&lt;/span&gt;[dbo]&lt;span style='color:gray'&gt;.&lt;/span&gt;[HendelseVarslet] &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;SET&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   HendelseInformasjonID&lt;span style='color:gray'&gt;=&lt;/span&gt;@HendelseInformasjonID&lt;span style='color:gray'&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   RaadgiverNr&lt;span style='color:gray'&gt;=&lt;/span&gt;@RaadgiverNr&lt;span style='color:gray'&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   Antall &lt;span style='color:gray'&gt;=&lt;/span&gt; &lt;span style='color:fuchsia'&gt;ISNULL&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;@Antall&lt;span style='color:gray'&gt;,&lt;/span&gt;Antall&lt;span style='color:gray'&gt;)&lt;/span&gt; &lt;span style='color:green'&gt;--If @Antall IS NULL,  don't update Antall column&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RETURN&lt;/span&gt;  &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RAISERROR&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;&lt;span style='color:red'&gt;Invalid  parameters or this combination of HendelseInformasjonId and rådgiver is  non-existant '&lt;/span&gt;&lt;span style='color:gray'&gt;,&lt;/span&gt;11&lt;span style='color:  gray'&gt;,&lt;/span&gt;1&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RETURN&lt;/span&gt; &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;END&lt;/span&gt;         &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;IF&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;@Funksjon&lt;span style='color:gray'&gt;=&lt;/span&gt;&lt;span style='color:red'&gt;'D'&lt;/span&gt;&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:green'&gt;-- Delete record&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;IF&lt;/span&gt;    &lt;span style='color:gray'&gt;EXISTS&lt;/span&gt;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt; &lt;span style='color:blue'&gt;SELECT&lt;/span&gt;  HendelseinformasjonId&lt;span style='color:gray'&gt;,&lt;/span&gt; RaadgiverNr &lt;span style='color:blue'&gt;FROM&lt;/span&gt; [PFA]&lt;span style='color:gray'&gt;.&lt;/span&gt;[dbo]&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseVarslet&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   &lt;span style='color:blue'&gt;WHERE&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;                                         &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";color:gray'&gt;(&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;RaadgiverNr&lt;span style='color:gray'&gt;=&lt;/span&gt;@RaadgiverNr &lt;span style='color:gray'&gt;AND&lt;/span&gt;  HendelseInformasjonID&lt;span style='color:gray'&gt;=&lt;/span&gt;@HendelseInformasjonID&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:gray'&gt;AND&lt;/span&gt;  @RaadgiverNr &lt;span style='color:gray'&gt;IS&lt;/span&gt; &lt;span style='color:gray'&gt;NOT&lt;/span&gt;  &lt;span style='color:gray'&gt;NULL&lt;/span&gt; &lt;span style='color:gray'&gt;AND&lt;/span&gt;  @HendelseInformasjonID &lt;span style='color:gray'&gt;IS&lt;/span&gt; &lt;span style='color:gray'&gt;NOT&lt;/span&gt; &lt;span style='color:gray'&gt;NULL&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;DELETE&lt;/span&gt; &lt;span style='color:blue'&gt;FROM&lt;/span&gt; [PFA]&lt;span style='color:gray'&gt;.&lt;/span&gt;[dbo]&lt;span style='color:gray'&gt;.&lt;/span&gt;[HendelseVarslet]  &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   HendelseInformasjonID&lt;span style='color:gray'&gt;=&lt;/span&gt;@HendelseInformasjonID&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   &lt;span style='color:gray'&gt;AND&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   RaadgiverNr&lt;span style='color:gray'&gt;=&lt;/span&gt;@RaadgiverNr&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RETURN&lt;/span&gt;  &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RAISERROR&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;&lt;span style='color:red'&gt;'Invalid  parameters or this combination of HendelseInformasjonId and rådgiver is  non-existant&lt;/span&gt;&lt;span style='color:gray'&gt;,&lt;/span&gt;11&lt;span style='color:gray'&gt;,&lt;/span&gt;1&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RETURN&lt;/span&gt; &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;END&lt;/span&gt;         &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:green'&gt;-- Unknown function&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;RAISERROR&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;&lt;span style='color:red'&gt;'Function unknown&lt;/span&gt;&lt;span style='color:gray'&gt;,&lt;/span&gt;11&lt;span style='color:gray'&gt;,&lt;/span&gt;1&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;RETURN&lt;/span&gt;  &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;END&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;GO&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;/div&gt;&lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/sqlsqlserverspstored-procedure-0"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-3166848230728408542?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/3166848230728408542/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=3166848230728408542' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/3166848230728408542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/3166848230728408542'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/12/sqlsqlserverspstored-procedure-ignore.html' title='&#xA;Sql/sqlserver/sp/stored procedure: Ignore optional parameters in update + CRUD functionality in SP  '/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-2491005309245300163</id><published>2008-12-17T14:45:00.001+01:00</published><updated>2008-12-17T14:45:53.477+01:00</updated><title type='text'>
SQL/Sqlserver/SP/Stored procedure: Funksjon som støtter Select, Insert, Update og Delete  </title><content type='html'>&lt;br /&gt;                          &lt;div class=Section1&gt;    &lt;p class=MsoNormal&gt;Etter inspirasjon fra grensesnittet på en SP noen  databasekolleger har laget&lt;/p&gt;    &lt;p class=MsoNormal&gt; kommer her en Stored Procedure som har støtte for CRUD-operasjoner.&lt;/p&gt;    &lt;p class=MsoNormal&gt;Eller SIUD på databasisk(...nytt ord:)&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Ps Jeg har ingen databasekompetanse, jeg bare lager det jeg  trenger akkurat der og da&amp;#8230; &lt;/p&gt;    &lt;p class=MsoNormal&gt;De som kan det kan helt sikkert forbedre dette :)&lt;/p&gt;    &lt;p class=MsoNormal&gt;Enjoy:&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;USE&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; [DINDATABASE]&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;GO&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;SET&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;ANSI_NULLS&lt;/span&gt; &lt;span style='color:blue'&gt;ON&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;GO&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;SET&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;QUOTED_IDENTIFIER&lt;/span&gt; &lt;span style='color:blue'&gt;ON&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;GO&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;CREATE&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;PROCEDURE&lt;/span&gt; [dbo]&lt;span style='color:gray'&gt;.&lt;/span&gt;[HentConfig]&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      @Valg &lt;span style='color:blue'&gt;Varchar&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;100&lt;span style='color:gray'&gt;)&lt;/span&gt; &lt;span style='color:gray'&gt;=&lt;/span&gt; &lt;span style='color:gray'&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      @Verdi &lt;span style='color:blue'&gt;Varchar&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;&lt;span style='color:fuchsia'&gt;MAX&lt;/span&gt;&lt;span style='color:gray'&gt;)&lt;/span&gt; &lt;span style='color:gray'&gt;=&lt;/span&gt;  &lt;span style='color:gray'&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      @Funksjon &lt;span style='color:blue'&gt;Char&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;1&lt;span style='color:gray'&gt;)=&lt;/span&gt;&lt;span style='color:red'&gt;'L'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;AS&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;BEGIN&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;SET&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;NOCOUNT&lt;/span&gt; &lt;span style='color:blue'&gt;ON&lt;/span&gt;&lt;span style='color:gray'&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:gray'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;IF&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;@Funksjon&lt;span style='color:gray'&gt;=&lt;/span&gt;&lt;span style='color:red'&gt;'L'&lt;/span&gt;&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:green'&gt;-- List  records&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;SELECT&lt;/span&gt;  &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        Valg&lt;span style='color:gray'&gt;,&lt;/span&gt;  Verdi &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;FROM&lt;/span&gt;  &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        HendelseVarselKonfig &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;                        &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";color:gray'&gt;(&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;Valg&lt;span style='color:gray'&gt;=&lt;/span&gt;@Valg  &lt;span style='color:gray'&gt;OR&lt;/span&gt; @Valg &lt;span style='color:gray'&gt;IS&lt;/span&gt; &lt;span style='color:gray'&gt;NULL)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;RETURN&lt;/span&gt;  &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;IF&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;@Funksjon&lt;span style='color:gray'&gt;=&lt;/span&gt;&lt;span style='color:red'&gt;'I'&lt;/span&gt;&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:green'&gt;-- Insert record&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;IF&lt;/span&gt;  &lt;span style='color:gray'&gt;NOT&lt;/span&gt; &lt;span style='color:gray'&gt;EXISTS&lt;/span&gt;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;&lt;span style='color:blue'&gt;SELECT&lt;/span&gt; Verdi &lt;span style='color:blue'&gt;FROM&lt;/span&gt;  HendelseVarselKonfig&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                         &lt;span style='color:blue'&gt;WHERE&lt;/span&gt; Valg&lt;span style='color:gray'&gt;=&lt;/span&gt;@Valg &lt;span style='color:gray'&gt;)&lt;/span&gt;                 &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;INSERT&lt;/span&gt; &lt;span style='color:blue'&gt;INTO&lt;/span&gt; HendelseVarselKonfig&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;                                   &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";color:gray'&gt;(&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;Valg&lt;span style='color:gray'&gt;,&lt;/span&gt;  Verdi&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                              &lt;span style='color:blue'&gt;VALUES&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;                                   &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";color:gray'&gt;(&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;@Valg&lt;span style='color:  gray'&gt;,&lt;/span&gt; @Verdi&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                                                 &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RETURN&lt;/span&gt; &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;          &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RAISERROR&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;&lt;span style='color:red'&gt;'Denne  verdien finnes allerede'&lt;/span&gt;&lt;span style='color:gray'&gt;,&lt;/span&gt;11&lt;span style='color:gray'&gt;,&lt;/span&gt;1&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RETURN&lt;/span&gt; &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;IF&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;@Funksjon&lt;span style='color:gray'&gt;=&lt;/span&gt;&lt;span style='color:red'&gt;'U'&lt;/span&gt;&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:green'&gt;-- update record&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;IF&lt;/span&gt;  &lt;span style='color:gray'&gt;EXISTS&lt;/span&gt;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;&lt;span style='color:blue'&gt;SELECT&lt;/span&gt; Verdi &lt;span style='color:blue'&gt;FROM&lt;/span&gt; HendelseVarselKonfig&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                         &lt;span style='color:blue'&gt;WHERE&lt;/span&gt; Valg&lt;span style='color:gray'&gt;=&lt;/span&gt;@Valg &lt;span style='color:gray'&gt;)&lt;/span&gt;                 &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;UPDATE&lt;/span&gt; HendelseVarselKonfig&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   &lt;span style='color:blue'&gt;SET&lt;/span&gt; Verdi&lt;span style='color:gray'&gt;=&lt;/span&gt;@Verdi&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   Valg&lt;span style='color:gray'&gt;=&lt;/span&gt;@Valg&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                                                 &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RETURN&lt;/span&gt; &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;          &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RAISERROR&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;&lt;span style='color:red'&gt;'Denne  verdien finnes ikke'&lt;/span&gt;&lt;span style='color:gray'&gt;,&lt;/span&gt;11&lt;span style='color:gray'&gt;,&lt;/span&gt;1&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RETURN&lt;/span&gt; &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;IF&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;@Funksjon&lt;span style='color:gray'&gt;=&lt;/span&gt;&lt;span style='color:red'&gt;'D'&lt;/span&gt;&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:green'&gt;-- Slett record&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;IF&lt;/span&gt;  &lt;span style='color:gray'&gt;EXISTS&lt;/span&gt;&lt;span style='color:blue'&gt; &lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;&lt;span style='color:blue'&gt;SELECT&lt;/span&gt; Verdi &lt;span style='color:blue'&gt;FROM&lt;/span&gt; HendelseVarselKonfig&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                         &lt;span style='color:blue'&gt;WHERE&lt;/span&gt; Valg&lt;span style='color:gray'&gt;=&lt;/span&gt;@Valg &lt;span style='color:gray'&gt;)&lt;/span&gt;                 &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;DELETE&lt;/span&gt; &lt;span style='color:blue'&gt;FROM&lt;/span&gt; HendelseVarselKonfig                                 &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                                   Valg&lt;span style='color:gray'&gt;=&lt;/span&gt;@Valg&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RETURN&lt;/span&gt; &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;          &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RAISERROR&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;&lt;span style='color:red'&gt;'Denne  verdien finnes ikke'&lt;/span&gt;&lt;span style='color:gray'&gt;,&lt;/span&gt;11&lt;span style='color:gray'&gt;,&lt;/span&gt;1&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                             &lt;span style='color:  blue'&gt;RETURN&lt;/span&gt; &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                        &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;ELSE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:green'&gt;-- UKJENT FUNKSJON&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;RAISERROR&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;&lt;span style='color:red'&gt;'Denne funksjonen finnes  ikke'&lt;/span&gt;&lt;span style='color:gray'&gt;,&lt;/span&gt;11&lt;span style='color:gray'&gt;,&lt;/span&gt;1&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;RETURN&lt;/span&gt;  &lt;span style='color:fuchsia'&gt;@@ERROR&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:blue'&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;END&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;GO&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;/div&gt;&lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/sqlsqlserverspstored-procedure"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-2491005309245300163?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/2491005309245300163/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=2491005309245300163' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/2491005309245300163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/2491005309245300163'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/12/sqlsqlserverspstored-procedure-funksjon.html' title='&#xA;SQL/Sqlserver/SP/Stored procedure: Funksjon som støtter Select, Insert, Update og Delete  '/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-7093753341401288996</id><published>2008-12-17T13:34:00.002+01:00</published><updated>2008-12-17T13:44:54.201+01:00</updated><title type='text'>Sql/sqlserver/sp/stored procedure: Finne alle records laget en dag</title><content type='html'>&lt;div class=Section1&gt;    &lt;p class=MsoNormal&gt;Å finne start /slutt på en dag er et forholdsvis vanlig  behov.&lt;/p&gt;    &lt;p class=MsoNormal&gt;Her er to sqlscript for å lage to funksjoner som returner  start og slutt på inndato.&lt;/p&gt;    &lt;p class=MsoNormal&gt;(2 ms oppløsning på sluttdato&amp;#8230;)&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Lenger ned kan du se de i bruk:&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;CREATE&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;  &lt;span style='color:blue'&gt;function&lt;/span&gt; dbo&lt;span style='color:gray'&gt;.&lt;/span&gt;StartOfDay&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:gray'&gt;(&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;@Date &lt;span style='color:blue'&gt;DATETIME&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:gray'&gt;)&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;RETURNS&lt;/span&gt;&lt;span style='font-size:  10.0pt;font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;DATETIME&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;AS&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;BEGIN&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;RETURN&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:fuchsia'&gt;DATEADD&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;d&lt;span style='color:gray'&gt;,&lt;/span&gt;&lt;span style='color:fuchsia'&gt;DATEDIFF&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;d&lt;span style='color:gray'&gt;,&lt;/span&gt;0&lt;span style='color:gray'&gt;,&lt;/span&gt;@Date&lt;span style='color:gray'&gt;),&lt;/span&gt;0&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;END&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;GO&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;SET&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;QUOTED_IDENTIFIER&lt;/span&gt; &lt;span style='color:blue'&gt;OFF&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;GO&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;SET&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;ANSI_NULLS&lt;/span&gt; &lt;span style='color:blue'&gt;ON&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;GO&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;CREATE&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;function&lt;/span&gt; dbo&lt;span style='color:gray'&gt;.&lt;/span&gt;EndOfDay&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:gray'&gt;(&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;@Date &lt;span style='color:blue'&gt;DATETIME&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:gray'&gt;)&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;RETURNS&lt;/span&gt;&lt;span style='font-size:  10.0pt;font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;DATETIME&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;AS&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;BEGIN&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;RETURN&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:fuchsia'&gt;DATEADD&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;ms&lt;span style='color:gray'&gt;,-&lt;/span&gt;2&lt;span style='color:gray'&gt;,&lt;/span&gt;&lt;span style='color:fuchsia'&gt;DATEADD&lt;/span&gt;&lt;span style='color:gray'&gt;(&lt;/span&gt;d&lt;span style='color:gray'&gt;,&lt;/span&gt;1&lt;span style='color:gray'&gt;,&lt;/span&gt;dbo&lt;span style='color:gray'&gt;.&lt;/span&gt;StartOfDay&lt;span style='color:gray'&gt;(&lt;/span&gt;@Date&lt;span style='color:gray'&gt;)))&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;END&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Denne prosedyren finner default alle poster laget i dag.&lt;/p&gt;    &lt;p class=MsoNormal&gt;Bruker funksjonene over for å finne dagen i dag sin start og  slutt:&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;USE&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; [ENDATABASE]&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;GO&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;SET&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;ANSI_NULLS&lt;/span&gt; &lt;span style='color:blue'&gt;ON&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;GO&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;SET&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;QUOTED_IDENTIFIER&lt;/span&gt; &lt;span style='color:blue'&gt;ON&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;GO&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;CREATE&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;span style='color:blue'&gt;PROCEDURE&lt;/span&gt; [dbo]&lt;span style='color:gray'&gt;.&lt;/span&gt;[HentHendelserVarslet]&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:green'&gt;-- Add the  parameters for the stored procedure here&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      @FraDato &lt;span style='color:blue'&gt;DateTime&lt;/span&gt;  &lt;span style='color:gray'&gt;=&lt;/span&gt; &lt;span style='color:gray'&gt;null,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      @Tildato &lt;span style='color:blue'&gt;DateTime&lt;/span&gt;  &lt;span style='color:gray'&gt;=&lt;/span&gt;  &lt;span style='color:gray'&gt;null,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      @HendelseTypeID &lt;span style='color:blue'&gt;smallint&lt;/span&gt;  &lt;span style='color:gray'&gt;=&lt;/span&gt; &lt;span style='color:gray'&gt;null&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;AS&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;BEGIN&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;IF&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; @FraDato &lt;span style='color:gray'&gt;IS&lt;/span&gt; &lt;span style='color:gray'&gt;NULL&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;SET&lt;/span&gt; @FraDato &lt;span style='color:gray'&gt;=&lt;/span&gt; dbo&lt;span style='color:gray'&gt;.&lt;/span&gt;StartOfday&lt;span style='color:gray'&gt;(&lt;/span&gt;&lt;span style='color:fuchsia'&gt;GETDATE&lt;/span&gt;&lt;span style='color:gray'&gt;())&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:gray'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;IF&lt;/span&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; @Tildato &lt;span style='color:gray'&gt;IS&lt;/span&gt; &lt;span style='color:gray'&gt;NULL&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;SET&lt;/span&gt; @Tildato&lt;span style='color:gray'&gt;=&lt;/span&gt; dbo&lt;span style='color:gray'&gt;.&lt;/span&gt;EndOfday&lt;span style='color:gray'&gt;(&lt;/span&gt;@FraDato&lt;span style='color:gray'&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;SET&lt;/span&gt; &lt;span style='color:blue'&gt;NOCOUNT&lt;/span&gt; &lt;span style='color:blue'&gt;ON&lt;/span&gt;&lt;span style='color:gray'&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:gray'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;    &lt;span style='color:blue'&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            V&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseInformasjonID&lt;span style='color:gray'&gt;,&lt;/span&gt; I&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseTypeID&lt;span style='color:gray'&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            T&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseType&lt;span style='color:gray'&gt;,&lt;/span&gt; V&lt;span style='color:gray'&gt;.&lt;/span&gt;RaadgiverNr&lt;span style='color:gray'&gt;,&lt;/span&gt; V&lt;span style='color:gray'&gt;.&lt;/span&gt;Antall&lt;span style='color:gray'&gt;,&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            V&lt;span style='color:gray'&gt;.&lt;/span&gt;LoggetDato&lt;span style='color:gray'&gt;,&lt;/span&gt;  I&lt;span style='color:gray'&gt;.&lt;/span&gt;Beskrivelse&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;FROM&lt;/span&gt;    HendelseVarslet &lt;span style='color:blue'&gt;AS&lt;/span&gt; V&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:gray'&gt;INNER&lt;/span&gt; &lt;span style='color:gray'&gt;JOIN&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  HendelseInformasjon &lt;span style='color:blue'&gt;AS&lt;/span&gt; I &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;ON&lt;/span&gt;  V&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseInformasjonID&lt;span style='color:gray'&gt;=&lt;/span&gt;I&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseInformasjonID&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:gray'&gt;INNER&lt;/span&gt; &lt;span style='color:gray'&gt;JOIN&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  HendelseType T&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                  &lt;span style='color:blue'&gt;ON&lt;/span&gt;  T&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseTypeId &lt;span style='color:gray'&gt;=&lt;/span&gt;  I&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseTypeId &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;  &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;      &lt;span style='color:blue'&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            V&lt;span style='color:gray'&gt;.&lt;/span&gt;LoggetDato&lt;span style='color:gray'&gt;&amp;gt;=&lt;/span&gt;@FraDato &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:gray'&gt;AND&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            V&lt;span style='color:gray'&gt;.&lt;/span&gt;LoggetDato&lt;span style='color:gray'&gt;&amp;lt;=&lt;/span&gt;@TilDato&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;            &lt;span style='color:gray'&gt;AND&lt;/span&gt;         &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;            &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New";color:gray'&gt;(&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Courier New"'&gt;I&lt;span style='color:gray'&gt;.&lt;/span&gt;HendelseTypeID&lt;span style='color:gray'&gt;=&lt;/span&gt;@HendelseTypeID &lt;span style='color:gray'&gt;OR&lt;/span&gt;  @HendelseTypeID &lt;span style='color:gray'&gt;IS&lt;/span&gt; &lt;span style='color:gray'&gt;NULL)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New"'&gt;                      &lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;END&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;GO&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:10.0pt;  font-family:"Courier New";color:blue'&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;/div&gt;&lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/sqlsqlserverspstore-procedure"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-7093753341401288996?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/7093753341401288996/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=7093753341401288996' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/7093753341401288996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/7093753341401288996'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/12/sqlsqlserverspstore-procedure-finne.html' title='Sql/sqlserver/sp/stored procedure: Finne alle records laget en dag'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-18578394141950361</id><published>2008-12-17T11:16:00.001+01:00</published><updated>2008-12-17T11:16:34.222+01:00</updated><title type='text'>
Visual Studio/c#: Åpne asmx.cs fil i code editor  </title><content type='html'>&lt;br /&gt;                          &lt;div class=Section1&gt;    &lt;p class=MsoNormal&gt;På min Visual Studio 2008 åpner web-service codebehind-filer  (asmx.cs)&lt;/p&gt;    &lt;p class=MsoNormal&gt;seg i Design Mode når jeg dobbeltklikker de.&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Det er garantert IKKE det jeg ønsker.&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;For å få de til å åpne seg i Code View:&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt; i Visual Studio høyreklikk filen og velg Open With&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;velg CSharp Editor og klikk [Set as Default] og velg OK.&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Nå kan du dobbeltklikke i vei&amp;#8230; :)&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;/div&gt;&lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/visual-studioc-apne-asmxcs-fil"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-18578394141950361?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/18578394141950361/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=18578394141950361' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/18578394141950361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/18578394141950361'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/12/visual-studioc-pne-asmxcs-fil-i-code.html' title='&#xA;Visual Studio/c#: Åpne asmx.cs fil i code editor  '/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-8359980981634558946</id><published>2008-12-16T15:39:00.001+01:00</published><updated>2008-12-16T15:39:52.032+01:00</updated><title type='text'>
c#: mappe/caste automatisk fra en klasse til en annen  </title><content type='html'>&lt;br /&gt;                          &lt;div class=Section1&gt;    &lt;p class=MsoNormal&gt;Ved å lage en ny metode kan vi automatisk konvertere et  objekt til et annet.&lt;/p&gt;    &lt;p class=MsoNormal&gt;Uten å måtte caste eller lage egne mapping-funksjoner.&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Ønsker du kun eksplisitt konvertering kan du bruke  nøkkelordet explicit i stedet for i metodedefinisjonen.&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;(Denne koden utvider samtidig en klasse som er  returnert/generert automatisk fra en Webtjeneste,&lt;/p&gt;    &lt;p class=MsoNormal&gt;og legger til en ny metode på denne vha partial class. &lt;/p&gt;    &lt;p class=MsoNormal&gt;Dersom du skal gjøre det må du passe på at namespacene er like  for &lt;/p&gt;    &lt;p class=MsoNormal&gt;klassen i Reference.cs og din utvidede klasse)&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Eksempel:&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;namespace BOHjelpeklasser&lt;/p&gt;    &lt;p class=MsoNormal&gt;{&lt;/p&gt;    &lt;p class=MsoNormal&gt;    namespace ProsesserAgent&lt;/p&gt;    &lt;p class=MsoNormal&gt;    {&lt;/p&gt;    &lt;p class=MsoNormal&gt;        /// &amp;lt;summary&amp;gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;        /// Utvider classen returnert fra ProsesserAgent med  hjelpemetoder&lt;/p&gt;    &lt;p class=MsoNormal&gt;        /// &amp;lt;/summary&amp;gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;        public partial class BrukerEntitetExt :Entitet&lt;/p&gt;    &lt;p class=MsoNormal&gt;        {&lt;/p&gt;    &lt;p class=MsoNormal&gt;            &lt;/p&gt;    &lt;p class=MsoNormal&gt;            static public implicit operator  BrukerEntitet(BrukerEntitetExt bruker)&lt;/p&gt;    &lt;p class=MsoNormal&gt;            {&lt;/p&gt;    &lt;p class=MsoNormal&gt;                var retur = new BrukerEntitet()&lt;/p&gt;    &lt;p class=MsoNormal&gt;                {&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    arbeidsgiver = bruker.arbeidsgiver,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    brukerID = bruker.brukerID,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    epostadresse = bruker.epostadresse,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    etternavn = bruker.epostadresse,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    fornavn = bruker.fornavn,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    host = bruker.host,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    ID = bruker.ID,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    IsUptodate = bruker.IsUptodate,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    poststed = bruker.poststed,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    rådgivernummer = bruker.rådgivernummer,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    Tag = bruker.Tag,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    telefonnummer = bruker.telefonnummer&lt;/p&gt;    &lt;p class=MsoNormal&gt;                };&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;                return retur;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            }&lt;/p&gt;    &lt;p class=MsoNormal&gt;        }&lt;/p&gt;    &lt;p class=MsoNormal&gt;     }&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;}&lt;/p&gt;    &lt;/div&gt;&lt;p style="font-size: 10px;"&gt; &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://henri.posterous.com/c-mappecaste-automatisk-fra-en"&gt;Henris blogg&lt;/a&gt; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-8359980981634558946?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/8359980981634558946/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=8359980981634558946' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8359980981634558946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/8359980981634558946'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/12/c-mappecaste-automatisk-fra-en-klasse.html' title='&#xA;c#: mappe/caste automatisk fra en klasse til en annen  '/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-1346643608797766085</id><published>2008-12-10T14:27:00.005+01:00</published><updated>2008-12-10T14:58:53.965+01:00</updated><title type='text'>Oppdatert CookieUtil</title><content type='html'>&lt;div class="Section1"&gt;    &lt;p class="MsoNormal"&gt;Oppdatert cookieutil som tar med brukernavn i cookie, og sletter  cookie dersom dette har endret seg, dvs ny bruker har logget på samme maskin.&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;    &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;    &lt;span class="rem"&gt;/// util for å serialize /deserialize objekter til cookies&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; CookieUtils&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;        &lt;span class="rem"&gt;/// Henter satt cookie som object, returnerer null hvis cookie ikke finnes&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;param name="navn"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; T GetCookie&amp;lt;T&amp;gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt; navn) &lt;span class="kwrd"&gt;where&lt;/span&gt; T : &lt;span class="kwrd"&gt;class&lt;/span&gt;, &lt;span class="kwrd"&gt;new&lt;/span&gt;()&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;        {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;            &lt;span class="kwrd"&gt;try&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;            {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;                HttpCookie c = HttpContext.Current.Request.Cookies[navn];&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;                &lt;span class="kwrd"&gt;if&lt;/span&gt; (c == &lt;span class="kwrd"&gt;null&lt;/span&gt; || &lt;span class="kwrd"&gt;string&lt;/span&gt;.IsNullOrEmpty(c.Value))&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;default&lt;/span&gt;(T);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;                &lt;span class="kwrd"&gt;string&lt;/span&gt;[] verdier = c.Value.Split(&lt;span class="str"&gt;'|'&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;                &lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;                &lt;span class="rem"&gt;//fjern cookie hvis den er for en annen bruker&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;                &lt;span class="kwrd"&gt;string&lt;/span&gt; brukerident = verdier[0]; &lt;span class="rem"&gt;//første==brukerident&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;                &lt;span class="kwrd"&gt;if&lt;/span&gt; (brukerident != Kontroller.HentCurrentUser())&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;                {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;                    SlettCookie(navn);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;default&lt;/span&gt;(T);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;                }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;                &lt;span class="kwrd"&gt;int&lt;/span&gt; n = 1; &lt;span class="rem"&gt;//start på 1, 0==brukerident...&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;                T objekt = &lt;span class="kwrd"&gt;new&lt;/span&gt; T();&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;                Type type = objekt.GetType();&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;                &lt;span class="rem"&gt;//Type type = objekt.GetType();&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;                FieldInfo[] felter = type.GetFields();&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (FieldInfo feltinf &lt;span class="kwrd"&gt;in&lt;/span&gt; felter)&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;                {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;                    feltinf.SetValue(objekt, verdier[n++]);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;                }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  45:  &lt;/span&gt;                PropertyInfo[] props = type.GetProperties();&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  46:  &lt;/span&gt;                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (PropertyInfo propinf &lt;span class="kwrd"&gt;in&lt;/span&gt; props)&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  47:  &lt;/span&gt;                {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  48:  &lt;/span&gt;                    SetProperty(propinf, verdier[n++], objekt);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  49:  &lt;/span&gt;                }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  50:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  51:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  52:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  53:  &lt;/span&gt;                &lt;span class="kwrd"&gt;return&lt;/span&gt; objekt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  54:  &lt;/span&gt;            }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  55:  &lt;/span&gt;            &lt;span class="kwrd"&gt;catch&lt;/span&gt; (Exception ex)&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  56:  &lt;/span&gt;            {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  57:  &lt;/span&gt;                &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; BasisException(ex);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  58:  &lt;/span&gt;            }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  59:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  60:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  61:  &lt;/span&gt;        }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  62:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  63:  &lt;/span&gt;        &lt;span class="rem"&gt;/// Lager cookie av gjeldende objekt som utløper om 10 timer&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  64:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  65:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;param name="navn"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  66:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;param name="objekt"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  67:  &lt;/span&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; SetCookie(&lt;span class="kwrd"&gt;string&lt;/span&gt; navn, &lt;span class="kwrd"&gt;object&lt;/span&gt; objekt)&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  68:  &lt;/span&gt;        {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  69:  &lt;/span&gt;            SetCookie(navn, objekt, DateTime.Now.AddHours(10));&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  70:  &lt;/span&gt;        }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  71:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  72:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  73:  &lt;/span&gt;        &lt;span class="rem"&gt;/// Lager cookie av gjeldende objekt&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  74:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  75:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;param name="navn"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  76:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;param name="objekt"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  77:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;param name="utløper"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  78:  &lt;/span&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; SetCookie(&lt;span class="kwrd"&gt;string&lt;/span&gt; navn, &lt;span class="kwrd"&gt;object&lt;/span&gt; objekt, DateTime utløper)&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  79:  &lt;/span&gt;        {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  80:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  81:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  82:  &lt;/span&gt;            &lt;span class="kwrd"&gt;try&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  83:  &lt;/span&gt;            {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  84:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  85:  &lt;/span&gt;                StringBuilder streng = &lt;span class="kwrd"&gt;new&lt;/span&gt; StringBuilder();&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  86:  &lt;/span&gt;                streng.Append(Kontroller.HentCurrentUser() + &lt;span class="str"&gt;"|"&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  87:  &lt;/span&gt;                Type type = objekt.GetType();&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  88:  &lt;/span&gt;                FieldInfo[] felter = type.GetFields();&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  89:  &lt;/span&gt;                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (FieldInfo feltinf &lt;span class="kwrd"&gt;in&lt;/span&gt; felter)&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  90:  &lt;/span&gt;                {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  91:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (feltinf != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  92:  &lt;/span&gt;                    {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  93:  &lt;/span&gt;                        &lt;span class="kwrd"&gt;object&lt;/span&gt; verdi = feltinf.GetValue(objekt);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  94:  &lt;/span&gt;                        streng.Append(verdi.ToString() + &lt;span class="str"&gt;"|"&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  95:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  96:  &lt;/span&gt;                    }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  97:  &lt;/span&gt;                }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  98:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  99:  &lt;/span&gt;                PropertyInfo[] props = type.GetProperties();&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 100:  &lt;/span&gt;                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (PropertyInfo propinf &lt;span class="kwrd"&gt;in&lt;/span&gt; props)&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 101:  &lt;/span&gt;                {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 102:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (propinf != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 103:  &lt;/span&gt;                    {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 104:  &lt;/span&gt;                        &lt;span class="kwrd"&gt;object&lt;/span&gt; verdi = propinf.GetValue(objekt, &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 105:  &lt;/span&gt;                        streng.Append(verdi.ToString() + &lt;span class="str"&gt;"|"&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 106:  &lt;/span&gt;                    }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 107:  &lt;/span&gt;                }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 108:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 109:  &lt;/span&gt;                HttpCookie c = &lt;span class="kwrd"&gt;new&lt;/span&gt; HttpCookie(navn, streng.ToString());&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 110:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 111:  &lt;/span&gt;                c.Expires = utløper;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 112:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 113:  &lt;/span&gt;                &lt;span class="kwrd"&gt;if&lt;/span&gt; (HttpContext.Current.Request.Cookies[navn] != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 114:  &lt;/span&gt;                    &lt;span class="rem"&gt;//finnes fra før&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 115:  &lt;/span&gt;                    HttpContext.Current.Response.Cookies.Set(c);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 116:  &lt;/span&gt;                &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 117:  &lt;/span&gt;                    &lt;span class="rem"&gt;//finnes ikke, lag ny&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 118:  &lt;/span&gt;                    HttpContext.Current.Response.Cookies.Add(c);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 119:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 120:  &lt;/span&gt;            }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 121:  &lt;/span&gt;            &lt;span class="kwrd"&gt;catch&lt;/span&gt; (Exception ex)&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 122:  &lt;/span&gt;            {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 123:  &lt;/span&gt;                &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; BasisException(ex);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 124:  &lt;/span&gt;            }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 125:  &lt;/span&gt;        }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 126:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 127:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 128:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 129:  &lt;/span&gt;        &lt;span class="rem"&gt;/// sletter en satt cookie &lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 130:  &lt;/span&gt;        &lt;span class="rem"&gt;/// (resetter verdi og setter utløpsdato tilbake i tid)&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 131:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 132:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;param name="navn"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 133:  &lt;/span&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; SlettCookie(&lt;span class="kwrd"&gt;string&lt;/span&gt; navn)&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 134:  &lt;/span&gt;        {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 135:  &lt;/span&gt;            &lt;span class="rem"&gt;//tømmer verdi og setter utløpt for ett år siden&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 136:  &lt;/span&gt;            HttpCookie c = &lt;span class="kwrd"&gt;new&lt;/span&gt; HttpCookie(navn, &lt;span class="str"&gt;""&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 137:  &lt;/span&gt;            c.Expires = DateTime.Now.AddYears(-1);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 138:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 139:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (HttpContext.Current.Request.Cookies[navn] != &lt;span class="kwrd"&gt;null&lt;/span&gt;)&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 140:  &lt;/span&gt;                &lt;span class="rem"&gt;//finnes fra før&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 141:  &lt;/span&gt;                HttpContext.Current.Response.Cookies.Set(c);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 142:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 143:  &lt;/span&gt;        }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 144:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 145:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 146:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 147:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 148:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 149:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 150:  &lt;/span&gt;        &lt;span class="rem"&gt;/// Hjelpemetode for å sette en verdi via reflection etc&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 151:  &lt;/span&gt;        &lt;span class="rem"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 152:  &lt;/span&gt;       &lt;span class="rem"&gt;/// &amp;lt;param name="pInfo"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 153:  &lt;/span&gt;       &lt;span class="rem"&gt;/// &amp;lt;param name="propertyValue"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 154:  &lt;/span&gt;       &lt;span class="rem"&gt;/// &amp;lt;param name="objectToSetValue"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 155:  &lt;/span&gt;        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; SetProperty(PropertyInfo pInfo, &lt;span class="kwrd"&gt;string&lt;/span&gt; propertyValue, &lt;span class="kwrd"&gt;object&lt;/span&gt; objectToSetValue)&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 156:  &lt;/span&gt;        {&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 157:  &lt;/span&gt;            Type pType = pInfo.PropertyType;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 158:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 159:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (pType == &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt;))&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 160:  &lt;/span&gt;                pInfo.SetValue(objectToSetValue, propertyValue, &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 161:  &lt;/span&gt;            &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; (pType == &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;bool&lt;/span&gt;))&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 162:  &lt;/span&gt;                pInfo.SetValue(objectToSetValue, Convert.ToBoolean(propertyValue), &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 163:  &lt;/span&gt;            &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; (pType == &lt;span class="kwrd"&gt;typeof&lt;/span&gt;(&lt;span class="kwrd"&gt;int&lt;/span&gt;))&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 164:  &lt;/span&gt;                pInfo.SetValue(objectToSetValue, Convert.ToInt32(propertyValue), &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 165:  &lt;/span&gt;            &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 166:  &lt;/span&gt;                &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; NotImplementedException(&lt;span class="str"&gt;"Objektet har felttype som ikke er implementert enda.."&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 167:  &lt;/span&gt;        }&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;&lt;span class="lnum"&gt; 168:  &lt;/span&gt;    }&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-1346643608797766085?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/1346643608797766085/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=1346643608797766085' title='1 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/1346643608797766085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/1346643608797766085'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/12/oppdatert-cookieutil.html' title='Oppdatert CookieUtil'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-6383672397208627785</id><published>2008-12-03T13:58:00.001+01:00</published><updated>2008-12-03T13:58:16.089+01:00</updated><title type='text'>
Ajax: AutoCompleteExtender  </title><content type='html'>&lt;br /&gt;                          &lt;div class=Section1&gt;    &lt;p class=MsoNormal&gt;Eksempel på bruk av AutoCompleteExtender fra AjaxControlToolkit:&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Husk updatepanel og scriptmanager på siden.&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;b&gt;&lt;u&gt;ASPX:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;lt;div style=&amp;quot;float: left; background-color:  Wheat;&amp;quot; id=&amp;quot;info&amp;quot; runat=&amp;quot;server&amp;quot;  enableviewstate=&amp;quot;false&amp;quot; &amp;gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            &amp;lt;p style=&amp;quot;padding: 10px;&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            Du kan bruke denne tekstboksen til å finne  rådgivernummer.&amp;lt;br /&amp;gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            Skriv inn starten på rådgivers navn (minst tre  tegn) for å søke:&amp;lt;br /&amp;gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            &lt;/p&gt;    &lt;p class=MsoNormal&gt;            &amp;lt;asp:TextBox ID=&amp;quot;TextBox1&amp;quot;  runat=&amp;quot;server&amp;quot; Width=&amp;quot;320&amp;quot;&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            &amp;lt;cc1:AutoCompleteExtender  ID=&amp;quot;AutoCompleteExtender1&amp;quot; runat=&amp;quot;server&amp;quot;  TargetControlID=&amp;quot;TextBox1&amp;quot;&lt;/p&gt;    &lt;p class=MsoNormal&gt;                        ServiceMethod=&amp;quot;FinnRadgivereListe&amp;quot;  MinimumPrefixLength=&amp;quot;3&amp;quot; CompletionInterval=&amp;quot;1000&amp;quot;&lt;/p&gt;    &lt;p class=MsoNormal&gt;                        EnableCaching=&amp;quot;true&amp;quot;  CompletionSetCount=&amp;quot;20&amp;quot; &lt;/p&gt;    &lt;p class=MsoNormal&gt;                        CompletionListCssClass=&amp;quot;autocomplete_completionListElement&amp;quot;  &lt;/p&gt;    &lt;p class=MsoNormal&gt;                        CompletionListItemCssClass=&amp;quot;autocomplete_listItem&amp;quot;  &lt;/p&gt;    &lt;p class=MsoNormal&gt;                        CompletionListHighlightedItemCssClass=&amp;quot;autocomplete_highlightedListItem&amp;quot;&lt;/p&gt;    &lt;p class=MsoNormal&gt;                        &amp;gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            &amp;lt;/cc1:AutoCompleteExtender&amp;gt;     &lt;/p&gt;    &lt;p class=MsoNormal&gt;            &lt;/p&gt;    &lt;p class=MsoNormal&gt;            &amp;lt;/p&amp;gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;lt;cc1:RoundedCornersExtender  BorderColor=&amp;quot;Yellow&amp;quot; Radius=&amp;quot;15&amp;quot; ID=&amp;quot;round1&amp;quot;  TargetControlID=&amp;quot;info&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            &amp;lt;/cc1:RoundedCornersExtender&amp;gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;b&gt;&lt;u&gt;ASPX.CS:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;    [WebMethod]&lt;/p&gt;    &lt;p class=MsoNormal&gt;    [ScriptMethod]&lt;/p&gt;    &lt;p class=MsoNormal&gt;    public static string[] FinnRadgivereListe(string  prefixText, int count)&lt;/p&gt;    &lt;p class=MsoNormal&gt;    {&lt;/p&gt;    &lt;p class=MsoNormal&gt;        string[] liste=null;&lt;/p&gt;    &lt;p class=MsoNormal&gt;        try&lt;/p&gt;    &lt;p class=MsoNormal&gt;        {&lt;/p&gt;    &lt;p class=MsoNormal&gt;             liste=Kontroller.FinnRadgivere(Convert.ToInt32(Kontroller.HentRadgiverNr()),  prefixText, count);&lt;/p&gt;    &lt;p class=MsoNormal&gt;        }&lt;/p&gt;    &lt;p class=MsoNormal&gt;        catch&lt;/p&gt;    &lt;p class=MsoNormal&gt;        {&lt;/p&gt;    &lt;p class=MsoNormal&gt;        }&lt;/p&gt;    &lt;p class=MsoNormal&gt;        return liste;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;    }&lt;/p&gt;    &lt;p class=MsoNormal&gt;       &lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;b&gt;&lt;u&gt;CSS:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;.autocomplete_completionListElement&lt;/p&gt;    &lt;p class=MsoNormal&gt;{&lt;/p&gt;    &lt;p class=MsoNormal&gt;            visibility : hidden;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            margin : 0px!important;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            background-color : inherit;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            color : windowtext;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            border : buttonshadow;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            border-width : 1px;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            border-style : solid;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            cursor : 'default';&lt;/p&gt;    &lt;p class=MsoNormal&gt;            overflow : auto;           &lt;/p&gt;    &lt;p class=MsoNormal&gt;    text-align : left; &lt;/p&gt;    &lt;p class=MsoNormal&gt;    list-style-type : none;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;}&lt;/p&gt;    &lt;p class=MsoNormal&gt; .autocomplete_listItem&lt;/p&gt;    &lt;p class=MsoNormal&gt; {&lt;/p&gt;    &lt;p class=MsoNormal&gt;            background-color : window;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            color : windowtext;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            padding : 1px;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt; }&lt;/p&gt;    &lt;p class=MsoNormal&gt; .autocomplete_highlightedListItem&lt;/p&gt;    &lt;p class=MsoNormal&gt; {&lt;/p&gt;    &lt;p class=MsoNormal&gt;            background-color: #ffff99;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            color: black;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            padding: 1px;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt; }&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;/div&gt;&lt;p style="font-size: 10px;"&gt;&lt;a href='http://posterous.com'&gt;Posted by email&lt;/a&gt; from &lt;a href="http://henri.posterous.com/ajax-autocompleteextender" style="border: none;"&gt;Henris blogg (posterous)&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-6383672397208627785?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/6383672397208627785/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=6383672397208627785' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/6383672397208627785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/6383672397208627785'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/12/ajax-autocompleteextender.html' title='&#xA;Ajax: AutoCompleteExtender  '/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-6797763064457135307</id><published>2008-12-02T19:03:00.001+01:00</published><updated>2008-12-02T19:03:01.445+01:00</updated><title type='text'>
LINQ/Cast/Array/Take: Caste fra IENumerable til Array II  </title><content type='html'>&lt;br /&gt;                          &lt;div class=Section1&gt;    &lt;p class=MsoNormal&gt;For å f.eks konvertere et LINQ-resultatsett til en array:&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;b&gt;&lt;u&gt;CASTE til ARRAY&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;[WebMethod(Description=&amp;quot;Metode for bruk av Ajax  autocompleteExtension&amp;quot;)]&lt;/p&gt;    &lt;p class=MsoNormal&gt;public string[] FinnRadgivere(string prefixText)&lt;/p&gt;    &lt;p class=MsoNormal&gt;{&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  var rslt=SokRadgiver(prefixText); //returnerer f.eks en liste med  radgiverentiteter&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  var q = from radgiver in rslt&lt;/p&gt;    &lt;p class=MsoNormal&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;  select new&lt;/p&gt;    &lt;p class=MsoNormal&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;  {&lt;/p&gt;    &lt;p class=MsoNormal&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;  radgiver.Navn&lt;/p&gt;    &lt;p class=MsoNormal&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;  };&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  return q.Cast&amp;lt;string&amp;gt;().ToArray();&lt;/p&gt;    &lt;p class=MsoNormal&gt;}&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;enklere variant:&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;[WebMethod(Description=&amp;quot;Metode for bruk av Ajax  autocompleteExtension&amp;quot;)]&lt;/p&gt;    &lt;p class=MsoNormal&gt;        public string[] FinnRadgivere(string prefixText)&lt;/p&gt;    &lt;p class=MsoNormal&gt;        {&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            var rslt=SokRadgiver(prefixText);&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            var q = from radgiver in rslt&lt;/p&gt;    &lt;p class=MsoNormal&gt;                        select radgiver.Navn; &lt;/p&gt;    &lt;p class=MsoNormal&gt;               &lt;/p&gt;    &lt;p class=MsoNormal&gt;            return q.ToArray();&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;        }&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;annen variant som gjør tilsvarende:&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp; HendelseInformasjonEntitet[] q =  HendelseTjeneste.HentHendelseInformasjonListe(param, out melding);&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  var w = from h in q&lt;/p&gt;    &lt;p class=MsoNormal&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;  select new HendelseInformasjonRadgiverEntitet()&lt;/p&gt;    &lt;p class=MsoNormal&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;  {&lt;/p&gt;    &lt;p class=MsoNormal&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;  Beskrivelse = h.Beskrivelse,&lt;/p&gt;    &lt;p class=MsoNormal&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;  EksternHendelseID = h.EksternHendelseID,&lt;/p&gt;    &lt;p class=MsoNormal&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;  HendelseBestiller = h.HendelseBestiller,&lt;/p&gt;    &lt;p class=MsoNormal&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;  HendelseDato = h.HendelseDato,&lt;/p&gt;    &lt;p class=MsoNormal&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;HendelseEier = h.HendelseEier,&lt;/p&gt;    &lt;p class=MsoNormal&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;  HendelseEierNavn = HentRådgiver(h.HendelseEier, h.HendelseEier),&lt;/p&gt;    &lt;p class=MsoNormal&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;  HendelseInformasjonID = h.HendelseInformasjonID,&lt;/p&gt;    &lt;p class=MsoNormal&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;  HendelsetypeID = h.HendelsetypeID,&lt;/p&gt;    &lt;p class=MsoNormal&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;  Status = h.Status,&lt;/p&gt;    &lt;p class=MsoNormal&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;  Viderefordeling = h.Viderefordeling&lt;/p&gt;    &lt;p class=MsoNormal&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;  };&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  return w.Cast&amp;lt;HendelseInformasjonRadgiverEntitet&amp;gt;().ToArray();&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;b&gt;&lt;u&gt;LINQ TAKE&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Returner X antall poster vha Take:&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;[WebMethod(Description=&amp;quot;Metode for bruk av Ajax  autocompleteExtension&amp;quot;)]&lt;/p&gt;    &lt;p class=MsoNormal&gt;        public string[] FinnRadgivere(string prefixText, int  count)&lt;/p&gt;    &lt;p class=MsoNormal&gt;        {&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            var rslt=SokRadgiver(prefixText);&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            var q = from radgiver in rslt.Take(count)&lt;/p&gt;    &lt;p class=MsoNormal&gt;                                       select radgiver.Navn;  &lt;/p&gt;    &lt;p class=MsoNormal&gt;               &lt;/p&gt;    &lt;p class=MsoNormal&gt;            return q.ToArray();&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;        }&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;/div&gt;&lt;p style="font-size: 10px;"&gt;&lt;a href='http://posterous.com'&gt;Posted by email&lt;/a&gt; from &lt;a href="http://henri.posterous.com/linqcastarraytake-caste-fra-ie" style="border: none;"&gt;Henris blogg (posterous)&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-6797763064457135307?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/6797763064457135307/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=6797763064457135307' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/6797763064457135307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/6797763064457135307'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/12/linqcastarraytake-caste-fra-ienumerable.html' title='&#xA;LINQ/Cast/Array/Take: Caste fra IENumerable til Array II  '/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-6626638138403349648</id><published>2008-12-02T18:47:00.001+01:00</published><updated>2008-12-02T18:47:42.419+01:00</updated><title type='text'>
Caste fra IENumerable til Array  </title><content type='html'>&lt;br /&gt;                          &lt;div class=Section1&gt;    &lt;p class=MsoNormal&gt;For å f.eks konvertere et LINQ-resultatsett til en array:&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            var rslt=SokRadgiver(bruker); //returnerer f.eks  en liste med radgiverentiteter&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            var q = from radgiver in rslt&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    select new&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    {&lt;/p&gt;    &lt;p class=MsoNormal&gt;                        radgiver.Navn&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    };&lt;/p&gt;    &lt;p class=MsoNormal&gt;            return q.Cast&amp;lt;string&amp;gt;().ToArray();&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;eller annen variant som gjør det samme:&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;   HendelseInformasjonEntitet[] q =  HendelseTjeneste.HentHendelseInformasjonListe(param, out melding);&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            var w = from h in q&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    select new  HendelseInformasjonRadgiverEntitet()&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    {&lt;/p&gt;    &lt;p class=MsoNormal&gt;                        Beskrivelse = h.Beskrivelse,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                        EksternHendelseID =  h.EksternHendelseID,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                        HendelseBestiller =  h.HendelseBestiller,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                        HendelseDato = h.HendelseDato,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                        HendelseEier = h.HendelseEier,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                        HendelseEierNavn =  HentRådgiver(h.HendelseEier, h.HendelseEier),&lt;/p&gt;    &lt;p class=MsoNormal&gt;                        HendelseInformasjonID =  h.HendelseInformasjonID,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                        HendelsetypeID = h.HendelsetypeID,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                        Status = h.Status,&lt;/p&gt;    &lt;p class=MsoNormal&gt;                        Viderefordeling = h.Viderefordeling&lt;/p&gt;    &lt;p class=MsoNormal&gt;                    };&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;            return  w.Cast&amp;lt;HendelseInformasjonRadgiverEntitet&amp;gt;().ToArray();&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;/div&gt;&lt;p style="font-size: 10px;"&gt;&lt;a href='http://posterous.com'&gt;Posted by email&lt;/a&gt; from &lt;a href="http://henri.posterous.com/caste-fra-ienumerablet-til-arr" style="border: none;"&gt;Henris blogg (posterous)&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-6626638138403349648?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/6626638138403349648/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=6626638138403349648' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/6626638138403349648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/6626638138403349648'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/12/caste-fra-ienumerable-til-array.html' title='&#xA;Caste fra IENumerable til Array  '/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-544299506017101393</id><published>2008-12-02T13:35:00.001+01:00</published><updated>2008-12-02T13:35:09.437+01:00</updated><title type='text'>
Shelveset og Visual Studio/Team Foundation Server  </title><content type='html'>&lt;br /&gt;                            &lt;div class=Section1&gt;    &lt;p class=MsoNormal&gt;Shelveset er en fin funksjon som lar deg lagre dine  endringer under sourcecontrol, uten å sjekke de inn.&lt;/p&gt;    &lt;p class=MsoNormal&gt;Du kan deretter jobbe videre på disse filene, elller hente  siste versjon fra tfs og hente shelveset tilbake senere.&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Du vil imidlertid fort oppdage en liten &amp;quot;issue&amp;quot;  med dette. &lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Dersom shelvesettet ditt inneholder utsjekkete filer (og det  vil det jo som oftest),&lt;/p&gt;    &lt;p class=MsoNormal&gt;og du senere sjekker inn alle disse filene så vil du se noe  merkelig.&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Alle filer som var utsjekket vil ha det ikonet som viser at  noen andre har filene sjekket ut:&lt;/p&gt;    &lt;p class=MsoNormal&gt;&lt;p&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/henri/0DPLpIdBd1Co93jbj64hAWG6N83wKEQ7l39gBVpjFGS7JhByITjeFEDNh3Z3/image001.png" width="407" height="370"&gt;&lt;/p&gt; &lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Og tooltipet på disse filene sier: checked out by someone  else in another place e.l.&lt;/p&gt;    &lt;p class=MsoNormal&gt;Hvis du derimot sjekker i Source Explorer vil du se at disse  filene ikke er sjekket ut.&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Og slik vil det altså se ut for alle som jobber mot disse  filene. &lt;/p&gt;    &lt;p class=MsoNormal&gt;Det gjør det litt vanskeligere å kjapt få oversikt over  utsjekkete filer.&lt;/p&gt;    &lt;p class=MsoNormal&gt;mer detaljer evt her (som jeg har stjålet bildet over fra): &lt;a href="http://blogs.infosupport.com/marcelv/archive/2007/12/03/Team-Foundation-Server-2008-shows-incorrect-version-control-status-in-team-explorer-.aspx"&gt;http://blogs.infosupport.com/marcelv/archive/2007/12/03/Team-Foundation-Server-2008-shows-incorrect-version-control-status-in-team-explorer-.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Pr des. 2008 har jeg ikke sett en fiks på dette.&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Eneste løsningen er faktisk å slette selve shelvesettet når  du er ferdig med det.&lt;/p&gt;    &lt;p class=MsoNormal&gt;Det gjør du slik:&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;i VS: File - Source Control - Unshelve Pending changes&lt;/p&gt;    &lt;p class=MsoNormal&gt;du vil da få opp en liste med dine shelveset.&lt;/p&gt;    &lt;p class=MsoNormal&gt;Her kan velge ett eller flere og trykke Delete.&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;(se evt her: &lt;a href="http://msdn.microsoft.com/en-us/library/ms245473(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms245473(VS.80).aspx&lt;/a&gt;)&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;Hvis du henter løsningen på nytt vil du se at tingene er  tilbake til &amp;quot;normalt&amp;quot;.&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;    &lt;/div&gt;&lt;p style="font-size: 10px;"&gt;&lt;a href='http://posterous.com'&gt;Posted by email&lt;/a&gt; from &lt;a href="http://henri.posterous.com/shelveset-og-visual-studioteam" style="border: none;"&gt;Henris blogg (posterous)&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-544299506017101393?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/544299506017101393/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=544299506017101393' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/544299506017101393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/544299506017101393'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/12/shelveset-og-visual-studioteam.html' title='&#xA;Shelveset og Visual Studio/Team Foundation Server  '/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-6334250061893519773</id><published>2008-11-27T09:46:00.004+01:00</published><updated>2008-11-27T10:41:48.017+01:00</updated><title type='text'>Finne hvilken kontroll som har ført til Postback av siden</title><content type='html'>&lt;div class="Section1"&gt;&lt;p class="MsoNormal"&gt;Av og til er det nødvendig å kunne sjekke hvilken kontrollsom førte til postback.&lt;/p&gt;&lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt;Det kan f.eks være en side med mange egendefinerte filtreosv, med egendefinert databinding,&lt;/p&gt;&lt;p class="MsoNormal"&gt;hvor hvis man ventet til Eventhandleren for Button ellerDropDown så ville man måtte hente data flere ganger osv.&lt;/p&gt;&lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt;Page_Load har jo object sender, og hvis man googler litt serman at flere foreslår å caste sender til button.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Det virker dessverre ikke. Når en knapp har postet er detsiden selv som står som sender.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Tilsvarende foreslår mange å bruke"__EventTarget".&lt;/p&gt;&lt;p class="MsoNormal"&gt;Det fungerer fint for dropdowns osv., men igjen, for buttonsog kusinene vil denne ikke virke. Da er eventtarget tom/""&lt;/p&gt;&lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt;Løsningen for Button og dens venner er (dessverre) å loopeigjennom Request.Form, caste til control, og sjekke om det er en Button.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Hvis ja kan man slutte å loope, da den eneste gangen enbutton vil være i Request.Form-samlingen er hvis det er den som Postet siden.&lt;/p&gt;&lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt;Krøkkete men funker.&lt;/p&gt;&lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt;Her er i alle fall en util for å finne kontrollen som harpostet siden:&lt;/p&gt;&lt;p class="MsoNormal"&gt;(en kollega har laget denne, jeg har bare utvidet den med enfiks for Imagebutton)&lt;/p&gt;&lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;br /&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #008080;"&gt; 1&lt;/span&gt; &lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt; Utils&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 2&lt;/span&gt; &lt;span style="color: #000000;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 3&lt;/span&gt; &lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 4&lt;/span&gt; &lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 5&lt;/span&gt; &lt;span style="color: #008000;"&gt;    &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; Denne funksjonen finne hvilken kontroll som har for&amp;#229;rsaket postback p&amp;#229; en side.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 6&lt;/span&gt; &lt;span style="color: #008000;"&gt;    &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 7&lt;/span&gt; &lt;span style="color: #008000;"&gt;    &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;param name=&amp;quot;page&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;Siden vi vil finne postback for&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 8&lt;/span&gt; &lt;span style="color: #008000;"&gt;    &lt;/span&gt;&lt;span style="color: #808080;"&gt;///&lt;/span&gt;&lt;span style="color: #008000;"&gt; &lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;Returnerer kontroll som har for&amp;#229;rsaket postback&lt;/span&gt;&lt;span style="color: #808080;"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt; 9&lt;/span&gt; &lt;span style="color: #808080;"&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;static&lt;/span&gt;&lt;span style="color: #000000;"&gt; Control FinnPostbackControl ( Page page )&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;10&lt;/span&gt; &lt;span style="color: #000000;"&gt;    {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;11&lt;/span&gt; &lt;span style="color: #000000;"&gt;        Control control &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;null&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;12&lt;/span&gt; &lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;13&lt;/span&gt; &lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;Kontroll som for&amp;#229;rsaker postback ligger i _EVENTTARGET...&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;14&lt;/span&gt; &lt;span style="color: #008000;"&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; ctrlName &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; page.Request.Params.Get(&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;__EVENTTARGET&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;15&lt;/span&gt; &lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; ( &lt;/span&gt;&lt;span style="color: #000000;"&gt;!&lt;/span&gt;&lt;span style="color: #000000;"&gt;String.IsNullOrEmpty(ctrlName) )&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;16&lt;/span&gt; &lt;span style="color: #000000;"&gt;        {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;17&lt;/span&gt; &lt;span style="color: #000000;"&gt;            control &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; page.FindControl(ctrlName);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;18&lt;/span&gt; &lt;span style="color: #000000;"&gt;        }&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;19&lt;/span&gt; &lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;else&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;20&lt;/span&gt; &lt;span style="color: #000000;"&gt;        {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;21&lt;/span&gt; &lt;span style="color: #000000;"&gt;            Control c; &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;bruker en temp controlholder slik at control==null hvis ikke funnet&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;22&lt;/span&gt; &lt;span style="color: #008000;"&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;...utenom Button, den ligger i Request.Form (ingen andre knapper en postback-knappen vil ligge her)&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;23&lt;/span&gt; &lt;span style="color: #008000;"&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;            &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;foreach&lt;/span&gt;&lt;span style="color: #000000;"&gt; ( &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; str &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;in&lt;/span&gt;&lt;span style="color: #000000;"&gt; page.Request.Form )&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;24&lt;/span&gt; &lt;span style="color: #000000;"&gt;            {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;25&lt;/span&gt; &lt;span style="color: #000000;"&gt;                &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;fix for imagebutton-kontroller&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;26&lt;/span&gt; &lt;span style="color: #008000;"&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;                &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (str.EndsWith(&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;.x&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;) &lt;/span&gt;&lt;span style="color: #000000;"&gt;||&lt;/span&gt;&lt;span style="color: #000000;"&gt; str.EndsWith(&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #800000;"&gt;.y&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;))&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;27&lt;/span&gt; &lt;span style="color: #000000;"&gt;                {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;28&lt;/span&gt; &lt;span style="color: #000000;"&gt;                    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;string&lt;/span&gt;&lt;span style="color: #000000;"&gt; nystr &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; str.Substring(&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;, str.Length &lt;/span&gt;&lt;span style="color: #000000;"&gt;-&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;29&lt;/span&gt; &lt;span style="color: #000000;"&gt;                    c &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; page.FindControl(nystr);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;30&lt;/span&gt; &lt;span style="color: #000000;"&gt;                    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (c &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;is&lt;/span&gt;&lt;span style="color: #000000;"&gt; ImageButton)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;31&lt;/span&gt; &lt;span style="color: #000000;"&gt;                    {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;32&lt;/span&gt; &lt;span style="color: #000000;"&gt;                        control &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; c;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;33&lt;/span&gt; &lt;span style="color: #000000;"&gt;                        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;34&lt;/span&gt; &lt;span style="color: #000000;"&gt;                    }&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;35&lt;/span&gt; &lt;span style="color: #000000;"&gt;                }&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;36&lt;/span&gt; &lt;span style="color: #000000;"&gt;                &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;else&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;37&lt;/span&gt; &lt;span style="color: #000000;"&gt;                {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;38&lt;/span&gt; &lt;span style="color: #000000;"&gt;                    c &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; page.FindControl(str);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;39&lt;/span&gt; &lt;span style="color: #000000;"&gt;                    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (c &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;is&lt;/span&gt;&lt;span style="color: #000000;"&gt; Button)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;40&lt;/span&gt; &lt;span style="color: #000000;"&gt;                    {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;41&lt;/span&gt; &lt;span style="color: #000000;"&gt;                        control &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; c;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;42&lt;/span&gt; &lt;span style="color: #000000;"&gt;                        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;43&lt;/span&gt; &lt;span style="color: #000000;"&gt;                    }&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;44&lt;/span&gt; &lt;span style="color: #000000;"&gt;                }&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;45&lt;/span&gt; &lt;span style="color: #000000;"&gt;            }&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;46&lt;/span&gt; &lt;span style="color: #000000;"&gt;        }&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;47&lt;/span&gt; &lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;48&lt;/span&gt; &lt;span style="color: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; control;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;49&lt;/span&gt; &lt;span style="color: #000000;"&gt;    }&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;50&lt;/span&gt; &lt;span style="color: #000000;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-6334250061893519773?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/6334250061893519773/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=6334250061893519773' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/6334250061893519773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/6334250061893519773'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/11/finne-hvilken-kontroll-som-har-frt-til.html' title='Finne hvilken kontroll som har ført til Postback av siden'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-890251163121210269</id><published>2008-11-25T11:31:00.002+01:00</published><updated>2008-11-25T11:32:49.263+01:00</updated><title type='text'>Infragistics UltraWebChart og sti til ChartImages</title><content type='html'>&lt;p&gt; &lt;/p&gt;&lt;div&gt;&lt;p&gt;Som default vil Infragistics opprette en ny chartImages i hver mappe hvor man har en side som benytter en chart-kontroll.&lt;/p&gt;&lt;p&gt;F.eks&lt;br /&gt;/ChartImages&lt;br /&gt;/Hendelser/ChartImages&lt;/p&gt;&lt;p&gt;osv.&lt;/p&gt;&lt;p&gt;For å styre disse mot samme mappe (f.eks når man har et cluster og må opprette en delt ressurs mellom nodene) må man endre properties for kontrollen.&lt;/p&gt;&lt;p&gt;Nå har UltraWebChart en property som heter ChartImagesPath.&lt;/p&gt;&lt;p&gt;Den er det selvfølgelig ikke…&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;I stedet må du lage en seksjon kalt: DeploymentScenario:&lt;/p&gt;&lt;p&gt;Her ser du koden jeg bruker for å samle alt i en felles mappe i rot:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;DeploymentScenario&lt;/p&gt;&lt;p&gt;                            FilePath="~/ChartImages/"&lt;br /&gt;                            ImageURL="../ChartImages/RapportFront_#SEQNUM(100).png" /&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br /&gt;Som du ser er det en fleksibel løsning hvor du kan angi navngivingsregler osv.&lt;/p&gt;&lt;p&gt;Denne vil lage bilder kalt RapportFront_0.png  osv til RapportFront_99.png, deretter begynner telleren på nytt.&lt;/p&gt;&lt;p&gt;Tallet kan økes fra 100 til dine ønsker.&lt;/p&gt;&lt;p&gt;Du kan også bruke session_id i navngivingen, i kombinasjon med #seqnum, eller i stedet for.&lt;/p&gt;&lt;p&gt;Da heter variabelen #SESSION&lt;/p&gt;&lt;br /&gt;&lt;p&gt;For en chart-kontroll et nivå under roten vil det kunne se slik ut:&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;igchart:UltraChart ID="UltraChart1" runat="server" BorderWidth="0px" Width="750px"&lt;/p&gt;&lt;p&gt;                        Version="8.2" BackColor="" ForeColor="Black" &amp;gt;&lt;/p&gt;&lt;p&gt;                        &amp;lt;DeploymentScenario&lt;/p&gt;&lt;p&gt;                            FilePath="~/ChartImages/"&lt;/p&gt;&lt;p&gt;                            ImageURL="../ChartImages/RapportFront_#SEQNUM(100).png"&lt;/p&gt;&lt;p&gt;                            /&amp;gt;&lt;/p&gt;&lt;p&gt;                        &amp;lt;Tooltips Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"&lt;/p&gt;&lt;p&gt;                            Font-Underline="False" /&amp;gt;&lt;/p&gt;&lt;p&gt;………../&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;NB. i første versjon av posten hadde jeg med variabelen #EXT som erstatning for filtypen (.png i eksempelet over.)&lt;p&gt;Da den ikke virket men ga meg filnavn som faktisk sluttet med .#EXT så har jeg fjernet denne nå.&lt;/p&gt;&lt;/div&gt;&lt;p style="font-size: 10px;"&gt;&lt;a href="http://posterous.com/"&gt;Posted by email&lt;/a&gt; from &lt;a href="http://henri.posterous.com/infragistics-ultrawebchart-og" style="border: medium none ;"&gt;Henris blogg (posterous)&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-890251163121210269?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/890251163121210269/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=890251163121210269' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/890251163121210269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/890251163121210269'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/11/infragistics-ultrawebchart-og-sti-til_25.html' title='Infragistics UltraWebChart og sti til ChartImages'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-1680625908099450547</id><published>2008-11-19T14:43:00.001+01:00</published><updated>2008-11-19T14:43:26.443+01:00</updated><title type='text'>
c#/Asp.Net: Objectdatasource  </title><content type='html'>&lt;br /&gt;     &lt;div class=Section1&gt;&lt;p class=MsoNormal&gt;Strevde med å få en Objectdatasource til å virke i Designmode.&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;Trikset var: bruk &lt;b&gt;&lt;u&gt;properties&lt;/u&gt;&lt;/b&gt; i stedet forfields i ditt Business Object.&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;Hvis ikke får du ikke Design-time goodness :)&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;Her er kode som virker:&lt;/p&gt;&lt;p class=MsoNormal&gt;(metoder osv er forenklet for å illustrere konseptet uten ågjøre eksempelet for stort)&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;u&gt;.CS (bør ligge i App_Code)&lt;/u&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;Mitt dataobjekt som altså nå har properties:&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;    public class RapportPeriode&lt;/p&gt;&lt;p class=MsoNormal&gt;    {&lt;/p&gt;&lt;p class=MsoNormal&gt;        public string Type {get;set;}&lt;/p&gt;&lt;p class=MsoNormal&gt;        public int HendelseTypeID {get;set;}&lt;/p&gt;&lt;p class=MsoNormal&gt;        public int Totalt {get;set;}&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;    }&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;/*********************************************************************&lt;/p&gt;&lt;p class=MsoNormal&gt;            denne klassen kan ikke benyttes som utgangspunktfor Objectdatasource&lt;/p&gt;&lt;p class=MsoNormal&gt;            den har fields som verdier i stedet forproperties&lt;/p&gt;&lt;p class=MsoNormal&gt;    public class RapportPeriode&lt;/p&gt;&lt;p class=MsoNormal&gt;    {&lt;/p&gt;&lt;p class=MsoNormal&gt;        public string Type;&lt;/p&gt;&lt;p class=MsoNormal&gt;        public int HendelseTypeID;&lt;/p&gt;&lt;p class=MsoNormal&gt;        public int Totalt;&lt;/p&gt;&lt;p class=MsoNormal&gt;    }&lt;/p&gt;&lt;p class=MsoNormal&gt; &lt;/p&gt;&lt;p class=MsoNormal&gt;*********************************************************************/&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;//Klasse du bruker mot Objektdatasource:&lt;/p&gt;&lt;p class=MsoNormal&gt;public class RapportHjelper&lt;/p&gt;&lt;p class=MsoNormal&gt;    {&lt;/p&gt;&lt;p class=MsoNormal&gt;     &lt;/p&gt;&lt;p class=MsoNormal&gt;        public List&amp;lt;RapportPeriode&amp;gt; GetData(int År)&lt;/p&gt;&lt;p class=MsoNormal&gt;        {&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;               List&amp;lt;RapportPeriode&amp;gt; liste = newList&amp;lt;RapportPeriode&amp;gt;();&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;                RapportPeriode rad = new RapportPeriode();&lt;/p&gt;&lt;p class=MsoNormal&gt;                rad.Type = &amp;quot;Totalt&amp;quot;&lt;/p&gt;&lt;p class=MsoNormal&gt;                rad.HendelseTypeID = 0;&lt;/p&gt;&lt;p class=MsoNormal&gt;                rad.Totalt = 100; &lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;                liste.Add(rad);&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;                rad = new RapportPeriode();&lt;/p&gt;&lt;p class=MsoNormal&gt;                rad.Type = &amp;quot;Noe &amp;quot;&lt;/p&gt;&lt;p class=MsoNormal&gt;                rad.HendelseTypeID = 1;&lt;/p&gt;&lt;p class=MsoNormal&gt;                rad.Totalt = 7; &lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;                liste.Add(rad);&lt;/p&gt;&lt;p class=MsoNormal&gt;        &lt;/p&gt;&lt;p class=MsoNormal&gt;                return liste;            &lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;        }&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;}&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&lt;u&gt;.ASPX:&lt;/u&gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;          &amp;lt;asp:GridView ID=&amp;quot;GridView1&amp;quot;runat=&amp;quot;server&amp;quot; DataSourceID=&amp;quot;ds&amp;quot; &lt;/p&gt;&lt;p class=MsoNormal&gt;                AutoGenerateColumns=&amp;quot;False&amp;quot;&amp;gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;                &amp;lt;Columns&amp;gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;                    &amp;lt;asp:BoundFieldDataField=&amp;quot;Type&amp;quot; HeaderText=&amp;quot;Type&amp;quot;SortExpression=&amp;quot;Type&amp;quot; /&amp;gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;                    &amp;lt;asp:BoundFieldDataField=&amp;quot;HendelseTypeID&amp;quot; HeaderText=&amp;quot;HendelseTypeID&amp;quot; &lt;/p&gt;&lt;p class=MsoNormal&gt;                        SortExpression=&amp;quot;HendelseTypeID&amp;quot;Visible=&amp;quot;false&amp;quot; /&amp;gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;                    &amp;lt;asp:BoundFieldDataField=&amp;quot;Totalt&amp;quot; HeaderText=&amp;quot;Totalt&amp;quot; &lt;/p&gt;&lt;p class=MsoNormal&gt;                        SortExpression=&amp;quot;Totalt&amp;quot;/&amp;gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;                &amp;lt;/Columns&amp;gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;            &amp;lt;/asp:GridView&amp;gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;      &lt;/p&gt;&lt;p class=MsoNormal&gt;           &lt;/p&gt;&lt;p class=MsoNormal&gt;    &amp;lt;asp:ObjectDataSource &lt;/p&gt;&lt;p class=MsoNormal&gt;        ID=&amp;quot;ds&amp;quot; runat=&amp;quot;server&amp;quot; &lt;/p&gt;&lt;p class=MsoNormal&gt;        SelectMethod=&amp;quot;GetData&amp;quot;&lt;/p&gt;&lt;p class=MsoNormal&gt;        typename=&amp;quot;RapportHjelper&amp;quot; &amp;gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;        &lt;/p&gt;&lt;p class=MsoNormal&gt;        &amp;lt;SelectParameters&amp;gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;            &amp;lt;asp:ControlParameterControlID=&amp;quot;lblPeriode&amp;quot; DefaultValue=&amp;quot;DateTime.Now.Year&amp;quot; &lt;/p&gt;&lt;p class=MsoNormal&gt;                Name=&amp;quot;År&amp;quot;PropertyName=&amp;quot;Text&amp;quot; Type=&amp;quot;Int32&amp;quot; /&amp;gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;        &amp;lt;/SelectParameters&amp;gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;    &amp;lt;/asp:ObjectDataSource&amp;gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;p style="font-size: 10px;"&gt;&lt;a href='http://posterous.com'&gt;Posted by email&lt;/a&gt; from &lt;a href="http://henri.posterous.com/caspnet-objectdatasource" style="border: none;"&gt;Henris blogg (posterous)&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-1680625908099450547?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/1680625908099450547/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=1680625908099450547' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/1680625908099450547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/1680625908099450547'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/11/caspnet-objectdatasource.html' title='&#xA;c#/Asp.Net: Objectdatasource  '/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-1316624955127439826</id><published>2008-11-12T10:31:00.001+01:00</published><updated>2008-11-12T10:31:51.640+01:00</updated><title type='text'>
Javascript: pause/vent til bruker er ferdig med å skrive før funksjon kalles  </title><content type='html'>&lt;br /&gt;     &lt;div class=Section1&gt;&lt;p class=MsoNormal&gt;Denne venter mens brukeren skriver, og etter en selvbestemtpause (750ms i dette tilfellet) kalles en funksjon:&lt;/p&gt;&lt;p class=MsoNormal&gt;(Brukes f.eks sammen med Ajax for å filtrere mens manskriver osv)&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;Jeg bruker denne slik på en textbox: &lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;lt;input name=&amp;quot;filterAktoernummer&amp;quot;type=&amp;quot;text&amp;quot; id=&amp;quot; filterAktoernummer&amp;quot; onkeyup=&amp;quot;VentOppdater(this);&amp;quot;/&amp;gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;/p&gt;&lt;p class=MsoNormal&gt;    &lt;/p&gt;&lt;p class=MsoNormal&gt;      var count = 0;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;      /* kjører kun oppdatering/spørring når bruker harsluttet å skrive*/ &lt;/p&gt;&lt;p class=MsoNormal&gt;      function VentOppdater(txtbox)&lt;/p&gt;&lt;p class=MsoNormal&gt;      {&lt;/p&gt;&lt;p class=MsoNormal&gt;         count = count+1;&lt;/p&gt;&lt;p class=MsoNormal&gt;         setTimeout(&amp;quot;VentOk(&amp;quot;+count+&amp;quot;,'&amp;quot;+ txtbox.id +&amp;quot;','&amp;quot; + txtbox.value + &amp;quot;')&amp;quot;,750);&lt;/p&gt;&lt;p class=MsoNormal&gt;      }&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;       &lt;/p&gt;&lt;p class=MsoNormal&gt;      function VentOk(currCount,myid,verdi)&lt;/p&gt;&lt;p class=MsoNormal&gt;      {&lt;/p&gt;&lt;p class=MsoNormal&gt;         if(currCount == count)&lt;/p&gt;&lt;p class=MsoNormal&gt;         {&lt;/p&gt;&lt;p class=MsoNormal&gt;            count = 0;&lt;/p&gt;&lt;p class=MsoNormal&gt;            Oppdater(myid,verdi);&lt;/p&gt;&lt;p class=MsoNormal&gt;         }&lt;/p&gt;&lt;p class=MsoNormal&gt;      } &lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;    function Oppdater(id,verdi)&lt;/p&gt;&lt;p class=MsoNormal&gt;    {&lt;/p&gt;&lt;p class=MsoNormal&gt;            /*Her kjøres det filtrering etc som du ønsker skalskje når bruker har sluttet/pauset skrivingen*/&lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;    }&lt;/p&gt;&lt;p class=MsoNormal&gt;    &lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;nbsp;&lt;/p&gt;&lt;p class=MsoNormal&gt;    &lt;/p&gt;&lt;p class=MsoNormal&gt;&amp;lt;/script&amp;gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="font-size: 10px;"&gt;&lt;a href='http://posterous.com'&gt;Posted by email&lt;/a&gt; from &lt;a href="http://henri.posterous.com/javascript-pausevent-til-bruke" style="border: none;"&gt;Henris blogg (posterous)&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-1316624955127439826?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/1316624955127439826/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=1316624955127439826' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/1316624955127439826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/1316624955127439826'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/11/javascript-pausevent-til-bruker-er.html' title='&#xA;Javascript: pause/vent til bruker er ferdig med å skrive før funksjon kalles  '/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-5394431918204664248</id><published>2008-11-05T10:36:00.002+01:00</published><updated>2009-06-05T12:58:23.349+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='generic cookie util serialize deserialize'/><title type='text'>C#: Lagre objekt til cookie</title><content type='html'>&lt;div&gt;&lt;font face=Verdana size=2&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;font face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// util for å serialize /deserialize objekter til cookies&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static class CookieUtils&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;font face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Henter satt cookie som object, returnerer null hvis cookie ikke finnes&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="navn"&amp;gt;&amp;lt;/param&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static T GetCookie&amp;lt;T&amp;gt;(string navn) where T : class, new()&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; StringReader stream;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;font face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&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; {&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;font face=Verdana size=2&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; HttpCookie c = HttpContext.Current.Request.Cookies[navn];&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; if (c == null || string.IsNullOrEmpty(c.Value))&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; return default(T);&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;font face=Verdana size=2&gt;&lt;div&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; string[] verdier = c.Value.Split('|');&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; int n = 0;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&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; T objekt = new T();&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&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; Type type = objekt.GetType();&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; //Type type = objekt.GetType();&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; FieldInfo[] felter = type.GetFields();&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; foreach (FieldInfo feltinf in felter)&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; feltinf.SetValue(objekt, verdier[n++]);&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;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&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; PropertyInfo[] props = type.GetProperties();&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; foreach (PropertyInfo propinf in props)&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; SetProperty(propinf, verdier[n++], objekt);&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;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&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; return objekt;&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; }&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; catch (Exception ex)&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; {&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; throw new BasisException(ex);&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; }&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&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;lt;summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Lager cookie av gjeldende objekt som utløper om 10 timer&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="navn"&amp;gt;&amp;lt;/param&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="objekt"&amp;gt;&amp;lt;/param&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void SetCookie(string navn, object objekt)&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; SetCookie(navn, objekt, DateTime.Now.AddHours(10));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Lager cookie av gjeldende objekt&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="navn"&amp;gt;&amp;lt;/param&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="objekt"&amp;gt;&amp;lt;/param&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="utløper"&amp;gt;&amp;lt;/param&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void SetCookie(string navn, object objekt, DateTime utløper)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&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; try&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; {&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&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; StringBuilder streng = new StringBuilder();&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; Type type = objekt.GetType();&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; FieldInfo[] felter = type.GetFields();&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; foreach (FieldInfo feltinf in felter)&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; if (feltinf != null)&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; {&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object verdi = feltinf.GetValue(objekt);&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; streng.Append(verdi.ToString() + "|");&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&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; }&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;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&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; PropertyInfo[] props = type.GetProperties();&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; foreach (PropertyInfo propinf in props)&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; if (propinf != null)&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; {&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; object verdi = propinf.GetValue(objekt, null);&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; streng.Append(verdi.ToString() + "|");&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; }&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;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&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; HttpCookie c = new HttpCookie(navn, streng.ToString());&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&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; c.Expires = utløper;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&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; if (HttpContext.Current.Request.Cookies[navn] != null)&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; //finnes fra før&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; HttpContext.Current.Response.Cookies.Set(c);&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; else&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; //finnes ikke, lag ny&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; HttpContext.Current.Response.Cookies.Add(c);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&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; catch (Exception ex)&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; {&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; throw new BasisException(ex);&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; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// sletter en satt cookie &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// (resetter verdi og setter utløpsdato tilbake i tid)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="navn"&amp;gt;&amp;lt;/param&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void SlettCookie(string navn)&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; //tømmer verdi og setter utløpt for ett år siden&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; HttpCookie c = new HttpCookie(navn, "");&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; c.Expires = DateTime.Now.AddYears(-1);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (HttpContext.Current.Request.Cookies[navn] != null)&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; //finnes fra før&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; HttpContext.Current.Response.Cookies.Set(c);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Hjelpemetode for å sette en verdi via reflection etc&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;/summary&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="pInfo"&amp;gt;&amp;lt;/param&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="propertyName"&amp;gt;&amp;lt;/param&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="propertyValue"&amp;gt;&amp;lt;/param&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="control"&amp;gt;&amp;lt;/param&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &amp;lt;param name="objectToSetValue"&amp;gt;&amp;lt;/param&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static void SetProperty(PropertyInfo pInfo, string propertyValue, object objectToSetValue)&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; Type pType = pInfo.PropertyType;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (pType == typeof(string))&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; pInfo.SetValue(objectToSetValue, propertyValue, null);&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; else if (pType == typeof(bool))&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; pInfo.SetValue(objectToSetValue, Convert.ToBoolean(propertyValue), null);&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; else if (pType == typeof(int))&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; pInfo.SetValue(objectToSetValue, Convert.ToInt32(propertyValue), null);&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; else&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; throw new NotImplementedException("Objektet har felttype som ikke er implementert enda..");&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;/div&gt;&lt;/font&gt;&lt;div&gt;&lt;font face=Verdana size=2&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;font face=Verdana size=2&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;&lt;p style="font-size: 10px;"&gt;&lt;a href='http://posterous.com'&gt;Posted by email&lt;/a&gt; from &lt;a href="http://henri.posterous.com/c-lagre-objekt-til-cookie" style="border: none;"&gt;Henris blogg (posterous)&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-5394431918204664248?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/5394431918204664248/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=5394431918204664248' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/5394431918204664248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/5394431918204664248'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/11/c-lagre-objekt-til-cookie.html' title='C#: Lagre objekt til cookie'/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-235476780307877369</id><published>2008-11-05T10:09:00.001+01:00</published><updated>2008-11-05T10:09:57.593+01:00</updated><title type='text'>
SQL: Oppdatere en tabell basert på en annen  </title><content type='html'>&lt;br /&gt;&lt;div&gt;&lt;font face=Verdana size=2&gt;&lt;span class=429300209-05112008&gt;Setter Eier for Hendelse lik HendelseEier i tabellen HendelseInformasjon.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face=Verdana size=2&gt;&lt;span class=429300209-05112008&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;font face=Verdana size=2&gt;&lt;span class=429300209-05112008&gt;Merk at at&amp;nbsp;en HendelseInformasjonId i HendelseInformasjon kan inneholde mange relaterte poster i Hendelse.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font&gt;&lt;span class=429300209-05112008&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face=Verdana size=2&gt;&lt;span class=429300209-05112008&gt;Alle disse vil da bli oppdatert.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face=Verdana size=2&gt;&lt;span class=429300209-05112008&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;font face=Verdana size=2&gt;UPDATE&amp;nbsp;&amp;nbsp;&amp;nbsp; Hendelse&lt;br&gt;SET&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Eier =&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SELECT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HendelseEier&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HendelseInformasjon&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Hendelse.HendelseInformasjonId = HendelseInformasjonId))&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face=Verdana size=2&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;font face=Verdana size=2&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span class=429300209-05112008&gt;&lt;font face=Verdana size=2&gt;Struktur:&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=429300209-05112008&gt;&lt;font face=Verdana size=2&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span class=429300209-05112008&gt;&lt;font face=Verdana size=2&gt;&lt;p&gt;&lt;img src="http://posterous.com/getfile/files.posterous.com/henri/iiy2fpWMUlkWaMPPGt3z5C2r2s6S2B4ujVRHCMEHkGfGQ8QLexFOBFLaajXG/Outlook.jpg" width="443" height="364"&gt;&lt;/p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style="font-size: 10px;"&gt;&lt;a href='http://posterous.com'&gt;Posted by email&lt;/a&gt; from &lt;a href="http://henri.posterous.com/sql-oppdatere-en-tabell-basert" style="border: none;"&gt;Henris blogg (posterous)&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-235476780307877369?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/235476780307877369/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=235476780307877369' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/235476780307877369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/235476780307877369'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/11/sql-oppdatere-en-tabell-basert-p-en.html' title='&#xA;SQL: Oppdatere en tabell basert på en annen  '/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-6615782107417611712</id><published>2008-10-30T14:13:00.001+01:00</published><updated>2008-10-30T14:13:53.233+01:00</updated><title type='text'>
SQL: Inserte flere poster samtidig  </title><content type='html'>&lt;br /&gt;&lt;div&gt;&lt;span class=240371113-30102008&gt;&lt;font face=Verdana size=2&gt;Her er en måte å inserte flere records i samme insert:&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=240371113-30102008&gt;&lt;font face=Verdana size=2&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span class=240371113-30102008&gt;&lt;font face=Verdana size=2&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span class=240371113-30102008&gt;&lt;font face=Verdana size=2&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;span class=240371113-30102008&gt;&lt;font face=Verdana size=2&gt;INSERT INTO [Database].[dbo].[StatusType]&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ([StatusId]&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[HendelseTypeId]&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[Status]&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[LogtilKode]&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[Velgbar]&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,[XStatus])&lt;br&gt;SELECT&lt;br&gt;&amp;nbsp;15,1,'',1,0,'STARTSAK'&lt;br&gt;UNION ALL&lt;br&gt;SELECT&lt;br&gt;&amp;nbsp;15,2,'',1,0,'STARTSAK'&lt;br&gt;union all&lt;br&gt;SELECT&lt;br&gt;&amp;nbsp;15,3,'',1,0,'STARTSAK'&lt;br&gt;UNION ALL&lt;br&gt;SELECT&lt;br&gt;&amp;nbsp;15,4,'',1,0,'STARTSAK'&lt;br&gt;UNION ALL&lt;br&gt;SELECT&lt;br&gt;&amp;nbsp;15,5,'',1,0,'STARTSAK'&lt;br&gt;UNION ALL&lt;br&gt;SELECT&lt;br&gt;&amp;nbsp;15,6,'',1,0,'STARTSAK'&lt;br&gt;UNION ALL&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font face=Verdana size=2&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;&lt;span class=240371113-30102008&gt;&lt;font face=Verdana size=2&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp;23,1,'Eierskifte',1,0,'EIERSKIFTE'&lt;br&gt;&amp;nbsp;UNION ALL&lt;br&gt;&amp;nbsp;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp;23,2,'Eierskifte',1,0,'EIERSKIFTE'&lt;br&gt;&amp;nbsp;union all&lt;br&gt;&amp;nbsp;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp;23,3,'Eierskifte',1,0,'EIERSKIFTE'&lt;br&gt;&amp;nbsp;UNION ALL&lt;br&gt;&amp;nbsp;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp;23,4,'Eierskifte',1,0,'EIERSKIFTE'&lt;br&gt;&amp;nbsp;UNION ALL&lt;br&gt;&amp;nbsp;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp;23,5,'Eierskifte',1,0,'EIERSKIFTE'&lt;br&gt;&amp;nbsp;UNION ALL&lt;br&gt;&amp;nbsp;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp;23,6,'Eierskifte',1,0,'EIERSKIFTE'&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;union all&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp;13,1,'Ok/Lest',1,0,'UNDER_ARBEID'&lt;br&gt;&amp;nbsp;UNION ALL&lt;br&gt;&amp;nbsp;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp;13,2,'Ok/Lest',1,0,'UNDER_ARBEID'&lt;br&gt;&amp;nbsp;union all&lt;br&gt;&amp;nbsp;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp;13,3,'Ok/Lest',1,0,'UNDER_ARBEID'&lt;br&gt;&amp;nbsp;UNION ALL&lt;br&gt;&amp;nbsp;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp;13,4,'Ok/Lest',1,0,'UNDER_ARBEID'&lt;br&gt;&amp;nbsp;UNION ALL&lt;br&gt;&amp;nbsp;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp;13,5,'Ok/Lest',1,0,'UNDER_ARBEID'&lt;br&gt;&amp;nbsp;UNION ALL&lt;br&gt;&amp;nbsp;SELECT&lt;br&gt;&amp;nbsp;&amp;nbsp;13,6,'Ok/Lest',1,0,'UNDER_ARBEID'&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;GO&lt;/div&gt;&lt;/font&gt;&lt;/span&gt;&lt;p style="font-size: 10px;"&gt;&lt;a href='http://posterous.com'&gt;Posted by email&lt;/a&gt; from &lt;a href="http://henri.posterous.com/sql-inserte-flere-poster-samti" style="border: none;"&gt;Henris blogg (posterous)&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3255530456565426673-6615782107417611712?l=merkesdal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://merkesdal.blogspot.com/feeds/6615782107417611712/comments/default' title='Legg inn kommentarer'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3255530456565426673&amp;postID=6615782107417611712' title='0 Kommentarer'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/6615782107417611712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3255530456565426673/posts/default/6615782107417611712'/><link rel='alternate' type='text/html' href='http://merkesdal.blogspot.com/2008/10/sql-inserte-flere-poster-samtidig.html' title='&#xA;SQL: Inserte flere poster samtidig  '/><author><name>Henri</name><uri>http://www.blogger.com/profile/05838969798884534120</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3255530456565426673.post-811658619948926135</id><published>2008-10-29T16:11:00.001+01:00</published><updated>2008-10-29T21:59:18.970+01:00</updated><title type='text'>Generell funksjon for å eksportere en gridview til Excel</title><content type='html'>&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;Store deler av denne koden er hentet fra denne bloggen: &lt;a href="http://mattberseth.com/blog/2007/04/export_gridview_to_excel_1.html"&gt;http://mattberseth.com/blog/2007/04/export_gridview_to_excel_1.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;Eneste improve er at klasser, styles osv blir beholdt + muligheten for å ta med et stylesheet ved exporten.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;Og her kommer koden:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;using System;&lt;br /&gt;using System.IO;&lt;br /&gt;using System.Web;&lt;br /&gt;using System.Web.UI;&lt;br /&gt;using System.Web.UI.WebControls;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;/// Util for å exportere Gridview til Excel&lt;br /&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;public class GridViewExportUtil&lt;br /&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;    /// &amp;lt;summary&amp;gt;&lt;br /&gt;   /// Exporter Gridview til Excel&lt;br /&gt;   /// &amp;lt;/summary&amp;gt;&lt;br /&gt;   /// &amp;lt;param name="fileName"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;   /// &amp;lt;param name="gv"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;   public static void Export(string fileName, GridView gv)&lt;br /&gt;   {&lt;br /&gt;       Export(fileName, gv, "");&lt;br /&gt;   }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;    /// &amp;lt;summary&amp;gt;&lt;br /&gt;   /// Exporterer GridView til Excel&lt;br /&gt;   /// &amp;lt;/summary&amp;gt;&lt;br /&gt;   /// &amp;lt;param name="fileName"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;   /// &amp;lt;param name="gv"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;   /// &amp;lt;param name="styleSheet"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;   public static void Export(string fileName, GridView gv, string styleSheet)&lt;br /&gt;   {&lt;br /&gt;       HttpContext.Current.Response.Clear();&lt;br /&gt;       HttpContext.Current.Response.AddHeader(&lt;br /&gt;           "content-disposition", string.Format("attachment; filename={0}", fileName));&lt;br /&gt;       HttpContext.Current.Response.ContentType = "application/ms-excel";&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;        using (StringWriter sw = new StringWriter())&lt;br /&gt;       {&lt;br /&gt;           using (HtmlTextWriter htw = new HtmlTextWriter(sw))&lt;br /&gt;           {&lt;br /&gt;               Table tbl=new Table();&lt;br /&gt;               TableRow rad=new TableRow();&lt;br /&gt;               tbl.Controls.Add(rad);&lt;br /&gt;               TableCell cell=new TableCell();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;                if (gv.HeaderRow != null)&lt;br /&gt;               {&lt;br /&gt;                   GridViewExportUtil.PrepareControlForExport(gv.HeaderRow);&lt;br /&gt;               }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;              &lt;br /&gt;               foreach (GridViewRow row in gv.Rows)&lt;br /&gt;               {&lt;br /&gt;                   GridViewExportUtil.PrepareControlForExport(row);&lt;br /&gt;               }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;              &lt;br /&gt;               if (gv.FooterRow != null)&lt;br /&gt;               {&lt;br /&gt;                   GridViewExportUtil.PrepareControlForExport(gv.FooterRow);&lt;br /&gt;               }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;                cell.Controls.Add(gv);&lt;br /&gt;               rad.Controls.Add(cell);&lt;br /&gt;               tbl.Controls.Add(rad);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;                tbl.RenderControl(htw);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;                // hvis stylesheet er spesifisert ta det med&lt;br /&gt;               if (!String.IsNullOrEmpty(styleSheet))&lt;br /&gt;               {&lt;br /&gt;                   try&lt;br /&gt;                   {&lt;br /&gt;                       StreamReader sr = new StreamReader(HttpContext.Current.Server.MapPath(styleSheet));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;                        string s = sr.ReadToEnd();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;                        sr.Close();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;                        HttpContext.Current.Response.Write("&amp;lt;HEAD&amp;gt;&amp;lt;STYLE&amp;gt;");&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;                        HttpContext.Current.Response.Write(s.ToString());&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;                        HttpContext.Current.Response.Write("&amp;lt;/STYLE&amp;gt;&amp;lt;/HEAD&amp;gt;");&lt;br /&gt;                   }&lt;br /&gt;                   catch { }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;                }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;                //  skriv htmlwriter til response&lt;br /&gt;               HttpContext.Current.Response.Write(sw.ToString());&lt;br /&gt;               HttpContext.Current.Response.End();&lt;br /&gt;           }&lt;br /&gt;       }&lt;br /&gt;   }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;    /// &amp;lt;summary&amp;gt;&lt;br /&gt;   /// Erstatt kontroller med text&lt;br /&gt;   /// &amp;lt;/summary&amp;gt;&lt;br /&gt;   /// &amp;lt;param name="control"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;   private static void PrepareControlForExport(Control control)&lt;br /&gt;   {&lt;br /&gt;       for (int i = 0; i &amp;lt; control.Controls.Count; i++)&lt;br /&gt;       {&lt;br /&gt;           Control current = control.Controls[i];&lt;br /&gt;           if (current is LinkButton)&lt;br /&gt;           {&lt;br /&gt;               control.Controls.Remove(current);&lt;br /&gt;               control.Controls.AddAt(i, new LiteralControl((current as LinkButton).Text));&lt;br /&gt;           }&lt;br /&gt;           else if (current is ImageButton)&lt;br /&gt;           {&lt;br /&gt;               control.Controls.Remove(current);&lt;br /&gt;               control.Controls.AddAt(i, new LiteralControl((current as ImageButton).AlternateText));&lt;br /&gt;           }&lt;br /&gt;           else if (current is HyperLink)&lt;br /&gt;           {&lt;br /&gt;               control.Controls.Remove(current);&lt;br /&gt;               control.Controls.AddAt(i, new LiteralControl((current as HyperLink).Text));&lt;br /&gt;           }&lt;br /&gt;           else if (current is DropDownList)&lt;br /&gt;           {&lt;br /&gt;               control.Controls.Remove(current);&lt;br /&gt;               control.Controls.AddAt(i, new LiteralControl((current as DropDownList).SelectedItem.Text));&lt;br /&gt;           }&lt;br /&gt;           else if (current is CheckBox)&lt;br /&gt;           {&lt;br /&gt;               control.Controls.Remove(current);&lt;br /&gt;               control.Controls.AddAt(i, new LiteralControl((current as CheckBox).Checked ? "Ja" : "Nei"));&lt;br /&gt;           }&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;            if (current.HasControls())&lt;br /&gt;           {&lt;br /&gt;               GridViewExportUtil.PrepareControlForExport(current);&lt;br /&gt;           }&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span class="631190715-29102008"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"
