The term 'New-AzResourceGroup' is not recognized as the name of a cmdlet, function, script fiel or operable program.

 The term 'New-AzResourceGroup' is not recognized as the name of a cmdlet, function, script fiel or operable program.

Issue:

New-AzResourceGroup : The term 'New-AzResourceGroup' is not recognized as the name of a cmdlet, function, script file,  or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and

try again.

At line:1 char:1

+ New-AzResourceGroup

+ ~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : ObjectNotFound: (New-AzResourceGroup:String) [], CommandNotFoundException

    + FullyQualifiedErrorId : CommandNotFoundException


Solution:

You need to install the Azure Powershell module:

You can look for just the one for this command:

Install-Module -Name Az.Resources -AllowClobber -Scope CurrentUser

Or all of them:

Install-Module -Name Az -AllowClobber -Scope CurrentUser


Hope this will help you and save your time.

Enjoy !!!

:)

SQL : Search text from all Tables of a database in SQL Server

SQL : Search text from all Tables of a database in SQL Server



Here is the store procedure which will search text from all the tables of a current database in microsoft sql server.

Store Procedure


CREATE PROC SearchAllTables ( @SearchStr nvarchar(100) ) AS 
BEGIN 
    
CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630)) 

SET NOCOUNT ON 

DECLARE @TableName nvarchar(256), 
        @ColumnName nvarchar(128), 
        @SearchStr2 nvarchar(110) 
        
SET @TableName = '' 
SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''') 

WHILE @TableName IS NOT NULL 
BEGIN 
     SET @ColumnName = '' 
     SET @TableName = ( SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)) 
                        FROM INFORMATION_SCHEMA.TABLES 
                        WHERE TABLE_TYPE = 'BASE TABLE' 
                              AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName 
                              AND OBJECTPROPERTY( OBJECT_ID( QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) ), 'IsMSShipped' ) = 0 
                      ) 
                              
 WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL) 
 BEGIN 
      SET @ColumnName = ( SELECT MIN(QUOTENAME(COLUMN_NAME)) 
                          FROM INFORMATION_SCHEMA.COLUMNS 
                          WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2) 
                                AND TABLE_NAME = PARSENAME(@TableName, 1) 
                                AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar') 
                                AND QUOTENAME(COLUMN_NAME) > @ColumnName ) 
       IF @ColumnName IS NOT NULL 
       BEGIN 
             INSERT INTO #Results 
             EXEC ( 'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) FROM ' + @TableName + ' (NOLOCK) ' + ' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2 ) 
       END 
 END 
 END 
 
 SELECT ColumnName, ColumnValue FROM #Results 
 
 END



How to use SP

exec SearchAllTables 'myserchtext'


Hope this will help you and save your time.

Enjoy !!!

:)

Error : Could not find a part of the path 'bin\roslyn\csc.exe'

Error : Could not find a part of the path 'bin\roslyn\csc.exe'



Error

[error]C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\
Microsoft\VisualStudio\v16.0\Web\Microsoft.Web.Publishing.targets(2601,5):
Error : Copying file bin\roslyn\csc.exe to
obj\Release\Package\PackageTmp\bin\roslyn\csc.exe failed.
Could not find a part of the path 'bin\roslyn\csc.exe'.

Solution

run this in the Package Manager Console: Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -r

Hope this will help you and save your time.

Enjoy !!!

:)

Angular 6 : API Get and Post Method

Angular 6 : API Get and Post Method





Get

import { Injectable } from '@angular/core'; import { environment } from 'src/environments/environment'; import { ProductSearch } from '../Model/CountrySearch'; import { TokenParams } from '../Model/TokenParams'; import { Http, Headers } from '@angular/http'; import { Observable } from 'rxjs'; @Injectable() export class CountrySearchService { user = new TokenParams(); constructor(private http: Http) { this.user = JSON.parse(localStorage.getItem('loggedInUser')); } getCountryDetail() : Observable<CountrySearch[]> { var headersAPI = new Headers(); headersAPI.append('Authorization' , 'Bearer ' + this.user.access_token); return this.http.get(environment.apiUrl + environment.countrysearch, {headers : headersAPI}).map(res => res.json()); } }

POST

import { Injectable } from '@angular/core'; import { environment } from 'src/environments/environment'; import { ProductSearch } from '../Model/CountrySearch'; import { TokenParams } from '../Model/TokenParams'; import { Http, Headers } from '@angular/http'; import { Observable } from 'rxjs'; @Injectable() export class CountrySearchService { user = new TokenParams(); constructor(private http: Http) { this.user = JSON.parse(localStorage.getItem('loggedInUser')); } getCountryDetail22(searchText: string, pageNumber : number ) { var httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json; charset=utf-8', 'Authorization' : 'Bearer ' + this.user.access_token }), }; return this.http.post(environment.apiUrl + environment.countrysearch, { PageSize:10, PageNumber:pageNumber, Search: searchText }, this.httpOptions); } }

Hope this will help you and save your time.

Enjoy !!!

:)

Angular 6 : Local Storage

Angular 6 : Local Storage



Sometime, we need to store some data in client side, so we can use cookie and local storage,

Here is the example of local storage.

Component

export class LocalStorageComponent implements OnInit {
  constructor() { }
  ngOnInit() {
    //remove value if exists
    //localStorage.removeItem('loggedInUser');
  }
  setlocalstorage() : void{
    let userObj = { name: 'Rohit'lname: 'Rathod' };
    localStorage.setItem('loggedInUser'JSON.stringify(userObj));
  
  }
  getlocalstorage() : void{    
    if (localStorage.length > 0
    {
      // We have items
      let item = JSON.parse(localStorage.getItem('loggedInUser')); 
      if(item != null)
      {
        console.log(item)
        console.log(item.name)
        console.log(item.lname)
      }
    } 
    else 
    {
      // No items
      alert('no local data')
    }
  }
}

HTML

<button (click) = "setlocalstorage()">Set Storage</button>
<button (click) = "getlocalstorage()">Get Storage</button>

Hope this will help you and save your time.

Enjoy !!!

:)

Angular 6 : Submit model base Form

Angular 6 : Submit model base Form 



Here is the example to submit model base form in angular 6

 

app.module


import { FormsModule } from "@angular/forms";
 imports: [
   ...
    FormsModule ,
    ...
  ]

Model

export class Employee {
    EmployeeID : number;
    FullName : string;
    EmpCode : string;
    Mobile : string;
    Position : string;
}

Component

export class EmployeeComponent implements OnInit {
  formData : Employee;
  constructor() { 
    this.formData = {
      EmployeeID : null,
      FullName : '',
      EmpCode: '',
      Position: '',
      Mobile: ''
    }
   }
  ngOnInit() {
  }
  submitform() : void{
    console.log("FullName = " + this.formData.FullName)
    console.log("EmpCode = " + this.formData.EmpCode)
    console.log("Position = " + this.formData.Position)
    console.log("Mobile = " + this.formData.Mobile)
    //TODO
    //Call service to insert data
  }
}

HTML

<form #form="ngForm" (submit)="onSubmit(form)" autocomplete="off">
  <div class="form-group">
    <label>Fullname</label>
    <input name="FullName" #FullName="ngModel" [(ngModel)] = "formData.FullName" class="form-control" required>
    <div class="validation-error" *ngIf="FullName.invalid && FullName.touched">Fullname is required</div>
  </div>
  <div class="form-group">
    <label>Position</label>
    <input name="Position" #Position="ngModel" [(ngModel)] = "formData.Position" class="form-control">
  </div>
  <div class="form-row">
    <div class="form-group col-md-6">
      <label>EmpCode</label>
      <input name="EmpCode" #EmpCode="ngModel" [(ngModel)] = "formData.EmpCode" class="form-control">
    </div>
    <div class="form-group col-md-6">
      <label>Mobile</label>
      <input name="Mobile" #Mobile="ngModel" [(ngModel)] = "formData.Mobile" class="form-control">
    </div>    
  </div>
  <div class="form-group"> 
    <button type="button" [disabled]="form.invalid" (click) = "submitform()" class="btn btn-lg btn-block">
      Submit Button
    </button>
  </div>
</form>

Hope this will help you and save your time.

Enjoy !!!

:)

Angular 6 : Error while creating new component

Angular 6 : Error while creating new component



Sometime, we get error while creating new component in angular6 project,

Error - "More than one module matches. Use skip-import option to skip importing the component into the closest module."

Solution

ng g c componentName --module app

or

ng g c componentName --module=app.module

or

ng g c componentName --skip-import

Hope this will help you and save your time.

Enjoy !!!

:)