API Docs for:
Show:

File: Inventory\dealerUserInventory.js

/*================================================================================================================\
+
+ Project     : GoData-Eicher
+ Filename    : dealerUserInventory.js
+ Module Name : DealerUserInventory
+ Purpose     : For Dealer User Inventory              
+ Coded By    : Parul Gupta
+
+================================================================================================================*/


/**
* For user management
* @module UserManagement
*/



/**
* This class contains functionality of add non-vecv(dealer) users.
* @class NonVecvUserManagement
* @constructor
*/



//Global variables
var activeRequest, activeRequest_City, activeRequest_del, activeRequest_UserDetails, activeRequest_export;


/**
* Function to get non-vecv users list.
* @method getDealerUserList
* @for NonVecvUserManagement
*/
function getDealerUserList() {

    $.ajax({
        type: "POST",
        url: "/UserInventory/ManageUserInventory_GetUserList/",
        data: { userType: "dealer" },
        success: function (data) {

            //Bind html
            $("#divDealerUserList").html(data);
        },
        error: function (data) {
            console.log(data);
        }
    });
}


/**
* Function to show non-vecv users details.
* @method showUserDetails
* @for NonVecvUserManagement
*/
function showUserDetails() {

    //function call on click of user list table's row
    $("#tableUserList tbody tr").click(function (e) {

        var userName, $this;
        $this = $(this);
        userName = e.currentTarget.id;

        //Add button hide show
        $("#btnAdd").show();

        // add selected class on selected row
        $('#tableUserList > tbody > tr').removeClass("SelectedRow");
        $this.addClass("SelectedRow");

        // ajax request to get non-vecv user detail
        if (activeRequest_UserDetails && activeRequest_UserDetails.readystate != 4) {
            activeRequest_UserDetails.abort();
        }
        activeRequest_UserDetails = $.ajax({
            type: "POST",
            url: "/UserInventory/ManageUserInventory_GetUserDetails/",
            data: { UserName: userName },
            success: function (data) {

                $("#divDealerUserDetailPanel").html('');
                $("#divDealerUserDetailPanel").html(data);

            },
            error: function (data) {
                console.log(data);
            }
        });
    });

    //Trigger click event on first row of non-vecv user list table
    $("#tableUserList tbody tr:first").trigger('click');
}


/**
* Function to add new non-vecv users.
* @method addNonUserDealer
* @for NonVecvUserManagement
*/
function addNonUserDealer() {

    //send ajax report to add non-vecv user
    $.ajax({

        type: "Get",
        url: "/UserInventory/ManageDealerInventory_AddDealer/",
        success: function (data) {
            $("#divDealerUserDetailPanel").html(data);
            $("#btnAdd").hide();
        },

        error: function (data) {
            console.log(data);
        }
    });
}


/**
* Function to check if user already exist.
* @method checkIfUsernameIsExist
* @for NonVecvUserManagement
*/
function checkIfUsernameIsExist() {

    //function call on blur of user name text box
    $("#UserName").blur(function () {
        var _userName = $("#UserName").val();
        if (_userName != "") {
            $.getJSON("/UserInventory/CheckUserIsExist/", { UserName: _userName }, function (data) {
                console.log(data);
                if (data.result == false) {

                    //show validation message if username already exists
                    $("#spanUserName").show();
                    $("#UserName").val('').focus();
                }
                else {
                    $("#spanUserName").hide();
                }
            });
        }
    });
}


/**
* Function to check if email id exist.
* @method checkIfEmailidIsExist
* @for NonVecvUserManagement
*/
function checkIfEmailidIsExist() {

    //function call on blur of user name text box
    $("#EmailId").blur(function () {
        var _emailId = $("#EmailId").val();
        if (_emailId != "") {
            $.getJSON("/UserInventory/CheckEmailIsExist/", { EmailId: _emailId }, function (data) {
                console.log(data);
                if (data.result == false) {

                    //show validation message if username already exists
                    $("#spanEmail").show();
                    $("#EmailId").val('').focus();
                }
                else {
                    $("#spanEmail").hide();
                }
            });
        }
    });
}

/**
* Function to load city list state wise.
* @method LoadCityList
* @param {String} stateId selected state id
* @for NonVecvUserManagement
*/
function LoadCityList(stateId) {

    var selectedState = $('#ddState').find('option:selected').text();
    $("#stateName").val(selectedState);
    var stateVal;

    stateVal = $("#ddState").val();
    if (stateVal != "-Select-") {
        stateVal = $("#ddState").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
                $("#ddCity").text("");
                // by default add select text.
                $("#ddCity").append($('<option></option>').val("").html("-Select-"));

                // add data to dropdown.
                if (data.list) {
                    for (var counter = 0; counter < data.list.length; counter++) {
                        $("#ddCity").append(
                           $('<option></option>').val(data.list[counter].Value).html(data.list[counter].Text));
                    }
                }
            },
            error: function (data) {
                console.log(data);
            }
        });
    }
}

/**
* Function call onclick of cancel button.
* @method btnCancelAddUser
* @for NonVecvUserManagement
*/
function btnCancelAddUser() {
    if (document.getElementById('tableUserList')) {
        $("#tableUserList tbody tr.SelectedRow").trigger('click');
    } else {
        $("#divDealerUserDetailPanel").html("");
        $("#btnAdd").show();
    }
}

/**
* Function call onsuccess of add non-vecv user.
* @method onSuccessAddDealer
* @for NonVecvUserManagement
*/
function onSuccessAddDealer(data) {

    if (data.success == true) {
        //console.log("user added");
        getDealerUserList();
        //jAlert('User added successfully.', 'Message', function () {
        jAlert(USER_INVENTORY_MESSAGES.addUserSuccess, 'Message', function () {
            $("#tableUserList tbody tr[data-userName='" + data.userAuthId + "']").trigger('click');
        });
    }
    else {
        //jAlert('Add User failed !!' + data.message, 'Message');
        jAlert(USER_INVENTORY_MESSAGES.addUserFailed + data.message, 'Message');
    }
}

//
/**
* Function to get organization id dealer wise(non-vecv user)
* @method getOrganizationDealerWise
* @for NonVecvUserManagement
*/
function getOrganizationDealerWise($this) {

    var dealerId;
    dealerId = $("#ddNonUserDealer").val();
    if (dealerId != "-Select-") {
        dealerId = $("#ddNonUserDealer").val();
    }
    else {
        dealerId = 0;
    }
    if (dealerId != "") {
        $.ajax({
            type: "GET",
            url: "/UserInventory/GetOrganizationDealerWise/",
            data: { dealerId: dealerId },
            success: function (data) {
               // console.log(data);
                if (data) {
                    if (data.organizationId) {
                        for (var counter = 0; counter < data.organizationId.length; counter++) {
                           // console.log(data.organizationId[counter]);
                            $("#organizationName").val(data.organizationId[counter]);
                        }
                    }
                    if (data.organizationName) {
                        for (var counter = 0; counter < data.organizationName.length; counter++) {
                            //console.log(data.organizationName[counter]);
                            $("#ddOrganization").val(data.organizationName[counter]);
                        }
                    }
                }
            },
            error: function (data) {
                console.log(data);
            }
        });
    }
}



///**
//* To search BTS from BTS list
//* @method searchBts
//* @for Inventory
//*/
//function searchUser() {
//    var $rows = $('#tableUserList tr');
//    // On key uo of textbox
//    $('#txtSearchUserList').keyup(function (e) {
//        console.log(e);
//        var code = e.keyCode;
//        if (code == 13) {
//            filterTableForSearch();
//        }
//        if ($('#txtSearchUserList').val() == '') {
//            filterTableForSearch();
//            $("#btnSearchCancel").hide();
//            $("#btnSearch").show();
//        }
//    });

//    // When search button clicked
//    $("#btnSearch").click(function () {
//        if ($('#txtSearchUserList').val() != '') {
//            filterTableForSearch();
//        }
//    });

//    // when cancel button clicked
//    $("#btnSearchCancel").click(function () {
//        $("#btnSearchCancel").hide();
//        $("#btnSearch").show();
//        $("#txtSearchUserList").val('');
//        $rows.show();
//    });
//}

///**
//* Update bts list based on the searched value.
//* @method filterTableForSearch
//* @for Inventory
//*/
//function filterTableForSearch() {
//    console.log("hi");
//    var $rows = $('#tableUserList tr');
//    $("#btnSearchCancel").show();
//    $("#btnSearch").hide();
//    var searchString = $("#txtSearchUserList").val();
//    var val = $.trim(searchString).replace(/ +/g, ' ').toLowerCase();

//    $rows.show().filter(function () {
//        var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
//        return !~text.indexOf(val);
//    }).hide();
//}




/**
* Function used to trigger row click event.
* @method initSearch
* @param {String} keyCode Input key code.
* @param {String} sValue text to be search.
* @for NonVecvUserManagement
*/
function initSearch(keyCode, sValue) {
    var $rows = $('#tableUserList 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();
                }
            }
        });
    }
}



/**
* Bind textbox keyup event for searching.
* @event keyup
* @for NonVecvUserManagement
*/
$('#txtSearchUserList').keyup(function (event) {
    var sValue = $.trim($(this).val());
    initSearch(event.keyCode, sValue);
}).keydown(function () { }).focus(function () { $(this).select(); });

//------------------------------------ document ready function --------------------------------------//
$(document).ready(function () {

    getDealerUserList();
});