Sunday, 3 December 2017

add item to Site Actions menu in SharePoint online Office 365 using JavaScript object model

<script>
    $(document).ready(function () {
        SP.SOD.executeFunc('sp.js', 'SP.ClientContext', AddCustomMenuAction);
    });

    function AddCustomMenuAction() {

        var clientContext = new SP.ClientContext();
        var oWeb = clientContext.get_web();

        var menuActions = oWeb.get_userCustomActions();
        var menuAction = menuActions.add();
        menuAction.set_location('Microsoft.SharePoint.StandardMenu');
        menuAction.set_sequence(101);
        menuAction.set_group('SiteActions');
        menuAction.set_title("sharepoint-data.blogspot.com");
        menuAction.set_url("http://sharepoint-data.blogspot.com/");
        menuAction.update();

        clientContext.load(menuActions);
        clientContext.executeQueryAsync(OnSuccess, OnFailure);
    }

    function OnSuccess() {
        alert('Custom menu action added in site actions');
    }

    function OnFailure() {
        alert('Fail');
    }
</script>

Sunday, 12 November 2017

Clear client side people picker control

use below method to clear client side people picker control


clearPeoplePicker("ppowner");

function clearPeoplePicker(pickerId)
{
    var toSpanKey = pickerId+"_TopSpan";
    var peoplePicker = null;

    // Get the people picker object from the page.
    var ClientPickerDict = this.SPClientPeoplePicker.SPClientPeoplePickerDict;
    // Get the people picker object from the page.
    for (var propertyName in ClientPickerDict) {
        if (propertyName == toSpanKey) {
            peoplePicker = ClientPickerDict[propertyName];
            break;
        }
    }

    if (peoplePicker)
{
        var ResolvedUsersList = $(document.getElementById(peoplePicker.ResolvedListElementId)).find("span[class='sp-peoplepicker-userSpan']");
        $(ResolvedUsersList).each(function (index) {
            peoplePicker.DeleteProcessedUser(this);
        });
    }
}

Monday, 11 September 2017

Register Assembly in gac

[Reflection.Assembly]::LoadWithPartialName("System.EnterpriseServices")
[System.EnterpriseServices.Internal.Publish] $publish = new-object System.EnterpriseServices.Internal.Publish;
$publish.GacInstall("C:\Users\spsadmin\Desktop\AjaxControlToolkit.dll");

Tuesday, 15 August 2017

Export HTML to MS Word document

1. Below is HTML with word Header and Footer

<!doctype html>
<html>
<head>
    <script type="text/javascript" src="../Style Library/website/jQuery-2.1.4.min.js"></script>
    <script src="../Style Library/website/Print/FileSaver.js"></script>
    <script src="../Style Library/website/Print/WordExport.js"></script>
    <script>
        jQuery(document).ready(function ($) {
            $("#btnWordExport").click(function (event) {
                   $("#page-content1").wordExport();
            });
        });
    </script>
</head>
<body>
    <div class="headerContent no-print">
        <table class='no-print'>
            <tr>
                <td>
                </td>
                <td>
                    <p><input type="button" id="btnWordExport" value="Export to word" class='no-print'></p>
                </td>
            </tr>
        </table>
    </div>
    <!-------------- HTML Content With Header and Footer in document --------------->
    <div>
        <div id="page-content1">
            <html xmlns:v="urn:schemas-microsoft-com:vml"
                  xmlns:o="urn:schemas-microsoft-com:office:office"
                  xmlns:w="urn:schemas-microsoft-com:office:word"
                  xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
                  xmlns="http://www.w3.org/TR/REC-html40">
            <head>
                <meta http-equiv=Content-Type content="text/html; charset=utf-8">
                <title></title>
                <style>
                    v\:* {
                        behavior: url(#default#VML);
                    }

                    o\:* {
                        behavior: url(#default#VML);
                    }

                    w\:* {
                        behavior: url(#default#VML);
                    }

                    .shape {
                        behavior: url(#default#VML);
                    }
                </style>
                <style>
                    @page {
                        mso-page-orientation: portrait;
                        size: 21cm 29.7cm;
                        /* mso-page-orientation:portrait;
                    size: 29.7cm 21cm;*/
                        margin: 1cm 1cm 1cm 1cm;
                    }

                    @page Section1 {
                        mso-header-margin: .2in;
                        mso-footer-margin: .5in;
                        mso-header: h1;
                        mso-footer: f1;
                    }

                    div.Section1 {
                        page: Section1;
                    }

                    table#hrdftrtbl {
                        margin: 0in 0in 0in 900in;
                        width: 1px;
                        height: 1px;
                        overflow: hidden;
                    }


                    p.MsoFooter, li.MsoFooter, div.MsoFooter {
                        margin: 0in;
                        margin-bottom: .0001pt;
                        mso-pagination: widow-orphan;
                        tab-stops: center 3.0in right 6.0in;
                        font-size: 12.0pt;
                    }
                </style>
                <xml>
                    <w:WordDocument>
                        <w:View>Print</w:View>
                        <w:Zoom>100</w:Zoom>
                        <w:DoNotOptimizeForBrowser />
                    </w:WordDocument>
                </xml>
            </head>

            <body>
                <div class="Section1">
                    <p>
                        <!-----Export body ------>
                        <table id="printsplit1">
                            <tbody id="perintbodyContent1" style="font-family:Arial;"></tbody>
                        </table>
                        <!-----End Export body ------>
                    </p>
                    <br />
                    <table id='hrdftrtbl' border='0' cellspacing='0' cellpadding='0'>
                        <tr>
                            <td>
                                <div style='mso-element:header;' id=h1>
                                    <!-- HEADER-tags -->
                                    <p class=MsoHeader>

                                        <table border="0" width="100%" cellpadding="0" cellspacing="0" style="border-bottom:1px solid #736D6E">
                                            <tr>
                                                <td width="100%" align="center">
                                                    <img align="center" src='/sites/website/SiteAssets/logo4.png' crossOrigin='Anonymous' />
                                                </td>

                                            </tr>
                                        </table>


                                    </p>
                                    <!-- end HEADER-tags -->
                                </div>
                            </td>
                            <td>
                                <div style='mso-element:footer' id=f1>
                                    <table border="0" width="100%" cellpadding="0" cellspacing="0" style="border-top:1px solid #736D6E">
                                        <tr>
                                            <td width="50%" align="left">
                                                Form Set / <label id="lblFormSetNo"></label>
                                            </td>
                                            <td width="50%" align="right">
                                                <p class=MsoFooter>
                                                    <span style='mso-tab-count:2'></span>
                                                    Page <span style='mso-field-code: PAGE '>
                                                        <span style='mso-no-proof:yes'></span> from <span style='mso-field-code: NUMPAGES '></span>
                                                        <!-- end FOOTER-tags -->
                                                    </span>
                                                </p>

                                            </td>
                                        </tr>
                                    </table>

                                </div>
                                <div style='mso-element:header' id=fh1>
                                    <p class=MsoHeader><span lang=EN-US style='mso-ansi-language:EN-US'>&nbsp;<o:p></o:p></span></p>
                                </div>
                                <div style='mso-element:footer' id=ff1>
                                    <p class=MsoFooter><span lang=EN-US style='mso-ansi-language:EN-US'>&nbsp;<o:p></o:p></span></p>
                                </div>

                            </td>
                        </tr>
                    </table>
                </div>

            </body>
        </html>
    </div>
</div>
</body>
</html>


2. Generate HTML,which content has to be exported in Word Document



  // generate Document Body in HTML
function GenerateDocumentBodyHTML() {

        var singleTr = "";
        var singleContentTD = "";
        var singleTDQNO = "";
        var contentDirection = "";
        var leftPadding = "";
        if (printType == "Arabic") {
            contentDirection = ";direction:rtl;";
            leftPadding = ";padding-right:30px;";
        }
        else {
            leftPadding = ";padding-left:30px;";
        }

        //style of columns
        var leftTDACSS = "style='width:100%;vertical-align: text-top;font-family:Arial;font-size:11px;border-top: 0px;border-bottom:0px;" + leftPadding + contentDirection + "'";
        var leftTDBCSS = "style='width:0%;vertical-align: text-top;background:gray;color:white;" + contentDirection + "'";
        //data can be any format
        for (var i = 0; i < 10; i++)
        {

            var questionContentColumn1 = "hi testting";
            var questionContentColumn2 = "hi testting";

            singleContentTD = "<td " + leftTDACSS + " class='table_contentA'>" + questionContentColumn2 + "</td>";
            singleTDQNO = "<td " + leftTDBCSS + " class='table_contentB'>" + questionContentColumn1 + + "</td>";

            if (printType == "Arabic")
            {
                //add two columns in table in arabic view
                singleTr = singleTr + "<tr>" + singleContentTD + singleTDQNO + "</tr>";
            }
            else
            {
                //add two columns in table in English view
                singleTr = singleTr + "<tr>" + singleTDQNO + singleContentTD + "</tr>";
            }                  
        }
                     
        //append rows to body of table html for export functionality
        $('#perintbodyContent1').append(singleTr);
        // find img and set attribute for cross domain
        $('img').each(function () {
            $(this).attr('crossOrigin', 'Anonymous');
            var url = $(this).attr('src');
            // convert all image url to datauri
            $(this).promise(callMethod($(this))).done(function (s) {
                //do whatever you want here
            });

        });
}




function callMethod(imagepath)
{
    var url = $(imagepath).attr('src');
    var s = "";
    convertFileToDataURLviaFileReader(url, function (base64Img)
    {
        $(imagepath).attr('src', base64Img);
        s = base64Img;
    });
    return s;
}
function convertFileToDataURLviaFileReader(url, callback)
{
    var xhr = new XMLHttpRequest();
    xhr.onload = function ()
    {
        var reader = new FileReader();
        reader.onloadend = function ()
        {
            callback(reader.result);
        }
        reader.readAsDataURL(xhr.response);
    };
    xhr.open('GET', url);
    xhr.responseType = 'blob';
    xhr.send();
}



3. Below are supported js file

   <script type="text/javascript" src="../Style Library/website/jQuery-2.1.4.min.js"></script>
    <script src="../Style Library/website/Print/FileSaver.js"></script>
    <script src="../Style Library/website/Print/WordExport.js"></script>

which can be download from below link  FileSaver.js     and    WordExport.js



4. Result will be













Monday, 7 August 2017

Add Filter in HTML table header using jquery


1. If you have data in array list then copy below function and modify as per your requirement.




function ShowFinalTable()
{

    var finalQuestionArrayList = new Array();
    var questionNoArrayList = new Array();
    var finalFormSetTableArrayList = new Array();
    var itemInformationArrayList = new Array();
    var difficlityArrayList = new Array();
    var complexityArrayList = new Array();
    var conareatextArrayList = new Array();
    var subcontentareatextArrayList = new Array();
    for (var i = 0; i < preTest_formSetsQuations.length; i++)
    {
        var formSet = {};
            formSet.FormSet = "Pre-Test";
            formSet.Question = preTest_formSetsQuations[i];
            finalQuestionArrayList.push(formSet);    
    }
    for (var i = 0; i < anchor_formSetsQuations.length; i++)
    {
        var formSet = {};
        formSet.FormSet = "Anchor";
        formSet.Question = anchor_formSetsQuations[i];
        finalQuestionArrayList.push(formSet);  
    }
    for (var i = 0; i < unique_formSetsQuations.length; i++)
    {
        var formSet = {};
        formSet.FormSet = unique_formSetsQuations[i].FormSet;
        formSet.Question = unique_formSetsQuations[i].Question;
        finalQuestionArrayList.push(formSet);
    }  
    var items = completeUniqueQuestionBankArray;
    var txtquestionNo=   "<br /><select type='text' id='txtquestionNo' class='rowSearchHeader' style='display:none'  onchange='searchRows(tableFinalResult)'></select>";
    var txtFormSet = "<br /><select type='text' id='ddlFinalFormSet' class='rowSearchHeader' onchange='searchRows(tableFinalResult)'></select>";
    var txtcontentArea = "<br /><select type='text' id='txtcontentArea' class='rowSearchHeader'   onchange='searchRows(tableFinalResult)'></select>";
    var txtsubContentArea = "<br /><select type='text' id='txtsubContentArea' class='rowSearchHeader'  onchange='searchRows(tableFinalResult)'></select>";
    var txtitemInformation = "<br /><select type='text' id='txtitemInformation' class='rowSearchHeader'   onchange='searchRows(tableFinalResult)'></select>";
    var txtdifficulty = "<br /><select type='text' id='txtdifficulty' class='rowSearchHeader'    onchange='searchRows(tableFinalResult)'></select>";
    var txtcomplexity = "<br /><select type='text' id='txtcomplexity' class='rowSearchHeader'   onchange='searchRows(tableFinalResult)'></select>";



    var tbody = "<div id='mainTablearea1'><table cellpadding='0' id='tableFinalResult' cellspacing='0' border='0' id='table' class='tinytable table table-bordered'></div><thead><tr style='background-color: #16629e;color: white;font-size: 11px;'><th class='nosort'>" + $('#colRequeNo').val() + txtquestionNo + "</th><th>FormSet" + txtFormSet + "</th><th>Content Area" + txtcontentArea + "</th><th>Sub Content Area" + txtsubContentArea + "</th><th>Item Information" + txtitemInformation + "</th><th>Difficulty" + txtdifficulty + "</th><th>Complexity" + txtcomplexity + "</th></tr></thead><tbody id='searchDatafinal' style='font-size: 11px;background-color: #fff;'>";
    var tr = "<tr class='rowSearch'>";
    var questionNo = "";
    for (var i = 0; i < items.length; i++)
    {
        var indexValue = finalQuestionArrayList.findIndex(x => x.Question == items[i].ID);
        var valueOfFormSet = "";
        if (indexValue != -1)
        {
            valueOfFormSet = finalQuestionArrayList[indexValue].FormSet;
            questionNo = items[i].ID;
         
            var itemInformation = items[i].ItemInformation;
            if (itemInformation == null) {
                itemInformation = "";
            }
            var difficlity = items[i].DifficulityText;
            if (difficlity == null) {
                difficlity = "";
            }
            var complexity = items[i].ComplexityText;
            if (complexity == null) {
                complexity = "";
            }
            var conareatext = items[i].ContentAreaText;
            if (conareatext == null) {
                conareatext = "";
            }
            var subcontentareatext = items[i].SubContentAreaText;
            if (subcontentareatext == null) {
                subcontentareatext = "";
            }
            tr = tr + "<td><a>" + questionNo + " </a></td><td>" + valueOfFormSet + "</td><td>" + conareatext + "</td><td>" + subcontentareatext + "</td><td>" + itemInformation + "</td><td>" + difficlity + "</td><td>" + complexity + "</td></tr>";
       
            if (questionNoArrayList.toString().indexOf(questionNo) == -1)
            {
                questionNoArrayList.push(questionNo);
            }
         
            if (finalFormSetTableArrayList.toString().indexOf(valueOfFormSet) == -1)
            {
                finalFormSetTableArrayList.push(valueOfFormSet);
            }
            if (itemInformationArrayList.toString().indexOf(itemInformation) == -1) {
                itemInformationArrayList.push(itemInformation);
            }
            if (difficlityArrayList.toString().indexOf(difficlity) == -1) {
                difficlityArrayList.push(difficlity);
            }
            if (complexityArrayList.toString().indexOf(complexity) == -1) {
                complexityArrayList.push(complexity);
            }
            if (conareatextArrayList.toString().indexOf(conareatext) == -1) {
                conareatextArrayList.push(conareatext);
            }
            if (subcontentareatextArrayList.toString().indexOf(subcontentareatext) == -1) {
                subcontentareatextArrayList.push(subcontentareatext);
            }
        }
    }
    var completebody = tbody  +tr + "</tr></tbody></table>";
    var dvTable = $("#mainDivFinalTable");
    dvTable.html("");
    //Append HTML in Main Div Area
    dvTable.append(completebody);

    $('#txtquestionNo').append('<option value="0">Select...</option>');
    for (var index = 0; index < questionNoArrayList.length; index++)
    {
        $('#txtquestionNo').append('<option value="' + questionNoArrayList[index] + '">' +  questionNoArrayList[index] + '</option>');
    }
    $('#ddlFinalFormSet').append('<option value="0">Select...</option>');
    for (var index = 0; index < finalFormSetTableArrayList.length; index++) {
        $('#ddlFinalFormSet').append('<option value="' + finalFormSetTableArrayList[index] + '">' + finalFormSetTableArrayList[index] + '</option>');
    }
    $('#txtcontentArea').append('<option value="0">Select...</option>');
    for (var index = 0; index < conareatextArrayList.length; index++) {
        $('#txtcontentArea').append('<option value="' + conareatextArrayList[index] + '">' + conareatextArrayList[index] + '</option>');
    }
    $('#txtsubContentArea').append('<option value="0">Select...</option>');
    for (var index = 0; index < subcontentareatextArrayList.length; index++) {
        $('#txtsubContentArea').append('<option value="' + subcontentareatextArrayList[index] + '">' +  subcontentareatextArrayList[index] + '</option>');
    }
    $('#txtitemInformation').append('<option value="0">Select...</option>');
    for (var index = 0; index < itemInformationArrayList.length; index++) {
        $('#txtitemInformation').append('<option value="' + itemInformationArrayList[index] + '">' +  itemInformationArrayList[index] + '</option>');
    }
    $('#txtdifficulty').append('<option value="0">Select...</option>');
    for (var index = 0; index < difficlityArrayList.length; index++) {
        $('#txtdifficulty').append('<option value="' + difficlityArrayList[index] + '">' +  difficlityArrayList[index] + '</option>');
    }
    $('#txtcomplexity').append('<option value="0">Select...</option>');
    for (var index = 0; index < complexityArrayList.length; index++) {
        $('#txtcomplexity').append('<option value="' + complexityArrayList[index] + '">' +  complexityArrayList[index] + '</option>');
    }
 
}


2. Copy below method and change the control header according to requirement .
in below script added the dropdown in header to filter the data but if you want to change to text box then replace select with input 





function searchRows(tblId) {
    var tbl = document.getElementById('tableFinalResult');
    var headRow = tblId.rows[0];
    var arrayOfHTxt = new Array();
    var arrayOfHtxtCellIndex = new Array();

    for (var v = 0; v < headRow.cells.length; v++) {
        if (headRow.cells[v].getElementsByTagName('select')[0])
        {
            var Htxtbox = headRow.cells[v].getElementsByTagName('select')[0];
            if (Htxtbox.value != 0) {
                if (Htxtbox.value.replace(/^\s+|\s+$/g, '') != '') {
                    arrayOfHTxt.push(Htxtbox.value.replace(/^\s+|\s+$/g, ''));
                    arrayOfHtxtCellIndex.push(v);
                }
            }
        }
    }

    for (var i = 1; i < tbl.rows.length; i++) {
        tbl.rows[i].style.display = 'table-row';
        for (var v = 0; v < arrayOfHTxt.length; v++) {
            var CurCell = tbl.rows[i].cells[arrayOfHtxtCellIndex[v]];
            var CurCont = CurCell.getElementsByTagName('span')[0];
            var reg = new RegExp(arrayOfHTxt[v] + ".*", "i");
            if (!CurCont) {
                CurCont = tbl.rows[i].cells[arrayOfHtxtCellIndex[v]];
            }
            if (CurCont.innerHTML.match(reg) == null) {
                tbl.rows[i].style.display = 'none';
            }
        }
    }

}

3. Below will be result 










Wednesday, 2 August 2017

Create Dynamic HTML Table with edit functionality using jquery

1.


 <table class="table table-bordered matrixTable" id="uniqueTableMatrix">
                                                                            <thead class="matrixTableHeader">
                                                                                <tr>
                                                                                    <td rowspan='2'>Content Area</td>
                                                                                    <td rowspan='2'>No of Item</td>
                                                                                    <td rowspan='2'>Sub Area</td>
                                                                                    <td rowspan='2'>No of Item</td>
                                                                                    <td colspan='3'>Difficulty Level 1</td>
                                                                                    <td colspan='3'>Difficulty Level 2</td>
                                                                                    <td colspan='3'>Difficulty Level 3</td>
                                                                                    <td rowspan='2'>Action</td>
                                                                                </tr>
                                                                                <tr>
                                                                                    <td>C 1</td>
                                                                                    <td>C 2</td>
                                                                                    <td>C 3</td>
                                                                                    <td>C 1</td>
                                                                                    <td>C 2</td>
                                                                                    <td>C 3</td>
                                                                                    <td>C 1</td>
                                                                                    <td>C 2</td>
                                                                                    <td>C 3</td>
                                                                                </tr>
                                                                            </thead>
                                                                            <tbody id="tblBodyMatrix"></tbody>

                                                                            <tfoot class="matrixTableFooter" id="questionsMatrixTableFooter">
                                                                                <tr class="totalColumn">
                                                                                    <td class="totalCol">Total:</td>
                                                                                    <td class="totalCol">0</td>
                                                                                    <td class="totalCol"></td>
                                                                                    <td class="totalCol">0</td>
                                                                                    <td class="totalCol">0</td>
                                                                                    <td class="totalCol">0</td>
                                                                                    <td class="totalCol">0</td>
                                                                                    <td class="totalCol">0</td>
                                                                                    <td class="totalCol">0</td>
                                                                                    <td class="totalCol">0</td>
                                                                                    <td class="totalCol">0</td>
                                                                                    <td class="totalCol">0</td>
                                                                                    <td class="totalCol">0</td>
                                                                                    <td class="totalCol"></td>
                                                                                </tr>
                                                                            </tfoot>
                                                                        </table>







2.


$(document).ready(function () {
  uniqeQuestions.AddMore();
    uniqeQuestions.CellChangeTotal();
    uniqeQuestions.CellMaxLengthValodation();
});



3.

var uniqeQuestions ={
AddMore:function () {
    uniqeQuestions.RemoveMatrixRow();
        $('#btnAddmoreMatrix').click(function () {
            if ($("#ddlContentArea").prop('selectedIndex') != 0) {
                var contentareaID = $('#ddlContentArea').val();
                var rowIndex = uniqeQuestions.FindRowContent(contentareaID);
                var contentItem = $('#txtAreaItem').val();
                if (uniqeQuestions.ContentAreaitemValueValidation(rowIndex, contentItem)) {
                    contentItem = $('#txtAreaItem').val();
                    if (uniqeQuestions.ValidateMatrixTotalRequiedItems()) {
                        if (uniqeQuestions.ValidateDuplicateContentAreaSubContentArea()) {
                            var contentarea = $("#ddlContentArea option:selected").text();


                            var subArea = $("#ddlSubArea option:selected").text();
                            var subAreaID = $('#ddlSubArea').val();
                            if (rowIndex.length >= 1 || rowIndex.length == null)//Content area exist in matrix
                            {

                                var trRow = "<tr class='single'><td class='rowDataSd'><label class='contentAreaID' style='display:none;'>" + contentareaID + "</label><label class='contentAreaText' style='display:none;'>" + contentarea + "</label></td><td class='rowDataSd'>" + contentItem + "</td><td class='rowDataSd'><label class='subAreaID' style='display:none;'>" + subAreaID + "</label>" + subArea + "</td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d1c1'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d1c2'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d1c3'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d2c1'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d2c2'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d2c3'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d3c1'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d3c2'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d3c3'  /></td><td><a href='#' class='remove_MatrixRow'>Remove</a></td></tr>";
                                $('#uniqueTableMatrix > tbody > tr').eq(rowIndex).after(trRow);
                            }
                            else //else if content area does not exist in matrix
                            {
                                var trRow = "<tr class='single'><td class='rowDataSd'><label class='contentAreaID' style='display:none;'>" + contentareaID + "</label><label class='contentAreaText'>" + contentarea + "</label></td><td class='rowDataSd'>" + contentItem + "</td><td class='rowDataSd'><label class='subAreaID' style='display:none;'>" + subAreaID + "</label>" + subArea + "</td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d1c1'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d1c2'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d1c3'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d2c1'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d2c2'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d2c3'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d3c1'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d3c2'  /></td><td class='rowDataSd'><input  type='number'  min='1' max='30'  class='commontextBox matrixQuestionNo cellValidation d3c3'  /></td><td><a href='#' class='remove_MatrixRow'>Remove</a></td></tr>";
                                $('#tblBodyMatrix').append(trRow);
                            }
                            uniqeQuestions.RemoveMatrixRow();
                            uniqeQuestions.CellChangeTotal();
                            uniqeQuestions.CellMaxLengthValodation();
                            uniqeQuestions.TotalRowFooter();
                         
                        }
                    }
                }
            }
            else {
                alert('Please select content area !');
            }

        });
    },
ContentAreaitemValueValidation: function (rowIndex, contentItem)
{
var flag = true;
if (rowIndex.length >= 1 || rowIndex.length == null)
{
    $('#txtAreaItem').val('');
}
else
{
    if(contentItem==null || contentItem=="")
    {
        alert('Please enter content area item value !');
        flag = false;
    }
}
return flag;
},
RemoveMatrixRow:function()
{

    $(".remove_MatrixRow").unbind().click(function ()
    {
        if (!uniqeQuestions.ShiftRowDataNextRow($(this).closest(".single")))
        {
            $(this).closest(".single").remove();
        }
        else {
            $(this).closest(".single").remove();
        }
        uniqeQuestions.ResetAllTableData();
        uniqeQuestions.TotalRowFooter();
    });

},
ShiftRowDataNextRow:function (singleRow)
{
    var cellContentAreaCell = singleRow.find('.contentAreaText');
    var cellContentAreaId = singleRow.find('.contentAreaID').text();
    var currentCellValue = singleRow.find('td')[1].innerText;
    var flag = false;
    if (!$(cellContentAreaCell).is(':hidden'))
    {    
        var nextRow = $(singleRow).next('tr.single');
        var nextContentAreaId = nextRow.find('.contentAreaID').text();
        if (nextContentAreaId == cellContentAreaId)
        {
            $(singleRow).next('tr.single').find('.contentAreaText').show();//show the content area
            var s = $(singleRow).next('tr.single').find('td'); //Shuffle  the value of Content AreaItem
            s[1].innerText = currentCellValue;
        }
        flag = true;
    }
    return flag;
},
FindRowContent:function (conterntAreaId)
{
    var rowIndex = "";
    $("#tblBodyMatrix tr").each(function ()
    {
        if (conterntAreaId ==$(this).find('.contentAreaID').html())
        {
            rowIndex = $(this).index();
        }
    });
    return rowIndex;
},
CellMaxLengthValodation:function ()
{
    $(document).on('input', '.cellValidation', function ()
    {
        var allowedDigits = 2;
        var length = $(this).val().length;
        var max = parseInt($(this).attr("max"));
        if ($(this).val() == "") {
            $(this).val("");
        }
        if ($(this).val().indexOf('.') != -1) {
            allowedDigits = 3;
        }
        if (length > allowedDigits) {
            $(this).val($(this).val().substring(1));
        }
        if ($(this).val() > max && max > 0)
        {
            $(this).val($(this).val().substring(1));
        }


    });
},
CellChangeTotal:function ()
{
    $(".matrixQuestionNo").unbind().change(function ()
    {

        var $row = jQuery(this).closest('tr');
        var $columns = $row.find('td');
        ////To Check the limit of SubArea Item and total of difficulty &complexity ///////
        var subAreaItemLimit = 0;
        var sumSubAreaItem = 0;
        var contentAreaID = "";
        var subContentAreaId = "";
        jQuery.each($columns, function (i, item)
        {
            if (i == 0)
            {
                contentAreaID = $(item).find('.contentAreaID').text();
            }
            if (i == 2)
            {
                subContentAreaId = $(item).find('.subAreaID').text();
            }
            if ($(item).find('input').length != 0)
            {
                if (i == 3)
                {
                    var itemValue = $(item).find('input').val();
                    if (itemValue == "" || itemValue == null)
                    {
                        itemValue = 0;
                    }
                    subAreaItemLimit = parseInt(itemValue);
                     
                }
                else
                {
                    var itemValue = $(item).find('input').val();
                    if (itemValue == "" || itemValue == null)
                    {
                        itemValue = 0;
                    }
                    sumSubAreaItem = parseInt(sumSubAreaItem) + parseInt(itemValue);
                }
            }
        });
        if (sumSubAreaItem > subAreaItemLimit)
        {
            if ($(this).parent('td').index() == 3)
            {
                var tableRow = $(this).parent('td').parent('tr');
                uniqeQuestions.OnSubAreaLimitChange(tableRow);
                uniqeQuestions.ResetAllTableData();
            }
            else
            {
                alert('Please check sub area item limit :' + subAreaItemLimit);
                $(this).val('');
                $(this).focus();
            }
        }
        if (sumSubAreaItem <= subAreaItemLimit)
        {
            uniqeQuestions.ValidateSubAreaItemsTotal();
            uniqeQuestions.ResetAllTableData();
        }
        uniqeQuestions.TotalRowFooter();
    });
},
FinalValidation:function ()
{
    var contentItemsTotal = 0;
    var contentSubAreaItemsTotal = 0;
    var matrixItemsTotal = 0;
    var flag = true;
    $("#uniqueTableMatrix td.totalCol").each(function (i)
    {
        if (i ==1)
        {
            if ($(this).html() != "" )
            {
                contentItemsTotal = parseInt($(this).html());
            }
        }
        if (i == 3)
        {
            if ($(this).html() != "") {
                contentSubAreaItemsTotal = parseInt($(this).html());
            }
        }
        if (i == 13)
        {
            if ($(this).html() != "") {
                matrixItemsTotal = parseInt($(this).html());
            }
        }

    });
    if(contentSubAreaItemsTotal<contentItemsTotal)
    {
        alert('Sub area item total is less than the content area item total !');
        flag = false;
    }
    else if(matrixItemsTotal<contentSubAreaItemsTotal)
    {
        alert('Your selected items is less than required items !');
        flag = false;
    }
    else if (matrixItemsTotal == 0)
    {
        alert('There is no item added in matrix table !');
        flag = false;
    }
    return flag;
},
OnSubAreaLimitChange:function (tableRow)
{
    $(tableRow).each(function ()
    {
        $('td', this).each(function ()
        {
            if ($(this).index() != 3)
            {
                $(this).find('input').val('');
            }
        });
    });
},
ResetAllTableData:function ()
{
    unique_formSetsQuations = [];
    var contentAreaId = "";
    var subContentAreaId = "";
    $("#tblBodyMatrix tr td").each(function ()
    {
        if ($(this).index() == 0)
        {
            contentAreaId = $(this).find('.contentAreaID').text();
        }
        if ($(this).index() == 2)
        {
            subContentAreaId = $(this).find('.subAreaID').text();
        }
        if ($(this).index() > 3 && $(this).index() < 13)
        {
            var difficulityComplexity = $(this).find('input').attr('class').split(' ')[3];
            var cellValue = $(this).find('input').val();
            var difficulityLevelComplexityLevel = uniqeQuestions.GetDifficulityComplexity(difficulityComplexity);
            var difficulity = difficulityLevelComplexityLevel.split('#')[0];
            var complexity = difficulityLevelComplexityLevel.split('#')[1];
            if (cellValue == null || cellValue == "")
            {
                cellValue = "";
            }
            if (cellValue != "")
            {
                var result = uniqeQuestions.MatrixRule(contentAreaId, subContentAreaId, difficulity, complexity, cellValue);
                if(result==1)
                {
                    $(this).find('input').val('');
                }
            }
        }    
    });
},
ValidateSubAreaItemsTotal:function ()
{

    var contentAreaId = "";
    var subContentAreaId = "";
    var itemsTotal = 0;
    var cellValueItemSum = 0;
    var valueChanged = false;
    var eventStop = true;
    $("#tblBodyMatrix tr").each(function ()
    {
        $('td', this).each(function ()
        {        
            if ($(this).index() == 0)
            {
                if (contentAreaId != $(this).find('.contentAreaID').text())
                {
                    itemsTotal = 0;
                    cellValueItemSum = 0;
                }  
                contentAreaId = $(this).find('.contentAreaID').text();
            }
            if ($(this).index() == 1)
            {

                if ($(this).html() != "")
                {
                    itemsTotal = parseInt($(this).html());            
                }
            }
            if ($(this).index() ==3)
            {

                var cellValue = $(this).find('input').val();
                if (cellValue == null || cellValue == "")
                {
                    cellValue = "";
                }
                if (cellValue != "")
                {
                    cellValueItemSum = cellValueItemSum + parseInt(cellValue);
                }
            }
        });
        if (itemsTotal < cellValueItemSum)
        {
            if (eventStop == true)
            {
                alert("Content sub area total can't be more than content area total ! ")
                uniqeQuestions.ClearCurrentRowCellsValue(this);
                eventStop = false;
            }
        }
     
    });
},
ClearCurrentRowCellsValue:function (tableRow)
{
    $(tableRow).each(function ()
    {
        $('td', this).each(function ()
        {
            $(this).find('input').val('');
        });
    });
},
ValidateDuplicateContentAreaSubContentArea:function ()
{
    var validationflag = true;
    var contentAreaId = "";
    var subContentAreaId = "";
    var ddlContentArea = $('#ddlContentArea').val();
    var ddlSubArea = $('#ddlSubArea').val();
    $("#tblBodyMatrix tr td").each(function ()
    {
        if ($(this).index() == 0)
        {      
            contentAreaId = $(this).find('.contentAreaID').text();
            subContentAreaId = "";
        }
        if ($(this).index() == 2)
        {
         
            subContentAreaId = $(this).find('.subAreaID').text();
        }
        if (contentAreaId == ddlContentArea && subContentAreaId == ddlSubArea)
        {
            if (validationflag)
            {
                alert("This content area and sub content area is already added in matrix  !");
                validationflag = false;
                contentAreaId = "";
            }
        }
    });
    return validationflag;
},
ValidateMatrixTotalRequiedItems:function ()
{
    var validationflag = true;
    var totalRequiredItems = parseInt($('#txtUnique').val());
    var txtAreaItem = $('#txtAreaItem').val();
    var getFooterTableTotal = 0;
    $("#questionsMatrixTableFooter tr td").each(function ()
    {
        if ($(this).index() == 1)
        {
            if ($(this).html() != "") {
                getFooterTableTotal = parseInt($(this).html());
            }
        }
     
    });
    var total = parseInt(getFooterTableTotal) + parseInt(txtAreaItem);
    if(total > totalRequiredItems)
    {
        alert("Please check the required items limit and matrix items ,You are trying to add more items than the required items !");
        validationflag = false;
    }
    return validationflag;
},
TotalRowFooter:function ()
{
    var totals = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
    var $dataRows = $("#tblBodyMatrix tr:not('.totalColumn, .titlerow')");
    $dataRows.each(function () {

        $(this).find('.rowDataSd').each(function (i) {

            var s = $(this).find('input').val();
            if ($(this).find('input').length == 0)
            {
                s = $(this).html();
            }
            if ($.isNumeric(parseInt(s))) {
           
                totals[i] += parseInt(s);
            }
        });
    });
    var itemsSum = 0;
    $("#uniqueTableMatrix td.totalCol").each(function (i)
    {
        if (i != 0 && i != 1 && i != 2 && i != 3 && i !=13)
        {
            itemsSum = itemsSum + parseInt(totals[i]);
        }
        if (i == 0)
        {
            $(this).html("Total :");
        }
        else
        {
            if (i == 2 || i ==13)
            {
                if (i == 13)
                {

                    $(this).html(itemsSum);
                }
                else
                {
                    $(this).html('');
                }
            }
            else
            {
             
                $(this).html(totals[i]);
            }
        }
     
    });

}}

Below will be result




Monday, 31 July 2017

Color picker in jquery and HTML









Below is reference







<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"></link>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <script>
  $(document).ready(function(){
  $('#btnSubmit').click(function(){
 alert( $('#colorId').val());
});
 

  });

  </script>
  <input type="button" id='btnSubmit' class="btn btn-default" value='Get Color Code' />
     <input type="color" class="form-control" id="colorId">

Thursday, 29 June 2017

How to make a list of Object in JavaScript



How to make a list of Object  in JavaScript


<script>
 var cityObject= GetCityObjectArray();
for(var i=0;i<cityObject.length;i++)
{    
       alert(cityObject[i].Name);
}
 function GetCityObjectArray()
 {
        var cities = new Array();    
        for(var i=0;i<=10;i++)
        {  var city = {};
           city.Name = i;
           city.Population = i;
           cities.push(city);
        }
       console.log(cities);
       return cities;
  }
</script>



Parse date from string to any date format

Parsing date from string  to cultural format



string timeFrameFromDate=date;

 lstItem["FromDate"] = DateTime.ParseExact(timeFrameFromDate, "dd/M/yyyy", CultureInfo.InvariantCulture);

Date Format Output will be  like this      31/12/2017



And Use below code to convert date in different format

function getFormattedDate(formatedDate) {
    var year = formatedDate.getFullYear();
    var month = (1 + formatedDate.getMonth()).toString();
    month = month.length > 1 ? month : '0' + month;
    var day = formatedDate.getDate().toString();
    day = day.length > 1 ? day : '0' + day;
    return day + '/' + month + '/' + year;

}




Friday, 16 June 2017

Get AD User Using WCF Service and Ajax Call

1. Create WCF Service Application Project

2. Copy below code and paste in IService1 interface class


using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

namespace ActiveDirectoryDetails
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
    [ServiceContract]
    public interface IService1
    {

        [OperationContract]
        [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json,
        BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "GetADUsers/?domain={domain}&userid={userid}&password={password}")]
        List<Users> GetADUsers(string domain, string userid, string password);
    }

    [DataContract]
    public class Users
    {
        [DataMember]
        public string FirstName { get; set; }
        [DataMember]
        public string MiddleName { get; set; }
        [DataMember]
        public string LastName { get; set; }
        [DataMember]
        public string FullName { get; set; }
        [DataMember]
        public string LogonName { get; set; }
        [DataMember]
        public string Email { get; set; }
        [DataMember]
        public string Department { get; set; }
        [DataMember]
        public string Designation { get; set; }
        [DataMember]
        public string Company { get; set; }
        [DataMember]
        public string GroupName { get; set; }
        [DataMember]
        public string Manager { get; set; }
        [DataMember]
        public string Reporting { get; set; }
        [DataMember]
        public string MobileNumber { get; set; }
        [DataMember]
        public string Status { get; set; }
        [DataMember]
        public string PostalAddresses { get; set; }
        [DataMember]
        public string Country { get; set; }
        [DataMember]
        public string StateProvince { get; set; }
        [DataMember]
        public string City { get; set; }
        [DataMember]
        public string ZIPPostalCode { get; set; }
        [DataMember]
        public string HomeAddress { get; set; }
        [DataMember]
        public string StreetAddress { get; set; }
        [DataMember]
        public string CountryAbbreviation { get; set; }
        [DataMember]
        public string HomePhone { get; set; }
        [DataMember]
        public string OfficeLocation { get; set; }
        [DataMember]
        public string ExtensionName { get; set; }
        [DataMember]
        public string OtherEMailAddress { get; set; }
        [DataMember]
        public string OtherMobileNumber { get; set; }

    }


}


3. Copy below code and paste in Service1 class



using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.DirectoryServices;
//using Microsoft.Web.Hosting.Administration;
namespace ActiveDirectoryDetails
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.
    // NOTE: In order to launch WCF Test Client for testing this service, please select Service1.svc or Service1.svc.cs at the Solution Explorer and start debugging.
    public class Service1 : IService1
    {

        public List<Users> GetADUsers(string domain, string userid, string password)
        {
            List<Users> lstADUsers = new List<Users>();
            try
            {
                string domainName = domain;
                DirectoryEntry searchRoot = new DirectoryEntry("LDAP://" + domainName, null, null);
                DirectorySearcher search = new DirectorySearcher(searchRoot);
                search.Filter = "(&(objectClass=user)(objectCategory=person))";
                searchRoot.Username = userid;
                searchRoot.Password = password;
                search.PropertiesToLoad.Add("samaccountname");
                search.PropertiesToLoad.Add("mail");
                search.PropertiesToLoad.Add("usergroup");
                search.PropertiesToLoad.Add("displayname");
                search.PropertiesToLoad.Add("department");
                search.PropertiesToLoad.Add("manager");
                search.PropertiesToLoad.Add("userAccountControl");
                search.PropertiesToLoad.Add("company");
                search.PropertiesToLoad.Add("givenName");
                search.PropertiesToLoad.Add("sn");
                search.PropertiesToLoad.Add("c");
                search.PropertiesToLoad.Add("co");
                search.PropertiesToLoad.Add("homePostalAddress");
                search.PropertiesToLoad.Add("l");
                search.PropertiesToLoad.Add("postalCode");
                search.PropertiesToLoad.Add("st");
                search.PropertiesToLoad.Add("streetAddress");
                search.PropertiesToLoad.Add("postalAddress");
                search.PropertiesToLoad.Add("homePhone");
                search.PropertiesToLoad.Add("mobile");
                search.PropertiesToLoad.Add("middleName");
                search.PropertiesToLoad.Add("Title");
                search.PropertiesToLoad.Add("directReports");
                search.PropertiesToLoad.Add("physicalDeliveryOfficeName");
                search.PropertiesToLoad.Add("extensionName");
                search.PropertiesToLoad.Add("otherMailbox");
                search.PropertiesToLoad.Add("otherMobile");
                SearchResult result;
                SearchResultCollection resultCol = search.FindAll();
                if (resultCol != null)
                {
                    for (int counter = 0; counter < resultCol.Count; counter++)
                    {
                        Users objSurveyUsers = new Users();
                        string UserNameEmailString = string.Empty;
                        result = resultCol[counter];
                        if (result.Properties.Contains("samaccountname"))
                        {
                            objSurveyUsers.LogonName = (String)result.Properties["samaccountname"][0];
                        }
                        if (result.Properties.Contains("mail"))
                        {
                            objSurveyUsers.Email = (String)result.Properties["mail"][0];
                        }
                        if (result.Properties.Contains("displayname"))
                        {
                            objSurveyUsers.FullName = (String)result.Properties["displayname"][0];
                        }
                        if (result.Properties.Contains("department"))
                        {
                            objSurveyUsers.Department = (String)result.Properties["department"][0];
                        }
                        if (result.Properties.Contains("manager"))
                        {
                            objSurveyUsers.Manager = (String)result.Properties["manager"][0];
                        }

                        if (result.Properties.Contains("userAccountControl"))
                        {

                            objSurveyUsers.Status = IsActive(Convert.ToInt32((int)result.Properties["userAccountControl"][0]));
                        }
                        if (result.Properties.Contains("givenName"))
                        {

                            objSurveyUsers.FirstName = (String)result.Properties["givenName"][0];
                        }
                        if (result.Properties.Contains("usergroup"))
                        {

                            objSurveyUsers.GroupName = (String)result.Properties["usergroup"][0];
                        }
                        if (result.Properties.Contains("sn"))
                        {

                            objSurveyUsers.LastName = (String)result.Properties["sn"][0];
                        }
                        if (result.Properties.Contains("c"))
                        {

                            objSurveyUsers.CountryAbbreviation = (String)result.Properties["c"][0];
                        }
                        if (result.Properties.Contains("co"))
                        {

                            objSurveyUsers.Country = (String)result.Properties["co"][0];
                        }
                        if (result.Properties.Contains("homePostalAddress"))
                        {

                            objSurveyUsers.HomeAddress = (String)result.Properties["homePostalAddress"][0];
                        }
                        if (result.Properties.Contains("l"))
                        {

                            objSurveyUsers.City = (String)result.Properties["l"][0];
                        }
                        if (result.Properties.Contains("postalCode"))
                        {

                            objSurveyUsers.ZIPPostalCode = (String)result.Properties["postalCode"][0];
                        }
                        if (result.Properties.Contains("st"))
                        {

                            objSurveyUsers.StateProvince = (String)result.Properties["st"][0];
                        }
                        if (result.Properties.Contains("streetAddress"))
                        {

                            objSurveyUsers.StreetAddress = (String)result.Properties["streetAddress"][0];
                        }
                        if (result.Properties.Contains("postalAddress"))
                        {

                            objSurveyUsers.PostalAddresses = (String)result.Properties["postalAddress"][0];
                        }
                        if (result.Properties.Contains("homePhone"))
                        {

                            objSurveyUsers.HomePhone = (String)result.Properties["homePhone"][0];
                        }
                        if (result.Properties.Contains("mobile"))
                        {

                            objSurveyUsers.MobileNumber = (String)result.Properties["mobile"][0];
                        }
                        if (result.Properties.Contains("middleName"))
                        {

                            objSurveyUsers.MiddleName = (String)result.Properties["middleName"][0];
                        }
                        if (result.Properties.Contains("Title"))
                        {

                            objSurveyUsers.Designation = (String)result.Properties["Title"][0];
                        }
                        if (result.Properties.Contains("directReports"))
                        {

                            objSurveyUsers.Reporting = (String)result.Properties["directReports"][0];
                        }
                        if (result.Properties.Contains("physicalDeliveryOfficeName"))
                        {

                            objSurveyUsers.OfficeLocation = (String)result.Properties["physicalDeliveryOfficeName"][0];
                        }
                        if (result.Properties.Contains("extensionName"))
                        {

                            objSurveyUsers.ExtensionName = (String)result.Properties["extensionName"][0];
                        }
                        if (result.Properties.Contains("otherMailbox"))
                        {

                            objSurveyUsers.OtherEMailAddress = (String)result.Properties["otherMailbox"][0];
                        }
                        if (result.Properties.Contains("otherMobile"))
                        {

                            objSurveyUsers.OtherMobileNumber = (String)result.Properties["otherMobile"][0];
                        }
                        if (result.Properties.Contains("company"))
                        {

                            objSurveyUsers.Company = (String)result.Properties["company"][0];
                        }

                        lstADUsers.Add(objSurveyUsers);

                    }
                }
            }
            catch (Exception ex)
            {

            }
            return lstADUsers;
        }
        public string IsActive(int value)
        {
            string status = string.Empty;
            if (value == 66050)
            {
                status = "DeActive";
            }
            else
            {
                status = "Active";
            }
            return status;
        }
    }
}



4. Copy below web.config code in your web.config



<?xml version="1.0"?>
<configuration>

  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
  </appSettings>
  <system.web>
 
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5"/>
  </system.web>
  <system.serviceModel>

    <services>

      <service name="ActiveDirectoryDetails.Service1" behaviorConfiguration="ServiceBehaviour">

        <endpoint address ="" binding="webHttpBinding" contract="ActiveDirectoryDetails.IService1" behaviorConfiguration="web">

        </endpoint>

      </service>

    </services>

    <behaviors>

      <serviceBehaviors>

        <behavior name="ServiceBehaviour">

          <serviceMetadata httpGetEnabled="true"/>

          <serviceDebug includeExceptionDetailInFaults="false"/>

        </behavior>

      </serviceBehaviors>

      <endpointBehaviors>

        <behavior name="web">

          <webHttp/>

        </behavior>

      </endpointBehaviors>

    </behaviors>

    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" minFreeMemoryPercentageToActivateService="1" />

  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <!--
        To browse web app root directory during debugging, set the value below to true.
        Set to false before deployment to avoid disclosing web app folder information.
      -->
    <directoryBrowse enabled="true"/>
  <httpProtocol>
    <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
    </customHeaders>
</httpProtocol>
  </system.webServer>

</configuration>


5. Create your Client Application and paste below Ajax Call Method



    <script src="Scripts/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
      GetUsersDetails();
      function GetUsersDetails() {
          $.ajax({
              url: "http://localhost:80/Service1.svc/GetADUsers/?domain=sfsd&userid=wjrkj&password=4728346",
              data: {
                  format: 'json'
              },
              type: 'GET',
              dataType: 'json',
              success: function (data) {
                  console.log(data.GetADUsersResult);
              }, error: function () {
                  console.log("Error....");
              }
          });
      }
});

</script>
4. Finally below will be result