- Back to Home »
- Dekma Student.JS
$(document).ready(function () {
$("#btnSaveStudent").click(saveStudent);
$("#txtStudentID").blur(studentIdValidation);
$("#txtfName").blur(firstnameValidation);
$("#txtTelephone").blur(telephoneValidation);
$("#txtMobile").blur(mobileValidation);
LoadStudentsToSelection();
LoadSchoolsToDropdown();
$("#txtSearchStudent").keyup(searchStudentsToUpdate);
$("#StudentUpdateSelection").change(LoadStudentsToTextBoxes);
$("#btnUpdateStudent").click(UpdateStudent);
$("#txtBirthDate").datetimepicker({
showToday: true,
pickTime: false
});
$("#txt-application-date").datetimepicker({
showToday: true,
pickTime: false
});
$("#tab2").addClass("active");
initGrid();
$("#tab2").removeClass("active");
loadStudentsToGrid();
$("#txt-SearchStudent").keyup(fetchStudentsToGrid);
$("#btnDeleteStudent").click(GetStudentByRowSelect);
$("#btnResetStudent").click(clearAllTextBoxes);
});
//Common function
function CallServer(Method, Param, onSuccess) {
$.ajax({
type: "POST",
url: "Student.aspx/" + Method, // [page].aspx should be changed as the container page
data: Param,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
if (result.d == 'SumErr' || result.d == 'MErr' || result.d == 'OnlineErr') {
onSuccess(result.d);
}
else {
if ((typeof result.d) == 'string' ? eval('(' + result.d + ')') : result.d) {
var models = (typeof result.d) == 'string' ? eval('(' + result.d + ')') : result.d;
onSuccess(models);
}
else {
onSuccess(result.d);
}
}
},
fail: function (msg) { alert(msg); },
error: function (xhr, ajaxOptions, thrownError) {
// Messanger(thrownError, Messangerbehaviour.Alert);
}
});
}
function saveStudent()
{
var studentID = $("#txtStudentID").val();
var genderMale = $('#rbMale').is(':checked');
var genderFemale = $('#rbFemale').is(':checked');
var thy_ = $('#rbTheory').is(':checked');
var rev_ = $('#rbRevision').is(':checked');
if (studentID.length > 0 && (genderMale == true || genderFemale == true) && (thy_ == true || rev_ == true)) {
var student = {};
student["Student_ID"] = $("#txtStudentID").val();
student["Name"] = $("#txtName").val();
//student["mName"] = $("#txtmName").val();
//student["lName"] = $("#txtlName").val();
student["House"] = $("#txtHouse").val();
student["Street"] = $("#txtStreet").val();
student["City"] = $("#txtCity").val();
var male = $('#rbMale').is(':checked');
var female = $('#rbFemale').is(':checked');
if (male)
{
student["Gender"] = "Male";
}
if (female)
{
student["Gender"] = "Female";
}
student["Birth_day"] = $('#txtBirthDate').datetimepicker('getDate').val();
student["NIC"] = $("#txtNic").val();
student["AL_Year"] = $("#drpAL_Year option:selected").text();
student["Tel_land"] = $("#txtTelephone").val();
student["Tel_mobile"] = $("#txtMobile").val();
student["Stream"] = $("#drpStream option:selected").text();
student["Ex_Center"] = $("#drpCentre option:selected").text();
// student["T_R"] = $("#txtMobile").val();
var theory = $('#rbTheory').is(':checked');
var revision = $('#rbRevision').is(':checked');
if (theory)
{
student["T_R"] = "T";
}
if (revision)
{
student["T_R"] = "R";
}
student["School_Name"] = $("#drpSchool option:selected").text();
var Param = "{'student':" + JSON.stringify(student) + "}";
CallServer('saveStudent', Param, SaveStudentMessage);
}
else
{
if (studentID.length == "") {
bootbox.dialog({
message: "Please enter the student id !",
title: "Dekma Institute",
buttons: {
main: {
label: "Ok",
className: "btn-danger",
callback: function () {
// Example.show("Primary button");
}
}
}
});
}
else if (genderMale == false && genderFemale == false)
{
bootbox.dialog({
message: "Please select the gender !",
title: "Dekma Institute",
buttons: {
main: {
label: "Ok",
className: "btn-danger",
callback: function () {
// Example.show("Primary button");
}
}
}
});
}
else if (thy_ == false && rev_ == false) {
bootbox.dialog({
message: "Please select the class type(Revision | Theory) !",
title: "Dekma Institute",
buttons: {
main: {
label: "Ok",
className: "btn-danger",
callback: function () {
// Example.show("Primary button");
}
}
}
});
}
}
}
//************************************ Validation Area ***************************************
function studentIdValidation() {
var x = $("#txtStudentID").val();
if (x.length > 0) {
$("#txtStudentID").parent().addClass("form-group has-success");
$("#txtStudentID").parent().removeClass("form-group has-error");
$("#studentIDErrorMsg").html('Student ID Is Valid');
return true;
} else {
$("#txtStudentID").parent().addClass("form-group has-error");
$("#txtStudentID").parent().removeClass("form-group has-success");
$("#studentIDErrorMsg").html('Invalid Student ID');
window.scroll(0, findPos(document.getElementById("txtStudentID")));
return false;
}
}
function firstnameValidation() {
var firstName = $("#txtfName").val();
if (firstName.length > 0 && isNaN(firstName)) {
$("#txtfName").parent().addClass("form-group has-success");
$("#txtfName").parent().removeClass("form-group has-error");
$("#firstNameErrorMsg").html('First Name Is Valid');
return true;
} else {
$("#txtfName").parent().addClass("form-group has-error");
$("#txtfName").parent().removeClass("form-group has-success");
$("#firstNameErrorMsg").html('Invalid First Name');
//window.scroll(0, findPos(document.getElementById("txtfName")));
return false;
}
}
function telephoneValidation() {
var tel = $("#txtTelephone").val();
if (!isNaN(tel)&& tel.length==10) {
$("#txtTelephone").parent().addClass("form-group has-success");
$("#txtTelephone").parent().removeClass("form-group has-error");
$("#telErrorMsg").html('Telephone Is Valid');
return true;
} else {
$("#txtTelephone").parent().addClass("form-group has-error");
$("#txtTelephone").parent().removeClass("form-group has-success");
$("#telErrorMsg").html('Invalid Telephone');
//window.scroll(0, findPos(document.getElementById("txtfName")));
return false;
}
}
function mobileValidation() {
var mobile = $("#txtMobile").val();
if (!isNaN(mobile) && mobile.length==10) {
$("#txtMobile").parent().addClass("form-group has-success");
$("#txtMobile").parent().removeClass("form-group has-error");
$("#mobileErrorMsg").html('Mobile Is Valid');
return true;
} else {
$("#txtMobile").parent().addClass("form-group has-error");
$("#txtMobile").parent().removeClass("form-group has-success");
$("#mobileErrorMsg").html('Invalid Mobile');
//window.scroll(0, findPos(document.getElementById("txtfName")));
return false;
}
}
//********************************************************************************************
function SaveStudentMessage(inputParam) {
if (inputParam == true) {
loadStudentsToGrid();
LoadStudentsToSelection();
bootbox.dialog({
message: "Student has been successfully saved",
title: "Dekma Institute",
buttons: {
main: {
label: "Ok",
className: "btn-primary",
callback: function () {
// Example.show("Primary button");
}
}
}
});
//resetAllControls();
//loadItemDataToGrid();
clearAllTextBoxes();
}
else {
bootbox.dialog({
message: "Unable to save !",
title: "Dekma Institute",
buttons: {
main: {
label: "Ok",
className: "btn-danger",
callback: function () {
// Example.show("Primary button");
}
}
}
});
}
}
function clearAllTextBoxes()
{
$("#txtStudentID").val("");
$("#txtStudentID").parent().removeClass("form-group has-success");
$("#txtStudentID").parent().removeClass("form-group has-error");
$("#studentIDErrorMsg").html('');
$("#txtName").val("");
$("#txtHouse").val("") ;
$("#txtStreet").val("");
$("#txtCity").val("");
$("#txtNic").val("");
$('#rbMale').attr(':checked', false);
$("#drpGender option:selected").text("") ;
// $("#drpAL_Year option:selected").text("");
$("#txtTelephone").val("");
$("#txtTelephone").parent().removeClass("form-group has-success");
$("#txtTelephone").parent().removeClass("form-group has-error");
$("#telErrorMsg").html('');
$("#txtMobile").val("");
$("#txtMobile").parent().removeClass("form-group has-success");
$("#txtMobile").parent().removeClass("form-group has-error");
$("#mobileErrorMsg").html('');
}
function LoadStudentsToSelection() {
$.ajax({
url: "Student.aspx/LoadStudentsToUpdate", // Current Page, Method
data: "{}", // parameter map as JSON
type: "POST", // data has to be POSTed
contentType: "application/json", // posting JSON content
dataType: "JSON", // type of data is JSON (must be upper case!)
// timeout: 10000, // AJAX timeout
success: function (response) {
var models = (typeof response.d) == 'string' ? eval('(' + response.d + ')') : response.d;
$("#StudentUpdateSelection").children().remove();
$("#StudentUpdateSelection").empty();
for (var i = 0; i < models.length; i++) {
var val = models[i].Student_ID;
var text = models[i].Student_ID + ' | ' + models[i].Name;
$("#StudentUpdateSelection").append($("
$("#StudentUpdateSelection").css('color', 'black');
}
},
error: function (response) {
}
});
}
function searchStudentsToUpdate() {
var student_id = $("#txtSearchStudent").val();
if (student_id.length > 0) {
$.ajax({
url: "Student.aspx/SearchStudents", // Current Page, Method
data: JSON.stringify({ student_id: student_id }), // parameter map as JSON
type: "POST", // data has to be POSTed
contentType: "application/json", // posting JSON content
dataType: "JSON", // type of data is JSON (must be upper case!)
// timeout: 10000, // AJAX timeout
success: function (response) {
var models = (typeof response.d) == 'string' ? eval('(' + response.d + ')') : response.d;
$("#StudentUpdateSelection").children().remove();
$("#StudentUpdateSelection").empty();
for (var i = 0; i < models.length; i++) {
var val = models[i].Student_ID;
var text = models[i].Student_ID + ' | ' + models[i].Name; $("#StudentUpdateSelection").append($("
$("#StudentUpdateSelection").css('color', 'black');
}
if (models.length == 0) {
var val = 0;
var text = "No Results Found!";
$("#StudentUpdateSelection").append($("
$("#StudentUpdateSelection").css('color', 'red');
//style='color:red'
}
},
error: function (response) {
}
});
} else {
//loadDataToUserSelectionForModify();
LoadStudentsToSelection();
}
}
function LoadStudentsToTextBoxes() {
var student_id = $("#StudentUpdateSelection option:selected").val();
if (student_id.length > 0) {
$.ajax({
url: "Student.aspx/GetStudentByID", // Current Page, Method
data: JSON.stringify({ student_id: student_id }), // parameter map as JSON
type: "POST", // data has to be POSTed
contentType: "application/json", // posting JSON content
dataType: "JSON", // type of data is JSON (must be upper case!)
timeout: 10000, // AJAX timeout
success: function (response) {
var models = (typeof response.d) == 'string' ? eval('(' + response.d + ')') : response.d;
if (models.length != 0) {
$("#txtStudentID_u").val(models[0].Student_ID);
$("#txtName_u").val(models[0].Name);
$("#txtHouse_u").val(models[0].House);
$("#txtStreet_u").val(models[0].street);
$("#txtCity_u").val(models[0].City);
$("#drpGenderUpdate").val(models[0].Gender);
// Getting the current Gender Value
var gender = models[0].Gender;
if (gender.trim() == "Male") {
$('#rbMale_u').prop('checked', true);
}
if (gender.trim() == "Female") {
$('#rbFemale_u').prop('checked', true);
}
$("#txtBirthDate_u").val(models[0].Birth_day);
$("#txtNic_u").val(models[0].NIC);
$("#txtTel_u").val(models[0].Tel_land);
$("#txtMobile_u").val(models[0].Tel_mobile);
var stream = models[0].Stream;
var streamNew = stream.trim();
$("#drpStream_u").val(streamNew);
// $("#drpStream_u").val('aaa');
$("#drpCentre_u").val(models[0].Ex_Center.trim());
// Getting the current Class Type Value
var classType = models[0].T_R;
if (classType.trim() == "T") {
$('#rbTheory_u').prop('checked', true);
}
if (classType.trim() == "R") {
$('#rbRevision_u').prop('checked', true);
}
$("#drpAL_Year_u").val(models[0].AL_Year);
$("#drpSchool_u").val(models[0].School_Name);
}
},
error: function (response) {
alert("Loading User Failed!");
}
});
}
}
function LoadSchoolsToDropdown() {
$.ajax({
url: "Student.aspx/LoadSchoolsToDropSown", // Current Page, Method
data: "{}", // parameter map as JSON
type: "POST", // data has to be POSTed
contentType: "application/json", // posting JSON content
dataType: "JSON", // type of data is JSON (must be upper case!)
// timeout: 10000, // AJAX timeout
success: function (response) {
var models = (typeof response.d) == 'string' ? eval('(' + response.d + ')') : response.d;
$("#drpSchool").empty();
$("#drpSchool_u").empty();
for (var i = 0; i < models.length; i++) {
$("#drpSchool").append("");
$("#drpSchool_u").append("");
}
},
error: function (response) {
}
});
}
function UpdateStudent() {
var student_id = $("#txtStudentID_u").val();
var AL_Year = $("#drpAL_Year_u option:selected").text();
var stream = $("#drpStream_u option:selected").text();
var centre = $("#drpCentre_u option:selected").text();
//&& ValidatePassword_U() && ValidateEmail_U()
if (student_id != "" && AL_Year!="" && stream!="" && centre!="") {
var student = {};
student["Student_ID"] = $("#txtStudentID_u").val();
student["Name"] = $("#txtName_u").val();
student["House"] = $("#txtHouse_u").val();
student["Street"] = $("#txtStreet_u").val();
student["City"] = $("#txtCity_u").val();
var male = $('#rbMale_u').is(':checked');
var female = $('#rbFemale_u').is(':checked');
if (male) {
student["Gender"] = "Male";
}
if (female) {
student["Gender"] = "Female";
}
// student["Birth_day"] = $("#txtBirthDate").datepicker('getDate');
student["Birth_day"] = $("txtBirthDate_u").val();
student["NIC"] = $("#txtNic_u").val();
student["AL_Year"] = $("#drpAL_Year_u option:selected").text();
student["Tel_land"] = $("#txtTel_u").val();
student["Tel_mobile"] = $("#txtMobile_u").val();
student["Stream"] = $("#drpStream_u option:selected").text();
student["Ex_Center"] = $("#drpCentre_u option:selected").text();
// student["T_R"] = $("#txtMobile").val();
var theory = $('#rbTheory_u').is(':checked');
var revision = $('#rbRevision_u').is(':checked');
if (theory) {
student["T_R"] = "T";
}
if (revision) {
student["T_R"] = "R";
}
student["School_Name"] = $("#drpSchool_u option:selected").text();
var Param = "{'student':" + JSON.stringify(student) + "}";
CallServer('UpdateStudent', Param, UpdateStudentMessage); //Return type should bool :D :D
}
else {
bootbox.dialog({
message: "Please select the Student, Stream, Centre and A/L Year !",
title: "Dekma Institute",
buttons: {
main: {
label: "Ok",
className: "btn-danger",
callback: function () {
// Example.show("Primary button");
}
}
}
});
}
}
function UpdateStudentMessage(inputParam) {
if (inputParam == true) {
loadStudentsToGrid();
bootbox.dialog({
message: "Student has been successfully updated",
title: "Dekma Institute",
buttons: {
main: {
label: "Ok",
className: "btn-primary",
callback: function () {
// Example.show("Primary button");
}
}
}
});
//resetAllControls();
//loadItemDataToGrid();
//clearAllTextBoxes();
}
else {
bootbox.dialog({
message: "Unable to update !",
title: "Dekma Institute",
buttons: {
main: {
label: "Ok",
className: "btn-danger",
callback: function () {
// Example.show("Primary button");
}
}
}
});
}
}
function initGrid() {
jQuery("#tblStudents").jqGrid({
datatype: "json",
colNames: ['Student ID', 'Name', 'Gender', 'Centre', 'AL Year', 'School Name'],
colModel: [
{ name: 'Student_ID', index: 'Student_ID', align: "center", hidden: false, editable: false },
{ name: 'Name', index: 'Name', align: "center", hidden: false, editable: false },
{ name: 'Gender', index: 'Gender', align: "center", hidden: false, editable: false },
{ name: 'Ex_Center', index: 'Ex_Center', align: "center", hidden: false, editable: false },
{ name: 'AL_Year', index: 'AL_Year', align: "center", hidden: false, editable: false },
{ name: 'School_Name', index: 'School_Name', align: "center", hidden: false, editable: false }
],
pgbuttons: false,
rowList: [],
pgtext: null,
pager: jQuery('#tblStudents1-Pager'),
viewrecords: true,
sortorder: "asc",
autowidth: true,
height: "100%",
hiddengrid: false,
caption: "Student Details",
cellEdit: false,
shrinkToFit: true,
cellsubmit: 'clientArray',
onSelectRow: function () {
// retrieveFmssFirstInspectionDetails();
$("#ques").show();
// $("#tb").addClass("tab-pane");
},
});
}
function loadStudentsToGrid() {
CallServer('LoadStudentsToGrid', '', loadGrid);
}
function fetchStudentsToGrid() {
var studentIdOrName = $("#txt-SearchStudent").val();
var Param = "{" + "'studentIdOrName':" + JSON.stringify(studentIdOrName) + "}";
CallServer('FetchStudentsToGrid', Param, loadFetchGrid);
}
function loadGrid(inputParam) {
if (inputParam.length > 0) {
$("#tb").show();
// $("#tb").hide();
// $("#btn-submit-application").prop("disabled", false);
var grid = $("#tblStudents");
var gridData = inputParam;
// alert(gridData.length);
grid.clearGridData();
for (var i = 0; i < gridData.length; i++)
grid.addRowData(i + 1, gridData[i]);
} else {
$("#tb").show();
// $("#tb").hide();
}
}
function loadFetchGrid(inputParam) {
if (inputParam.length > 0) {
$("#tb").show();
// $("#tb").hide();
// $("#btn-submit-application").prop("disabled", false);
var grid = $("#tblStudents");
var gridData = inputParam;
// alert(gridData.length);
grid.clearGridData();
for (var i = 0; i < gridData.length; i++)
grid.addRowData(i + 1, gridData[i]);
} else {
$("#tb").show();
// $("#tb").hide();
$("#btn-submit-application").prop("disabled", true);
bootbox.dialog({
message: "No Results Found ! !",
title: "Dekma Institute",
buttons: {
main: {
label: "Ok",
className: "btn-danger",
callback: function () {
// Example.show("Primary button");
}
}
}
});
}
}
function GetStudentByRowSelect() {
//Getting the fmss request item ID of the selected row
var grid = jQuery('#tblStudents');
var sel_id = grid.jqGrid('getGridParam', 'selrow');
var Student_ID = grid.jqGrid('getCell', sel_id, 'Student_ID');
//alert(Student_ID);
bootbox.dialog({
message: "Are you sure you want to delete the student " + Student_ID + " ?",
title: "Dekma Institute",
buttons: {
danger: {
label: "Delete",
className: "btn-danger",
callback: function () {
// Example.show("Primary button");
var param = JSON.stringify({ 'Student_ID': Student_ID });
CallServer('DeleteStudent', param, loadGrid);
loadStudentsToGrid();
return true;
}
},
success: {
label: "Cancel",
className: "btn-default",
callback: function () {
// Example.show("Primary button");
}
}
}
});
}