Active Record and Fake In Memory Repositories in Test Driven Development

Introduction Here is a simple example of how to use fake repositories in test driven development. By using Fake Repositories generated from a binary file we are able to quickly use ‘real data’ in all our tests. It is a Visual Studio 2008 solution and uses the Castle project’s Active Record as an ORM. Step 1 – Our Core Model The model will consist of 3 classes - SuperHero e.g. Superman - SupeHeroId - RealName - SuperHeroName - Power e.g. Flight - PowerId - PowerName - SuperHeroPower e.g. Superman’s flight - SuperHeroPowerId - Comments (e.g. Faster than a speeding bullet) Each of our classes implements an Interface called IIdRetriever ...

August 2008 · Smart Tech

SQL Tricks

Delete all tables EXEC sp_MSforeachtable @command1 = “DROP TABLE ?” Grant execute permissions to all stored procedures to a specific user `CREATE PROC grantexecutepermission( @UserName NVARCHAR(250)) AS DECLARE curse CURSOR FOR SELECT name FROM sysobjects WHERE TYPE = 'P'` OPEN curse DECLARE @proc VARCHAR(100) DECLARE @stmt NVARCHAR(200) FETCH NEXT FROM curse INTO @proc WHILE @@FETCH\_STATUS \= 0 BEGIN SET @stmt \= 'grant execute on ' + @proc + ' to ' + @UserName EXEC sp\_executesql @STMT PRINT @stmt FETCH NEXT FROM curse INTO @proc END CLOSE curse DEALLOCATE curse ...

July 2008 · Smart Tech

Impersonation in Microsoft Dot Net

Usage string domain = "ExampleDomain"; string userName = "ExampleUserName"; string password = "ExamplePassword"; using (Impersonation impersonation = new Impersonation(domain, userName, password)) { // impersonation occuring in here Console.WriteLine(System.Security.Principal.WindowsIdentity.GetCurrent().Name); } Implementation

July 2008 · Smart Tech

Winforms export datatable to excel without COM+

Simple export of a datatable to excel without using COM+ Excel will ask if you want to open this as ‘An XML List’ SaveFileDialog fileDialog = new SaveFileDialog(); fileDialog.Filter = "Excel files (\*.xls)|\*.xls"; fileDialog.FileName = "My\_File\_Name.xls"; fileDialog.ShowDialog(); DataTable dt = GetFilteredDataTable(); using (FileStream fs = (FileStream)fileDialog.OpenFile()) using (StreamWriter sw = new StreamWriter(fs)) { sw.Write("<?xml version=\\"1.0\\" standalone=\\"yes\\"?>"); dt.WriteXml(sw, XmlWriteMode.IgnoreSchema); sw.Close(); fs.Close(); }

July 2008 · Smart Tech

Converting ints to char

Convert.ToChar(34).ToString() Converting the corresponding number to an character 33 = ! 34 = " 35 = # 36 = $ 37 = % 38 = & 39 = ’ 40 = ( 41 = ) 42 = * 43 = + 44 = , 45 = - 46 = . 47 = / 48 = 0 49 = 1 50 = 2 51 = 3 52 = 4 53 = 5 54 = 6 55 = 7 56 = 8 57 = 9 58 = : 59 = ; 60 = < 61 = = 62 = > 63 = ? 64 = @ 65 = A 66 = B 67 = C 68 = D 69 = E 70 = F 71 = G 72 = H 73 = I 74 = J 75 = K 76 = L 77 = M 78 = N 79 = O 80 = P 81 = Q 82 = R 83 = S 84 = T 85 = U 86 = V 87 = W 88 = X 89 = Y 90 = Z 91 = [ 92 = \ 93 = ] 94 = ^ 95 = _ 96 = ` 97 = a 98 = b 99 = c 100 = d 101 = e 102 = f 103 = g 104 = h 105 = i 106 = j 107 = k 108 = l 109 = m 110 = n 111 = o 112 = p 113 = q 114 = r 115 = s 116 = t 117 = u 118 = v 119 = w 120 = x 121 = y 122 = z 123 = { 124 = | 125 = } 126 = ~

June 2008 · Smart Tech

Hi

Hello! Here I attempt to write down random stuff I have learnt. Feel free to reach me at chris at mckelt.com My favourite quote So live your life that the fear of death can never enter your heart. Trouble no one about their religion; respect others in their view, and demand that they respect yours. Love your life, perfect your life, beautify all things in your life. Seek to make your life long and its purpose in the service of your people. Prepare a noble death song for the day when you go over the great divide. Always give a word or a sign of salute when meeting or passing a friend, even a stranger, when in a lonely place. Show respect to all people and grovel to none. ...

June 2008 · Smart Tech