Tuesday, June 8, 2021

Check Is Android Device from Asp.net

 		private bool IsAndroidMobile()
        {
            //https://www.thecodingguys.net/blog/asp-net-mobile-detection
            try
            {
                string strUserAgent = Request.UserAgent.ToString().ToLower();
                bool MobileDevice = Request.Browser.IsMobileDevice;
                if (strUserAgent != null)
                {
                    if (MobileDevice == true && strUserAgent.Contains("android"))
                    {
                        return true;
                    }
                }
            }
            catch
            {
                //throw;
            }
            return false;
        }

Wednesday, June 2, 2021

Sonar Qube Executon step

SonarScanner.MSBuild.exe begin /k:"project-key" /d:sonar.login="GeneratedToken"
MSBuild.exe path to solution.sln /t:Rebuild
SonarScanner.MSBuild.exe end /d:sonar.login="GeneratedToken"
SonarScanner.MSBuild.exe begin /k:"PROJECT_XXXX" /d:sonar.login="ccdf3266ae033ade65a691854ac73c6b51c846a6"
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe" D:\Murli\Projects\XYZ\XYZ_SonarQube.sln /t:Rebuild /p:VisualStudioVersion=14.0
SonarScanner.MSBuild.exe end /d:sonar.login="ccdf3266ae033ade65a691854ac73c6b51c846a6"

To know more https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-msbuild/

Monday, January 4, 2021

Javascript getElementById based on a partial string

document.querySelector('[id$="MySufixIdString"]').id;

The selector means: get an element where the attribute [id] ending with the string "MySufixIdString".

^ matches the start
* matches any position
$ matches the end

Tuesday, December 8, 2020

Generate Backup of Store Procedure on Oracle

	follwoing 2 ways to get the Procedure details in oracle

Way 1:

Select OBJECT_NAME As ProcName,
   dbms_metadata.GET_DDL('PROCEDURE',u.object_name) As Details
From user_objects u
Where object_type = 'PROCEDURE'; 
   
Way 2:
   
Select OBJECT_NAME As ProcName,
 dbms_metadata.GET_DDL('PROCEDURE',OBJECT_NAME) As Details  
From ALL_OBJECTS  
Where  object_type = 'PROCEDURE' and OWNER = 'SYSTEM' 
Order by Object_Name
 
 

Monday, September 7, 2020

Oracle Some Important Notes

 Oracle Notes:-


1. From the Procedure Data Result(s) OUT TYPES.cursor_type Count must be same as declared

2. Post Every Insert/Update/Delete must commit without this change will not reflect.

3. Every If() Then statement closed with End If; (Semicolumn is must)

4. For Writing select query we can wite like this OPEN L_RECORDSET2 for select  'true' as col from dual; (Here dual is default table available on oracle)

5. Insert Records like this

Insert into MY_TBL_DETAILS (ID, PRODUCTTYPE, REFNO , CREATEDDATE) 

values (SEQ_MY_TBL_DETAILS.NEXTVAL,L_PRODUCTTYPE, L_REFNO, TO_CHAR(sysdate, 'DD-MON-YYYY HH:MI:SS'));   

commit;

6. Update Records like this

UPDATE MY_TBL_DETAILS SET PRODUCTTYPE = 'TestProduct' WHERE REFNO = L_REFNO;

Commit; 

7. Sequece Creation

CREATE SEQUENCE  SEQ_MY_TBL_DETAILS

MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE ;


CREATE OR REPLACE TRIGGER MY_TBL_DETAILS_SEQ

BEFORE INSERT ON MY_TBL_DETAILS 

FOR EACH ROW

BEGIN

SELECT SEQ_MY_TBL_DETAILS.NEXTVAL

INTO   :new.id

FROM   dual;

END;

/

ALTER TRIGGER MY_TBL_DETAILS_SEQ ENABLE;

8. Update Query with latest records

DECLARE tempVariable NUMBER;

         BEGIN

           SELECT Count(*) INTO tempVariable FROM MY_TBL_DETAILS Where REFNO = L_REFNO;

           IF (tempVariable > 0) then

              UPDATE MY_TBL_DETAILS SET STATUS = (CASE WHEN L_STATUS IS NULL THEN STATUS ELSE L_STATUS END)

                ,MESSAGE = (CASE WHEN L_MESSAGE IS NULL THEN MESSAGE ELSE L_MESSAGE END)

              WHERE ID IN (Select Id FROM (SELECT ID, rownum RN FROM (SELECT ID from MY_TBL_DETAILS Where REFNO = L_REFNO ORDER BY ID DESC)) 

              WHERE RN = 1);

            End If;

End;

Create Table in ORACLE with auto identity/ auto increment

  CREATE TABLE MY_TBL_DETAILS 

   ( "ID" NUMBER(10,0) NOT NULL ENABLE, 

"PRODUCTTYPE" VARCHAR2(50 BYTE) NOT NULL ENABLE, 

"REFNO" VARCHAR2(50 BYTE) NOT NULL ENABLE, 

"TOTALDOCCOUNT" NUMBER(*,0) DEFAULT 0, 

"ALLDOCUPLOADED" VARCHAR2(10 BYTE) DEFAULT 'false',

"KYCPAGEURL" VARCHAR2(500 BYTE) DEFAULT ''

   );


CREATE SEQUENCE  SEQ_MY_TBL_DETAILS

MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE ;


CREATE OR REPLACE TRIGGER MY_TBL_DETAILS_SEQ 

BEFORE INSERT ON MY_TBL_DETAILS 

FOR EACH ROW

BEGIN

  SELECT SEQ_MY_TBL_DETAILS.NEXTVAL

  INTO   :new.id

  FROM   dual;

END;

/


ALTER TRIGGER MY_TBL_DETAILS_SEQ ENABLE;