Monday, 24 July 2017

DropdownList in MVC Strongly Typed

View

 <div class="editor-label">
            Country
        </div>
        <div class="editor-field">
         
            @Html.DropDownListFor(model=>model.CountryId, new SelectList((ViewBag.Countries) as SelectList, "Value", "Text"), "Select")
        </div>


-----------------------------------
Controller
  CountryDA countryda = new CountryDA ();
 ViewBag.Countries =new SelectList(countryda.ReadAllCountry(), "CountryId", "CountryName", _country.CountryId);
     
-------------------------------
DATA Access

  public List<Country> ReadAllCountry()
        {
            List<Country> country = new List<Country>();
            try
            {
                using (SqlConnection con = new SqlConnection(connectionstring))
                {
                    SqlCommand com = new SqlCommand("Usp_ReadAllCountry", con);
                    com.CommandType = CommandType.StoredProcedure;
                    con.Open();
                    SqlDataReader dr = com.ExecuteReader();

                    while (dr.Read())
                    {
                        country.Add(new Country { CountryId = Convert.ToInt32(dr["CountryId"]), CountryName = Convert.ToString(dr["CountryName"]) });
                    }
                }
            }
            catch
            {
                throw;
            }
            return country;
        }

---------------------------------------
Model
   public class Country
    {
        public int CountryId { get; set; }
        public string CountryName { get; set; }
    }


       

Sunday, 16 July 2017

Bind data in MVC using Datatables.net Jquery Plugin

DataTables is a plug-in for the jQuery Javascript library. It is a highly flexible tool, based upon the foundations of progressive enhancement, and will add advanced interaction controls to any HTML table. DataTables is a table enhancing library which adds features such as paging, ordering, search, scrolling and many more to a static HTML page. A comprehensive API is also available that can be used to manipulate the table.
 Reference taken : http://csharp-video-tutorials.blogspot.com/2015/08/jquery-datatables-get-data-from.html

In Controller Action Methods.

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcApplication3.Models;
using System.Web.Script.Serialization;
using Newtonsoft.Json;

namespace MvcApplication3.Controllers
{
    public class homeController : Controller
    {
        public ActionResult Index()
        {
            string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
            List<Employee> employees = new List<Employee>();
            using (SqlConnection con = new SqlConnection(cs))
            {
                SqlCommand cmd = new SqlCommand("spGetEmployees", con);
                cmd.CommandType = CommandType.StoredProcedure;
                con.Open();
                SqlDataReader rdr = cmd.ExecuteReader();
                while (rdr.Read())
                {
                    Employee employee = new Employee();
                    employee.Id = Convert.ToInt32(rdr["Id"]);
                    employee.FirstName = rdr["FirstName"].ToString();
                    employee.LastName = rdr["LastName"].ToString();
                    employee.Gender = rdr["Gender"].ToString();
                    employee.JobTitle = rdr["JobTitle"].ToString();
                    employee.WebSite = rdr["WebSite"].ToString();
                    employee.Salary = Convert.ToInt32(rdr["Salary"]);
                    employee.HireDate = Convert.ToDateTime(rdr["HireDate"]);
                    employees.Add(employee);
                }
            }
            JavaScriptSerializer js = new JavaScriptSerializer();
            string JSONString = js.Serialize(employees);

            ViewBag.datast = JSONString;
            return View();
        }  
    }
}

In Index.cshtml view

@{
    Layout = null;
}

<link rel="stylesheet" type="text/css"
    href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.6/semantic.min.css" />
<link rel="stylesheet" type="text/css"
    href="https://cdn.datatables.net/1.10.15/css/dataTables.semanticui.min.css" />



<script src="//code.jquery.com/jquery-1.12.4.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.6/semantic.min.js"></script>
<script src="https://cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.15/js/dataTables.semanticui.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.3.1/js/dataTables.buttons.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.3.1/js/buttons.semanticui.min.js"></script>
<script src="https://cdn.datatables.net/select/1.2.2/js/dataTables.select.min.js"></script>
<script src="../../extensions/Editor/js/dataTables.editor.min.js"></script>
<script src="../../extensions/Editor/js/editor.semanticui.min.js"></script>

<script type="text/javascript">
    $(document).ready(function () {
       
        var dataset =@Html.Raw((String)ViewBag.datast)

        $('#datatable').dataTable({
            edit: true,
            data: dataset,
        columns: [
                    { 'data': 'Id' },
                    { 'data': 'FirstName' },
                    { 'data': 'LastName' },
                    { 'data': 'Gender' },
                    { 'data': 'JobTitle' },
                    {
                        'data': 'WebSite',
                        'sortable': false,
                        'searchable': false,
                        'render': function (webSite) {
                            if (!webSite) {
                                return 'N/A';
                            }
                            else {
                                return '<a href=' + webSite + '>'
                                    + webSite.substr(0, 10) + '...' + '</a>';
                            }
                        }
                    },
                    {
                        'data': 'Salary',
                        'render': function (salary) {
                            return "$" + salary;
                        }
                    },
                    {
                        'data': 'HireDate',
                        'render': function (jsonDate) {
                            var date = new Date(parseInt(jsonDate.substr(6)));
                            var month = date.getMonth() + 1;
                            return month + "/" + date.getDate() + "/" + date.getFullYear();
                        }
                    }
        ]


    });
    });
</script>


<div style="width: 900px; border: 1px solid black; padding: 3px">
    <table id="datatable" class="ui celled table" cellspacing="0" width="100%">
        <thead>
            <tr>
                <th>Id</th>
                <th>First Name</th>
                <th>Last Name</th>
                <th>Gender</th>
                <th>Job Title</th>
                <th>Web Site</th>
                <th>Salary</th>
                <th>Hire Date</th>
            </tr>
        </thead>
    </table>
</div>

Copy to Clipboard

Copying text to the clipboard shouldn't be hard. A very simple example is as given below : 

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js" ></script>
<script type="text/javascript">
    $(document).ready(function () {
        $("#btnCopy").click(function () {
            $("#txtData").select();
            document.execCommand("Copy");
        });
    })
</script>


<input type="text" id="txtData" />
<input type="button" value="Copy" id="btnCopy" />

Saturday, 15 July 2017

Validate textbox using textbox id as parameter.


Validate textbox using textbox id as parameter.    
========================================================================
     <script type="text/javascript">
        function checkTextField(field) {
            var _txtSearch = document.getElementById(field).value;
            if (_txtSearch == "") {
                alert("Please enter your search text.");
                document.getElementById(field).focus();
                return false;
            }
        }
    </script>


  <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="images/searchbar.jpg" OnClientClick="return checkTextField('txt_search')"
    OnClick="ImageButton1_Click" Style="width: 34px" />

========================================================================

      <script type="text/javascript">

        function Validation() {

            var mobrange = /^[0-9]{10}$/;
            var exp = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;

            var name = document.getElementById('<%=txt_name.ClientID%>').value;
            var email = document.getElementById('<%= txt_email.ClientID %>').value;
            var contact = document.getElementById('<%=txt_phone.ClientID%>').value;
            if (name == "") {
                alert("Please Enter Your Name.");
                document.getElementById('<%=txt_name.ClientID%>').focus();
                return false;
            }
            if (email == "") {
                alert('Email field can not be blank');
                document.getElementById("<%=txt_email.ClientID%>").focus();
                return false;
            }
            if (exp.test(email) == false) {
                alert('Email should be in proper format (eg: xyx@gmail.com)');
                document.getElementById("<%=txt_email.ClientID%>").focus();
                return false;
            }
            if (contact == "") {
                alert("Please Enter Your Mobile Number.");
                document.getElementById("<%=txt_phone.ClientID%>").focus();
                return false;
            }
            if (mobrange.test(contact) == false) {
                alert("Mobile number is not valid.");
                document.getElementById("<%=txt_phone.ClientID%>").focus();
                return false;
            }
            if (contact.length > 10 || contact.length < 10) {
                alert("Mobile number is not valid.");
                document.getElementById("<%=txt_phone.ClientID%>").focus();
                return false;
            }
        }
       
    </script>

Custom Validator for Checkbox inside gridview checked or not

Alert using Custom Validator for Checkbox inside gridview checked or not 

 <script type="text/javascript">  
function Validate(sender, args) {
            var gridView = document.getElementById("<%=grid_ECL.ClientID %>");
            var checkBoxes = gridView.getElementsByTagName("input");
            for (var i = 0; i < checkBoxes.length; i++) {
                if (checkBoxes[i].type == "checkbox" && checkBoxes[i].checked) {
                    args.IsValid = true;
                    return;
                }
            }
            args.IsValid = false;
        }          
   </script>
========================================================================
   <asp:CustomValidator ID="CustomValidator1" runat="server" ValidationGroup="print" ErrorMessage="Please select at least one record." ClientValidationFunction="Validate" ForeColor="Red"></asp:CustomValidator>

========================================================================

 <asp:Button ID="btnA4" runat="server" Text="Print A4" OnClick="btnA4_Click" ValidationGroup="print" />

Url Rewritting using Web Configuration example

<?xml version="1.0"?>

<configuration>
<configSections>
<section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter"/>
</configSections>
<connectionStrings>
    <add name="connectionstring" connectionString="Data Source=193.14.210.32,2879; Initial Catalog=Sampledb; User ID=Sample; Password=Sample123"/>
    <add name="connectionstring1" connectionString="Data Source=Shushant-PC\SA;Initial Catalog=Sampledb;Integrated Security=True"/>  
</connectionStrings>

<system.web>
<urlMappings enabled="true">
<add url="~/home" mappedUrl="~/Default.aspx"/>
      <add url="~/about-us" mappedUrl="~/AboutUs.aspx"/>
      <add url="~/our-mission" mappedUrl="~/OurMission.aspx"/>
      <add url="~/events" mappedUrl="~/Events.aspx"/>
      <add url="~/contact-us" mappedUrl="~/ContactUs.aspx"/>
      <add url="~/privacy-policy" mappedUrl="~/PrivacyPolicy.aspx"/>
      <add url="~/sitemap" mappedUrl="~/Sitemap.aspx"/>
</urlMappings>

<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
</assemblies>
</compilation>
<httpRuntime requestValidationMode="2.0" maxRequestLength="2097151"/>
<pages buffer="true" validateRequest="false" enableViewStateMac="false" viewStateEncryptionMode="Never" />
<authentication mode="Forms"/>

<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/" />
</providers>
</membership>

<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
</providers>
</profile>

<roleManager enabled="false">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>

<sessionState mode="InProc" timeout="300"></sessionState>
<customErrors mode="Off"></customErrors>
<!--<customErrors mode="On"  defaultRedirect="Error404Page.aspx" ></customErrors>-->
<httpModules>
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
</httpModules>
</system.web>

<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRewriter"  type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" />
</modules>
<rewrite>
<rules>

<clear/>
<rule name="staticos" patternSyntax="Wildcard" stopProcessing="true">
<match url="*.js"/>
<conditions logicalGrouping="MatchAll" trackAllCaptures="false"/>
<action type="None"/>
</rule>
<rule name="txt resources" stopProcessing="true">
<match url="(.+)\.txt$"/>
<conditions logicalGrouping="MatchAll" trackAllCaptures="false"/>
</rule>
<rule name="aspx resources" stopProcessing="true">
<match url="(.+)\.aspx$"/>
<conditions logicalGrouping="MatchAll" trackAllCaptures="false"/>
</rule>
<rule name="html resources" stopProcessing="true">
<match url="(.+)\.html$"/>
<conditions logicalGrouping="MatchAll" trackAllCaptures="false"/>
</rule>
<rule name="xml resources" stopProcessing="true">
<match url="(.+)\.xml$"/>
<conditions logicalGrouping="MatchAll" trackAllCaptures="false"/>
</rule>
<rule name="asp resources" stopProcessing="true">
<match url="(.+)\.asp$"/>
<conditions logicalGrouping="MatchAll" trackAllCaptures="false"/>
</rule>
<rule name="htm resources" stopProcessing="true">
<match url="(.+)\.htm$"/>
<conditions logicalGrouping="MatchAll" trackAllCaptures="false"/>
</rule>
<rule name="jpg resources" stopProcessing="true">
<match url="(.+)\.jpg$"/>
<conditions logicalGrouping="MatchAll" trackAllCaptures="false"/>
</rule>
<rule name="png resources" stopProcessing="true">
<match url="(.+)\.png$"/>
<conditions logicalGrouping="MatchAll" trackAllCaptures="false"/>
</rule>
<rule name="axd resources" stopProcessing="true">
<match url="(.+)\.axd$"/>
<conditions logicalGrouping="MatchAll" trackAllCaptures="false"/>
</rule>
<rule name="~ home ~" stopProcessing="true">
<match url=".*execute.xml"/>
<action type="None"/>
</rule>
<rule name="Pages" stopProcessing="true">
<match url="^([^/]+)$"/>
<conditions logicalGrouping="MatchAll" trackAllCaptures="false"/>
<action type="Rewrite" url="{R:1}.aspx" appendQueryString="true"/>
</rule>

<rule name="Redirect goindia.in to www" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTP_HOST}" pattern="goindia.in" />
</conditions>
<action type="Redirect" url="http://www.goindia.in/{R:0}" />
</rule>
</rules>
</rewrite>

</system.webServer>
<rewriter>
<rewrite url="^(/.+(\.gif|\.png|\.jpg|\.ico|\.xml|\.pdf|\.axd|\.css|\.js)(\?.+)?)$" to="$1" processing="stop" />

    <rewrite url="~/event/(.+)/(.+)" to="~/EventDescription.aspx?name=$1&amp;event_id=$2"/>
    <rewrite url="~/product-subcategory/(.+)/(.+)/(.+)/(.+)" to="~/product_lisiting_category.aspx?category_name=$1&amp;subcategory_name=$2&amp;category_id=$3&amp;subcategory_id=$4"/>
    <rewrite url="~/product-description/(.+)/(.+)/(.+)/(.+)/(.+)/(.+)" to="~/product_lisiting_category_description.aspx?category_name=$1&amp;subcategory_name=$2&amp;product_name=$3&amp;product_id=$4&amp;subcategory_id=$5&amp;category_id=$6"/>
    <rewrite url="~/blog-description/(.+)/(.+)/(.+)/(.+)" to="~/blog_description.aspx?Title=$1&amp;blog_category_name=$2&amp;blog_category_id=$3&amp;BlogID=$4" />
    <rewrite url="~/blog-listing/(.+)/(.+)" to="~/blog_listing.aspx?blog_category_name=$1&amp;blog_category_id=$2" />

  </rewriter>
</configuration>
----------------------------------------------------------------------------------------------------------------
Connection String



Url Rewritting without parameters 



Url Rewritting with parameters




Example of get Url :

In design page of Listing, listing is shown in using Listview as given below : 

<table width="984px" border="0" cellspacing="0" cellpadding="0" align="center">
                                <tr>
                                    <td width="984px" style="padding-left: 10px;">
                                        <table width="984px" border="0" cellspacing="0" cellpadding="0" align="center">
                                            <tr>
                                                <td>
                                                    <asp:ListView ID="ListView_Event" runat="server" GroupItemCount="4">
                                                        <EmptyDataTemplate>
                                                            <tr>
                                                                <td align="center" style="color: Red" width="100%" class="border2">
                                                                    Sorry, No events available. It will be updated soon.
                                                                </td>
                                                            </tr>
                                                        </EmptyDataTemplate>
                                                        <GroupTemplate>
                                                            <tr>
                                                                <td>
                                                                    <div id="itemPlaceholderContainer" runat="server">
                                                                        <div id="itemPlaceholder" runat="server">
                                                                        </div>
                                                                    </div>
                                                                </td>
                                                            </tr>
                                                        </GroupTemplate>
                                                        <ItemTemplate>
                                                            <td width="221">
                                                                <table width="221" border="0" align="center" cellpadding="0" cellspacing="0">
                                                                    <tr>
                                                                        <td>
                                                                            &nbsp;
                                                                        </td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td class="image_gallery " align="center" valign="middle">
                                                                            <a href='<%# Page.ResolveUrl(WriteUrl(Eval("Name").ToString(),Eval("EventID").ToString())) %>'>
                                                                                <img src='<%# Page.ResolveUrl(Eval("EventImagePath").ToString()) %>' alt='<%# Eval("Event") %>' width="200"
                                                                                    height="130" border="0" /></a>
                                                                        </td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="8px">
                                                                        </td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td class="gallery_title" align="center">
                                                                            <a href="gallery_images.html">
                                                                                <%# Eval("Name") %></a>
                                                                        </td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td height="5px">
                                                                        </td>
                                                                    </tr>
                                                                    <tr>
                                                                        <td class="photo">
                                                                           <%# Convert.ToDateTime(Eval("Date")).ToString("dd-MMMM-yyyy") %>
                                                                        </td>
                                                                    </tr>
                                                                </table>
                                                            </td>
                                                        </ItemTemplate>
                                                        <ItemSeparatorTemplate>
                                                            <td width="20">
                                                                &nbsp;
                                                            </td>
                                                        </ItemSeparatorTemplate>
                                                        <LayoutTemplate>
                                                            <table id="Table2" runat="server" width="984px">
                                                                <tr id="Tr1" runat="server">
                                                                    <td id="Td3" runat="server">
                                                                        <table id="groupPlaceholderContainer" runat="server" border="0" style="">
                                                                            <tr id="groupPlaceholder" runat="server">
                                                                            </tr>
                                                                        </table>
                                                                    </td>
                                                                </tr>
                                                            </table>
                                                        </LayoutTemplate>
                                                        <GroupSeparatorTemplate>
                                                            <tr>
                                                                <td colspan="5">
                                                                    &nbsp;
                                                                </td>
                                                            </tr>
                                                        </GroupSeparatorTemplate>
                                                    </asp:ListView>
                                                </td>
                                            </tr>
                                        </table>
                                    </td>
                                </tr>
                            </table>


In C# Code Bind the Listview and get Url using function GetUrl or WriteUrl : 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text.RegularExpressions;

public partial class Events : System.Web.UI.Page
{
    Class_Event _objEvent = new Class_Event();
    protected static int count;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            bindEvent();
        }
    }
    public void bindEvent()
    {
        _objEvent.GetAllEvent();
        if (_objEvent.OperationStatus)
        {
            count = _objEvent.EventTable.Rows.Count;
            ListView_Event.DataSource = _objEvent.EventTable;
            ListView_Event.DataBind();
        }
    }
    protected string WriteUrl(string Name, string EventId)
    {
        Name = Regex.Replace(Name.ToLower(), "[^a-zA-Z0-9_]+", "-");
        return "~/event/" + Name + "/" + EventId;
    }

}

Now In description page of Listing we can have the following code in order get data using query string from the sample url like :
http://www.goindia.in/event/event_quest/3

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class EventDescription : System.Web.UI.Page
{
    Class_Event _objEvent = new Class_Event();
    protected static string _event = string.Empty;
    protected static string _name = string.Empty;
    protected static string _address = string.Empty;
    protected static string _date = string.Empty;
    protected static string _organization = string.Empty;
    protected static string _eventdescription = string.Empty;
    protected static int count;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            getData();
        }
    }
    protected void getData()
    {
        try
        {
            // event_id parameter is defined in web.config file above and now used here to get data.
            _objEvent.EventId = Convert.ToInt32(Request.QueryString["event_id"]);
            _objEvent.GetEventFrontById();
            if (_objEvent.OperationStatus)
            {
                _event=_objEvent.EventTable.Rows[0]["Event"].ToString();
                _name = _objEvent.EventTable.Rows[0]["Name"].ToString();
                _address = _objEvent.EventTable.Rows[0]["Address"].ToString();
                _date = _objEvent.EventTable.Rows[0]["Date"].ToString();
                _organization = _objEvent.EventTable.Rows[0]["Organization"].ToString();
                _eventdescription = _objEvent.EventTable.Rows[0]["Description"].ToString();
             
                Page.Title = _event + ", " + _name +", GoIndia";
            }
        }
        catch(Exception ex)
        {
     
        }
    }

}

Event Management class example

Event Management class example : A very simple and straight forward class to performs various operation of event management using C#.

Create Class_SQLHelper.cs

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

/// <summary>
/// Summary description for Class_SQLHelper
/// </summary>
public class Class_SQLHelper
{
    private SqlCommand cmd = new SqlCommand();
    private SqlConnection conn;
    private bool bool_Status;
    private string str_Error;

    public Class_SQLHelper()
    {
        conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connectionstring"].ToString());
    }

    protected void OpenConnection()
    {
        try
        {
            if (conn.State != ConnectionState.Open)
                conn.Open();
        }
        catch (Exception ex)
        {
            OperationStatus = false;
            ErrorMessage = "Error : " + ex.Message;
        }
    }

    protected void CloseConnection()
    {
        try
        {
            if (conn.State != ConnectionState.Closed)
                conn.Close();
        }
        catch (Exception ex)
        {
            OperationStatus = false;
            ErrorMessage = "Error : " + ex.Message;
        }
    }

    public SqlConnection Connection
    {
        get { return conn; }
    }

    public SqlCommand Command
    {
        get { return cmd; }
        set { cmd = value; }
    }

    public bool OperationStatus
    {
        get { return bool_Status; }
        set { bool_Status = value; }
    }

    public string ErrorMessage
    {
        get { return str_Error; }
        set { str_Error = value; }
    }
}

Create Class_Event.cs and inherit this class with Class_SQLHelper.cs.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;

/// <summary>
/// Summary description for Class_Event
/// </summary>
public class Class_Event : Class_SQLHelper
{
    public int EventId { get; set; }
    public int EventImageId { get; set; }
    public string Event { get; set; }
    public string Name { get; set; }
    public string Address { get; set; }
    public DateTime Date { get; set; }
    public string Organization { get; set; }
    public string Description { get; set; }
    public Boolean Status { get; set; }
    public string EventImagePath { get; set; }
    public string SearchText { get; set; }
    public Boolean IsCoverImage { get; set; }
    public DataTable EventTable { get; set; }

public Class_Event()
{
//
// TODO: Add constructor logic here
//
}

    public void InsertEvent()
    {
        try
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_InsertEvent";
            cmd.Parameters.AddWithValue("@Event", Event);
            cmd.Parameters.AddWithValue("@Name", Name);
            cmd.Parameters.AddWithValue("@Address", Address);
            cmd.Parameters.AddWithValue("@Date", Date);
            cmd.Parameters.AddWithValue("@Organization", Organization);
            cmd.Parameters.AddWithValue("@Description", Description);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            OpenConnection();
            EventId = Convert.ToInt32(cmd.ExecuteScalar());
            if (EventId > 0)
            {
                OperationStatus = true;
            }
            else
            {
                OperationStatus = false;
                ErrorMessage = "Error : Some error found please try again.";
            }
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void InsertEventImages()
    {
        try
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_InsertEventImages";
            cmd.Parameters.AddWithValue("@EventID", EventId);
            cmd.Parameters.AddWithValue("@EventImagePath", EventImagePath);
            cmd.Parameters.AddWithValue("@IsCoverImage", IsCoverImage);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            OpenConnection();
            EventId = Convert.ToInt32(cmd.ExecuteScalar());
            if (EventId < 1)
            {
                OperationStatus = false;
                ErrorMessage = "Error : Some error found please try again.";
            }
            else
            {
                OperationStatus = true;
            }
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }
 
    public void GetEvent()
    {
        try
        {
            SqlDataAdapter ad = new SqlDataAdapter();
            DataTable Sqldatatable = new DataTable();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_GetEvent";
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            ad.SelectCommand = cmd;
            OpenConnection();
            ad.Fill(Sqldatatable);
            EventTable = Sqldatatable;
            OperationStatus = true;
            CloseConnection();
            Sqldatatable.Dispose();
            cmd.Dispose();
            ad.Dispose();
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void GetAllEvents()
    {
        try
        {
            SqlDataAdapter ad = new SqlDataAdapter();
            DataTable Sqldatatable = new DataTable();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_GetAllEvents";
            cmd.Parameters.AddWithValue("@SearchText", SearchText);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            ad.SelectCommand = cmd;
            OpenConnection();
            ad.Fill(Sqldatatable);
            EventTable = Sqldatatable;
            OperationStatus = true;
            CloseConnection();
            Sqldatatable.Dispose();
            cmd.Dispose();
            ad.Dispose();
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void GetAllEventFront()
    {
        try
        {
            SqlDataAdapter ad = new SqlDataAdapter();
            DataTable Sqldatatable = new DataTable();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_GetAllEventFront";
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            ad.SelectCommand = cmd;
            OpenConnection();
            ad.Fill(Sqldatatable);
            EventTable = Sqldatatable;
            OperationStatus = true;
            CloseConnection();
            Sqldatatable.Dispose();
            cmd.Dispose();
            ad.Dispose();
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void GetTop1EventFront()
    {
        try
        {
            SqlDataAdapter ad = new SqlDataAdapter();
            DataTable Sqldatatable = new DataTable();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_GetTop1EventFront";
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            ad.SelectCommand = cmd;
            OpenConnection();
            ad.Fill(Sqldatatable);
            EventTable = Sqldatatable;
            OperationStatus = true;
            CloseConnection();
            Sqldatatable.Dispose();
            cmd.Dispose();
            ad.Dispose();
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void GetEventFrontById()
    {
        try
        {
            SqlDataAdapter ad = new SqlDataAdapter();
            DataTable Sqldatatable = new DataTable();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_GetEventFrontById";
            cmd.Parameters.AddWithValue("@EventId", EventId);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            ad.SelectCommand = cmd;
            OpenConnection();
            ad.Fill(Sqldatatable);
            EventTable = Sqldatatable;
            OperationStatus = true;
            CloseConnection();
            Sqldatatable.Dispose();
            cmd.Dispose();
            ad.Dispose();
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void DeleteEventByID()
    {
        try
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "DeleteEventByID";
            cmd.Parameters.AddWithValue("@EventId", EventId);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            OpenConnection();
            EventId = Convert.ToInt32(cmd.ExecuteScalar());
            if (EventId == -1)
            {
                OperationStatus = false;
                ErrorMessage = "Error : Event does not Exist.";
            }
            else
            {
                OperationStatus = true;
            }
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void UpdateEventStatus()
    {
        try
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_UpdateEventStatusByID";
            cmd.Parameters.AddWithValue("@EventId", EventId);
            cmd.Parameters.AddWithValue("@Status", Status);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            OpenConnection();
            cmd.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void GetEventByID()
    {
        try
        {
            SqlDataAdapter ad = new SqlDataAdapter();
            DataTable Sqldatatable = new DataTable();

            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_GetEventByID";
            cmd.Parameters.AddWithValue("@EventId", EventId);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            ad.SelectCommand = cmd;
            OpenConnection();
            ad.Fill(Sqldatatable);
            EventTable = Sqldatatable;
            OperationStatus = true;
            CloseConnection();
            Sqldatatable.Dispose();
            cmd.Dispose();
            ad.Dispose();

        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void UpdateEventByID()
    {
        try
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_UpdateEventById";
            cmd.Parameters.AddWithValue("@EventId", EventId);
            cmd.Parameters.AddWithValue("@Event", Event);
            cmd.Parameters.AddWithValue("@Name", Name);
            cmd.Parameters.AddWithValue("@Address", Address);
            cmd.Parameters.AddWithValue("@Date", Date);
            cmd.Parameters.AddWithValue("@Organization", Organization);
            cmd.Parameters.AddWithValue("@Description", Description);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            OpenConnection();
            EventId = Convert.ToInt32(cmd.ExecuteScalar());
            if (EventId == -1)
            {
                OperationStatus = false;
                ErrorMessage = "Error : Some error found please try again.";
            }
            else
            {
                OperationStatus = true;
            }
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void GetEventImageByID()
    {
        try
        {
            SqlDataAdapter ad = new SqlDataAdapter();
            DataTable Sqldatatable = new DataTable();

            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_GetEventImageByID";
            cmd.Parameters.AddWithValue("@EventId", EventId);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            ad.SelectCommand = cmd;
            OpenConnection();
            ad.Fill(Sqldatatable);
            EventTable = Sqldatatable;
            OperationStatus = true;
            CloseConnection();
            Sqldatatable.Dispose();
            cmd.Dispose();
            ad.Dispose();
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void GetAllEventImageByEventID()
    {
        try
        {
            SqlDataAdapter ad = new SqlDataAdapter();
            DataTable Sqldatatable = new DataTable();

            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_GetAllEventImageByID";
            cmd.Parameters.AddWithValue("@EventId", EventId);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            ad.SelectCommand = cmd;
            OpenConnection();
            ad.Fill(Sqldatatable);
            EventTable = Sqldatatable;
            OperationStatus = true;
            CloseConnection();
            Sqldatatable.Dispose();
            cmd.Dispose();
            ad.Dispose();
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void Insert_IsCoverEventImg()
    {
        try
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_Insert_IsCoverEventImg";
            cmd.Parameters.AddWithValue("@EventImageID", EventImageId);
            cmd.Parameters.AddWithValue("@IsCoverImage", IsCoverImage);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            OpenConnection();
            EventImageId = Convert.ToInt32(cmd.ExecuteScalar());
            if (EventImageId == -1)
            {
                OperationStatus = false;
                ErrorMessage = "Event Image does not Exist.";
            }
            else
            {
                OperationStatus = true;
            }
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void UpdateEventImageStatusByID()
    {
        try
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_UpdateEventImageStatusByID";
            cmd.Parameters.AddWithValue("@EventImageID", EventImageId);
            cmd.Parameters.AddWithValue("@Status", Status);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            OpenConnection();
            cmd.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void GetEventImageByImageID()
    {
        try
        {
            SqlDataAdapter ad = new SqlDataAdapter();
            DataTable Sqldatatable = new DataTable();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_GetEventByImageID";
            cmd.Parameters.AddWithValue("@EventImageID", EventImageId);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            ad.SelectCommand = cmd;
            OpenConnection();
            ad.Fill(Sqldatatable);
            EventTable = Sqldatatable;
            OperationStatus = true;
            CloseConnection();
            Sqldatatable.Dispose();
            cmd.Dispose();
            ad.Dispose();
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void UpdateEventImageByImageID()
    {
        try
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_UpdateEventImageByImageID";
            cmd.Parameters.AddWithValue("@EventID", EventId);
            cmd.Parameters.AddWithValue("@EventImageID", EventImageId);
            cmd.Parameters.AddWithValue("@EventImagePath", EventImagePath);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            OpenConnection();
            EventImageId = Convert.ToInt32(cmd.ExecuteScalar());
            if (EventImageId == -1)
            {
                OperationStatus = false;
                ErrorMessage = "Error : Image does not exist.";
            }
            else
            {
                OperationStatus = true;
            }
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void DeleteEventImageByImageID()
    {
        try
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_DeleteEventImageByID";
            cmd.Parameters.AddWithValue("@EventImageID", EventImageId);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            OpenConnection();
            EventImageId = Convert.ToInt32(cmd.ExecuteScalar());
            if (EventImageId == -1)
            {
                OperationStatus = false;
                ErrorMessage = "Error : Image does not Exist.";
            }
            else
            {
                OperationStatus = true;
            }
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }

    public void GetMaxEventImageID()
    {
        try
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "USP_GetMaxEventImageId";
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Connection = Connection;
            OpenConnection();
            EventImageId = Convert.ToInt32(cmd.ExecuteScalar());
            OperationStatus = true;
            CloseConnection();
            cmd.Dispose();
        }
        catch (Exception ex)
        {
            ErrorMessage = "Error : " + ex.Message;
            OperationStatus = false;
        }
        finally
        {
            CloseConnection();
        }
    }
}