/*================================================================================================================\ + + Project : GoData-VECV + Filename : ManageOwner.js + Module Name : ManageOwner + Purpose : For Eicher Manage Owner + Coded By : Gourav Jhangikhel + +================================================================================================================*/ /** * To manage Owner * @module Inventory */ /** * To perform CRUD On Manage Owner. * @class ManageOwner * @constructor */ /** * Global References: To store Ajax Request's XHR object. * @for ManageOwner */ var VechiledataSource = new Array(); //Global variables var activeRequest, activeRequest_City, activeRequest_Edit, activeRequest_del, activeRequest_OwnerDetails, activeRequest_export, vSelectedRow; var vVechileSelectedRow; var vRegNoDup = 0; var vChasisNoDup = 0; var vOwnerMobileNoDup = 0; var vDupMsg = ""; var vDupMsgRegNo = ""; var vDupMsgChasisNo = ""; var vRegNoOnPageLoad = ""; var vChasisNoOnPageLoad = ""; var vCustMobileNoOnPageLoad = ""; var vAddOrUpdate = true; var vPrePageSize = 0; var OwnerName; var vRegNo = ""; /** * Function to Add Kendo Window. * @method addKendoWindowToDiv * @param {String} divId Id of Kendo Window * @param {String} titleText Title Of Kendo Window * @param {String} width width Of Kendo Window * @param {String} left left Of Kendo Window * @param {String} top top Of Kendo Window * @for ManageOwner */ function addKendoWindowToDiv(divId, titleText, width, left, top) { $(divId).kendoWindow({ width: width, title: titleText, modal: true, resizable: false, draggable: true, position: { top: top, left: left }, close: SetDupValueFalse() }); } /** * Function to Get The Call When the Kendo Grid Row is Selected. * @method RowSelected * @for ManageOwner */ function RowSelected() { grid = $("#gridOwnerList").data("kendoGrid"); /// click event on rows of grid. $(grid.tbody).on("click", "tr", function () { // clicked row instance row = $(this).closest("tr"); var custId; custId = row[0].childNodes[0].innerHTML; OwnerName = row[0].childNodes[2].innerHTML; //Add button hide show $("#btnAdd").show(); // ajax request to get Owner detail if (activeRequest_OwnerDetails && activeRequest_OwnerDetails.readystate != 4) { activeRequest_OwnerDetails.abort(); } $("#div_load").show(); activeRequest_OwnerDetails = $.ajax({ type: "POST", url: "/Inventory/ManageOwner_GetOwnerDetails/", data: { CustId: custId }, success: function (data) { $("#divOwnerDetailPanel").html(''); $("#divOwnerDetailPanel").html(data); LoadCityList('#ddlOwnerState', '#ddlOwnerCity'); HideValidMsg(); //$('#CustomerCustomerName').attr('readonly', true); $("#btnAdd").show(); $("#btnSaveOwner").prop('value', 'Update'); vCustMobileNoOnPageLoad = $("#CustomerMobileNumber1").val(); vOwnerMobileNoDup = 0; $("#div_load").hide(); $("#btnDeleteOwner").show(); $("#btnIsKam").hide(); }, error: function (data) { } }); }); } /** * Function to Set Kendo Window Title. * @method SetKendoWindowTitle * @param {String} divId Id of Kendo Window * @param {String} titleText Title Of Kendo Window * @for ManageOwner */ function SetKendoWindowTitle(divId, titleText) { var dialog = $(divId).data("kendoWindow"); dialog.title(titleText); } /** * Function to Close the kendo Window. * @method closeWindow * @param {String} divId Id of Kendo Window * @for ManageOwner */ function closeWindow(divId) { $(divId).data("kendoWindow").close(); } /** * Function to get Owner list. * @method getOwnerList * @for ManageOwner */ function getOwnerList() { $("#spanState").hide(); stateVal = $("#stateCombobox").data("kendoComboBox").text(); var FilterVal = $("#srchText").val(); if (stateVal != "") { $.ajax({ type: "POST", url: "/Inventory/ManageOwner_GetOwnerList/", data: { state: stateVal, FilterVal: FilterVal }, success: function (data) { //Bind html $("#divOwnerList").html(data); vPrePageSize = 0; $("#divOwnerList .k-grid-content table tr:first").addClass('k-state-selected').trigger('click'); //$("#divOwnerList .k-grid-content table tr.k-state-selected").trigger('click'); }, error: function (data) { } }); } else { $("#spanState").show(); } } /** * Function To Edit Vechile Detail * @method editVechile * @param {Object} e Contains Information about selected Row of Kendo Grid * @for ManageOwner */ function editVechile(e) { addKendoWindowToDiv("#divAddCustDetl", "Edit Vehicle Detail", "833px", 385, 250); // Get selected row var dataItem = this.dataItem($(e.currentTarget).closest("tr")); vVechileSelectedRow = dataItem; // Set Vechile model oOwner = {}; oOwner.VehicleId = dataItem.VehicleId; oOwner.VehicleRegistrationNumber = dataItem.VehicleRegistrationNumber; oOwner.VehicleNumberPlate = dataItem.VehicleNumberPlate; oOwner.VehicleModelNumber = dataItem.VehicleModelNumber; oOwner.CustomerMobileNumber1 = dataItem.CustomerMobileNumber1; oOwner.VehicleType = dataItem.VehicleType; oOwner.CustomerCustomerName = dataItem.CustomerCustomerName; oOwner.CustomerAddress = dataItem.CustomerAddress; oOwner.CustomerState = dataItem.CustomerState; oOwner.CustomerCity = dataItem.CustomerCity; oOwner.CustomerId = dataItem.CustomerId; oOwner.CustomerVehicleModelTagging = dataItem.CustomerVehicleModelTagging; oOwner.VehicleInstallationDate = dataItem.VehicleInstallationDate; oOwner.CustomerVehicleModelName = dataItem.CustomerVehicleModelName; //// Ajax request for edit ; if exist then kill it. if (activeRequest_Edit && activeRequest_Edit.readystate != 4) { activeRequest_Edit.abort(); } activeRequest_Edit = $.ajax({ type: "GET", url: "/Inventory/ManageOwner_AddOrEditCustomer", data: oOwner, success: function (data) { //open form in new dialog box $("#divAddCustDetl").parent().addClass("responsive_popup") //addClass for respond the menu $("#divAddCustDetl").html(''); $("#divAddCustDetl").html(data); SetKendoWindowTitle("#divAddCustDetl", "Edit Vehicle Detail"); //open form in new dialog box $("#divAddCustDetl").data("kendoWindow").open(); //Show the textbox of Model No., Vechile Type, Driver Name and Driver City $('#CustomerState,#CustomerCity,#btnSaveVan,#VehicleModelNumber').show(); $('#VechVechType,#ddlVechileNo').hide(); //Hide the drop down list of Model No., Vechile Type //$('#ddlVechileNo,#ddlVechileType,#btnSaveCust,#tdCustName,#tdCustName1,#trCustDetl2,#trCustDetl3,#trCustDetl4,#btnSaveVan,#btnCustReset').hide(); $('#btnSaveCust,#tdCustName,#tdCustName1,#trCustDetl2,#trCustDetl3,#trCustDetl4').hide(); //Set the readonly textbox of vechile registration Number, Vechile Chasis No.,Vechile Model No and Vechile Type //$("#VehicleRegistrationNumber,#VehicleNumberPlate,#VehicleModelNumber,#VechVechType").attr('readonly', true); //Get Value Registration and chasis No. On Page Load so that it used to check whether Chasis or/And //Registration No are duplicate vRegNoOnPageLoad = $("#VehicleRegistrationNumber").cleanVal(); vChasisNoOnPageLoad = $("#VehicleNumberPlate").val(); $('#VehicleInstallationDate').attr('disabled'); LoadCityList("#ddlState", "#ddlCity"); vAddOrUpdate = false; $('#VehicleRegistrationNumber,#VehicleNumberPlate').attr('readonly', false).removeClass("disable_btn"); $("#btnVechReset").show(); $("#btnCustReset").hide(); $("#btnSaveVan").prop('value', 'Update'); }, complete: function () { vRegNo = $("#VehicleRegistrationNumber").val(); }, error: function (data) { } }); } /** * Function To Edit Driver Detail * @method editCust * @param {Object} e Contains Information about selected Row of Kendo Grid * @for ManageOwner */ function editCust(e) { addKendoWindowToDiv("#divAddCustDetl", "Edit Driver Detail", "833px", 385, 250); // Get selected row var dataItem = this.dataItem($(e.currentTarget).closest("tr")); vSelectedRow = dataItem; vVechileSelectedRow = dataItem; //Add Or Edit Driver model oOwner = {}; oOwner.VehicleId = dataItem.VehicleId; oOwner.VehicleRegistrationNumber = dataItem.VehicleRegistrationNumber; oOwner.VehicleNumberPlate = dataItem.VehicleNumberPlate; oOwner.VehicleModelNumber = dataItem.VehicleModelNumber; oOwner.CustomerVehicleModelName = dataItem.CustomerVehicleModelName; oOwner.CustomerMobileNumber1 = dataItem.CustomerMobileNumber1; oOwner.VehicleType = dataItem.VehicleType; oOwner.CustomerCustomerName = dataItem.CustomerCustomerName; oOwner.CustomerAddress = dataItem.CustomerAddress; oOwner.CustomerState = dataItem.CustomerState; oOwner.CustomerCity = dataItem.CustomerCity; oOwner.CustomerEmailId = dataItem.CustomerEmailId; oOwner.CustomerId = dataItem.CustomerId; oOwner.CustomerVehicleModelTagging = dataItem.CustomerVehicleModelTagging; //// Ajax request for edit ; if exist then kill it. if (activeRequest_Edit && activeRequest_Edit.readystate != 4) { activeRequest_Edit.abort(); } activeRequest_Edit = $.ajax({ type: "GET", url: "/Inventory/ManageOwner_AddOrEditCustomer", data: oOwner, success: function (data) { //open form in new dialog box $("#divAddCustDetl").parent().addClass("responsive_popup") //addClass for respond the menu $("#divAddCustDetl").html(''); $("#divAddCustDetl").html(data); SetKendoWindowTitle("#divAddCustDetl", "Edit Driver Detail"); //open form in new dialog box $("#divAddCustDetl").data("kendoWindow").open(); $("#VehicleInstallationDate").val(dataItem.VehicleInstallationDate); $('#VehicleRegistrationNumber,#VehicleNumberPlate').show(); if (oOwner.CustomerId == "") { //if the Driver is newly Added then we will show dropdown of Vechile No.,Vechile Type, //and textboxes of Vechile registration No and Vechile Chasis No. //$('#ddlVechileNo,#ddlVechileType,#VehicleRegistrationNumber,#VehicleNumberPlate').show(); $('#VehicleRegistrationNumber,#VehicleNumberPlate').show(); //hide textbox of Vechile No.,Vechile Type //$("#VehicleModelNumber,#VechVechType").hide(); } else { //hide dropdown of Vechile No.,Vechile Type //$('#ddlVechileNo,#ddlVechileType').hide(); //if the Driver is already Added then we will show textbox of Vechile No.,Vechile Type, //Vechile registration No and Vechile Chasis No and set it to non-editable. //$("#VehicleRegistrationNumber,#VehicleNumberPlate,#VehicleModelNumber,#VechVechType").show().attr('readonly', true); $("#VehicleRegistrationNumber,#VehicleNumberPlate").show(); } $("#btnSaveVan,#ddlVechileNo,#ddlVechileType").hide(); //show textbox of Driver State, Driver city $('#CustomerState,#CustomerCity,#btnSaveCust,#tdCustName,#tdCustName1,#trCustDetl2,#trCustDetl3,#trCustDetl4,#btnSaveVan,#btnCustReset').show(); LoadCityList("#ddlState", "#ddlCity"); $('#VehicleRegistrationNumber,#VehicleNumberPlate').show().attr('readonly', true).addClass("disable_btn"); $("#ddlCity").val($("#CustomerCity").val()); $("#VechProduct").val(dataItem.CustomerVehicleModelTagging); vRegNoOnPageLoad = $("#VehicleRegistrationNumber").cleanVal(); vChasisNoOnPageLoad = $("#VehicleNumberPlate").val(); vAddOrUpdate = false; $("#btnSaveVan").prop('value', 'Update'); $("#btnSaveCust").hide(); $("#btnVechReset").hide(); $("#btnCustReset").show(); }, complete: function () { var datepicker = $("#VehicleInstallationDate").data("kendoDatePicker"); datepicker.enable(false); }, error: function (data) { } }); return false; // Create Reason model } /** * Function To Delete the selected Row in vechile grid * @method DeleteVechile * @param {Object} e Contains Information about selected Row of Kendo Grid * @for ManageOwner */ function DeleteVechile(e) { var dataItem = this.dataItem($(e.currentTarget).closest("tr")); var grid = $("#gridVechile").data("kendoGrid"); datasource = grid.dataSource; if (datasource.total() > 1) { //jConfirm("Do you want to delete the Vehcile Of Reg. No. " + dataItem.VehicleRegistrationNumber + ' ?', 'Delete', function (result) { jConfirm(MANAGE_FLEET_MESSAGES.confirmDeleteVehicle + " " + dataItem.VehicleRegistrationNumber + ' ?', 'Delete', function (result) { //again check whether user input is true if (result) { for (var i = 0; i <= datasource.total() - 1; i++) { var datasourceItem = datasource.at(i); if (dataItem.VehicleRegistrationNumber === datasource.at(i).VehicleRegistrationNumber) { datasourceItem.IsDealetedVehicle = true; if (dataItem.VehicleId == "") { for (var j = 0; j <= VechiledataSource.length - 1; j++) { if (dataItem.VehicleId == VechiledataSource[j].VehicleId) { VechiledataSource.splice(j, 1); } } } else { VechiledataSource.push(datasource.at(i)); } grid.removeRow(grid.tbody.find("tr")[$(e.currentTarget).closest("tr").index()]); } } } }); } else { //jAlert("Every Customer must have atleast one Vehicle"); jAlert(MANAGE_OWNER_MESSAGES.vehicleRequiredForCustomer); } } /** * Function To Delete the selected Row in Driver grid * @method DeleteCust * @param {Object} e Contains Information about selected Row of Kendo Grid * @for ManageOwner */ function DeleteCust(e) { var dataItem = this.dataItem($(e.currentTarget).closest("tr")); var gridId = "#gridCust_" + dataItem.VehicleRegistrationNumber; var grid = $(gridId).data("kendoGrid"); datasource = grid.dataSource; if (datasource.total() > 1) { //jConfirm("Do you want to delete the Driver " + dataItem.CustomerCustomerName + ' ?', 'Delete', function (result) { jConfirm(MANAGE_OWNER_MESSAGES.confirmDeleteDriver + " " + dataItem.CustomerCustomerName + ' ?', 'Delete', function (result) { //again check whether user input is true if (result) { for (var i = 0; i <= datasource.total() - 1; i++) { var datasourceItem = datasource.at(i); if (dataItem.CustomerId === datasource.at(i).CustomerId && dataItem.CustomerCustomerName === datasource.at(i).CustomerCustomerName && dataItem.VehicleRegistrationNumber === datasource.at(i).VehicleRegistrationNumber && dataItem.CustomerState === datasource.at(i).CustomerState && dataItem.CustomerCity === datasource.at(i).CustomerCity && dataItem.CustomerAddress === datasource.at(i).CustomerAddress && dataItem.CustomerMobileNumber1 === datasource.at(i).CustomerMobileNumber1) { datasourceItem.IsDeleted = true; if (dataItem.CustomerId == "") { for (var j = 0; j <= VechiledataSource.length - 1; j++) { if (dataItem.CustomerId === VechiledataSource[j].CustomerId && dataItem.CustomerCustomerName === VechiledataSource[j].CustomerCustomerName && dataItem.VehicleRegistrationNumber === VechiledataSource[j].VehicleRegistrationNumber && dataItem.CustomerState === VechiledataSource[j].CustomerState && dataItem.CustomerCity === VechiledataSource[j].CustomerCity && dataItem.CustomerAddress === VechiledataSource[j].CustomerAddress && dataItem.CustomerMobileNumber1 === VechiledataSource[j].CustomerMobileNumber1) { VechiledataSource.splice(j, 1); } } } else { VechiledataSource.push(datasource.at(i)); } grid.removeRow(grid.tbody.find("tr")[$(e.currentTarget).closest("tr").index()]); } } } }); } else { //jAlert("Every Vehcile must have atleast one Driver"); jAlert(MANAGE_OWNER_MESSAGES.driverRequiredForVehicle); } return false; } /** * Function of Binding Of Grid And set Delete Button In Vechile Grid. * @method onRowBoundVechile * @param {Object} e Contains Complete kendo grid property * @for ManageOwner */ function onRowBoundVechile(e) { // Add Edit and delete icon. $('.k-grid-Edit').text("").removeClass("k-button k-button-icontext").html(""); $('.k-grid-Delete').text("").removeClass("k-button k-button-icontext").html(""); var dataItem = this.dataItem($(e.currentTarget).closest("tr")); // called common file function to show title on mouse hover. addTitleAttribute(); // called common file function to show title on mouse hover. addTitleAttribute(); // severity functionality var data = this.dataSource.view(); // Show Delete button in Grid if We add New Row And Hide Delete button in grid if Row is Already Inserted //for (var i = 0; i < data.length; i++) { // if (data[i].VehicleId != "") { // $("#gridVechile").data("kendoGrid").tbody.find("tr[data-uid='" + data[i].uid + "']").find('td').find('#cmdDelete').find("span").removeClass("k-icon k-delete"); // } // else { // $("#gridVechile").data("kendoGrid").tbody.find("tr[data-uid='" + data[i].uid + "']").find('td').find('#cmdVanLocation').removeAttr("id"); // } //} // show no data available message when grid has no data. //displayNoResultManageFleet(e) } /** * Function of Binding Of Grid And set Delete Button In Driver Grid. * @method onRowBoundCust * @param {Object} e Contains Complete kendo grid property * @for ManageOwner */ function onRowBoundCust(e) { var dataItem = this.dataItem($(e.currentTarget).closest("tr")); var data = this.dataSource.view(); // Add Edit and delete icon. console.log(data); var gridId = "#gridCust_" + data[0].VehicleRegistrationNumber; $(gridId).find('.k-grid-Edit').text("").removeClass("k-button k-button-icontext").html(""); $(gridId).find('.k-grid-Delete').text("").removeClass("k-button k-button-icontext").html(""); // called common file function to show title on mouse hover. addTitleAttribute(); // severity functionality // Show Delete button in Grid if We add New Row And Hide Delete button in grid if Row is Already Inserted //for (var i = 0; i < data.length; i++) { // if (data[i].CustomerId != "" || typeof data[i].CustomerId == "undefined") { // var grid = $(gridId).data("kendoGrid"); // grid.tbody.find("tr[data-uid='" + data[i].uid + "']").find('td').find('#cmdDeleteVech').find("span").removeClass("k-icon k-delete"); // } //} // show no data available message when grid has no data. } /** * This function create a popup for Add Vechile Detail. * @method AddVechileDetl * @for ManageOwner */ function AddVechileDetl() { oOwner = {}; oOwner.CustomerId = ""; //Hide Vechile Detail Validation Message HideVechileValidationMsg(); addKendoWindowToDiv("#divAddCustDetl", "Add Vehicle Detail", "833px", 385, 95); // Ajax request if (activeRequest && activeRequest.readystate != 4) { activeRequest.abort(); } activeRequest = $.ajax({ type: "POST", url: "/Inventory/ManageOwner_AddOrEditCustomer", data: oOwner, success: function (data) { $("#divAddCustDetl").parent().addClass("responsive_popup") //addClass for respond the menu $("#divAddCustDetl").html(''); $("#divAddCustDetl").html(data); SetKendoWindowTitle("#divAddCustDetl", "Add Vehicle Detail"); //open form in new dialog box $("#divAddCustDetl").data("kendoWindow").open(); $('#VehicleId').val(""); //Show Controls $("#btnSaveVan,#VehicleRegistrationNumber,#ddlVechileType,#ddlVechileNo,#ddlState,#ddlCity").show(); //$("#btnSaveVan,#VehicleRegistrationNumber,#ddlState,#ddlCity").show(); $("#VehicleModelNumber,#VechVechType").hide(); $("#btnSaveCust").hide(); $("#hdnCustId").val(""); $('#VehicleInstallationDate').attr('disabled'); $('#VehicleRegistrationNumber,#VehicleNumberPlate').attr('readonly', false).removeClass("disable_btn"); vAddOrUpdate = true; vVechileSelectedRow = undefined; $("#btnVechReset").show(); $("#btnCustReset").hide(); $("#btnSaveVan").prop('value', 'Save'); }, complete: function () { vRegNo = $("#VehicleRegistrationNumber").val(); }, error: function (data) { } }); } /** * This function create a popup for Add Driver Detail. * @method AddCustDetl * @for ManageOwner */ function AddCustDetl(e) { addKendoWindowToDiv("#divAddCustDetl", "Add Driver Detail", "833px", 385, 95); // Ajax request if (activeRequest && activeRequest.readystate != 4) { activeRequest.abort(); } var grid = $("#gridVechile").data("kendoGrid"); var dataItem = this.dataItem($(e.currentTarget).closest("tr")); var rowIndx = $(e.currentTarget).closest("tr").index(); vSelectedRow = dataItem; // Add or Edit Driver model oOwner = {}; oOwner.VehicleId = dataItem.VehicleId; oOwner.VehicleRegistrationNumber = dataItem.VehicleRegistrationNumber; oOwner.VehicleNumberPlate = dataItem.VehicleNumberPlate; oOwner.VehicleModelNumber = dataItem.VehicleModelNumber; oOwner.VehicleType = dataItem.VehicleType; oOwner.CustomerVehicleModelTagging = dataItem.CustomerVehicleModelTagging; oOwner.VehicleInstallationDate = dataItem.VehicleInstallationDate; activeRequest = $.ajax({ type: "POST", data: oOwner, url: "/Inventory/ManageOwner_AddOrEditCustomer", success: function (data) { $("#divAddCustDetl").parent().addClass("responsive_popup") //addClass for respond the menu $("#divAddCustDetl").html(''); $("#divAddCustDetl").html(''); $("#divAddCustDetl").html(data); SetKendoWindowTitle("#divAddCustDetl", "Add Driver Detail"); //open form in new dialog box $("#divAddCustDetl").data("kendoWindow").open(); $('#VehicleId').val(dataItem.VehicleId); $("#btnSaveCust").show(); $("#btnSaveVan").hide(); $('#VehicleRegistrationNumber,#VehicleNumberPlate').show().attr('readonly', true).addClass("disable_btn"); $('#ddlVechileNo,#ddlVechileType').hide(); vSelectedRow = undefined; vVechileSelectedRow = undefined; $('#ddlState').show(); //$('#VechState').hide(); //$('#VechCity').hide(); $('#ddlCity').show(); grid = $("#gridVechile").data("kendoGrid"); grid.expandRow(grid.tbody.find("tr.k-master-row").eq(rowIndx)); $("#hdnCustId").val(""); vAddOrUpdate = true; $("#btnVechReset").hide(); $("#btnCustReset").show(); $("#btnSaveCust").prop('value', 'Save'); }, complete: function () { var datepicker = $("#VehicleInstallationDate").data("kendoDatePicker"); datepicker.enable(false); vRegNoOnPageLoad = $('#VehicleRegistrationNumber').cleanVal(); vChasisNoOnPageLoad = $('#VehicleNumberPlate').val(); }, error: function (data) { } }); } //function SetVehicleCOntrolDisabled() { // var datepicker = $("#VehicleInstallationDate").data("kendoDatePicker"); // datepicker.enable(false); //} ///** //* Function to show Owner details. //* @method showOwnerDetails //* @for ManageOwner //*/ //function showOwnerDetails() { // //function call on click of user list table's row // $("#tableOwnerList tbody tr").click(function (e) { // }); // //Trigger click event on first row of non-vecv owner list table // $("#tableOwnerList tbody tr:first").trigger('click'); //} /** * Function to load city list state wise. * @method LoadCityList * @param {String} stateId selected state id * @for ManageOwner */ function LoadCityList(ddlstateId, ddlcustId) { var selectedState = $(ddlstateId).find('option:selected').text(); $("#stateName").val(selectedState); var stateVal; stateVal = $(ddlstateId).val(); if (stateVal != "-Select-") stateVal = $(ddlstateId).val(); else stateVal = 0; if (stateVal != "") { if (activeRequest_City && activeRequest_City.readystate != 4) { activeRequest_City.abort(); } activeRequest_City = $.ajax({ type: "GET", url: "/UserInventory/showCityStateWise/", data: { stateVal: stateVal }, success: function (data) { // empty City dropdown $(ddlcustId).text(""); // by default add select text. $(ddlcustId).append($('').val("").html("-Select-")); // add data to dropdown. if (data.list) { for (var counter = 0; counter < data.list.length; counter++) { $(ddlcustId).append( $('').val(data.list[counter].Value).html(data.list[counter].Text)); } } if (ddlcustId == "#ddlOwnerCity") { $(ddlcustId).val($("#OwnerCityId").val()); } if (ddlcustId == "#ddlCity") { $(ddlcustId).val($("#hdnCustCityIdNo").val()); } }, error: function (data) { } }); } } /** * Function to Show the Detail in pop up on Add Csutomer Button Click in Kendo grid. * @method AddCustomer * @param {Object} e Contains Complete Row Detail Of Kendo grid. * @for ManageOwner */ function AddCustomer(e) { addKendoWindowToDiv("#divAddCustDetl", "Add Driver Detail", "833px", 385, 95); // Ajax request if (activeRequest && activeRequest.readystate != 4) { activeRequest.abort(); } activeRequest = $.ajax({ type: "POST", url: "/Inventory/ManageOwner_AddOrEditCustomer", success: function (data) { $("#divAddCustDetl").parent().addClass("responsive_popup"); //addClass for respond the menu $("#divAddCustDetl").html(''); $("#divAddCustDetl").html(''); $("#divAddCustDetl").html(data); SetKendoWindowTitle("#divAddCustDetl", "Add Driver Detail"); //open form in new dialog box $("#divAddCustDetl").data("kendoWindow").open(); //$('#btnSaveVan,#VehicleModelNumber,#VehicleType,#CustomerState,#CustomerCity').hide(); $('#btnSaveVan,#VehicleType,#CustomerState,#CustomerCity').hide(); //$('#btnSaveCust,#ddlVechileNo,#ddlVechileType,#ddlState,#ddlCity').show(); $('#btnSaveCust,#ddlState,#ddlCity').show(); $('#VehicleId').val(""); $("#VehicleInstallationDate").attr('readonly', true).addClass("disable_btn"); vAddOrUpdate = true; }, error: function (data) { } }); } /** * Function used to save or update (in case of newly added Vechile) the Vechile Including its Driver in grid. * @method btnSaveVechileCust * @for ManageOwner */ function btnSaveVechileCust() { if (CheckVechileValidation()) { var CustomerCustomerName = $("#CustomerCustomerName").val(); var VehicleRegistrationNumber = $("#VehicleRegistrationNumber").cleanVal(); var VehicleNumberPlate = $("#VehicleNumberPlate").val(); var VehicleModelNumber = $("#ddlVechileNo option:selected").val(); var CustomerVehicleModelName = $("#ddlVechileNo option:selected").text(); var VehicleType = $("#ddlVechileType option:selected").val(); var CustomerCustomerName = $("#VechCustName").val(); var CustomerMobileNumber1 = $("#VechileMobileNo").val(); var CustomerAddress = $("#VechileAddress").val(); var CustomerState = $("#ddlState option:selected").text(); var CustomerCity = $("#ddlCity option:selected").val(); var VehicleId = $("#VehicleId").val(); var CustomerEmailId = $("#txtCustomerEmailId").val(); var ProductVar = $("#VechProduct").val(); var vdataSourceLength = 0; var vTotal = 0; var VehicleInstallationDate = $("#VehicleInstallationDate").val(); var vCustId = $("#hdnCustId").val(); oOwner = {}; oOwner.VehicleId = VehicleId; oOwner.CustomerCustomerName = CustomerCustomerName; oOwner.VehicleRegistrationNumber = VehicleRegistrationNumber; oOwner.VehicleNumberPlate = VehicleNumberPlate; oOwner.VehicleModelNumber = VehicleModelNumber; oOwner.VehicleType = VehicleType; oOwner.CustomerMobileNumber1 = CustomerMobileNumber1; oOwner.CustomerAddress = CustomerAddress; oOwner.CustomerState = CustomerState; oOwner.CustomerCity = CustomerCity; oOwner.CustomerId = vCustId; oOwner.CustomerEmailId = CustomerEmailId; oOwner.CustomerVehicleModelTagging = ProductVar; oOwner.VehicleInstallationDate = VehicleInstallationDate; oOwner.CustomerVehicleModelName = CustomerVehicleModelName; var datasourceOwner; var datasourceVechile; var gridVechile = $("#gridVechile").data("kendoGrid"); datasourceCust = gridVechile.dataSource; if (typeof (vVechileSelectedRow) == "undefined") { vTotal = datasourceCust.total(); //If New vechile is added then we add it in Datasource and Also in Array //So that array is used to added the newly data datasourceCust.add({ VehicleId: oOwner.VehicleId, CustomerId: oOwner.CustomerId, VehicleRegistrationNumber: oOwner.VehicleRegistrationNumber, VehicleNumberPlate: oOwner.VehicleNumberPlate, VehicleModelNumber: oOwner.VehicleModelNumber, CustomerVehicleModelName: oOwner.CustomerVehicleModelName, VehicleType: oOwner.VehicleType, CustomerId: oOwner.CustomerId, CustomerCustomerName: oOwner.CustomerCustomerName, CustomerAddress: oOwner.CustomerAddress, CustomerState: oOwner.CustomerState, CustomerMobileNumber1: oOwner.CustomerMobileNumber1, CustomerCity: oOwner.CustomerCity, CustomerEmailId: oOwner.CustomerEmailId, CustomerVehicleModelTagging: oOwner.CustomerVehicleModelTagging, VehicleInstallationDate: oOwner.VehicleInstallationDate }); var gridId = "#gridCust_" + oOwner.VehicleRegistrationNumber; var gridCust = $(gridId).data("kendoGrid"); var datasourceCust = new kendo.data.DataSource({ VehicleId: oOwner.VehicleId, VehicleRegistrationNumber: oOwner.VehicleRegistrationNumber }); AddInList(); $(gridId).kendoGrid({ dataSource: datasourceCust }); vdataSourceLength = datasourceCust.total(); closeWindow('#divAddCustDetl'); gridVechile.expandRow(gridVechile.tbody.find("tr.k-master-row").eq(vTotal)); } else { //If we update the vechile is then we update it in Datasource and Also in Array //So that array is used to Updated the previously data vVechileSelectedRow.set("VehicleId", oOwner.VehicleId); vVechileSelectedRow.set("VehicleInstallationDate", oOwner.VehicleInstallationDate); vVechileSelectedRow.set("VehicleNumberPlate", oOwner.VehicleNumberPlate); vVechileSelectedRow.set("VehicleModelNumber", oOwner.VehicleModelNumber); vVechileSelectedRow.set("CustomerVehicleModelName", oOwner.CustomerVehicleModelName); vVechileSelectedRow.set("VehicleType", oOwner.VehicleType); vVechileSelectedRow.set("CustomerVehicleModelTagging", oOwner.CustomerVehicleModelTagging); vVechileSelectedRow.set("CustomerCustomerName", oOwner.CustomerCustomerName); vVechileSelectedRow.set("CustomerMobileNumber1", oOwner.CustomerMobileNumber1); vVechileSelectedRow.set("CustomerAddress", oOwner.CustomerAddress); vVechileSelectedRow.set("CustomerState", oOwner.CustomerState); vVechileSelectedRow.set("CustomerCity", oOwner.CustomerCity); vVechileSelectedRow.set("VehicleRegistrationNumber", oOwner.VehicleRegistrationNumber); vVechileSelectedRow.set("CustomerEmailId", oOwner.CustomerEmailId); vVechileSelectedRow.set("VehicleInstallationDate", oOwner.VehicleInstallationDate); AddInList(); } closeWindow("#divAddCustDetl"); } } /** * Function used to save or update (in case of newly added Driver) the Driver in grid. * @method btnSaveCustDetail * @for ManageOwner */ function btnSaveCustDetail() { if (CheckVechileValidation()) { var CustomerCustomerName = $("#CustomerCustomerName").val(); var VehicleRegistrationNumber = $("#VehicleRegistrationNumber").cleanVal(); var VehicleNumberPlate = $("#VehicleNumberPlate").val(); var VehicleModelNumber = $("#ddlVechileNo option:selected").val(); var VehicleType = $("#ddlVechileType option:selected").val(); var CustomerCustomerName = $("#VechCustName").val(); var CustomerMobileNumber1 = $("#VechileMobileNo").val(); var CustomerAddress = $("#VechileAddress").val(); var CustomerState = $("#ddlState option:selected").text(); var CustomerCity = $("#ddlCity option:selected").val(); var VehicleId = $("#VehicleId").val(); var CustomerEmailId = $("#txtCustomerEmailId").val(); var vdataSourceLength = 0; var VehicleInstallationDate = $("#VehicleInstallationDate").val(); var VechProduct = $("#VechProduct").val(); oOwner = {}; oOwner.VehicleId = VehicleId; oOwner.CustomerCustomerName = CustomerCustomerName; oOwner.VehicleRegistrationNumber = VehicleRegistrationNumber; oOwner.VehicleNumberPlate = VehicleNumberPlate; oOwner.VehicleModelNumber = VehicleModelNumber; oOwner.VehicleType = VehicleType; oOwner.CustomerMobileNumber1 = CustomerMobileNumber1; oOwner.CustomerAddress = CustomerAddress; oOwner.CustomerState = CustomerState; oOwner.CustomerCity = CustomerCity; oOwner.CustomerId = ""; oOwner.CustomerEmailId = CustomerEmailId; oOwner.VehicleInstallationDate = VehicleInstallationDate; oOwner.CustomerVehicleModelTagging = VechProduct; var datasource; var gridId = "#gridCust_" + oOwner.VehicleRegistrationNumber; var grid = $(gridId).data("kendoGrid"); if (grid != null) datasource = grid.dataSource; if (typeof (vVechileSelectedRow) == "undefined") { //If New Driver is added then we add it in Datasource and Also in Array //So that array is used to added the newly data var gridId = "#gridCust_" + oOwner.VehicleRegistrationNumber; grid = $(gridId).data("kendoGrid"); datasource = grid.dataSource; datasource.add({ VehicleId: oOwner.VehicleId, VehicleRegistrationNumber: oOwner.VehicleRegistrationNumber, VehicleNumberPlate: oOwner.VehicleNumberPlate, VehicleModelNumber: oOwner.VehicleModelNumber, VehicleType: oOwner.VehicleType, CustomerCustomerName: oOwner.CustomerCustomerName, CustomerAddress: oOwner.CustomerAddress, CustomerState: oOwner.CustomerState, CustomerMobileNumber1: oOwner.CustomerMobileNumber1, CustomerCity: oOwner.CustomerCity, CustomerId: oOwner.CustomerId, CustomerEmailId: oOwner.CustomerEmailId, VehicleInstallationDate: oOwner.VehicleInstallationDate, CustomerVehicleModelTagging: oOwner.CustomerVehicleModelTagging }); } else { //If we update the Driver is then we update it in Datasource and Also in Array //So that array is used to Updated the previously data vVechileSelectedRow.set("VehicleId", oOwner.VehicleId); vVechileSelectedRow.set("CustomerCustomerName", oOwner.CustomerCustomerName); vVechileSelectedRow.set("CustomerMobileNumber1", oOwner.CustomerMobileNumber1); vVechileSelectedRow.set("CustomerAddress", oOwner.CustomerAddress); vVechileSelectedRow.set("CustomerState", oOwner.CustomerState); vVechileSelectedRow.set("CustomerCity", oOwner.CustomerCity); vVechileSelectedRow.set("VehicleRegistrationNumber", oOwner.VehicleRegistrationNumber); vVechileSelectedRow.set("CustomerEmailId", oOwner.CustomerEmailId); vVechileSelectedRow.set("VehicleInstallationDate", oOwner.VehicleInstallationDate); vVechileSelectedRow.set("CustomerVehicleModelTagging", oOwner.CustomerVehicleModelTagging); } AddInList(); closeWindow("#divAddCustDetl"); } return false; } /** * This function is used to Search the data In Owner List * @method initSearch * @keyCode {string} The Key code which is pressed by user. * @sValue {string} The Value Enter in Textbox. * @for ManageOwner */ function initSearch(keyCode, sValue) { var $rows = $('#tableOwnerList tbody tr'); var jThis; if (keyCode != 8 && keyCode != 46) { $rows.each(function () { jThis = $(this); if (jThis.is(':visible')) { var oLabel = jThis.find('label').text(); if (oLabel.length > 0) { if (oLabel.toLowerCase().indexOf(sValue.toLowerCase()) >= 0) { jThis.show(); } else { jThis.hide(); } } } }); } else { $rows.each(function () { jThis = $(this); var oLabel = jThis.find('label').text(); if (oLabel.length > 0) { if (oLabel.toLowerCase().indexOf(sValue.toLowerCase()) >= 0) { jThis.show(); } else { jThis.hide(); } } }); } } /** * This function is used to Add the New Owner. * @method btnAddOwnerDetail * @for ManageOwner */ function btnAddOwnerDetail() { custId = 0; if (activeRequest_OwnerDetails && activeRequest_OwnerDetails.readystate != 4) { activeRequest_OwnerDetails.abort(); } activeRequest_OwnerDetails = $.ajax({ type: "POST", url: "/Inventory/ManageOwner_GetOwnerDetails/", data: { CustId: custId }, success: function (data) { $("#divOwnerDetailPanel").html(''); $("#divOwnerDetailPanel").html(data); //$('#CustomerCustomerName').attr('readonly', false); $("#btnAdd").hide(); vCustMobileNoOnPageLoad = $("#CustomerMobileNumber1").val(); $("#VechCustName").attr('readonly', false).removeClass("disable_btn"); vSelectedRow = undefined; $("#btnDeleteOwner").hide(); $("#btnIsKam").hide(); $("#btnSaveOwner").prop('value', 'Save'); }, error: function (data) { } }); } /** * This function is used to Cancel the Operation. * @method btnCancelAddUser * @for ManageOwner */ function btnCancelAddUser() { //$("#tableDealerList tbody tr.SelectedRow").trigger('click'); if (document.getElementById('tableOwnerList')) { $("#tableOwnerList tbody tr.SelectedRow").trigger('click'); } else { $("#divOwnerList").html(""); $("#btnAdd").show(); } } /** * Bind textbox keyup event for searching. * @event keyup * @for ManageOwner */ $('#txtSearchOwnerList').keyup(function (event) { var sValue = $.trim($(this).val()); initSearch(event.keyCode, sValue); }).keydown(function () { }).focus(function () { $(this).select(); }); //------------------------------------ document ready function --------------------------------------// $(document).ready(function () { //get owner list after DOM is ready loadStateChoices(); $("#btnDeleteOwner").hide(); $("#btnIsKam").hide(); $('#srchText').clearableTextField(); //Save The Owner Detail On Click Button $('#btnSaveOwner').click(function () { if (AllValid()) { SaveRecord(false); } }); $("#btnDeleteOwner").click(function () { //jConfirm("Do you want to delete the Customer " + OwnerName + ' ?', 'Delete', function (result) { jConfirm(MANAGE_FLEET_MESSAGES.confirmDeleteCustomer + " " + OwnerName + ' ?', 'Delete', function (result) { //again check whether user input is true if (result) { SaveRecord(true); } }); }); }); /** * This Function is used to save the record of owner. * @method SaveRecord * @for ManageOwner */ function SaveRecord(IsDeleted) { $("#div_load").show(); var vArrVechile = new Array(); var gridVechile = $("#gridVechile").data("kendoGrid"); var datasource = gridVechile.dataSource; vdataSourceLength = gridVechile.dataSource.total(); var data = datasource.view(); var CustomerCustomerName = $("#CustomerCustomerName").val(); var CustomerMobileNumber1 = $("#CustomerMobileNumber1").val(); var CustomerAddress = $("#OwnerAddress").val(); var CustomerEmailId = $("#CustomerEmailId").val(); var vStateId = $("#ddlOwnerState option:selected").text(); var vCityId = $("#ddlOwnerCity option:selected").val(); var CustList = datasource.data(); var CustomerId = $("#hdnCustomerId").val(); var IsKamUser = document.getElementById('IsKamUser').checked; var OwnerData = { CustomerCustomerName: CustomerCustomerName, CustomerMobileNumber1: CustomerMobileNumber1, CustomerAddress: CustomerAddress, CustomerEmailId: CustomerEmailId, plsVechileList: VechiledataSource, // The VechiledataSource is used the save or update the information of Vechile and Driver CustomerState: vStateId, CustomerCity: vCityId, CustomerId: CustomerId, IsDeleted: IsDeleted, IsKamUser: IsKamUser }; $.ajax({ contentType: 'application/json; charset=utf-8', dataType: 'json', type: 'POST', url: '/Inventory/ManageOwner_SaveOwner', data: JSON.stringify(OwnerData), success: function (data) { jAlert(data.message, 'message'); $('#srchText').val(''); $("#hdnCustomerId").val(data.Custid); getOwnerList(); VechiledataSource = new Array(); $("#div_load").hide(); $("#btnDeleteOwner").hide(); $("#btnIsKam").hide(); $("#btnSaveOwner").prop('value', 'Save'); if (IsDeleted) $("#btnAdd").click(); }, failure: function (response) { } }); return false; } /** * This Function is used to save or update the record of Vechile and Driver. * @method AddInList * @for ManageOwner */ function AddInList() { var vOwner; var CustomerCustomerName = $("#VechCustName").val(); var CustomerMobileNumber1 = $("#VechileMobileNo").val(); var CustomerAddress = $("#VechileAddress").val(); var vStateId = $("#ddlState option:selected").text(); var vCityId = $("#ddlCity option:selected").val(); var VehicleRegistrationNumber = $("#VehicleRegistrationNumber").cleanVal(); var VehicleNumberPlate = $("#VehicleNumberPlate").val(); var VehicleModelNumber = $("#ddlVechileNo option:selected").val(); var VehicleType = $("#ddlVechileType option:selected").val(); var VehicleId = $("#VehicleId").val(); var CustomerId = $("#hdnCustId").val(); var vCustomerEmailId = $("#txtCustomerEmailId").val(); var ProductVar = $("#VechProduct").val(); var VehicleInstallationDate = $("#VehicleInstallationDate").val(); //Used to check whether Registration No is Exist In array or Not //If Registration No. Exist in VechiledataSource Array then we will update the Vechile Detail //Else we will Add the Vechile Detail if (vAddOrUpdate == false) { if (VechiledataSource.length > 0) { for (var i = 0; i < VechiledataSource.length; i++) { if (VechiledataSource[i].VehicleRegistrationNumber == VehicleRegistrationNumber) { VechiledataSource[i].VehicleId = VehicleId; VechiledataSource[i].CustomerId = CustomerId; VechiledataSource[i].CustomerCustomerName = CustomerCustomerName; VechiledataSource[i].CustomerMobileNumber1 = CustomerMobileNumber1; VechiledataSource[i].CustomerAddress = CustomerAddress; VechiledataSource[i].CustomerState = vStateId; VechiledataSource[i].CustomerCity = vCityId; VechiledataSource[i].VehicleRegistrationNumber = VehicleRegistrationNumber; VechiledataSource[i].VehicleNumberPlate = VehicleNumberPlate; VechiledataSource[i].VehicleModelNumber = VehicleModelNumber; VechiledataSource[i].VehicleType = VehicleType; VechiledataSource[i].CustomerEmailId = vCustomerEmailId; VechiledataSource[i].CustomerVehicleModelTagging = ProductVar; VechiledataSource[i].IsDeleted = false; VechiledataSource[i].VehicleInstallationDate = VehicleInstallationDate; break; } else { vAddOrUpdate = true; } } } else { vAddOrUpdate = true; } } if (vAddOrUpdate == true) { var OwnerData = { VehicleId: VehicleId, CustomerId: CustomerId, CustomerCustomerName: CustomerCustomerName, CustomerMobileNumber1: CustomerMobileNumber1, CustomerAddress: CustomerAddress, CustomerState: vStateId, CustomerCity: vCityId, VehicleRegistrationNumber: VehicleRegistrationNumber, VehicleNumberPlate: VehicleNumberPlate, VehicleModelNumber: VehicleModelNumber, VehicleType: VehicleType, CustomerEmailId: vCustomerEmailId, CustomerVehicleModelTagging: ProductVar, IsDeleted: false, VehicleInstallationDate: VehicleInstallationDate }; VechiledataSource.push(OwnerData); } } /** * This Function is used to Check the validation for Add or Updating Vechile and Driver Detail * @method CheckVechileValidation * @for ManageOwner */ function CheckVechileValidation() { HideVechileValidationMsg(); var vResult = false; var VehicleRegistrationNumber = $("#VehicleRegistrationNumber").cleanVal(); var VehicleNumberPlate = $("#VehicleNumberPlate").val(); var VehicleModelNumber = $("#ddlVechileNo option:selected").val(); var VehicleType = $("#ddlVechileType option:selected").val(); var CustomerCustomerName = $("#VechCustName").val(); var CustomerMobileNumber1 = $("#VechileMobileNo").val(); var CustomerAddress = $("#VechileAddress").val(); var vStateId = $("#ddlState option:selected").text(); var vCityId = $("#ddlCity option:selected").text(); var CustomerEmailId = $("#txtCustomerEmailId").val(); var VehicleInstallationDate = $("#VehicleInstallationDate").val(); if (VehicleRegistrationNumber == "") $("#spanVanRegNo").show(); else if (VehicleNumberPlate == "") $("#spanVanPlateNo").show(); else if (VehicleModelNumber == "" && $("#VehicleModelNumber").val() == "") $("#spanVechModelNo").show(); else if (VehicleType == "") $("#spanVechType").show(); ////else if (VehicleInstallationDate == "") //// $("#spanVehicleInstallationDate").show() else if (CustomerCustomerName == "") $("#spanCustomerName").show(); else if (CustomerMobileNumber1 == "") { $("#spanCustomerMobileNo").text("*"); $("#spanCustomerMobileNo").show(); } else if (CustomerMobileNumber1.length != 10) { $("#spanCustomerMobileNo").text(MANAGE_FLEET_MESSAGES.mobileNoValidation); $("#spanCustomerMobileNo").show(); } else if (CustomerAddress == "") $("#spanCustomerAddress").show(); else if (vStateId == "-Select-") $("#spanCustomerState").show(); else if (vCityId == "-Select-") $("#spanCustomerCity").show(); else if (vRegNoDup > 0) jAlert(vDupMsgRegNo, 'message'); else if (vChasisNoDup > 0) jAlert(vDupMsgChasisNo, 'message'); else if (CustomerEmailId != "") { if (validateEmail(CustomerEmailId)) { vResult = true; } else { $("#spanCustEmailId").show(); } } else vResult = true; return vResult; } /** * This Function is used to Hide the validation message for Add or Updating Vechile and Driver Detail * @method HideVechileValidationMsg * @for ManageOwner */ function HideVechileValidationMsg() { $("#spanVanRegNo").hide(); $("#spanVanPlateNo").hide(); $("#spanVechModelNo").hide(); $("#spanVechType").hide(); $("#spanVechModelNo").hide(); $("#spanCustomerName").hide(); $("#spanCustomerMobileNo").hide(); $("#spanCustomerName").hide(); $("#spanCustomerAddress").hide(); $("#spanCustomerState").hide(); $("#spanCustomerEmailId").hide(); $("#spanVehicleInstallationDate").hide(); } /** * This Function is used to Check the validation for Add or Updating Owner Detail * @method AllValid * @for ManageOwner */ function AllValid() { HideValidMsg(); var vResult = false; var grid = $("#gridVechile").data("kendoGrid"); var datasource = grid.dataSource.data().length; var OwnerName = $("#CustomerCustomerName").val(); var OwnerMobileNumber = $("#CustomerMobileNumber1").val(); var OwnerAddress = $("#OwnerAddress").val(); var CustomerEmailId = $("#CustomerEmailId").val(); var CustomerAddress = $("#VechileAddress").val(); var vStateId = $("#ddlOwnerState option:selected").text(); var vCityId = $("#ddlOwnerCity option:selected").text(); var vValidEmail = validateEmail(CustomerEmailId); if (OwnerName == "") $("#spanOwnerName").show(); else if (OwnerMobileNumber == "") { $("#spanOwnerMobileNo").text("*"); $("#spanOwnerMobileNo").show(); } else if (OwnerMobileNumber.length != 10) { $("#spanOwnerMobileNo").text(MANAGE_FLEET_MESSAGES.mobileNoValidation); $("#spanOwnerMobileNo").show(); } else if (OwnerAddress == "") $("#spanOwnerAddress").show(); else if (vStateId == "-Select-") $("#spanOwnerState").show(); else if (vCityId == "-Select-") $("#spanOwnerCity").show(); else if (datasource == 0) //jAlert("Please enter Vechile detail", 'message'); jAlert(MANAGE_OWNER_MESSAGES.enterVehicleDetail, 'message'); else if (vOwnerMobileNoDup > 0) jAlert(vDupMsg, 'message'); else if (CustomerEmailId != "") { if (validateEmail(CustomerEmailId)) { vResult = true; } else { $("#spanOwnerEmailId").text(MANAGE_OWNER_MESSAGES.enterValidEmail); $("#spanOwnerEmailId").show(); } } else vResult = true; return vResult; } /** * This Function is used to hide the validation Message of owner Detail * @method HideValidMsg * @for ManageOwner */ function HideValidMsg() { $("#spanOwnerName").hide(); $("#spanOwnerMobileNo").hide(); $("#spanCustomerAddress").hide(); $("#spanVechModelNo").hide(); $("#spanOwnerEmailId").hide(); $("#spanOwnerState").hide(); $("#spanOwnerCity").hide(); } /** * This Function is used to Validate the Email Id * @param {String} email text of Email * @method validateEmail * @for ManageOwner */ function validateEmail(email) { var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; return re.test(email); } /** * This Function is used to intialize the vRegNoDup and vChasisNoDup so that it should be check on blur or on save in button click in Vechile and Driver * @method SetDupValueFalse * @for ManageOwner */ function SetDupValueFalse() { vRegNoDup = 0; vChasisNoDup = 0; } /** * This Function is used to check whether Vechile Registration No., Vechile Chasis No. or Owner Mobile No is already Added or available in DB. * @method CheckDUP * @param {string} type = 1(For Vechile Registration No.),type = 2(For Vechile Chasis No.),type = 3 (for Owner Mobile No.) * @for ManageOwner */ function CheckDUP(type) { var CustName = ""; var vCheckDup = false; if (type == "1") { CustName = $("#VehicleRegistrationNumber").cleanVal(); vRegNoDup = 0; //Check Vechile Registration No. //Is it Come same as on Form Load //IF it change then we Check in Grid if (CustName != vRegNoOnPageLoad) { vCheckDup = CheckRegNoInGrid(CustName); } } else if (type == "2") { CustName = $("#VehicleNumberPlate").val(); vChasisNoDup = 0; //Check Vechile Chasis No. //Is it Come same as on Form Load //IF it change then we Check in Grid if (CustName != vChasisNoOnPageLoad) { vCheckDup = CheckChasisNoInGrid(CustName); } } else if (type == "3") { CustName = $("#CustomerMobileNumber1").val(); vOwnerMobileNoDup = 0; //Check Driver Mobile No. if (CustName != vCustMobileNoOnPageLoad) { vCheckDup = true; } } if (vCheckDup == true && CustName != "") { $("#div_load").show(); $.ajax({ dataType: 'json', type: 'POST', url: '/Inventory/CheckForDuplication', data: { CustName: CustName, type: type }, success: function (data) { if (data.success == false) { jAlert(data.message, 'message'); if (type == "1") { vDupMsgRegNo = data.message; //Set vRegNoDup = data.count; } else if (type == "2") { vDupMsgChasisNo = data.message; vChasisNoDup = data.count; } else if (type == "3") { vOwnerMobileNoDup = data.count; vDupMsg = data.message; } } else if (type == "1") vDupMsgRegNo = ""; else if (type == "2") vDupMsgChasisNo = ""; else if (type == "3") { vDupMsg = ""; } }, complete: function () { $("#div_load").hide(); }, failure: function (response) { } }); } return false; } /** * This Function is used to check whether Reg. No. is exist in grid or not. * @method CheckRegNoInGrid * @param {string} vVechileRegdNo Vechile Registration No. * @for ManageOwner */ function CheckRegNoInGrid(vVechileRegdNo) { var grid = $("#gridVechile").data("kendoGrid"); datasource = grid.dataSource; var RegdNoList = datasource.data(); for (var i = 0; i <= RegdNoList.length - 1; i++) { if (RegdNoList[i].VehicleRegistrationNumber == vVechileRegdNo) { vDupMsgRegNo = "The Registration No. is already added by you"; jAlert(vDupMsgRegNo, 'message'); vRegNoDup = 1; return false; } } vRegNoDup = 0; return true; } /** * This Function is used to check whether Chasis no is exist in grid or not * @method CheckChasisNoInGrid * @param {string} ChasisNo Vechile ChasisNo No. * @for ManageOwner */ function CheckChasisNoInGrid(ChasisNo) { var grid = $("#gridVechile").data("kendoGrid"); datasource = grid.dataSource; var ChasisNoList = datasource.data(); for (var i = 0; i <= ChasisNoList.length - 1; i++) { if (ChasisNoList[i].VehicleNumberPlate == ChasisNo) { vDupMsgChasisNo = "The Chasis No. is already added by you"; jAlert(vDupMsgChasisNo, 'message'); vChasisNoDup = 1; return false; } } vChasisNoDup = 0; return true; } /** * This Function is used to Get The Load State * @method loadStateChoices * @for ManageOwner */ function loadStateChoices() { SecurityToken = securityToken; utcMinutes = parseInt(UtcMinutes, 10); UserId = userId; $.ajax({ type: "POST", url: WCFRESTURL.GetStateListIdWise, data: { Token: SecurityToken, UtcMinutes: utcMinutes, UserId: UserId }, dataType: "json", success: function (data) { //data.push({ // StateId: 0, // StateAlias: "-Select-" //}); data.sort(function SortState(a, b) { // non-anonymous as you ordered... return b.StateAlias < a.StateAlias ? 1 // if b should come earlier, push a to end : b.StateAlias > a.StateAlias ? -1 // if b should come later, push a to begin : 0; // a and b are equal }); $("#stateCombobox").kendoComboBox({ dataTextField: "StateAlias", dataValueField: "StateId", filter: "contains", dataSource: data }); }, complete: function () { //$("#stateCombobox").data('kendoComboBox').select(0); }, error: function (jqXHR, textStatus, errorThrown) { } }); } /** //* This Function is used to Reset the Vechile Detail //* @for ManageOwner //*/ //function btnUndoVanDealerDetail() { // if ($("#VehicleId").val() != "") { // $("#VehicleRegistrationNumber").val(vSelectedRow.VehicleRegistrationNumber); // $("#VehicleNumberPlate").val(vSelectedRow.VehicleNumberPlate); // $("#VechileAddress").val(vSelectedRow.CustomerAddress); // $("#ddlState option").filter(function () { // return this.text == vSelectedRow.CustomerState; // }).attr('selected', true); // $("#VehicleInstallationDate").val(vSelectedRow.VehicleInstallationDate); // $('#ddlState').trigger('change'); // } // else { // $("#VechileMobileNo").val(""); // $("#txtCustomerEmailId").val(""); // $("#VechileAddress").val(""); // $("#ddlState option").filter(function () { // return this.text == '-Select-'; // }).attr('selected', true); // $("#ddlCity option").filter(function () { // return this.text == '-Select-'; // }).attr('selected', true); // } // return false; //} /** * This Function is used to Reset the Driver Detail * @method btnUndoVanDealerDetail * @for ManageOwner */ function btnUndoVanDealerDetail() { if ($("#VehicleId").val() != "" || vSelectedRow.CustomerCustomerName != "") { $("#VechCustName").val(vSelectedRow.CustomerCustomerName); $("#VechileMobileNo").val(vSelectedRow.CustomerMobileNumber1); $("#txtCustomerEmailId").val(vSelectedRow.CustomerEmailId); $("#VechileAddress").val(vSelectedRow.CustomerAddress); $("#ddlState option").filter(function () { return this.text == vSelectedRow.CustomerState; }).attr('selected', true); $("#VehicleInstallationDate").val(vSelectedRow.VehicleInstallationDate); $('#ddlState').trigger('change'); } else { $("#VehicleRegistrationNumber").val(""); $("#VechCustName").val(""); $("#VechileMobileNo").val(""); $("#txtCustomerEmailId").val(""); $("#VechileAddress").val(""); $("#ddlState option").filter(function () { return this.text == '-Select-'; }).attr('selected', true); $("#ddlCity option").filter(function () { return this.text == '-Select-'; }).attr('selected', true); } return false; } /** * This Function is used to Reset the Driver Detail * @method btnUndoVechDetail * @for ManageOwner */ function btnUndoVechDetail() { if ($("#VehicleId").val() != "" || vVechileSelectedRow.VehicleRegistrationNumber != "") { $("#VehicleRegistrationNumber").val(vRegNo); $("#VehicleNumberPlate").val(vVechileSelectedRow.VehicleNumberPlate); $("#ddlVechileNo option").filter(function () { return this.text == vVechileSelectedRow.VehicleModelNumber; }).attr('selected', true); $("#ddlVechileType option").filter(function () { return this.text == vVechileSelectedRow.VehicleType; }).attr('selected', true); $("#VehicleInstallationDate").val(vVechileSelectedRow.VehicleInstallationDate); $('#ddlVechileNo').trigger('change'); } else { $("#VehicleRegistrationNumber").val(vRegNo); $("#VehicleNumberPlate").val(""); $("#ddlVechileNo option").filter(function () { return this.text == '-Select-'; }).attr('selected', true); $("#ddlVechileType option").filter(function () { return this.text == '-Select-'; }).attr('selected', true); $("#VehicleInstallationDate").val(vVechileSelectedRow.VehicleInstallationDate); $("#VechProduct").val(""); } return false; } /** * This function is Used to Check Whether the keypress No is Entered or Not. * @method isNumber * @param {Object} e Get Event Detail * @param {Object} t Get Textbox Detail * @for ManageOwner */ function isNumber(e, t) { try { if (window.event) { var charCode = window.event.keyCode; } else if (e) { var charCode = e.which; } else { return true; } if (charCode > 31 && (charCode < 48 || charCode > 57)) { return false; } return true; } catch (err) { alert(err.Description); } } /** * This Function is used to get the product Varient based on Model No. * @method GetProductVar * @for ManageOwner */ function GetProductVar() { var VModel = $("#ddlVechileNo").val(); $.getJSON("/Ticket_CustomerInventory/GetVehicleModelTaggingBasedOnModelNo/", { ModelTypeId: VModel }, function (result) { if (result) { var ModelType = result.VehicleModelTagging; for (var count = 0; count < ModelType.length; count++) { $("#VechProduct").val(ModelType[0].VehicleTypeTagging); } } }); } (function ($) { /** * This Function is used to check whether Cut, Copy, Paste operation is Performed on. * @for ManageOwner */ $.fn.clearableTextField = function () { if ($(this).length > 0) { $(this).bind('keyup change paste cut', onSomethingChanged); for (var i = 0; i < $(this).length; i++) { trigger($($(this)[i])); } } } /** * On Cut, Copy, Paste This Function will Call. * @for ManageOwner */ function onSomethingChanged() { trigger($(this)); } /** * This function is used to check Add or Remove the Clear Button. * @for ManageOwner */ function trigger(input) { if (input.val().length > 0) { add_clear_button(input); } else { remove_clear_button(input); } } /** * This function is used to Add the Clear Button. * @for ManageOwner */ function add_clear_button(input) { if (!input.next().hasClass('text_clear_button')) { // appends div input.after("
"); var clear_button = input.next(); var w = clear_button.outerHeight(), h = clear_button.outerHeight(); input.css('padding-right', parseInt(input.css('padding-right')) + w + 1); input.width(input.width() - w - 1); var pos = input.position(); var style = {}; style['left'] = pos.left + input.outerWidth(false) - (w + 2); var offset = Math.round((input.outerHeight(true) - h) / 2.0); style['top'] = pos.top + offset; clear_button.css(style); clear_button.click(function () { input.val(''); trigger(input); }); } } /** * This function is used to Remove the Clear Button. * @for ManageOwner */ function remove_clear_button(input) { var clear_button = input.next(); if (clear_button.hasClass('text_clear_button')) { clear_button.remove(); var w = clear_button.width(); input.css('padding-right', parseInt(input.css('padding-right')) - w - 1); input.width(input.width() + w + 1); } } })(jQuery);