AdmissionBill.aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/Content.Master" AutoEventWireup="true"
CodeBehind="AdmissionBill.aspx.cs" Inherits="eSMS.WebFormKidsSchool.AdmissionBill" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<asp:Content ID="Content1" ContentPlaceHolderID="bodyContent" runat="server">
<style type="text/css">
/*Calendar Control CSS*/
.cal_Theme1 .ajax__calendar_other .ajax__calendar_day, .cal_Theme1 .ajax__calendar_other .ajax__calendar_year
{
color: White; /*Your background color of calender control*/
}
modalBackground
{
background-color: Gray;
filter: alpha(opacity=80);
opacity: 0.8;
z-index: 10000;
}
.text
{
text-align: right;
}
</style>
<div style="height: 100%; width: 100%;" align="center">
<ajaxToolkit:ToolkitScriptManager runat="server" ID="ToolkitScriptManager1">
</ajaxToolkit:ToolkitScriptManager>
<asp:UpdatePanel ID="upnl" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server" CssClass="pnlBody">
<table width="100%" border="0" align="center">
<tr>
<td align="center">
<table width="100%" border="0" cellspacing="15px" align="center">
<tr>
<td align="center" colspan="3">
<asp:Label ID="lblMessage" runat="server" Text="" ForeColor="Red" Font-Bold="True"></asp:Label>
</td>
</tr>
<tr>
<td align="left">
<asp:Label ID="lblrcpt" runat="server" CssClass="label" Text="Receipt No :"></asp:Label> <b><asp:Label ID="lblRecNo" CssClass="label" runat="server"></asp:Label></b>
</td>
<td align="center"><b><asp:Label ID="lbladmission" runat="server" CssClass="title" Text="Admission Bill"></asp:Label></b></td>
<td align="right">
<asp:Label ID="lbldate" runat="server" CssClass="label" Text="Date :"></asp:Label> <b><asp:Label ID="lblBilldate" runat="server" CssClass="label"></asp:Label></b>
</td>
</tr>
<tr>
<td align="center" colspan="3">
<asp:Label ID="lblstuname" runat="server" CssClass="label" Text="Student Name :"></asp:Label>
<asp:TextBox ID="txtStudentname" runat="server" AutoPostBack="true" Width="150px"></asp:TextBox>
<asp:LinkButton ID="lnlSearch" CssClass="button" runat="server" OnClick="lnlSearch_Click">Search</asp:LinkButton>
</td>
<tr>
<td align="left" colspan="3">
</td>
</tr>
<tr>
<td align="left">
<asp:Label ID="lblStudentid" runat="server" CssClass="label" Text="Student Id :"></asp:Label>
<b><asp:Label ID="lblStudId" CssClass="label" runat="server" Text=""></asp:Label></b>
</td>
<td align="right" colspan="2">
<asp:Label ID="lbljdate" runat="server" CssClass="label" Text="Joining Date :"></asp:Label>
<b><asp:Label ID="lblJoinDate" runat="server" CssClass="label"></asp:Label></b>
</td>
</tr>
<tr>
<td align="left">
<asp:Label ID="lblCour" runat="server" CssClass="label" Text="Course :"></asp:Label>
<b>
<asp:Label ID="lblCourse" runat="server" CssClass="label"></asp:Label></b>
</td>
<td align="right" colspan="2">
<asp:Label ID="lblpamount" runat="server" CssClass="label" Text="Previous Paid Amount :"></asp:Label>
<b><asp:Label ID="lblPrevoiusAmount" runat="server" CssClass="label"></asp:Label></b>
</td>
</tr>
<tr>
<td align="left" colspan="3">
<asp:Label ID="lblCFees" runat="server" CssClass="label" Text="Course Fees :"></asp:Label>
<b>
<asp:Label ID="lblCoursefee" runat="server" CssClass="label"></asp:Label></b>
</td>
</tr>
<tr>
<td align="left" colspan="2">
<asp:Label ID="lblBAmount" runat="server" CssClass="label"
Text="Balance Amount :"></asp:Label>
<b><asp:Label ID="lblBalanceamount" runat="server" CssClass="label"></asp:Label></b>
</td>
<td align="right">
<asp:Label ID="lblPaidamount" runat="server" CssClass="label" Text="Paid Amount :"></asp:Label>
<asp:TextBox ID="txtPaidAmount" CssClass="text" TabIndex="2" runat="server" AutoPostBack="True"
OnTextChanged="txtPaidAmount_TextChanged" Width="70px"></asp:TextBox>
</td>
</tr>
<tr>
<td align="left" colspan="2">
<asp:Label ID="Label1" runat="server" Text="Payment Status :" CssClass="label"></asp:Label>
<b>
<asp:CheckBoxList ID="ChkPaymentStatus" runat="server">
<asp:ListItem Text="Full Payment" Value="1"></asp:ListItem>
<asp:ListItem Text="Part Payment" Value="0"></asp:ListItem>
</asp:CheckBoxList>
</b>
</td>
<td align="right">
<asp:Label ID="Label3" runat="server" CssClass="label" Text="Alert Msg Date :"></asp:Label>
<asp:TextBox ID="txtAlertMsg" CssClass="text" TabIndex="3" runat="server" Width="70px"></asp:TextBox>
<ajaxToolkit:CalendarExtender ID="CalendarExtender1" TargetControlID="txtAlertMsg"
runat="server">
</ajaxToolkit:CalendarExtender>
</td>
</tr>
<tr>
<td align="center" colspan="3">
<asp:RequiredFieldValidator ID="reqDate" runat="server" ControlToValidate="txtAlertMsg"
ErrorMessage="Select Date" ForeColor="Red" SetFocusOnError="True" ValidationGroup="student"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CompareValidator1" Type="Date" ControlToValidate="txtAlertMsg"
Operator="GreaterThanEqual" runat="server" ErrorMessage="Date Should Greater Than Todate"
CssClass="cal_Theme1" ValueToCompare='<%= DateTime.Today.ToShortDateString() %>'
ForeColor="Red"></asp:CompareValidator></td>
</tr>
<tr>
<td colspan="3" align="Center">
<br />
<asp:Button ID="btnSave" runat="server" TabIndex="4" Text="Send" ValidationGroup="student"
CssClass="button" OnClick="btnSave_Click" />
<asp:Button ID="btnClear" runat="server" Text="Clear" CssClass="button" OnClick="btnClear_Click" />
<asp:Button ID="btnCancel" runat="server" Text="Cancel" CssClass="button" OnClick="btnCancel_Click" />
</td>
</tr>
</table>
<asp:HiddenField ID="hdnMobileNo" runat="server" />
</td>
</tr>
</table>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
AdmissionBill.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using eSMS.App_Code;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace eSMS.WebFormKidsSchool
{
public partial class AdmissionBill : System.Web.UI.Page
{
#region Public Variables
public string rcptid;
public string Rid1;
string prefixText;
#endregion
#region Page Load Event
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection strConn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConn"].ToString());
CompareValidator1.ValueToCompare = DateTime.Today.ToShortDateString();
Page.DataBind();
if (Session["CustomerId"] == null)
{
Response.Redirect("Login.aspx");
}
if (!IsPostBack)
{
ChkPaymentStatus.Visible = false;
txtPaidAmount.Visible = false;
txtAlertMsg.Visible = false;
}
try
{
GetRecpitNo();
string Pmonth = rcptid.Substring(0, 2);
string Cmonth = DateTime.Now.ToString("MM");
if (Cmonth == Pmonth)
{
Rid1 = rcptid.Substring(4, 4);
Rid1 = (Convert.ToInt32(Rid1) + 1).ToString();
Rid1 = NumberFormat(Rid1);
}
else
{
Rid1 = rcptid.Substring(4, 4);
Rid1 = "0001";
}
string Recnumber = DateTime.Now.ToString("MMyy") + Rid1;
lblRecNo.Text = Recnumber;
lblBilldate.Text = DateTime.Today.ToString().Substring(0, 10);
}
catch (Exception ex)
{
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Text = ex.Message;
}
if (Session["studInfo"] != null)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt = (DataTable)Session["studInfo"];
txtStudentname.Text = dt.Rows[0]["StudentName"].ToString();
lblStudId.Text = dt.Rows[0]["StudentCode"].ToString();
lblCourse.Text = dt.Rows[0]["CourseName"].ToString();
lblCoursefee.Text = dt.Rows[0]["CourseFess"].ToString();
lblBalanceamount.Text = dt.Rows[0]["BalanceAmount"].ToString();
lblJoinDate.Text = dt.Rows[0]["CreatedDate"].ToString().Substring(0, 10);
hdnMobileNo.Value = dt.Rows[0]["SMSContactNo"].ToString();
lblCoursefee.Text = dt.Rows[0]["CourseFess"].ToString();
decimal Courseamt, balaamt;
balaamt = Convert.ToDecimal(lblBalanceamount.Text);
Courseamt = Convert.ToDecimal(lblCoursefee.Text);
lblPrevoiusAmount.Text = (Courseamt - balaamt).ToString();
if (lblCoursefee.Text == lblPrevoiusAmount.Text)
{
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Text = "Fees Already Paid";
txtPaidAmount.Enabled = false;
}
txtPaidAmount.Visible = true;
txtAlertMsg.Visible = true;
Session["studInfo"] = null;
}
}
}
#endregion
#region Event Handler
protected void btnSave_Click(object sender, EventArgs e)
{
SqlConnection strConn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConn"].ToString());
System.Data.SqlClient.SqlTransaction transaction;
strConn.Open();
transaction = strConn.BeginTransaction();
try
{
if (ValidateControls())
{
decimal Courseamt, balaamt, paidamt, previousamount;
Courseamt = Convert.ToDecimal(lblCoursefee.Text);
paidamt = Convert.ToDecimal(txtPaidAmount.Text);
previousamount = Convert.ToDecimal(lblPrevoiusAmount.Text);
string balance = lblBalanceamount.Text.Substring(0, 5);
balaamt = Courseamt - paidamt - previousamount;
lblBalanceamount.Text = balaamt.ToString();
KidsLayer ObjKl = new KidsLayer();
int status = ObjKl.ExecuteNonQuery("SaveAdmissionBill", lblRecNo.Text, lblBilldate.Text, lblStudId.Text, txtStudentname.Text, lblBalanceamount.Text, lblJoinDate.Text, txtPaidAmount.Text, ChkPaymentStatus.SelectedItem.Text, Convert.ToDateTime(txtAlertMsg.Text), Session["CustomerId"].ToString());
status = ObjKl.ExecuteNonQuery("UpdateAdmissionFees", Convert.ToInt64(lblStudId.Text), Convert.ToDecimal(txtPaidAmount.Text), Convert.ToDecimal(lblPrevoiusAmount.Text), Convert.ToDecimal(lblBalanceamount.Text));
if (status > 0)
{
String message = "Thank You for Payment. Receipt No : " + lblRecNo.Text + "; Course Fees : " + lblCoursefee.Text + "; Paid Amount : " + txtPaidAmount.Text.Trim() + "; Remaining Amount : " + lblBalanceamount.Text + "";
eSMSLayer objesms = new eSMSLayer();
objesms.SendMessage(message, hdnMobileNo.Value);
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Green;
lblMessage.Text = "Bill Paid Sucessfully";
}
Passvalue();
ClearControls();
lblStudId.Text = string.Empty;
txtAlertMsg.Text = string.Empty;
ChkPaymentStatus.SelectedIndex = 0;
}
else
{
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Red;
}
}
catch (SqlException sqlError)
{
transaction.Rollback();
}
strConn.Close();
Response.Redirect("Recepitbillaspx.aspx");
}
protected void txtPaidAmount_TextChanged(object sender, EventArgs e)
{
if (txtPaidAmount.Text == lblBalanceamount.Text.Substring(0, 5))
{
txtAlertMsg.Visible = false;
ChkPaymentStatus.Items.FindByText("Full Payment").Selected = true;
ChkPaymentStatus.Items.FindByText("Part Payment").Enabled = false;
Label3.Visible = false;
txtAlertMsg.Text = System.DateTime.Now.ToString();
}
else if (txtPaidAmount.Text != lblBalanceamount.Text)
{
txtAlertMsg.Visible = true;
Label3.Visible = true;
ChkPaymentStatus.Items.FindByText("Full Payment").Enabled = false;
ChkPaymentStatus.Items.FindByText("Part Payment").Selected = true;
}
decimal balAmt = Convert.ToDecimal(lblBalanceamount.Text);
decimal paidAmt = Convert.ToDecimal(txtPaidAmount.Text);
lblBalanceamount.Text = (balAmt - paidAmt).ToString();
ChkPaymentStatus.Visible = true;
}
protected void btnClear_Click(object sender, EventArgs e)
{
ClearControls();
lblMessage.Visible = false;
}
protected void btnCancel_Click(object sender, EventArgs e)
{
try
{
Response.Redirect("../WebFormCommonPages/Home.aspx");
}
catch (Exception ex)
{
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Text = ex.Message;
}
}
#endregion
#region Private Methods
private void Passvalue()
{
Session["RecpitNp"] = lblRecNo.Text;
Session["Billdate"] = lblBilldate.Text;
Session["Studentid"] = lblStudId.Text;
Session["PreviousAmount"] = lblPrevoiusAmount.Text;
Session["Course"] = lblCourse.Text;
Session["Paid Amount"] = txtPaidAmount.Text;
Session["stname"] = txtStudentname.Text;
Session["CourseFee"] = lblCoursefee.Text;
Session["balamount"] = lblBalanceamount.Text;
}
private Boolean ValidateControls()
{
bool ret = true;
if (txtPaidAmount.Text.Trim().Length <= 0)
{
lblMessage.Text = "Enter the Amount";
ret = false;
}
if (Convert.ToDecimal(txtPaidAmount.Text.Trim()) > Convert.ToDecimal(lblBalanceamount.Text))
{
lblMessage.Text = "Amount is more than Balance amount / Course fees";
ret = false;
}
return ret;
}
private void ClearControls()
{
txtStudentname.Text = string.Empty;
lblBalanceamount.Text = string.Empty;
lblCoursefee.Text = string.Empty;
lblPrevoiusAmount.Text = string.Empty;
lblCourse.Text = string.Empty;
lblJoinDate.Text = string.Empty;
txtPaidAmount.Text = string.Empty;
txtAlertMsg.Text = string.Empty;
ChkPaymentStatus.SelectedIndex = 0;
}
private void GetRecpitNo()
{
try
{
KidsLayer ObJkl = new KidsLayer();
DataTable dt = ObJkl.Datatable("GetRecpitNo");
if (dt.Rows.Count > 0)
{
rcptid = dt.Rows[0]["RecepitNo"].ToString();
if (rcptid.Length == 7)
{
rcptid = "0" + rcptid;
}
else if (rcptid == string.Empty)
{
rcptid = DateTime.Now.ToString("MMyy") + "0000";
}
}
else
{
rcptid = DateTime.Now.ToString("MMyy") + "0000";
}
}
catch (Exception ex)
{
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Text = ex.Message;
}
}
private string NumberFormat(string number)
{
if (number.Length == 3)
{
number = "0" + number;
}
else if (number.Length == 2)
{
number = "00" + number;
}
else if (number.Length == 1)
{
number = "000" + number;
}
return number;
}
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static List<string> SearchCustomers(string prefixText, int count)
{
KidsLayer objKL = new KidsLayer();
DataTable dt = objKL.Datatable("sp_GetStudentid", prefixText);
List<string> customers = new List<string>();
for (int i = 0; i < dt.Rows.Count; i++)
{
customers.Add(dt.Rows[i]["StudentName"].ToString());
}
return customers;
}
#endregion
//protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
//{
// this.ModalPopupExtender2.Show();
//}
protected void lnlSearch_Click(object sender, EventArgs e)
{
lblMessage.Visible = false;
Session["studentName"] = txtStudentname.Text;
Response.Redirect("StudentDetails.aspx");
}
}
}
Create proc [dbo].[SaveAdmissionBill]
@RecepitNo bigint,
@Date datetime,
@StudentCode bigint,
@StudentName nvarchar(50),
@BalanceAmount decimal(12, 2),
@Joindate datetime,
@PaidAmount decimal(12, 2),
@PaymentStatus nvarchar(50),
@AlertMsgDate datetime,
@CreatedBy bigint
as
begin
insert into AdmissionBill (
RecepitNo,
Date,
StudentCode,
StudentName,
BalanceAmount,
Joindate,
PaidAmount,
PaymentStatus,
AlertMessageDate,
CreatedBy,
CreatedDate)
values
(
@RecepitNo,
@Date,
@StudentCode,
@StudentName,
@BalanceAmount,
@Joindate ,
@PaidAmount,
@PaymentStatus,
@AlertMsgDate,
@CreatedBy,
GETDATE()
)
end
<%@ Page Title="" Language="C#" MasterPageFile="~/Content.Master" AutoEventWireup="true"
CodeBehind="AdmissionBill.aspx.cs" Inherits="eSMS.WebFormKidsSchool.AdmissionBill" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<asp:Content ID="Content1" ContentPlaceHolderID="bodyContent" runat="server">
<style type="text/css">
/*Calendar Control CSS*/
.cal_Theme1 .ajax__calendar_other .ajax__calendar_day, .cal_Theme1 .ajax__calendar_other .ajax__calendar_year
{
color: White; /*Your background color of calender control*/
}
modalBackground
{
background-color: Gray;
filter: alpha(opacity=80);
opacity: 0.8;
z-index: 10000;
}
.text
{
text-align: right;
}
</style>
<div style="height: 100%; width: 100%;" align="center">
<ajaxToolkit:ToolkitScriptManager runat="server" ID="ToolkitScriptManager1">
</ajaxToolkit:ToolkitScriptManager>
<asp:UpdatePanel ID="upnl" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server" CssClass="pnlBody">
<table width="100%" border="0" align="center">
<tr>
<td align="center">
<table width="100%" border="0" cellspacing="15px" align="center">
<tr>
<td align="center" colspan="3">
<asp:Label ID="lblMessage" runat="server" Text="" ForeColor="Red" Font-Bold="True"></asp:Label>
</td>
</tr>
<tr>
<td align="left">
<asp:Label ID="lblrcpt" runat="server" CssClass="label" Text="Receipt No :"></asp:Label> <b><asp:Label ID="lblRecNo" CssClass="label" runat="server"></asp:Label></b>
</td>
<td align="center"><b><asp:Label ID="lbladmission" runat="server" CssClass="title" Text="Admission Bill"></asp:Label></b></td>
<td align="right">
<asp:Label ID="lbldate" runat="server" CssClass="label" Text="Date :"></asp:Label> <b><asp:Label ID="lblBilldate" runat="server" CssClass="label"></asp:Label></b>
</td>
</tr>
<tr>
<td align="center" colspan="3">
<asp:Label ID="lblstuname" runat="server" CssClass="label" Text="Student Name :"></asp:Label>
<asp:TextBox ID="txtStudentname" runat="server" AutoPostBack="true" Width="150px"></asp:TextBox>
<asp:LinkButton ID="lnlSearch" CssClass="button" runat="server" OnClick="lnlSearch_Click">Search</asp:LinkButton>
</td>
<tr>
<td align="left" colspan="3">
</td>
</tr>
<tr>
<td align="left">
<asp:Label ID="lblStudentid" runat="server" CssClass="label" Text="Student Id :"></asp:Label>
<b><asp:Label ID="lblStudId" CssClass="label" runat="server" Text=""></asp:Label></b>
</td>
<td align="right" colspan="2">
<asp:Label ID="lbljdate" runat="server" CssClass="label" Text="Joining Date :"></asp:Label>
<b><asp:Label ID="lblJoinDate" runat="server" CssClass="label"></asp:Label></b>
</td>
</tr>
<tr>
<td align="left">
<asp:Label ID="lblCour" runat="server" CssClass="label" Text="Course :"></asp:Label>
<b>
<asp:Label ID="lblCourse" runat="server" CssClass="label"></asp:Label></b>
</td>
<td align="right" colspan="2">
<asp:Label ID="lblpamount" runat="server" CssClass="label" Text="Previous Paid Amount :"></asp:Label>
<b><asp:Label ID="lblPrevoiusAmount" runat="server" CssClass="label"></asp:Label></b>
</td>
</tr>
<tr>
<td align="left" colspan="3">
<asp:Label ID="lblCFees" runat="server" CssClass="label" Text="Course Fees :"></asp:Label>
<b>
<asp:Label ID="lblCoursefee" runat="server" CssClass="label"></asp:Label></b>
</td>
</tr>
<tr>
<td align="left" colspan="2">
<asp:Label ID="lblBAmount" runat="server" CssClass="label"
Text="Balance Amount :"></asp:Label>
<b><asp:Label ID="lblBalanceamount" runat="server" CssClass="label"></asp:Label></b>
</td>
<td align="right">
<asp:Label ID="lblPaidamount" runat="server" CssClass="label" Text="Paid Amount :"></asp:Label>
<asp:TextBox ID="txtPaidAmount" CssClass="text" TabIndex="2" runat="server" AutoPostBack="True"
OnTextChanged="txtPaidAmount_TextChanged" Width="70px"></asp:TextBox>
</td>
</tr>
<tr>
<td align="left" colspan="2">
<asp:Label ID="Label1" runat="server" Text="Payment Status :" CssClass="label"></asp:Label>
<b>
<asp:CheckBoxList ID="ChkPaymentStatus" runat="server">
<asp:ListItem Text="Full Payment" Value="1"></asp:ListItem>
<asp:ListItem Text="Part Payment" Value="0"></asp:ListItem>
</asp:CheckBoxList>
</b>
</td>
<td align="right">
<asp:Label ID="Label3" runat="server" CssClass="label" Text="Alert Msg Date :"></asp:Label>
<asp:TextBox ID="txtAlertMsg" CssClass="text" TabIndex="3" runat="server" Width="70px"></asp:TextBox>
<ajaxToolkit:CalendarExtender ID="CalendarExtender1" TargetControlID="txtAlertMsg"
runat="server">
</ajaxToolkit:CalendarExtender>
</td>
</tr>
<tr>
<td align="center" colspan="3">
<asp:RequiredFieldValidator ID="reqDate" runat="server" ControlToValidate="txtAlertMsg"
ErrorMessage="Select Date" ForeColor="Red" SetFocusOnError="True" ValidationGroup="student"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CompareValidator1" Type="Date" ControlToValidate="txtAlertMsg"
Operator="GreaterThanEqual" runat="server" ErrorMessage="Date Should Greater Than Todate"
CssClass="cal_Theme1" ValueToCompare='<%= DateTime.Today.ToShortDateString() %>'
ForeColor="Red"></asp:CompareValidator></td>
</tr>
<tr>
<td colspan="3" align="Center">
<br />
<asp:Button ID="btnSave" runat="server" TabIndex="4" Text="Send" ValidationGroup="student"
CssClass="button" OnClick="btnSave_Click" />
<asp:Button ID="btnClear" runat="server" Text="Clear" CssClass="button" OnClick="btnClear_Click" />
<asp:Button ID="btnCancel" runat="server" Text="Cancel" CssClass="button" OnClick="btnCancel_Click" />
</td>
</tr>
</table>
<asp:HiddenField ID="hdnMobileNo" runat="server" />
</td>
</tr>
</table>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
AdmissionBill.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using eSMS.App_Code;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace eSMS.WebFormKidsSchool
{
public partial class AdmissionBill : System.Web.UI.Page
{
#region Public Variables
public string rcptid;
public string Rid1;
string prefixText;
#endregion
#region Page Load Event
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection strConn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConn"].ToString());
CompareValidator1.ValueToCompare = DateTime.Today.ToShortDateString();
Page.DataBind();
if (Session["CustomerId"] == null)
{
Response.Redirect("Login.aspx");
}
if (!IsPostBack)
{
ChkPaymentStatus.Visible = false;
txtPaidAmount.Visible = false;
txtAlertMsg.Visible = false;
}
try
{
GetRecpitNo();
string Pmonth = rcptid.Substring(0, 2);
string Cmonth = DateTime.Now.ToString("MM");
if (Cmonth == Pmonth)
{
Rid1 = rcptid.Substring(4, 4);
Rid1 = (Convert.ToInt32(Rid1) + 1).ToString();
Rid1 = NumberFormat(Rid1);
}
else
{
Rid1 = rcptid.Substring(4, 4);
Rid1 = "0001";
}
string Recnumber = DateTime.Now.ToString("MMyy") + Rid1;
lblRecNo.Text = Recnumber;
lblBilldate.Text = DateTime.Today.ToString().Substring(0, 10);
}
catch (Exception ex)
{
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Text = ex.Message;
}
if (Session["studInfo"] != null)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt = (DataTable)Session["studInfo"];
txtStudentname.Text = dt.Rows[0]["StudentName"].ToString();
lblStudId.Text = dt.Rows[0]["StudentCode"].ToString();
lblCourse.Text = dt.Rows[0]["CourseName"].ToString();
lblCoursefee.Text = dt.Rows[0]["CourseFess"].ToString();
lblBalanceamount.Text = dt.Rows[0]["BalanceAmount"].ToString();
lblJoinDate.Text = dt.Rows[0]["CreatedDate"].ToString().Substring(0, 10);
hdnMobileNo.Value = dt.Rows[0]["SMSContactNo"].ToString();
lblCoursefee.Text = dt.Rows[0]["CourseFess"].ToString();
decimal Courseamt, balaamt;
balaamt = Convert.ToDecimal(lblBalanceamount.Text);
Courseamt = Convert.ToDecimal(lblCoursefee.Text);
lblPrevoiusAmount.Text = (Courseamt - balaamt).ToString();
if (lblCoursefee.Text == lblPrevoiusAmount.Text)
{
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Text = "Fees Already Paid";
txtPaidAmount.Enabled = false;
}
txtPaidAmount.Visible = true;
txtAlertMsg.Visible = true;
Session["studInfo"] = null;
}
}
}
#endregion
#region Event Handler
protected void btnSave_Click(object sender, EventArgs e)
{
SqlConnection strConn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConn"].ToString());
System.Data.SqlClient.SqlTransaction transaction;
strConn.Open();
transaction = strConn.BeginTransaction();
try
{
if (ValidateControls())
{
decimal Courseamt, balaamt, paidamt, previousamount;
Courseamt = Convert.ToDecimal(lblCoursefee.Text);
paidamt = Convert.ToDecimal(txtPaidAmount.Text);
previousamount = Convert.ToDecimal(lblPrevoiusAmount.Text);
string balance = lblBalanceamount.Text.Substring(0, 5);
balaamt = Courseamt - paidamt - previousamount;
lblBalanceamount.Text = balaamt.ToString();
KidsLayer ObjKl = new KidsLayer();
int status = ObjKl.ExecuteNonQuery("SaveAdmissionBill", lblRecNo.Text, lblBilldate.Text, lblStudId.Text, txtStudentname.Text, lblBalanceamount.Text, lblJoinDate.Text, txtPaidAmount.Text, ChkPaymentStatus.SelectedItem.Text, Convert.ToDateTime(txtAlertMsg.Text), Session["CustomerId"].ToString());
status = ObjKl.ExecuteNonQuery("UpdateAdmissionFees", Convert.ToInt64(lblStudId.Text), Convert.ToDecimal(txtPaidAmount.Text), Convert.ToDecimal(lblPrevoiusAmount.Text), Convert.ToDecimal(lblBalanceamount.Text));
if (status > 0)
{
String message = "Thank You for Payment. Receipt No : " + lblRecNo.Text + "; Course Fees : " + lblCoursefee.Text + "; Paid Amount : " + txtPaidAmount.Text.Trim() + "; Remaining Amount : " + lblBalanceamount.Text + "";
eSMSLayer objesms = new eSMSLayer();
objesms.SendMessage(message, hdnMobileNo.Value);
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Green;
lblMessage.Text = "Bill Paid Sucessfully";
}
Passvalue();
ClearControls();
lblStudId.Text = string.Empty;
txtAlertMsg.Text = string.Empty;
ChkPaymentStatus.SelectedIndex = 0;
}
else
{
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Red;
}
}
catch (SqlException sqlError)
{
transaction.Rollback();
}
strConn.Close();
Response.Redirect("Recepitbillaspx.aspx");
}
protected void txtPaidAmount_TextChanged(object sender, EventArgs e)
{
if (txtPaidAmount.Text == lblBalanceamount.Text.Substring(0, 5))
{
txtAlertMsg.Visible = false;
ChkPaymentStatus.Items.FindByText("Full Payment").Selected = true;
ChkPaymentStatus.Items.FindByText("Part Payment").Enabled = false;
Label3.Visible = false;
txtAlertMsg.Text = System.DateTime.Now.ToString();
}
else if (txtPaidAmount.Text != lblBalanceamount.Text)
{
txtAlertMsg.Visible = true;
Label3.Visible = true;
ChkPaymentStatus.Items.FindByText("Full Payment").Enabled = false;
ChkPaymentStatus.Items.FindByText("Part Payment").Selected = true;
}
decimal balAmt = Convert.ToDecimal(lblBalanceamount.Text);
decimal paidAmt = Convert.ToDecimal(txtPaidAmount.Text);
lblBalanceamount.Text = (balAmt - paidAmt).ToString();
ChkPaymentStatus.Visible = true;
}
protected void btnClear_Click(object sender, EventArgs e)
{
ClearControls();
lblMessage.Visible = false;
}
protected void btnCancel_Click(object sender, EventArgs e)
{
try
{
Response.Redirect("../WebFormCommonPages/Home.aspx");
}
catch (Exception ex)
{
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Text = ex.Message;
}
}
#endregion
#region Private Methods
private void Passvalue()
{
Session["RecpitNp"] = lblRecNo.Text;
Session["Billdate"] = lblBilldate.Text;
Session["Studentid"] = lblStudId.Text;
Session["PreviousAmount"] = lblPrevoiusAmount.Text;
Session["Course"] = lblCourse.Text;
Session["Paid Amount"] = txtPaidAmount.Text;
Session["stname"] = txtStudentname.Text;
Session["CourseFee"] = lblCoursefee.Text;
Session["balamount"] = lblBalanceamount.Text;
}
private Boolean ValidateControls()
{
bool ret = true;
if (txtPaidAmount.Text.Trim().Length <= 0)
{
lblMessage.Text = "Enter the Amount";
ret = false;
}
if (Convert.ToDecimal(txtPaidAmount.Text.Trim()) > Convert.ToDecimal(lblBalanceamount.Text))
{
lblMessage.Text = "Amount is more than Balance amount / Course fees";
ret = false;
}
return ret;
}
private void ClearControls()
{
txtStudentname.Text = string.Empty;
lblBalanceamount.Text = string.Empty;
lblCoursefee.Text = string.Empty;
lblPrevoiusAmount.Text = string.Empty;
lblCourse.Text = string.Empty;
lblJoinDate.Text = string.Empty;
txtPaidAmount.Text = string.Empty;
txtAlertMsg.Text = string.Empty;
ChkPaymentStatus.SelectedIndex = 0;
}
private void GetRecpitNo()
{
try
{
KidsLayer ObJkl = new KidsLayer();
DataTable dt = ObJkl.Datatable("GetRecpitNo");
if (dt.Rows.Count > 0)
{
rcptid = dt.Rows[0]["RecepitNo"].ToString();
if (rcptid.Length == 7)
{
rcptid = "0" + rcptid;
}
else if (rcptid == string.Empty)
{
rcptid = DateTime.Now.ToString("MMyy") + "0000";
}
}
else
{
rcptid = DateTime.Now.ToString("MMyy") + "0000";
}
}
catch (Exception ex)
{
lblMessage.Visible = true;
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Text = ex.Message;
}
}
private string NumberFormat(string number)
{
if (number.Length == 3)
{
number = "0" + number;
}
else if (number.Length == 2)
{
number = "00" + number;
}
else if (number.Length == 1)
{
number = "000" + number;
}
return number;
}
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static List<string> SearchCustomers(string prefixText, int count)
{
KidsLayer objKL = new KidsLayer();
DataTable dt = objKL.Datatable("sp_GetStudentid", prefixText);
List<string> customers = new List<string>();
for (int i = 0; i < dt.Rows.Count; i++)
{
customers.Add(dt.Rows[i]["StudentName"].ToString());
}
return customers;
}
#endregion
//protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
//{
// this.ModalPopupExtender2.Show();
//}
protected void lnlSearch_Click(object sender, EventArgs e)
{
lblMessage.Visible = false;
Session["studentName"] = txtStudentname.Text;
Response.Redirect("StudentDetails.aspx");
}
}
}
Create proc [dbo].[SaveAdmissionBill]
@RecepitNo bigint,
@Date datetime,
@StudentCode bigint,
@StudentName nvarchar(50),
@BalanceAmount decimal(12, 2),
@Joindate datetime,
@PaidAmount decimal(12, 2),
@PaymentStatus nvarchar(50),
@AlertMsgDate datetime,
@CreatedBy bigint
as
begin
insert into AdmissionBill (
RecepitNo,
Date,
StudentCode,
StudentName,
BalanceAmount,
Joindate,
PaidAmount,
PaymentStatus,
AlertMessageDate,
CreatedBy,
CreatedDate)
values
(
@RecepitNo,
@Date,
@StudentCode,
@StudentName,
@BalanceAmount,
@Joindate ,
@PaidAmount,
@PaymentStatus,
@AlertMsgDate,
@CreatedBy,
GETDATE()
)
end
No comments:
Post a Comment