Crud operation using Dalc4Net

.................................................................
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       .............         GenericsqlStatements.cs
.................................................................
/////////////////////////////////////////////////
             Insert Query Building
//////////////////////////////////////////////////
 public static string SqlInsert(string table, Dictionary<string, object> values)
        {
            var equals = new List<string>();
            var parameters = new List<SqlParameter>();
            StringBuilder sql = new StringBuilder("INSERT INTO " + table + " (");
            StringBuilder sqlvalues = new StringBuilder("VALUES (");
            int i = 0;
            foreach (var item in values)
            {

                sql.Append(item.Key);
                if (item.Value.ToString() == string.Empty)
                {
                    sqlvalues.Append("'");
                    sqlvalues.Append("Empty");
                    sqlvalues.Append("'");
                }
                else
                {
                    if (item.Value.ToString().Trim().Contains("GetDate()"))
                    {
                        sqlvalues.Append(item.Value);
                        //equals.Add(string.Format("{0}={1}", item.Key, item.Value));
                    }

                    else if (IsInteger(item.Value.ToString().Trim()))
                    {
                        sqlvalues.Append(item.Value);
                    }
                    else
                    {
                        sqlvalues.Append("'");
                        sqlvalues.Append(item.Value);
                        sqlvalues.Append("'");
                    }
                }

                if (i != values.Count - 1)
                {
                    sql.Append(", ");
                    sqlvalues.Append(", ");
                }
                i++;
            }
            sql.Append(") ");
            sql.Append(sqlvalues.ToString());
            sql.Append(")");
            return sql.ToString();

        }

        public static bool IsInteger(this string s)
        {
            if (String.IsNullOrEmpty(s))
                return false;

            int i;
            return Int32.TryParse(s, out i);
        }
}

/////////////////////////////////////////////////
             Update Query Building
//////////////////////////////////////////////////
        public static string SqlUpdate(string table, Dictionary<string, object> values, string where)
        {
            var equals = new List<string>();
            var parameters = new List<SqlParameter>();

            var i = 0;

            foreach (var item in values)
            {
                //var pn = "@sp" + i.ToString();
                if (item.Value.ToString().Trim().Contains("GetDate()"))
                {
                    equals.Add(string.Format("{0}={1}", item.Key, item.Value));
                }
                else
                {


                    int Value;
                    bool isNumeric = int.TryParse(item.Value.ToString(), out Value);
                    if (isNumeric)
                    {
                        equals.Add(string.Format("{0}={1}", item.Key, Value));
                    }
                    else
                    {
                        equals.Add(string.Format("{0}='{1}'", item.Key, item.Value));
                    }
                }

                // parameters.Add(new SqlParameter(pn, item.Value));

                i++;
            }

            string command = string.Format("update {0} set {1} where {2}", table, string.Join(", ", equals.ToArray()), where);

            return command;
            // var sqlcommand = new SqlCommand(command);

            //  sqlcommand.Parameters.AddRange(parameters.ToArray());

            // sqlcommand.ExecuteNonQuery();
        }

.................................................................
Datalogic layer       .............         GenericStatements.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 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;
            }

        }
       
    }
}

  public static int InsertStatement(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;
            }

        }

  public static int DeleteStatement(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;
            }

        }

        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;
            }
        }



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

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

//get employee details

  public static DataTable Select()
        {
            string strcompanycodequery = "select paramtype,paramvalue from  tvl_ConfigureParams WHERE PARAMNAME='CompanyList'";
            return GenericStatements.SelectSql(strcompanycodequery);
        }
 public static DataTable Delete()
        {
            string strcompanycodequery = "select paramtype,paramvalue from  tvl_ConfigureParams WHERE PARAMNAME='CompanyList'";
            return GenericStatements.DeleteStatement(strcompanycodequery);
        }
 public static int Insert(string strTableName, Dictionary<string, object> Values)
        {
            string strBusinessMasterInsertQuery = GenerateSQLStatements.SqlInsert(strTableName, Values);
            return GenericStatements.InsertStatement(strBusinessMasterInsertQuery);
        }
 public static int Update(string strTable, Dictionary<string, object> values, string strWhereCondition)
        {
            string strUpdateQuery = GenerateSQLStatements.SqlUpdate(strTable, values, strWhereCondition);
            return GenericStatements.UpdateStatement(strUpdateQuery);
        }
 public static DataTable select Sp(string commandText, DBParameterCollection paramCollection, CommandType commandType)
        {
            return GenericStatements.SelectSqlSP(commandText, paramCollection, commandType);
        }


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

using System.Data;
using CRUD_DLL;


//get employee details

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

public static DataTable delete()
      {
          return EmployeeDetailsProvider.GetEmployeeDetails();
      }
 public static int Update(string strTableName, Dictionary<string, object> values, string strWhereCondition)
        {
            return ClientTradeConfirmationDLL.UpdateclientTradeDetails(strTableName, values, strWhereCondition);
        }
        public static int Insert(string strTableName, Dictionary<string, object> values)
        {
            return ClientTradeConfirmationDLL.InsertclientTradeDetails(strTableName, values);
        }
public static DataTable selectsqlsp(string commandText, DBParameterCollection paramCollection, CommandType commandType)
        {
            return Report_Provider.GetZoneReport(commandText, paramCollection, commandType);
        }

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

using System.Data;
using CRUD_BLL;
using CRUD_DLL;


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

//////////////////////////////////////////////////////////////////////////////
                    update
////////////////////////////////////////////////////////////////////////////
                    var values = new Dictionary<string, object>();                  
                    values.Add("UpdateTimeStamp", "GetDate()");
                    values.Add("ZoneCode", ddlZoneCode.SelectedValue.ToString());
                    values.Add("InchareEmpCode", txtInchargeCode.Text.Trim());                
                    string strcondetion = "SerialNo='" + serialno+"'";
                    int  updateResult = RegionMasterBLL.UpdateRegionDetails("tvl_RegionsMaster", values, strcondetion);

//////////////////////////////////////////////////////////////////////////////
                    insert
////////////////////////////////////////////////////////////////////////////
                    var values = new Dictionary<string, object>();                  
                    values.Add("UpdateTimeStamp", "GetDate()");
                    values.Add("ZoneCode", ddlZoneCode.SelectedValue.ToString());
                    values.Add("InchareEmpCode", txtInchargeCode.Text.Trim());              
                    int  insertResult = RegionMasterBLL.insertRegionDetails("tvl_RegionsMaster", values);


.................................................................
Prsentation layer     .............         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>









Comments

Popular posts from this blog

How to write Pure java script Program?