SQL Server Retrive data from Json

DECLARE @json NVARCHAR(MAX),@jsonTable NVARCHAR(MAX),@total INT,@Counter INT, @tableData NVARCHAR(MAX), @totalTable INT,
@tableName NVARCHAR(50),@tableColumns NVARCHAR(MAX),@CounterTables INT,@totalTables INT,@tableDataColumns NVARCHAR(MAX)
,@createTable NVARCHAR(MAX),@CounterTableColumns INT,@totalTableColumns INT,@columnName NVARCHAR(50),@columnType NVARCHAR(50)

SET @createTable=”;
SET @Counter=0

–SET @json='{“name”:”John”,”surname”:”Doe”,”age”:45,”skills”:[“SQL”,”C#”,”MVC”]}’;
SET @json='[{“name”:”Cricket_Team”,”columns”:[{“name”:”Team_ID”,”foreign”:””,”primary”:”1″,”type”:”int”},{“name”:”Team_Name”,”foreign”:””,”primary”:”0″,”type”:”varchar”},{“name”:”Team_City”,”foreign”:””,”primary”:”0″,”type”:”varchar”}]},{“name”:”Player”,”columns”:[{“name”:”Player_ID”,”foreign”:””,”primary”:”1″,”type”:”int”},{“name”:”Player_Name”,”foreign”:””,”primary”:”0″,”type”:”varchar”},{“name”:”Team_ID”,”foreign”:”{\”table\”:\”Cricket_Team\”,\”column\”:\”Team_ID\”}”,”primary”:”0″,”type”:”int”}]}]’;

SELECT * FROM OPENJSON(@json);

SELECT @total = COUNT(*) FROM OPENJSON(@json) WITH( name varchar(50));
–SELECT @total

WHILE ( @Counter < @total)
BEGIN
SELECT @tableData = [value] FROM OPENJSON(@json) WHERE [key] = @Counter
SET @Counter = @Counter + 1

SELECT @tableName=[value]  FROM OPENJSON(@tableData)  WHERE [key] = 'name'
SELECT @tableName
SET @createTable += 'Create Table '+@tableName+ '( '

SELECT @tableColumns=[value] FROM OPENJSON(@tableData)  WHERE [key] = 'columns'
SELECT * FROM OPENJSON(@tableColumns);
SELECT @totalTables = COUNT(*) FROM OPENJSON(@tableColumns);
SELECT  @totalTables

SET @CounterTables=0
WHILE ( @CounterTables < @totalTables)
BEGIN
    SELECT @tableDataColumns = [value] FROM OPENJSON(@tableColumns) WHERE [key] = @CounterTables
    SELECT @tableDataColumns

    --SET @tableDataColumns = (SELECT ROW_NUMBER() OVER(ORDER BY [key] ASC) AS row_num FROM OPENJSON(@tableDataColumns));

    DROP TABLE #tableColumnsNew

    CREATE TABLE #tableColumnsNew (
        name NVARCHAR(50),
        type NVARCHAR(50),
        rownum INT
    );



    INSERT INTO #tableColumnsNew (name, type, rownum) 
    SELECT [key], [value], ROW_NUMBER() OVER(ORDER BY [key] ASC)
    FROM OPENJSON(@tableDataColumns)
    SELECT * FROM OPENJSON(@tableDataColumns)
    SELECT * FROM #tableColumnsNew


    SET @createTable += '  '
    SET @CounterTables  = @CounterTables  + 1
    SET @CounterTableColumns=1

    --SELECT @totalTableColumns = COUNT(*) FROM OPENJSON(@tableDataColumns);
    SELECT @totalTableColumns = COUNT(*) FROM #tableColumnsNew;

    SELECT  @columnName = [type] FROM #tableColumnsNew WHERE  [name]='name'
    SELECT  @columnName
    SELECT  @columnType = [type] FROM #tableColumnsNew WHERE  [name]='type'
    SELECT  @columnType

    SET @createTable += '  '+@columnName+' '+@columnType+', '


    --WHILE ( @CounterTableColumns < @totalTableColumns)
    --BEGIN

        --SELECT ROW_NUMBER() OVER(ORDER BY [key] ASC) AS Row#,j1.[key] FROM OPENJSON(@tableDataColumns) AS j1


        --SELECT  @columnName = [name] FROM #tableColumnsNew WHERE  [name]='name'
        --SELECT  @columnType = [type] FROM #tableColumnsNew WHERE  [rownum] = @CounterTableColumns AND [name]='type'
        --SET @createTable += '  '+@columnName+' '
        --SELECT  @columnName
        --SET @CounterTableColumns  = @CounterTableColumns  + 1

    --END

END
SET @createTable += ' )  '
SELECT @createTable

END

Curl Get Method

    $crl = curl_init();
    curl_setopt($crl, CURLOPT_URL, $url);
    curl_setopt($crl, CURLOPT_FRESH_CONNECT, true);
    curl_setopt($crl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($crl, CURLOPT_CUSTOMREQUEST,"GET");
    curl_setopt($crl, CURLOPT_HTTPHEADER, array(
            "Content-Type: application/json",
            "Authorization: Bearer $api_key"
    ));
    curl_setopt($crl, CURLOPT_SSL_VERIFYPEER, false);

ADD TRIGGER DELETE In SQL SERVER

ALTER TRIGGER [dbo].[apg_insurer_details_trigger]
ON [dbo].apg_insurer_details
INSTEAD OF DELETE
AS

DECLARE @deletedCount INT = (SELECT COUNT(1) FROM deleted)  


DECLARE @IsDelete BIT = (CASE WHEN @deletedCount > 0 THEN 1 ELSE 0 END)  
DECLARE @insurer NVARCHAR(40)
DECLARE @cust_num NVARCHAR(40)
DECLARE @Infobar NVARCHAR(40)


IF @IsDelete = 1
BEGIN
    SET @insurer = (SELECT deleted.insurer FROM  deleted)
    IF EXISTS(SELECT * FROM apg_insurer_information WHERE LTRIM(RTRIM(insurer)) =  LTRIM(RTRIM(@insurer)))
        BEGIN
            SET @cust_num  =  (SELECT cust_num FROM apg_insurer_information WHERE LTRIM(RTRIM(insurer)) =  LTRIM(RTRIM(@insurer)))
            SET @Infobar = 'This customer '+ @cust_num +' have already assigned.'
            --PRINT @Infobar
            RAISERROR (@Infobar,16,1)
        END
    ELSE
        BEGIN
            DELETE FROM apg_insurer_details WHERE _id IN(SELECT deleted._id FROM deleted) 
        END
END

How to add trigger on table sql server

ALTER TRIGGER [dbo].[apg_insurer_information_trigger]
ON [dbo].[apg_insurer_information]
INSTEAD OF INSERT, UPDATE, DELETE
AS

    DECLARE @insertedCount INT = (SELECT COUNT(1) FROM inserted)
    DECLARE @deletedCount INT = (SELECT COUNT(1) FROM deleted)

    DECLARE @IsInsert BIT = (CASE WHEN @insertedCount  > 0 AND @deletedCount = 0 THEN 1 ELSE 0 END)
    DECLARE @IsDelete BIT = (CASE WHEN @insertedCount  = 0 AND @deletedCount > 0 THEN 1 ELSE 0 END)
    DECLARE @IsUpdate BIT = (CASE WHEN @insertedCount  > 0 AND @deletedCount > 0 THEN 1 ELSE 0 END)

    DECLARE @pcm_value INT = (SELECT pcm_value FROM inserted)
DECLARE @lbl_value INT = (SELECT lbl_value FROM inserted)
    DECLARE @total INT

SET @total = @pcm_value + @lbl_value;

    IF @IsInsert = 1
    BEGIN

IF(@total <= 100)
INSERT INTO apg_insurer_information(cust_num,insurer,pcm_value,lbl_value,create_by,update_by,create_date,update_date)
SELECT cust_num,insurer,pcm_value,lbl_value,create_by,update_by,create_date,update_date
FROM inserted
ELSE
        RAISERROR (‘INSERT – PLEASE MAKE SURE PCM AND LBL TOTAL NOT MORE THAN 100’,16,1)
RETURN
    END

    IF @IsDelete = 1
    BEGIN
        PRINT ‘DELETE – DO NOTHING’
–DELETE FROM apg_insurer_information WHERE _id =14
DELETE FROM apg_insurer_information WHERE _id IN(SELECT deleted._id FROM deleted)
    END

    IF @IsUpdate = 1
    BEGIN
        PRINT ‘UPDATE – INSERT INTO approval table’
IF(@total <= 100)
UPDATE a
SET
a.insurer = i.insurer,
a.pcm_value = i.pcm_value,
a.lbl_value = i.lbl_value,
a.update_by = i.update_by,
a.update_date = i.update_date
FROM   apg_insurer_information a
INNER JOIN inserted i
ON a.cust_num = i.cust_num
WHERE a._id IN(SELECT inserted._id FROM inserted)
ELSE
        RAISERROR (‘UPDATE – PLEASE MAKE SURE PCM AND LBL TOTAL NOT MORE THAN 100’,16,1)
RETURN

    END

How to download CSV In Jquery

<script>

  $(document).ready(function(){

    function download_csv_file() {

      //define the heading for each row of the data

      var csv = ”;

      $(‘.main_content_part_class.active .bsit_upload_csv .bsit_upload_fields li label’).each(function(index){

          var csvTitle = $(this).text().replace(‘ *’, ”);

          if(index==0){

            csv += csvTitle;

          }else{

            csv += ‘, ‘+csvTitle;

          }

      });

      csv = csv+’\n’;

      //document.write(csv);

      var hiddenElement = document.createElement(‘a’);

      hiddenElement.href = ‘data:text/csv;charset=utf-8,’ + encodeURI(csv);

      //hiddenElement.target = ‘_blank’;

      //provide the name for the CSV file to be downloaded

      hiddenElement.download = ‘sample.csv’;

      hiddenElement.click();

    }

    $(document).on(“click”,”.demo_template_url”,function(){

      download_csv_file();

    });

  });

</script>

Useful Links

Top 10 Sites for your career
1. Linkedin
2. Indeed
3. Naukri
4. Monster
5. JobBait
6. Careercloud
7. Dice
8. CareerBuilder
9. Jibberjobber
10. Glassdoor


10 Tech Skills in demand

1. Machine Learning
2. Mobile Development
3. SEO/SEM Marketing
4. Data Visualization
5. Data Engineering
6. UI/UX Design
7. Cyber-security
8. Cloud Computing/AWS
9. Blockchain
10. IOT

11 Sites for Free Online Education

1. Coursera
2. edX
3. Khan Academy
4. Udemy
5. iTunesU Free Courses
6. MIT OpenCourseWare
7. Stanford Online
8. Codecademy
9. ict iitr
10 ict iitk
11 NPTEL

10 Sites to learn Excel for free

1. Microsoft Excel Help Center
2. Excel Exposure
3. Chandoo
4. Excel Central
5. Contextures
6. Excel Hero b.
7. Mr. Excel
8. Improve Your Excel
9. Excel Easy
10. Excel Jet

10 Sites to review your resume for free

1. Zety Resume Builder
2. Resumonk
3. Resume dot com
4. VisualCV
5. Cvmaker
6. ResumUP
7. Resume Genius
8. Resumebuilder
9. Resume Baking
10. Enhancy

10 Sites for Interview Preparation

1. Ambitionbox
2. AceThelnterview
3. Geeksforgeeks
4. Leetcode
5. Gainlo
6. Careercup
7. Codercareer
8. InterviewUp
9. InterviewBest
10. Indiabix

How to passing a shopper’s address details in WorldPay payment Gateway

http://support.worldpay.com/support/kb/bg/customisingadvanced/custa9103.html
Example - passing a shopper's address details
To pass the following address and contact details:

Address 1: 11 Shopper Street;
Address 2: Shopper Suburb;
Address 3:;
Town: Shopper City
Region: Shopper County;
Country: United Kingdom;
Postcode: shopper postcode;
Tel: 0123456789;
email: shopper@emailadress.com;

You will need to include the details as shown below in the fragment of an order details submission:

<input type="hidden" name="address1" value="11 Shopper Street">
<input type="hidden" name="address2" value="Shopper Suburb">
<input type="hidden" name="address3" value="">
<input type="hidden" name="town" value="Shopper City">
<input type="hidden" name="region" value="Shopper County">
<input type="hidden" name="country" value="GB">
<input type="hidden" name="postcode" value="shopper postcode">
<input type="hidden" name="tel" value="0123456789">
<input type="hidden" name="email" value="shopper@emailaddress.com">