HTML
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="AttendanceSystem.aspx.cs" Inherits="AttendanceSystem" Debug="true" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<p>
</p>
<br />
<br/>
<asp:GridView ID="GridView1" runat="server" align="center" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="4" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1" DataKeyNames="Attendance_ID" ShowFooter="True" style="margin-left: 172px; margin-top: 33px;">
<Columns>
<asp:TemplateField>
<FooterTemplate>
<asp:LinkButton ValidationGroup="INSERT" OnClick="lbInsert_Click" ID="lbInsert" runat="server" ForeColor="#000066">Insert</asp:LinkButton>
</FooterTemplate>
</asp:TemplateField>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:TemplateField HeaderText="No." SortExpression="Attendance_ID">
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Attendance_ID") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("Attendance_ID") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="TxtID" runat="server" BorderStyle="None"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name" SortExpression="Attendance_Name">
<EditItemTemplate>
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Attendance_Name") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("Attendance_Name") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="TxtName" runat="server" BorderStyle="None"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Attendance" SortExpression="Attendance_Con">
<EditItemTemplate>
<asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("Attendance_Con") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Bind("Attendance_Con") %>'></asp:Label>
<asp:CheckBox ID="CheckBox2" runat="server" BorderStyle="None" ></asp:CheckBox>
</ItemTemplate>
<FooterTemplate>
<asp:CheckBox ID="CBAttend" runat="server" BorderStyle="None" AutoPostBack="true" oncheckedchanged="LoggedIn" Checked='<%# Bind("Attendance_Con") %>'></asp:CheckBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Login Time" SortExpression="LogInDate_Time">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("LogInDate_Time") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblLoggedInDateTime" runat="server" Text='<%# Bind("LogInDate_Time") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="TxtLogIn" runat="server" BorderStyle="None"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Leaving" SortExpression="Leaving_Con">
<EditItemTemplate>
<asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("Leaving_Con") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Bind("Leaving_Con") %>'></asp:Label>
<asp:CheckBox ID="CheckBox1" runat="server" BorderStyle="None" AutoPostBack="True"></asp:CheckBox>
</ItemTemplate>
<FooterTemplate>
<asp:CheckBox ID="CBLeave" runat="server" BorderStyle="None" AutoPostBack="True" oncheckedchanged=" LoggedIn" Checked='<%# Bind("Leaving_Con") %>'></asp:CheckBox>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Logout Time" SortExpression="LogOutDate_Time">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("LogOutDate_Time") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("LogOutDate_Time") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="TxtLogOut" runat="server" BorderStyle="None"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="White" ForeColor="#000066" />
<HeaderStyle BackColor= "#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<RowStyle ForeColor="#000066" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#007DBB" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#00547E" />
</asp:GridView>
<br />
<br />
<asp:Button ID="btnSave" Text="Save" runat="server" OnClick="btnSave_Click" style="margin-left: 794px" Width="40px" />
<br/>
<asp:Label ID="lblMessage" ForeColor="Green" runat="server" />
<br />
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetAttendance" TypeName="Demo.Attendance.AttendanceDataAccessLayer" UpdateMethod="UpdateAttendance" DeleteMethod="DeleteAttendance" InsertMethod="InsertAttendance">
<DeleteParameters>
<asp:Parameter Name="Attendance_ID" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="Attendance_ID" Type="Int32" />
<asp:Parameter Name="Attendance_Name" Type="String" />
<asp:Parameter Name="Attendance_Con" Type="String" />
<asp:Parameter Name="LogInDate_Time" Type="String" />
<asp:Parameter Name="Leaving_Con" Type="String" />
<asp:Parameter Name="LogOutDate_Time" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="Attendance_ID" Type="Int32" />
<asp:Parameter Name="Attendance_Name" Type="String" />
<asp:Parameter Name="Attendance_Con" Type="String" />
<asp:Parameter Name="LogInDate_Time" Type="String" />
<asp:Parameter Name="Leaving_Con" Type="String" />
<asp:Parameter Name="LogOutDate_Time" Type="String" />
</UpdateParameters>
</asp:ObjectDataSource>
</asp:Content>
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using MySql.Data.MySqlClient;
using System.Data.SqlClient;
using System.Configuration;
public partial class AttendanceSystem : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[2] { new DataColumn("Id"), new DataColumn("Name") });
dt.Rows.Add(1, "Yara Abid");
dt.Rows.Add(2, " Eman Turkistani");
dt.Rows.Add(3, " Maha Khudhair");
dt.Rows.Add(4, " Sahar ALHammadi");
GridView1.DataBind();
}
}
protected void LoggedIn(object sender, EventArgs e)
{
CheckBox checkedCheckBox = (sender as CheckBox);
if (checkedCheckBox.Checked)
{
GridViewRow checkedRow = (checkedCheckBox.NamingContainer as GridViewRow);
Label lblLoggedInDateTime = checkedRow.FindControl("lblLoggedInDateTime") as Label;
lblLoggedInDateTime.Text = DateTime.Now.ToString();
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView1.Rows)
{
string id = row.Cells[0].Text;
string name = row.Cells[1].Text;
string loggedInTime = (row.FindControl("lblLoggedInDateTime") as Label).Text;
InsertData(id, name, loggedInTime);
}
lblMessage.Text = "All Records Saved Successfully!!";
}
public void InsertData(string id, string name, string loggedInTime)
{
//Your saving code.
}
protected void lbInsert_Click(object sender, EventArgs e)
{
ObjectDataSource1.InsertParameters["Attendance_ID"].DefaultValue = ((TextBox)GridView1.FooterRow.FindControl("TxtID")).Text;
ObjectDataSource1.InsertParameters["Attendance_Name"].DefaultValue = ((TextBox)GridView1.FooterRow.FindControl("TxtName")).Text;
ObjectDataSource1.InsertParameters["Attendance_Con"].DefaultValue = ((CheckBox)GridView1.FooterRow.FindControl("CBAttend")).Text;
ObjectDataSource1.InsertParameters["LogInDate_Time"].DefaultValue = ((TextBox)GridView1.FooterRow.FindControl("TxtLogIn")).Text;
ObjectDataSource1.InsertParameters["Leaving_Con"].DefaultValue = ((CheckBox)GridView1.FooterRow.FindControl("CBLeave")).Text;
ObjectDataSource1.InsertParameters["LogOutDate_Time"].DefaultValue = ((TextBox)GridView1.FooterRow.FindControl("TxtLogOut")).Text;
ObjectDataSource1.Insert();
}
}
Data Access Layer
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using MySql.Data.MySqlClient;
using System.Data.SqlClient;
using System.Configuration;
namespace Demo.Attendance
{
public class Attendance
{
public int Attendance_ID { get; set; }
public string Attendance_Name { get; set; }
public string Attendance_Con { get; set; }
public string LogInDate_Time { get; set; }
public string Leaving_Con { get; set; }
public string LogOutDate_Time { get; set; }
}
public class AttendanceDataAccessLayer
{
public static void UpdateAttendance(int Attendance_ID, string Attendance_Name, string Attendance_Con, string LogInDate_Time, string Leaving_Con, string LogOutDate_Time)
{
string A = "server=localhost; userid=; password=; database=admindb; allowuservariables=True";
using (MySqlConnection connection = new MySqlConnection(A))
{
string UpdateQuery = " Update Attendance_table SET Attendance_Name=@Attendance_Name," + " LogInDate_Time=@LogInDateTime," + "Leaving_Con=@Leaving_Con," + " LogOutDate_Time=@LogOutDate_Time WHERE Attendance_ID=@Attendance_ID";
MySqlCommand cmd = new MySqlCommand(UpdateQuery, connection);
cmd.Connection.Open();
MySqlParameter paramAttendance_ID = new MySqlParameter("@Attendance_ID", Attendance_ID);
cmd.Parameters.Add(paramAttendance_ID);
MySqlParameter paramAttendance_Name = new MySqlParameter("@Attendance_Name", Attendance_Name);
cmd.Parameters.Add(paramAttendance_Name);
MySqlParameter paramAttendance_Con = new MySqlParameter("@Attendance_Con", Attendance_Con);
cmd.Parameters.Add(paramAttendance_Con);
MySqlParameter paramLogInDate_Time = new MySqlParameter("@LogInDate_Time", LogInDate_Time);
cmd.Parameters.Add(paramLogInDate_Time);
MySqlParameter paramLeaving_Con = new MySqlParameter("@Leaving_Con", Leaving_Con);
cmd.Parameters.Add(paramLeaving_Con);
MySqlParameter paramLogOutDate_Time = new MySqlParameter("@LogOutDate_Time", LogOutDate_Time);
cmd.Parameters.Add(paramLogOutDate_Time);
cmd.ExecuteNonQuery();
cmd.Connection.Close();
}
}
public static List<Attendance> GetAttendance()
{
List<Attendance> listattendance = new List<Attendance>();
string A = "server=localhost; userid=; password=; database=admindb; allowuservariables=True";
using (MySqlConnection connection = new MySqlConnection(A))
{
MySqlCommand cmd = new MySqlCommand("Select * from Attendance_Table", connection);
connection.Open();
MySqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Attendance attendance = new Attendance();
attendance.Attendance_ID = Convert.ToInt32(rdr["Attendance_ID"]);
attendance.Attendance_Name = rdr["Attendance_Name"].ToString();
attendance.Attendance_Con = rdr["Attendance_Con"].ToString();
attendance.LogInDate_Time = rdr["LogInDate_Time"].ToString();
attendance.Leaving_Con = rdr["Leaving_Con"].ToString();
attendance.LogOutDate_Time = rdr["LogOutDate_Time"].ToString();
listattendance.Add(attendance);
}
}
return listattendance;
}
public static void DeleteAttendance(int Attendance_ID)
{
string A = "server=localhost; userid=; password=; database=admindb; allowuservariables=True";
using (MySqlConnection connection = new MySqlConnection(A))
{
string UpdateQuery = "DELETE FROM Attendance_table WHERE Attendance_ID=@Attendance_ID";
MySqlCommand cmd = new MySqlCommand(UpdateQuery, connection);
MySqlParameter param = new MySqlParameter("@Attendance_ID", Attendance_ID);
cmd.Parameters.Add(param);
cmd.Connection.Open();
cmd.ExecuteNonQuery();
}
}
public static void InsertAttendance(int Attendance_ID, string Attendance_Name, string Attendance_Con, string LogInDate_Time, string Leaving_Con, string LogOutDate_Time )
{
string A = "server=localhost; userid=; password=; database=admindb; allowuservariables=True";
using (MySqlConnection connection = new MySqlConnection(A))
{
string UpdateQuery = " INSERT INTO Attendance_Table (Attendance_ID, Attendance_Name, Attendance_Con, LogInDate_Time, Leaving_Con, LogOutDate_Time)" + " VALUES (@Attendance_ID,@Attendance_Name,@Attendance_Con,@LogInDate_Time,@Leaving_Co,@LogOutDate_Time)";
MySqlCommand cmd = new MySqlCommand(UpdateQuery, connection);
MySqlParameter paramAttendance_ID = new MySqlParameter("@Attendance_ID", Attendance_ID);
cmd.Parameters.Add(paramAttendance_ID);
MySqlParameter paramAttendance_Name = new MySqlParameter("@Attendance_Name", Attendance_Name);
cmd.Parameters.Add(paramAttendance_Name);
MySqlParameter paramAttendance_Con = new MySqlParameter("@Attendance_Con", Attendance_Con);
cmd.Parameters.Add(paramAttendance_Con);
MySqlParameter paramLogInDate_Time = new MySqlParameter("@LogInDate_Time", LogInDate_Time);
cmd.Parameters.Add(paramLogInDate_Time);
MySqlParameter paramLeaving_Con = new MySqlParameter("@Leaving_Con", Leaving_Con);
cmd.Parameters.Add(paramLeaving_Con);
MySqlParameter paramLogOutDate_Time = new MySqlParameter("@LogOutDate_Time", LogOutDate_Time);
cmd.Parameters.Add(paramLogOutDate_Time);
cmd.Connection.Open();
cmd.ExecuteNonQuery();
cmd.Connection.Close();
}
}
}
}