Next step of programming

Just another WordPress.com weblog

Archive for September 12th, 2008

Linq in C# – Relations

with one comment

Following is the sample which shows how can you use relations in the LINQ for query and get the data out of various objects


class CustomerOrders
{
public IEnumerable GetCustomerOrders()
{
Customer[] customers = {
new Customer{ CustomerID =1, CustomerName = "Pratap Singh"},
new Customer{ CustomerID =2, CustomerName = "Sikandar"},
new Customer{ CustomerID =3, CustomerName = "Ram Parsad Patnaik"}
};

Order[] orders = {
new Order{ CustomerID = 1, OrderID = 1 , OrderDate = Convert.ToDateTime("10/Apr/2004")},
new Order{ CustomerID = 1, OrderID = 2 , OrderDate = Convert.ToDateTime("3/Jan/2005")},
new Order{ CustomerID = 3, OrderID = 1 , OrderDate = Convert.ToDateTime("23/Mar/2006")},
new Order{ CustomerID = 2, OrderID = 1 , OrderDate = Convert.ToDateTime("14/Nov/2005")},
new Order{ CustomerID = 3, OrderID = 2 , OrderDate = Convert.ToDateTime("19/Dec/2008")}
};

var Query = from clist in customers
join oList in orders
on clist.CustomerID equals oList.CustomerID
select clist;

return Query;
}

}

Here in sample look at the join part of the LINQ join oList in orders on clist.CustomerID equals oList.CustomerID. In smiliar way you can create various joins and create a relational model in LINQ

Written by A.Sethi

September 12, 2008 at 12:18 pm

Posted in LINQ

Tagged with , , , ,

RSA Encryption in C# using System.Security.Cryptography Part 2

with 2 comments

This time we will perform RSA Encryption(Asymmetric encryption) with the help of the RSACryptoServiceProvider Class. Now its key length depends upon the Cryptographic Provider you have. For MS Base Cryptographic Provider you can have key length from 384 to 512 bits in increment of 8 bits where as if you have installed MS Enhanced Cryptographic Provider then you can have key of 384 to 16384 bits in increment of 8 bits.


using System;
using System.Security.Cryptography;
using System.Text;

class CryptRSA    
{

static void main()
{
UnicodeEncoding bytConvertor = new UnicodeEncoding();
byte[] plainData = bytConvertor.GetBytes("Sample data");
RSACryptoServiceProvider RSAServiceProvider = new RSACryptoServiceProvider();

byte[] enData = Encrypt(plainData, RSAServiceProvider.ExportParameters(false));
Console.WriteLine("Encrypted Output: {0}", bytConvertor.GetString(enData));

byte[] deData = Decrypt(enData, RSAServiceProvider.ExportParameters(true));
Console.WriteLine("Decrypted Output: {0}", bytConvertor.GetString(deData));
}

static private byte[] Encrypt(byte[] DataToEncrypt, RSAParameters keyInfo)
{
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
RSA.ImportParameters(keyInfo);
return RSA.Encrypt(DataToEncrypt, false);
}

static private byte[] Decrypt(byte[] DataToDecrypt, RSAParameters keyInfo)
{
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
RSA.ImportParameters(keyInfo);
return RSA.Decrypt(DataToDecrypt, false);
}
}

Written by A.Sethi

September 12, 2008 at 7:28 am