Monday, August 8, 2016

How to trim trailing whitespace in Visual Studio ?

There are at least two extensions that can do this. One is CodeMaid which explicitly will trim trailing blanks on save, and the other is Productivity Power Tools which can run the Format Document automatically on save.
To add an extension from within Visual Studio 2012, select the Tools menu, then Extensions and Updates.., then in the window select Online on the left and enter your search string for CodeMaid or Productivity Power Tools in the box on the upper-right.

https://visualstudiogallery.msdn.microsoft.com/76293c4d-8c16-4f4a-aee6-21f83a571496?SRC=VSIDE

Friday, August 5, 2016

[solved] 0x80070005 - JavaScript runtime error: Access is denied.

Check whether permission has been given to IIS_IUSRS  or IUSR account and If not give the permission.

and while giving permission click on advanced tab and check the option reaplce child folders permision(2nd one)

I hope it will solve your problem
===============
Give appropriate permissions to the file.

Thursday, August 4, 2016

Asp.net mvc check if username exists instantly using remote validation

check that particular username or email address  exists or not in our database instantly at client side . We can achieve particular perspective by hard coding at server side but at client side we can achieve using remote validation attribute in model . Let’s see example .

First create model for user name  using data annotations with remote attribute 

public class RegisterModel
{
        [Remote("CheckUserNameExists", "Common")]
        [Required(ErrorMessage="User name is required")]
        [Display(Name = "User Name")]
        public string UserName { get; set; }
}

Here we are using remote attribute to check instantly that user name  exists or not . If we check parameters of remote attribute , we will find that we need to provide controller and action name . We provided Controller name as Common and action name as CheckUserNameExists . Let’s create action name as “CheckUserNameExists” .

Create action for remote validation

public virtual JsonResult CheckUserNameExists(string userName)
{
    bool chkUser = false;
    //Check in database that particular user name is exist or not
    chkUser = CheckUserNameExistsFunction(userName);
    if (chkUser)
    {
         return Json("User name is already registered ", JsonRequestBehavior.AllowGet);
    }
    else
    {
         return Json(true, JsonRequestBehavior.AllowGet);
    }
}
By calling above method we can check that user name  exists or not instantly as it  returns Json Result . Now we we will see how we can implement at view side where it will show the message instantly .
@Html.TextBoxFor(m =>m.UserName, new { placeholder = "Enter user name", id = "txtUserName" })
@Html.ValidationMessageFor(m =>m.UserName, string.Empty, new { @class = "error-class" })

What is your opinion ?

By implementing above all things we can achieve instantly message that user name is already exist or not . I hope now you can easily implement remote validation . If you have any query you can comment or you can mail me.
Nice one, thanks for that Dilip Patel. @ahmet and Dilip, you could rewrite your function a little to simplify things, like so:
[AllowAnonymous]
        public virtual JsonResult CheckUserNameExists(string userName)
        {
            //Check in database via Usermanager that particular user name is exist or not
            bool userExists = UserManager.Users.Any(u => u.UserName == userName);
            return userExists
                ? Json(Help.User_name_already_registred, JsonRequestBehavior.AllowGet)
                : Json(true, JsonRequestBehavior.AllowGet);
        }
        [AllowAnonymous]
        public virtual JsonResult CheckEmailExists(string email)
        {
            //Check in database via Usermanager that particular email is exist or not
            bool userExists = UserManager.Users.Any(u => u.Email == email);
            return userExists
                ? Json(Help.Email_already_registred, JsonRequestBehavior.AllowGet)
                : Json(true, JsonRequestBehavior.AllowGet);
        }

db Backups task scheduler


USE [master]
GO
/****** Object:  StoredProcedure [dbo].[sp_BackupDatabases]    Script Date: 11/10/2015 6:10:29 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author: Microsoft
-- Create date: 2010-02-06
-- Description: Backup Databases for SQLExpress
-- Parameter1: databaseName
-- Parameter2: backupType F=full, D=differential, L=log
-- Parameter3: backup file location
-- =============================================

ALTER PROCEDURE [dbo].[sp_BackupDatabases] 
            @databaseName sysname = null,
            @backupType CHAR(1),
            @backupLocation nvarchar(200)
AS

       SET NOCOUNT ON;
          
            DECLARE @DBs TABLE
            (
                  ID int IDENTITY PRIMARY KEY,
                  DBNAME nvarchar(500)
            )
          
             -- Pick out only databases which are online in case ALL databases are chosen to be backed up
             -- If specific database is chosen to be backed up only pick that out from @DBs
            INSERT INTO @DBs (DBNAME)
            SELECT Name FROM master.sys.databases
            where state=0
            AND name=@DatabaseName
            OR @DatabaseName IS NULL
            ORDER BY Name
          
            -- Filter out databases which do not need to backed up
            IF @backupType='F'
                  BEGIN
                  DELETE @DBs where DBNAME IN
('tempdb','master','model','msdb' )
                  END
            ELSE IF @backupType='D'
                  BEGIN
                  DELETE @DBs where DBNAME IN
('tempdb','master','model','msdb' )
                  END
            ELSE IF @backupType='L'
                  BEGIN
                  DELETE @DBs where DBNAME IN
('tempdb','master','model','msdb' )
                  END
            ELSE
                  BEGIN
                  RETURN
                  END
          
            -- Declare variables
            DECLARE @BackupName varchar(500)
            DECLARE @BackupFile varchar(500)
            DECLARE @DBNAME varchar(500)
            DECLARE @sqlCommand NVARCHAR(1000)
        DECLARE @dateTime NVARCHAR(20)
            DECLARE @Loop int                 
                      
            -- Loop through the databases one by one
            SELECT @Loop = min(ID) FROM @DBs

      WHILE @Loop IS NOT NULL
      BEGIN

-- Database Names have to be in [dbname] format since some have - or _ in their name
      SET @DBNAME = '['+(SELECT DBNAME FROM @DBs WHERE ID = @Loop)+']'

-- Set the current date and time n yyyyhhmmss format
      SET @dateTime = REPLACE(CONVERT(VARCHAR, GETDATE(),105),'/','') + '_' +  REPLACE(CONVERT(VARCHAR, GETDATE(),108),':','') 

-- Create backup filename in path\filename.extension format for full,diff and log backups
      IF @backupType = 'F'
            SET @BackupFile = @backupLocation+REPLACE(REPLACE(@DBNAME, '[',''),']','')+ '_FULL_'+ @dateTime+ '.BAK'
      ELSE IF @backupType = 'D'
            SET @BackupFile = @backupLocation+REPLACE(REPLACE(@DBNAME, '[',''),']','')+ '_DIFF_'+ @dateTime+ '.BAK'
      ELSE IF @backupType = 'L'
            SET @BackupFile = @backupLocation+REPLACE(REPLACE(@DBNAME, '[',''),']','')+ '_LOG_'+ @dateTime+ '.TRN'

-- Provide the backup a name for storing in the media
      IF @backupType = 'F'
            SET @BackupName = REPLACE(REPLACE(@DBNAME,'[',''),']','') +' full backup for '+ @dateTime
      IF @backupType = 'D'
            SET @BackupName = REPLACE(REPLACE(@DBNAME,'[',''),']','') +' differential backup for '+ @dateTime
      IF @backupType = 'L'
            SET @BackupName = REPLACE(REPLACE(@DBNAME,'[',''),']','') +' log backup for '+ @dateTime

-- Generate the dynamic SQL command to be executed

       IF @backupType = 'F'
                  BEGIN
               SET @sqlCommand = 'BACKUP DATABASE ' +@DBNAME+  ' TO DISK = '''+@BackupFile+ ''' WITH INIT, NAME= ''' +@BackupName+''', NOSKIP, NOFORMAT'
                  END
       IF @backupType = 'D'
                  BEGIN
               SET @sqlCommand = 'BACKUP DATABASE ' +@DBNAME+  ' TO DISK = '''+@BackupFile+ ''' WITH DIFFERENTIAL, INIT, NAME= ''' +@BackupName+''', NOSKIP, NOFORMAT'       
                  END
       IF @backupType = 'L'
                  BEGIN
               SET @sqlCommand = 'BACKUP LOG ' +@DBNAME+  ' TO DISK = '''+@BackupFile+ ''' WITH INIT, NAME= ''' +@BackupName+''', NOSKIP, NOFORMAT'       
                  END

-- Execute the generated SQL command
       EXEC(@sqlCommand)

-- Goto the next database
SELECT @Loop = min(ID) FROM @DBs where ID>@Loop


END