Monday, 19 August 2013

Center.aspx

 Center.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/Content.Master" AutoEventWireup="true"
    CodeBehind="Center.aspx.cs" Inherits="eSMS.WebFormKidsSchool.Center" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<asp:Content ID="Content1" ContentPlaceHolderID="bodyContent" runat="server">
    <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">
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="gvwCenter" EventName="PageIndexChanging" />
                <asp:AsyncPostBackTrigger ControlID="gvwCenter" EventName="RowCommand" />
                <asp:AsyncPostBackTrigger ControlID="gvwCenter" EventName="RowEditing" />
                <asp:AsyncPostBackTrigger ControlID="gvwCenter" EventName="RowDeleting" />
                <asp:AsyncPostBackTrigger ControlID="btnCancel" EventName="Click" />
                <asp:AsyncPostBackTrigger ControlID="btnSave" EventName="Click" />
            </Triggers>
            <ContentTemplate>
                <asp:Panel ID="Panel1" runat="server" CssClass="pnlBody">
                    <table width="100%" border="0" align="center">
                        <tr>
                            <td align="center">
                                <asp:Label ID="lblTitle" runat="server" Text="Center" CssClass="title" Font-Bold="True"
                                    Font-Size="Larger"></asp:Label>
                            </td>
                        </tr>
                        <tr>
                            <td align="center">
                                <table width="40%" border="0" align="center" cellspacing="12">
                                    <tr>
                                        <td align="center" colspan="3" style="padding-bottom: 5px">
                                            <asp:Label ID="lblMessage" runat="server" Text="" ForeColor="Red" Font-Bold="True"></asp:Label>&nbsp;
                                        </td>
                                    </tr>
                                    <tr align="left">
                                        <td>
                                            <asp:Label ID="lblCenterName" runat="server" CssClass="label" Text="Center Name"></asp:Label><span
                                                style="color: Red">*</span>
                                        </td>
                                        <td>
                                            <asp:TextBox ID="txtCenterName" CssClass="text" runat="server" TabIndex="1"></asp:TextBox>
                                            <asp:RequiredFieldValidator runat="server" ID="reqCenter" ValidationGroup="Search"
                                                ControlToValidate="txtCenterName" Display="None" ErrorMessage="Enter Center Name"
                                                SetFocusOnError="true" />
                                            <ajaxToolkit:ValidatorCalloutExtender runat="Server" ID="ValidatorCalloutExtender3"
                                                TargetControlID="reqCenter" Enabled="true" />
                                        </td>
                                    </tr>
                                    <tr align="left">
                                        <td>
                                            <asp:Label ID="lblCenterAdd1" runat="server" CssClass="label" Text="Center Address 1"></asp:Label><span
                                                style="color: Red">*</span>
                                        </td>
                                        <td>
                                            <asp:TextBox ID="txtCenterAdd1" runat="server" TabIndex="2"  CssClass="text"></asp:TextBox>
                                            <asp:RequiredFieldValidator runat="server" ID="reqAdd1" ValidationGroup="Search"
                                                ControlToValidate="txtCenterAdd1" Display="None" ErrorMessage="Enter Center Address 1"
                                                SetFocusOnError="true" />
                                            <ajaxToolkit:ValidatorCalloutExtender runat="Server" ID="ValidatorCalloutExtender1"
                                                TargetControlID="reqAdd1" Enabled="true" />
                                        </td>
                                    </tr>
                                    <tr align="left">
                                        <td>
                                            <asp:Label ID="lblCenterAdd2" runat="server" CssClass="label" Text="Center Address 2"></asp:Label>
                                        </td>
                                        <td>
                                            <asp:TextBox ID="txtCenterAdd2" runat="server" TabIndex="3" CssClass="text"></asp:TextBox>
                                        </td>
                                    </tr>
                                    <tr align="left">
                                        <td>
                                            <asp:Label ID="lblLandline" runat="server" CssClass="label" Text="Landline No"></asp:Label><span
                                                style="color: Red">*</span>
                                        </td>
                                        <td>
                                            <asp:TextBox ID="txtLandlineNo" runat="server" MaxLength="15" TabIndex="4" CssClass="text"></asp:TextBox>
                                            <asp:RequiredFieldValidator runat="server" ID="reqLandlineno" ValidationGroup="Search"
                                                ControlToValidate="txtLandlineNo" Display="None" ErrorMessage="Enter Landline No"
                                                SetFocusOnError="true" />
                                            <ajaxToolkit:ValidatorCalloutExtender runat="Server" ID="PNReqE3" TargetControlID="reqLandlineno"
                                                Enabled="true" />
                                        </td>
                                    </tr>
                                    <tr align="left">
                                        <td>
                                            <asp:Label ID="lblMobileNo" runat="server" CssClass="label" Text="Mobile No"></asp:Label>
                                        </td>
                                        <td>
                                            <asp:TextBox ID="txtMobileNo" runat="server" MaxLength="10" TabIndex="5" CssClass="text"></asp:TextBox>
                                            <ajaxToolkit:ValidatorCalloutExtender runat="Server" ID="ValidatorCalloutExtender4"
                                                TargetControlID="reqLandlineno" Enabled="true" />
                                        </td>
                                    </tr>
                                    <tr>
                                        <td align="center" colspan="2">
                                            <br />
                                            <br />
                                            <asp:Button ID="btnSave" runat="server" Text="Save" ValidationGroup="Search" CssClass="button"
                                                OnClick="btnSave_Click" TabIndex="6" />
                                            &nbsp;<asp:Button ID="btnClear" runat="server" Text="Clear" CssClass="button" OnClick="btnClear_Click"
                                                TabIndex="7" />
                                            &nbsp;<asp:Button ID="btnCancel" runat="server" Text="Cancel" CssClass="button" OnClick="btnCancel_Click"
                                                TabIndex="8" />
                                        </td>
                                    </tr>
                                </table>
                            </td>
                        </tr>
                        <tr>
                            <td align="center">
                            </td>
                        </tr>
                        <tr>
                            <td align="center">
                                <table width="60%" border="0" align="center">
                                    <tr>
                                        <td>
                                            <div style="overflow: auto; height: 230px; width: 725px">
                                                <asp:GridView ID="gvwCenter" runat="server" AllowPaging="True" AutoGenerateColumns="False"
                                                    DataKeyNames="CenterCode" CssClass="gvw" Width="98%" OnRowEditing="gvwCenter_RowEditing"
                                                    ShowHeaderWhenEmpty="True" OnPageIndexChanging="gvwCenter_PageIndexChanging"
                                                    OnRowDeleting="gvwCenter_RowDeleting" OnRowCommand="gvwCenter_RowCommand">
                                                    <Columns>
                                                        <asp:TemplateField>
                                                            <ItemTemplate>
                                                                <asp:LinkButton ID="lnkEdit" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
                                                                    runat="server" Text="Edit" CommandName="Edit">
                                                                </asp:LinkButton>
                                                            </ItemTemplate>
                                                        </asp:TemplateField>
                                                        <asp:BoundField DataField="CenterCode" HeaderText="Center Code" ReadOnly="True" />
                                                        <asp:BoundField DataField="CenterName" ItemStyle-HorizontalAlign="Left" HeaderText="Center Name"
                                                            ReadOnly="True">
                                                            <ItemStyle HorizontalAlign="Left" />
                                                        </asp:BoundField>
                                                        <asp:BoundField DataField="CenterAddress1" ItemStyle-HorizontalAlign="Left" HeaderText="Center Add1"
                                                            ReadOnly="True">
                                                            <ItemStyle HorizontalAlign="Left" />
                                                        </asp:BoundField>
                                                        <asp:BoundField DataField="CenterAddress2" ItemStyle-HorizontalAlign="Left" HeaderText="Center Add2"
                                                            ReadOnly="True">
                                                            <ItemStyle HorizontalAlign="Left" />
                                                        </asp:BoundField>
                                                        <asp:BoundField DataField="LandLineNo" HeaderText="Landline No" ReadOnly="True" />
                                                        <asp:BoundField DataField="MobileNo" HeaderText="Mobile No" ReadOnly="true" />
                                                        <asp:BoundField DataField="CustomerName" HeaderText="Created By" ReadOnly="True" />
                                                        <asp:BoundField DataField="CreatedDate" HeaderText="Created Date" ReadOnly="True" />
                                                        <asp:TemplateField>
                                                            <ItemTemplate>
                                                                <asp:LinkButton ID="lnkDelete" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"
                                                                    runat="server" Text="Delete" CommandName="Delete" OnClientClick="return confirm('Are you sure to Delete this record?');">
                                                                </asp:LinkButton>
                                                            </ItemTemplate>
                                                        </asp:TemplateField>
                                                    </Columns>
                                                    <PagerStyle BackColor="#A8211D" Height="1em" Font-Size="X-Small" ForeColor="White"
                                                        HorizontalAlign="Center" VerticalAlign="Middle" />
                                                    <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
                                                </asp:GridView>
                                            </div>
                                        </td>
                                    </tr>
                                </table>
                                <asp:HiddenField ID="hdnCenterCode" runat="server" />
                            </td>
                        </tr>
                    </table>
                </asp:Panel>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
</asp:Content>
 Center.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml.Linq;
using System.Data;
using System.Data.SqlClient;
using System.Web.Configuration;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;

namespace eSMS.App_Code
{   
    public class KidsLayer
    {
        SqlConnection strConn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConn"].ToString());
        DataTable objDT = new DataTable("tbl");

        public void Conn()
        {
            SqlConnection strConn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConn"].ToString());
        }
  
        public DataTable Datatable(string SpName, params object[] CommandParameters)
        {
            strConn.Open();
            using (SqlCommand comm = new SqlCommand(SpName, strConn))
            {
                comm.CommandText = SpName;
                comm.CommandType = CommandType.StoredProcedure;
                SqlCommandBuilder.DeriveParameters(comm);
                comm.Parameters.RemoveAt(0);
                for (int i = 0, j = comm.Parameters.Count; i < j; i++)
                {
                    comm.Parameters[i].Value = CommandParameters[i];
                }
                SqlDataAdapter objDA = new SqlDataAdapter(comm);
                objDA.Fill(objDT);
                comm.Parameters.Clear();
                strConn.Close();
                return objDT;

            }


        }
        public int ExecuteNonQuery(string SpName, params object[] CommandParameters)
        {

            strConn.Open();
            using (SqlCommand comm = new SqlCommand(SpName, strConn))
            {
                comm.CommandText = SpName;
                comm.CommandType = CommandType.StoredProcedure;
                SqlCommandBuilder.DeriveParameters(comm);
                comm.Parameters.RemoveAt(0);
                for (int i = 0, j = comm.Parameters.Count; i < j; i++)
                {
                    comm.Parameters[i].Value = CommandParameters[i];
                }

                int result = comm.ExecuteNonQuery();
                comm.Parameters.Clear();
                strConn.Close();
                return result;

            }


        }
        public DataSet Dataset(string SpName, params object[] CommandParameters)
        {
            strConn.Open();
            using (SqlCommand cmd = new SqlCommand(SpName, strConn))
            {
                //con.Open();
                cmd.CommandText = SpName;
                cmd.CommandType = CommandType.StoredProcedure;
                SqlCommandBuilder.DeriveParameters(cmd);
                cmd.Parameters.RemoveAt(0);
                for (int i = 0, j = cmd.Parameters.Count; i < j; i++)
                {
                    cmd.Parameters[i].Value = CommandParameters[i];
                }
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds);
                strConn.Close();
                cmd.Parameters.Clear();
                return ds;
            }

        }

    }

}

Create proc [dbo].[sp_GetCenterByName]



@CenterCode bigint,
@CenterName varchar(50)
as
select  CenterCode,CenterName  from Center where  CenterCode=@CenterCode and   CenterName=@CenterName    AND (MFD = 0 OR MFD IS NULL)       

Create PROCEDURE [dbo].[sp_SaveCenter]
    -- Add the parameters for the stored procedure here
    @CenterName nvarchar(50),
    @CenterAddress1 nvarchar(MAX),
    @CenterAddress2 nvarchar(MAX),
    @LandLineNo nvarchar(50),
    @MobileNo nvarchar(50),
    @CreatedBy int
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
INSERT INTO Center
(
CenterName,
CenterAddress1,
CenterAddress2,
LandLineNo,
MobileNo,
CreatedBy,
CreatedDate
)
VALUES
(
@CenterName,
@CenterAddress1,
@CenterAddress2,
@LandLineNo,
@MobileNo,
@CreatedBy,
GETDATE()
)
   
END

Create PROCEDURE [dbo].[sp_UpdateCenter]
    -- Add the parameters for the stored procedure here
    @CenterCode bigint,
    @CenterName nvarchar(50),
    @CenterAddress1 nvarchar(MAX),
    @CenterAddress2 nvarchar(MAX),
    @LandLineNo nvarchar(50),
    @MobileNo nvarchar(50),
    @ModifiedBy int,
    @MFD bit
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
   
IF (@MFD = 0)
  BEGIN
UPDATE Center
SET
CenterName=@CenterName,
CenterAddress1=@CenterAddress1,
CenterAddress2=@CenterAddress2,
LandLineNo=@LandLineNo,
MobileNo=@MobileNo,
ModifiedBy=@ModifiedBy,
ModifiedDate=GETDATE()
WHERE
CenterCode=@CenterCode  
END

ELSE
    BEGIN
        UPDATE Center
        SET MFD = 1
            , ModifiedBy = @ModifiedBy
            , ModifiedDate = GETDATE()
        WHERE
            CenterCode=@CenterCode            
    END
   
END

Sms and some basics funtions

eSMSLayer
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml.Linq;
using System.Data;
using System.Data.SqlClient;
using System.Web.Configuration;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Net;
using System.IO;
using System.Xml;
using System.Net.Mail;

namespace eSMS.App_Code
{
    public class eSMSLayer
    {
        String requestString = ConfigurationManager.AppSettings["smsAPI"].ToString();

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

        public String SendMessage(String message, String mobileNo)
        {
            String strStatus = string.Empty;

            try
            {               
                //requestString = requestString + "&message=" + message + "&recipient=" + mobileNo;
                requestString = requestString + "&password=fa2c31" + "&to=91" + mobileNo + "&message=" + message + "&sender=Arya&priority=3" ;
                Stream SourceStream = null;
                StreamReader objResReader = null;
                String strResponse = string.Empty;

                HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(requestString);
                myRequest.Credentials = CredentialCache.DefaultCredentials;
                HttpWebResponse webResponse = (HttpWebResponse)myRequest.GetResponse();
                if (webResponse.StatusCode == HttpStatusCode.OK)
                {
                    SourceStream = webResponse.GetResponseStream();
                    objResReader = new StreamReader(SourceStream);
                    strResponse = objResReader.ReadLine();
                }

                strStatus = strResponse;

            }
            catch (Exception ex)
            {
                strStatus = "Error : " + ex.Message;
            }
            return strStatus;
        }

        public void SendMail(String msgBody, String mailTo, String mailSubject, HttpPostedFile attachmentFile)
        {
            //string mailFrom = "admineSMS@aryasolution.com";
            string mailFrom = "sureshbabu.karikalan@aryasolution.com";
            try
            {
                Attachment attach = null;
                MailMessage objMailMsg = new MailMessage(mailFrom, mailTo, mailSubject, msgBody);
                SmtpClient emailClient = new SmtpClient("smtp.eu.jllnet.com");
                if (attachmentFile.ContentLength > 0)
                {
                    String strFileName = Path.GetFileName(attachmentFile.FileName);
                    attachmentFile.SaveAs(HttpContext.Current.Server.MapPath(strFileName));
                    attach = new Attachment(HttpContext.Current.Server.MapPath(strFileName));
                    attach.ContentDisposition.FileName = strFileName;
                    objMailMsg.Attachments.Add(attach);
                }
                emailClient.UseDefaultCredentials = true;
                objMailMsg.IsBodyHtml = true;
                emailClient.Send(objMailMsg);
                if (objMailMsg.Attachments.Count > 0)
                {
                    File.Delete(HttpContext.Current.Server.MapPath(attach.ContentDisposition.FileName));

                }
            }
            catch (Exception ex)
            {

            }
        }

        public Boolean IsEligibleToSend()
        {
            KidsLayer objDL = new KidsLayer();
            if (HttpContext.Current.Session["CustomerTypeId"].ToString() == string.Empty)
            {
                DataTable objDT = objDL.Datatable("sp_GetSMSTransactionDetails", HttpContext.Current.Session["CustomerId"].ToString());
                if (objDT.Rows.Count > 0)
                {
                    Int64 smsRemainingCount = Convert.ToInt64(objDT.Rows[0][2].ToString());
                    if (smsRemainingCount > 0)
                    {
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
                return false;
            }
            else
            {
                DataTable objDT = objDL.Datatable("sp_GetSMSTransactionDetails", HttpContext.Current.Session["CustomerTypeId"].ToString());
                if (objDT.Rows.Count > 0)
                {
                    Int64 smsRemainingCount = Convert.ToInt64(objDT.Rows[0][2].ToString());
                    if (smsRemainingCount > 0)
                    {
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
                return false;
            }
        }

        public void UpdateSMSTransactionCount(int smsCount)
        {
            //KidsLayer objDL = new KidsLayer();
            KidsLayer objDL = new KidsLayer();

            if (HttpContext.Current.Session["CustomerTypeId"].ToString() == string.Empty)
            {
                DataTable objDT = objDL.Datatable("sp_GetSMSTransactionDetails", HttpContext.Current.Session["CustomerId"].ToString());
                if (objDT.Rows.Count > 0)
                {
                    Int64 totalSMSCount = Convert.ToInt64(objDT.Rows[0][0].ToString());
                    Int64 sentSMSCount = Convert.ToInt64(objDT.Rows[0][1].ToString());
                    Int64 smsRemainingCount = Convert.ToInt64(objDT.Rows[0][2].ToString());
                    sentSMSCount = sentSMSCount + smsCount;
                    smsRemainingCount = totalSMSCount - sentSMSCount;
                    int status = objDL.ExecuteNonQuery("sp_UpdateTransactionCount", HttpContext.Current.Session["CustomerId"].ToString(), sentSMSCount, smsRemainingCount, HttpContext.Current.Session["CustomerName"].ToString());
                    // write a log the message transaction status
                }
            }
            else
            {
                DataTable objDT = objDL.Datatable("sp_GetSMSTransactionDetails", HttpContext.Current.Session["CustomerTypeId"].ToString());
                if (objDT.Rows.Count > 0)
                {
                    Int64 totalSMSCount = Convert.ToInt64(objDT.Rows[0][0].ToString());
                    Int64 sentSMSCount = Convert.ToInt64(objDT.Rows[0][1].ToString());
                    Int64 smsRemainingCount = Convert.ToInt64(objDT.Rows[0][2].ToString());
                    sentSMSCount = sentSMSCount + smsCount;
                    smsRemainingCount = totalSMSCount - sentSMSCount;
                    int status = objDL.ExecuteNonQuery("sp_UpdateTransactionCount", HttpContext.Current.Session["CustomerTypeId"].ToString(), sentSMSCount, smsRemainingCount, HttpContext.Current.Session["CustomerName"].ToString());
                    // write a log the message transaction status
                }
            }
        }

      
    }
}

Basic functions

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml.Linq;
using System.Data;
using System.Data.SqlClient;
using System.Web.Configuration;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;

namespace eSMS.App_Code
{   
    public class KidsLayer
    {
        SqlConnection strConn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConn"].ToString());
        DataTable objDT = new DataTable("tbl");

        public void Conn()
        {
            SqlConnection strConn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConn"].ToString());
        }
  
        public DataTable Datatable(string SpName, params object[] CommandParameters)
        {
            strConn.Open();
            using (SqlCommand comm = new SqlCommand(SpName, strConn))
            {
                comm.CommandText = SpName;
                comm.CommandType = CommandType.StoredProcedure;
                SqlCommandBuilder.DeriveParameters(comm);
                comm.Parameters.RemoveAt(0);
                for (int i = 0, j = comm.Parameters.Count; i < j; i++)
                {
                    comm.Parameters[i].Value = CommandParameters[i];
                }
                SqlDataAdapter objDA = new SqlDataAdapter(comm);
                objDA.Fill(objDT);
                comm.Parameters.Clear();
                strConn.Close();
                return objDT;

            }


        }
        public int ExecuteNonQuery(string SpName, params object[] CommandParameters)
        {

            strConn.Open();
            using (SqlCommand comm = new SqlCommand(SpName, strConn))
            {
                comm.CommandText = SpName;
                comm.CommandType = CommandType.StoredProcedure;
                SqlCommandBuilder.DeriveParameters(comm);
                comm.Parameters.RemoveAt(0);
                for (int i = 0, j = comm.Parameters.Count; i < j; i++)
                {
                    comm.Parameters[i].Value = CommandParameters[i];
                }

                int result = comm.ExecuteNonQuery();
                comm.Parameters.Clear();
                strConn.Close();
                return result;

            }


        }
        public DataSet Dataset(string SpName, params object[] CommandParameters)
        {
            strConn.Open();
            using (SqlCommand cmd = new SqlCommand(SpName, strConn))
            {
                //con.Open();
                cmd.CommandText = SpName;
                cmd.CommandType = CommandType.StoredProcedure;
                SqlCommandBuilder.DeriveParameters(cmd);
                cmd.Parameters.RemoveAt(0);
                for (int i = 0, j = cmd.Parameters.Count; i < j; i++)
                {
                    cmd.Parameters[i].Value = CommandParameters[i];
                }
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.Fill(ds);
                strConn.Close();
                cmd.Parameters.Clear();
                return ds;
            }

        }

    }

}

Sunday, 18 August 2013

Admission bill

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>&nbsp;
                                        </td>
                                    </tr>
                                    <tr>
                                        <td align="left">
                                            <asp:Label ID="lblrcpt" runat="server" CssClass="label" Text="Receipt No :"></asp:Label>&nbsp;&nbsp;<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>&nbsp;&nbsp;<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>
                                            &nbsp;
                                            <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  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:"></asp:Label>
                                                &nbsp;
                                                <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>&nbsp;
                                               <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 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:"></asp:Label>
                                                &nbsp; <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>&nbsp;
                                                <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 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:"></asp:Label>
                                                <b>
                                                    &nbsp;&nbsp;<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>
                                                &nbsp;
                                                <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>
                                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
                                                <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>&nbsp;
                                                <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" />&nbsp;
                                                <asp:Button ID="btnClear" runat="server" Text="Clear" CssClass="button" OnClick="btnClear_Click" />&nbsp;
                                                <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