Crud operation in3 tier using c#

.................................................................
web.config
.................................................................

<configuration>
  <appSettings>
    <add key="DefaultConnection" value="constr"/>
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="none"/>
  </appSettings>
    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
    </system.web>
  <connectionStrings>
    <add name="constr" connectionString="data source=SRINU;database=employee;user id=sa;password=welcome;" providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>

.................................................................
Datalogic layer          Employeedll.cs
.................................................................

using System.Data.SqlClient;
using System.Data;
using System.Configuration;

//get employee details

 public static DataTable GetEmployeeDetails()
        {
            DataTable dtEmployeeDetails = new DataTable();
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString());
            SqlDataAdapter da = new SqlDataAdapter("select * from employee", con);
            da.Fill(dtEmployeeDetails);
            return dtEmployeeDetails;
        }

//delete employee

        public static int DeleteEmployeeDetails(int EmployeeNumber)
        {          
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString());
            con.Open();
            SqlCommand cmd = new SqlCommand("delete from employee where eno=" + EmployeeNumber + "", con);
            int EmployeeCount = cmd.ExecuteNonQuery();
            return EmployeeCount;
        }

//update employee details

        public static int UpdateEmployeeDetails(int EmployeeNumber,string strEmployeename,double salary)
        {
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString());
            con.Open();
            SqlCommand cmd = new SqlCommand("update employee set ename='"+strEmployeename+"' ,salary="+salary+" where eno="+EmployeeNumber+"", con);
            int EmployeeCount = cmd.ExecuteNonQuery();
            return EmployeeCount;
        }
//insert employee details

        public static int InsertEmployeeDetails(int EmployeeNumber, string strEmployeename, double salary)
        {
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString());
            con.Open();
            SqlCommand cmd = new SqlCommand("insert into employee (ename,salary,eno) values ('" + strEmployeename + "'," + salary + "," + EmployeeNumber + ")", con);
            int EmployeeCount = cmd.ExecuteNonQuery();
            return EmployeeCount;
        }



.................................................................
Businesslogiclayer      Employeebll.cs
.................................................................

using System.Data;
using CRUD_DLL;


//get employee details

  public static DataTable GetEmployeeDetails()
      {
          return EmployeeDetailsProvider.GetEmployeeDetails();
      }

//delete employee

      public static int DeleteEmployeeDetails(int EmployeeNumber)
      {
          return EmployeeDetailsProvider.DeleteEmployeeDetails(EmployeeNumber);
      }

//update employee details


      public static int UpdateEmployeeDetails(int EmployeeNumber, string strEmployeename, double salary)
      {
          return EmployeeDetailsProvider.UpdateEmployeeDetails(EmployeeNumber,strEmployeename,salary);
      }

//insert employee details

      public static int InsertEmployeeDetails(int EmployeeNumber, string strEmployeename, double salary)
      {
          return EmployeeDetailsProvider.InsertEmployeeDetails(EmployeeNumber, strEmployeename, salary);
      }

.................................................................
PrsentationLayer default.aspx.cs
.................................................................

using System.Data;
using CRUD_BLL;
using CRUD_DLL;



 protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    DisplayGridData();
                }
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this.Page,this.GetType(),"script","alert('An exception Accure in GetData From Database')",true);
            }
        }
        public  void DisplayGridData()
        {
            DataTable dtemployeedetails = EmployeeDetailsBll.GetEmployeeDetails();
            if (dtemployeedetails.Rows.Count > 0)
            {
                GridView1.DataSource = dtemployeedetails;
                GridView1.DataBind();
            }
        }
        protected void Create_Click(object sender, EventArgs e)
        {
            int i = EmployeeDetailsBll.InsertEmployeeDetails(int.Parse(TextBox1.Text), TextBox2.Text, double.Parse(TextBox3.Text));
            if (i > 0)
            {
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "script", "alert('One new recod is Created')", true);
                DisplayGridData();
                TextBox1.Text = TextBox2.Text = TextBox3.Text = string.Empty;
            }
        }

        protected void Update_Click(object sender, EventArgs e)
        {
            int i = EmployeeDetailsBll.UpdateEmployeeDetails(int.Parse(TextBox1.Text),TextBox2.Text,double.Parse(TextBox3.Text));
            if (i > 0)
            {
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "script", "alert('Updation Complited')", true);
                DisplayGridData();
                TextBox1.Text = TextBox2.Text = TextBox3.Text = string.Empty;
            }
        }


        protected void lbtnupdate_Click(object sender, EventArgs e)
        {
            GridViewRow row = (GridViewRow)(sender as LinkButton).NamingContainer;
            TextBox1.Text = ((Label)row.FindControl("Label1")).Text;
            TextBox2.Text = ((Label)row.FindControl("Label2")).Text;
            TextBox3.Text = ((Label)row.FindControl("Label3")).Text;          
        }
        protected void lbtnDelete_Click(object sender, EventArgs e)
        {
            GridViewRow row = (GridViewRow)(sender as LinkButton).NamingContainer;
            string strEmployeenumber = ((Label)row.FindControl("Label1")).Text;
            if (strEmployeenumber != string.Empty)
            {
                int dtemployeedetails = EmployeeDetailsBll.DeleteEmployeeDetails(int.Parse(strEmployeenumber));
                if (dtemployeedetails > 0)
                {
                    ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "script", "alert('Deletion Complited')", true);
                    DisplayGridData();
                }
            }
        }


.................................................................
Prsentationlayer   default.aspx
.................................................................

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        .auto-style1 {
            width: 100%;
        }

        .auto-style2 {
            text-align: center;
            color: #FF6600;
            font-size: xx-large;
        }
    </style>
</head>
<body>

    <form id="form1" runat="server">
        <asp:ScriptManager ID="scp" runat="server"></asp:ScriptManager>
        <asp:UpdatePanel ID="udp" runat="server">
            <ContentTemplate>
                <table class="auto-style1">
                    <tr>
                        <td class="auto-style2" colspan="2"><strong>Employee Details</strong></td>
                    </tr>
                    <tr>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                    </tr>
                    <tr>
                        <td>
                            <asp:Label ID="Label1" runat="server" Text="Employee Number "></asp:Label>
                        </td>
                        <td>
                            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td>&nbsp;</td>
                        <td>
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBox1" ForeColor="Red" ErrorMessage="Please Select Emp Number" ValidationGroup="master"></asp:RequiredFieldValidator></td>
                    </tr>
                    <tr>
                        <td>
                            <asp:Label ID="Label2" runat="server" Text="Employee Name "></asp:Label>
                        </td>
                        <td>
                            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td>&nbsp;</td>
                        <td>
                            <asp:RequiredFieldValidator ID="rfv" runat="server" ControlToValidate="TextBox2" ForeColor="Red" ErrorMessage="Please Select EmpName" ValidationGroup="master"></asp:RequiredFieldValidator></td>
                    </tr>
                    <tr>
                        <td>
                            <asp:Label ID="Label3" runat="server" Text="Salary "></asp:Label>
                        </td>
                        <td>
                            <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
                        </td>
                    </tr>
                    <tr>
                        <td>&nbsp;</td>
                        <td>
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox3" ForeColor="Red" ErrorMessage="Please Select Salary" ValidationGroup="master"></asp:RequiredFieldValidator></td>

                    </tr>
                    <tr>
                        <td colspan="2">
                            <asp:Button ID="Button1" runat="server" Text="Insert" ValidationGroup="master" OnClick="Button1_Click" />
                            <asp:Button ID="Button2" runat="server" Text="Update" ValidationGroup="master" OnClick="Button2_Click" />
                        </td>
                    </tr>
                </table>
                <div>

                    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
                        <Columns>
                            <asp:TemplateField HeaderText="EmpNo">
                                <ItemTemplate>
                                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("eno") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Emp Name">
                                <ItemTemplate>
                                    <asp:Label ID="Label2" runat="server" Text='<%# Bind("ename") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Salary">
                                <ItemTemplate>
                                    <asp:Label ID="Label3" runat="server" Text='<%# Bind("salary") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Actions">
                                <ItemTemplate>
                                    <asp:LinkButton ID="lbtnupdate" runat="server" Text="Update" OnClick="lbtnupdate_Click"></asp:LinkButton>
                                    <asp:LinkButton ID="lbtnDelete" runat="server" Text="Delete" OnClick="lbtnDelete_Click"></asp:LinkButton>
                                </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                    </asp:GridView>
                </div>
            </ContentTemplate>
        </asp:UpdatePanel>
    </form>
</body>
</html>
















DALC4NET
.................................................................
Datalogic layer       .............         com mon.cs
.................................................................


using DALC4NET;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Configuration;



        public static DataTable SelectSql(string strStatement)
        {
            using (DBHelper objDBHelper = new DBHelper())
            {            
                DataTable table = new DataTable();
                var transaction = objDBHelper.BeginTransaction();
                try
                {

                    table = objDBHelper.ExecuteDataTable(strStatement);
                    objDBHelper.CommitTransaction(transaction);
                }
                catch (Exception err)
                {
                    objDBHelper.RollbackTransaction(transaction);
                }

                return table;
            }
        }




        public static DataTable SelectSqlSP(string commandText, DBParameterCollection paramCollection, CommandType commandType)
        {
            using (DBHelper objDBHelper = new DBHelper())
            {
                DataTable table = new DataTable();
                var transaction = objDBHelper.BeginTransaction();
                try
                {

                    table = objDBHelper.ExecuteDataTable(commandText, paramCollection, commandType);
                    objDBHelper.CommitTransaction(transaction);
                }
                catch (Exception err)
                {
                    objDBHelper.RollbackTransaction(transaction);
                }

                return table;
            }
        }



        public static int UpdateStatement(string strStatement)
        {
            using (DBHelper objDBHelper = new DBHelper())
            {
               
                var transaction = objDBHelper.BeginTransaction();

                int i = 0;
                try
                {
                    i = objDBHelper.ExecuteNonQuery(strStatement);
                    objDBHelper.CommitTransaction(transaction);
                }
                catch (Exception err)
                {
                    objDBHelper.RollbackTransaction(transaction);
                }

                return i;
            }

        }
       
    }
}
.................................................................
Datalogic layer ............       Employeedll.cs
.................................................................

using System.Data.SqlClient;
using System.Data;
using System.Configuration;

//get employee details

  public static DataTable GetCompanyCode()
        {
            string strcompanycodequery = "select paramtype,paramvalue from  tvl_ConfigureParams WHERE PARAMNAME='CompanyList'";
            return GenericStatements.SelectSql(strcompanycodequery);
        }




.................................................................
Business logic layer  ............. Employeebll.cs
.................................................................

using System.Data;
using CRUD_DLL;


//get employee details

  public static DataTable GetEmployeeDetails()
      {
          return EmployeeDetailsProvider.GetEmployeeDetails();
      }

.................................................................
Prsentation layer .............   default.aspx.cs
.................................................................

using System.Data;
using CRUD_BLL;
using CRUD_DLL;



 protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    DisplayGridData();
                }
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this.Page,this.GetType(),"script","alert('An exception Accure in GetData From Database')",true);
            }
        }
        public  void DisplayGridData()
        {
            DataTable dtemployeedetails = EmployeeDetailsBll.GetEmployeeDetails();
            if (dtemployeedetails.Rows.Count > 0)
            {
                GridView1.DataSource = dtemployeedetails;
                GridView1.DataBind();
            }
       





Comments

Popular posts from this blog

How to write Pure java script Program?