Tuesday, January 27, 2015

Encrypt and Decrypt String in C#

In this article i provided the simple Encrypt and Decrypt methods


         Method to encrypt string value
 
        public static string EncryptToString(string value)
        {
            const string encryptionKey = "MAKV2SPBNI99212";
            byte[] clearBytes = Encoding.Unicode.GetBytes(value);
            using (Aes encryptor = Aes.Create())
            {
                Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(encryptionKey, new byte[] { 0x49,                   0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76 });
                encryptor.Key = pdb.GetBytes(32);
                encryptor.IV = pdb.GetBytes(16);
                using (MemoryStream ms = new MemoryStream())
                {
                    using (CryptoStream cs = new CryptoStream(ms, encryptor.CreateEncryptor(),                                     CryptoStreamMode.Write))
                    {
                        cs.Write(clearBytes, 0, clearBytes.Length); cs.Close();
                    }
                    value = Convert.ToBase64String(ms.ToArray());
                }
            }
            return value;
        }


        Method to decrypt the sting
     
     
        public static string DecryptToString(string value)
        {
            if (!string.IsNullOrEmpty(value))
            {
                const string encryptionKey = "MAKV2SPBNI99212";
                byte[] cipherBytes = Convert.FromBase64String(value);
                using (Aes encryptor = Aes.Create())
                {
                    Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(encryptionKey,
                        new byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64,                                 0x65, 0x76 });
                    encryptor.Key = pdb.GetBytes(32);
                    encryptor.IV = pdb.GetBytes(16);
                    using (MemoryStream ms = new MemoryStream())
                    {
                        using (
                            CryptoStream cs = new CryptoStream(ms, encryptor.CreateDecryptor(),                                               CryptoStreamMode.Write))
                        {
                            cs.Write(cipherBytes, 0, cipherBytes.Length);
                            cs.Close();
                        }
                        value = Encoding.Unicode.GetString(ms.ToArray());
                    }
                }
            }
            else
                value = string.Empty;
            return value;
        }

List of job searching websites

List of job searching websites 

Thursday, November 13, 2014

Announcing Open Source of .NET Core Framework, .NET Core Distribution for Linux/OSX, and Free Visual Studio Community Edition

Announcing Open Source of .NET Core Framework, .NET Core Distribution for Linux/OSX, and Free Visual Studio Community Edition


http://weblogs.asp.net/scottgu/announcing-open-source-of-net-core-framework-net-core-distribution-for-linux-osx-and-free-visual-studio-community-edition


Monday, March 3, 2014

Help file builder in C Sharp projects using Sandcastle help file builder



Sandcastle help file builder is a nice tool to generate a help file our projects. In this blog I will explain, how to simply generate the help files for projects

STEP 1:
Create a new C# class library project and add a simple method called save() and before the method we put  three slash(///), It will automatically generate a XML comments like
 /// <summary>
        ///
        /// </summary>
        /// <param name="id"> </param>
        /// <param name="name"> </param>
        public void Save(int id, string name)
        {
           
        }
We will add comment for this method like below
 /// <summary>
        /// this method is used to save the user information’s
        /// </summary>
        /// <param name="id">this props holds id of the user</param>
        /// <param name="name">this props holds name of the user</param>
        public void Save(int id, string name)
        {
           
        }

STEP 2:
Go to solution explorer -> right click-> click properties ->click the build tab
And check the XML documentation file check box shown into below image(click the image shown in popup for clear visible)


Finally rebuild the solution it will automatically generate a XML file
STEP 3:
Install the sandcastle Help File Builder and Tools. Go to the below link download the tools, install in to your system http://shfb.codeplex.com/  and open the tool
STEP 4:
Go to file menu -> click the new project ->give the file path and click the save button
The screen look like (click the image shown in popup for clear visible)



Fill the help file name, presentation style, copyright URL, feedback email address and etc…
Look at the right upper corer  we look at the menu project explorer,  right click the project explorer and add project  reference( which project we want generate helper file)  and documentation resource  (refer step2).
Finally we go documentation menu and build the projects, it will generate the Help file like (click the image shown in popup for clear visible)


Awesome help file will be ready ….. Thanks






Wednesday, May 29, 2013

Simple Membership MVC4


Simple Membership

The Asp.Net MVC 4 introduced the many new features one of the main features is SimpleMembership. SimpleMembership is also support for Outh. SimpleMembership has been designed as an advanced of previous ASP.NET Role and Membership provider system.
Whenever we create a new MVC 4 project, Simple Membership is automatically implemented and the related views, models and controllers are also automatically generated. Let‘s we look at this bellow image.








WebSecurity


Simple membership provides the new class called WebSecurity. MSDN definition (“Provides security and authentication features for ASP.NET Web Pages applications, including the ability to create user accounts, log users in and out, reset or change passwords, and perform related tasks.”-MSDN).
In the class have SimpleMembership related methods are there, I would explain some basic methods and how to use in our projects.

1) Login

WebSecurity.Login(UserName,Password, persistCookie:RememberMe)

The login method to check the given user is authorized person or not, it has three parameters Username-The User Name, Password-The user password, and persistCookie- It is (Optional) true to specify that the authentication token in the cookie should be persisted beyond the current session; otherwise false. The default is false.

1) LogOut

WebSecurity.Logout();

The logout method is used to clears all authentication cookies from the cookie cache in other words to disconnect the user

3) Create Account

WebSecurity.CreateAccount(userName, password, requireConfirmationToken = false);
WebSecurity. CreateUserAndAccount(userName, password, propertyValues = null, requireConfirmationToken = false);
If our application wants more detail about the user we will use CreateUserAndAccount method otherwise we use Create Account
The bellow image shows the all other methods of web security




Roles  

SimpleMembership provides another one class named as Roles. . MSDN definition” Manages user membership in roles for authorization checking in an ASP.NET application. This class cannot be inherited.”
In the class have Role based methods are there, I would explain basic methods and how to use in our projects.

Roles.CreateRole("RolesName");
 The method has been used to add a new role the database. It has single parameter named as rolename.
2)DeleteRole
Roles.DeleteRole("rolename");
The method has been used to Removes a role from the data source. . It has single parameter named as rolename.
The bellow image shows the all other methods of websecurity roles


Database structure


Simple membership uses the entity framework model first approach whether when we execute the application it would be automatically create the database and tables. Let we see the tables
1)      UserProfile-It is a extension table for users.
2)      webpages_Membership-User security related data’s are their like “password , password salt etc”.
3)      webpages_OAuthMembership- Outh related information’s  stored in this table.
4)      webpages_Roles- The roles are stored like(“Admin, Editor etc..”).
5)      webpages_UsersInRoles- which user have which role that informations are stored this table.


Conclusion

In this article I simply explained how to use SimpleMebership, it’s only for beginners



Tuesday, May 14, 2013

How to call a stored procedure through MVC 4 and Entity Framework 5.0


Create database


  •         Just we have to create a simple database named as student
  •         We also create simple table named as student
  •        Write a simple stored procedure

USE [Student ]
GO
/****** Object:  StoredProcedure [dbo].[GetStudents]    Script Date: 05/14/2013 12:56:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Procedure [dbo].[GetStudents]

As
Begin
   select * from dbo.StudentDetails
End

Add Edmx

As we know how to add edmx file. In the second step of adding edmx file (choose your database objects and settings). Let we choose the stored procedure and functions checkbox and expand the checkbox and select which stored procedure you want. Then proceed the other steps finally we get an edmx files and related context classes.



As we know about EDM (Entity Data Model) However, just remember the Storage model, It is your database design model which includes tables, views, stored procedures and their relationships and keys.The Storage model stored procedure configuration like below 

public partial class GetStudents_Result
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Class { get; set; }
    }

  public virtual ObjectResult<GetStudents_Result> GetStudents()
        {
            return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<GetStudents_Result>("GetStudents");
        }


Then we access the stored procedure in controller. So we create a object for our entity class 
            
            StudentEntities entity = new StudentEntities();

            var sd = entity.GetStudents().ToList();
            return View(sd);

Conclusion 

If any one have any doubts and corrections plese comment me  Thanks
Abiruban@ Niventh





Monday, May 6, 2013

Email Tracking using ASP.NET


We have many more ways to advertise a business or a product. But one of main way is Email through advertisement.
However, how many users opened their advertisement emails or newsletter emails. So we needs the opened email counts. In this article describes, how can we count the opened email?
   public void SendMail()
   {
       string toEmail = "abiice.1987@gmail.com";
       System.Net.Mail.MailMessage eMail = new System.Net.Mail.MailMessage();
       eMail.From = new System.Net.Mail.MailAddress("test@test.com");
       eMail.To.Add(toEmail);
       eMail.Subject = "test track";
       eMail.IsBodyHtml = true;
eMail.Body = "test body<IMG height=1       src='http://localhost:12207/EmailTrack/emailtrack.aspx?emailsent='"+toEmail+"'   width=1>";
       System.Net.Mail.SmtpClient SMTP = new System.Net.Mail.SmtpClient();
       SMTP.Send(eMail);
       eMail.Dispose();

    }

The above code describes the, how to send an email through Asp.Net. We needs Track the email so we could append an image inside the email body and we add a query string value to the SRC attribute. The query string helps to identify the user.
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Page.IsPostBack == false)
        {
            if (Request.Params["emailsent"] != null)
            {
            }
        }
    }
Then user open an email the request comes to web server and we get a querystring values and maintain the counts using database


Friday, May 3, 2013

ASP.NET MVC routing


MVC routing

In ASP.NET MVC one of the main parts is routing. The routing is helps to map the particular view and particular controller.
When we create an ASP.NET MVC application routing is preconfigured in web.config and Global.asax

public static void RegisterRoutes(RouteCollection routes)
{
         routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

         routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Account", action = "Login", id =     UrlParameter.Optional }
            );
}

protected void Application_Start()
{
      RegisterRoutes(RouteTable.Routes);
}

The above code shows preconfigured routing on Global.asax.
When we run the our an ASP.NET MVC application the request comes to "Application_Start()"

 The method inside we called the routing configuration method so at the same time RegisterRoutes method also fired and registered the routing configurations.
RegisterRoutes method has some default routing tables, the default routing table has some segments, and the segments have arguments.
First we look at the first segment "name". It is the name of the routing table.
Second segment "URL" have some arguments, the first argument mention the controller name second argument mention the action method and the third argument mention the query string .
The third segment "defaults" provide the some default values. Occasionally we don't have provided any controller, action and id that time it would be took the given default values.

More detail about routing  read the scottgu blog