03 January, 2015

Now I become Azure Microsoft Specialist



06 March, 2014

How To Check Javascript Fuction Available OR Not

Problem:
Some time we need to call javascript function which is based on some condition or may pass as parameter and then call that function. In this case we need to check whether this javascript function available or not if available then we call it otherwise not.

 HTML:
<input id="test" value="Available" onclick="ISfuctionAvailable();" type="button"/>
 
<input id="test1" value="Not available" onclick="fuctionNotAvailable();" type="button"/>

Javascript:
function ISfuctionAvailable() {
    if (typeof fuctionNotAvailable == 'function') {
        alert('Function available');
        //You can call function like  fuctionNotAvailable();
    }
    else {
        alert('Function Not available');
    }
}
 
function fuctionNotAvailable() {
    if (typeof test5 == 'function') {
        alert('Function available');
    }
    else {
        alert('Function Not available');
    }
}

Demo:
http://jsfiddle.net/patelriki13/drwdG/




















02 March, 2014

How to pass an event object to a function in Javascript?

HTML:
<input type="button" value="click me" onclick="ButtonClick(event);" /> 
 
Javascript:
function ButtonClick(e, button) {
    alert(e.type);
    alert("Button Click...!");
}

Pass "event" keyword in onclick function and also you pass extra argument after that like


HTML:
<input type="button" value="click me" onclick="ButtonClick(event, this);" /> 
 
Javascript:
function ButtonClick(e, button) {
    alert(e.type);
    alert("Button Click...!");
}

Demo:
http://jsfiddle.net/patelriki13/2zuef/








27 February, 2014

Kendo Grid

Following Links are for Kendo Grid Solution


25 February, 2014

Generate class from database table in C#


Using SQL Query:
DECLARE @TableName VARCHAR(MAX) = 'Users'
DECLARE @TableSchema VARCHAR(MAX) = 'dbo'
DECLARE @result varchar(max) = ''
 
SET @result = @result + 'using System;' + CHAR(13) + CHAR(13) 
 
IF (@TableSchema IS NOT NULL) 
BEGIN
    SET @result = @result + 'namespace ' + @TableSchema  + CHAR(13) + '{' + CHAR(13) 
END
 
SET @result = @result + '    public class ' + @TableName + CHAR(13) + '    {' + CHAR(13) 
 
SET @result = @result + '        #region Instance Properties' + CHAR(13)  
 
SELECT @result = @result + CHAR(13) 
    + '        public ' + ColumnType + ' ' + ColumnName + ' { get; set; } ' + CHAR(13) 
FROM
(
    SELECT  c.COLUMN_NAME   AS ColumnName 
        , CASE c.DATA_TYPE   
            WHEN 'bigint' THEN
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'Int64?' ELSE 'Int64' END
            WHEN 'binary' THEN 'Byte[]'
            WHEN 'bit' THEN 
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'Boolean?' ELSE 'Boolean' END            
            WHEN 'char' THEN 'String'
            WHEN 'date' THEN
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'DateTime?' ELSE 'DateTime' END                        
            WHEN 'datetime' THEN
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'DateTime?' ELSE 'DateTime' END                        
            WHEN 'datetime2' THEN  
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'DateTime?' ELSE 'DateTime' END                        
            WHEN 'datetimeoffset' THEN 
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'DateTimeOffset?' ELSE 'DateTimeOffset' END                                    
            WHEN 'decimal' THEN  
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'Decimal?' ELSE 'Decimal' END                                    
            WHEN 'float' THEN 
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'Single?' ELSE 'Single' END                                    
            WHEN 'image' THEN 'Byte[]'
            WHEN 'int' THEN  
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'Int32?' ELSE 'Int32' END
            WHEN 'money' THEN
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'Decimal?' ELSE 'Decimal' END                                                
            WHEN 'nchar' THEN 'String'
            WHEN 'ntext' THEN 'String'
            WHEN 'numeric' THEN
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'Decimal?' ELSE 'Decimal' END                                                            
            WHEN 'nvarchar' THEN 'String'
            WHEN 'real' THEN 
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'Double?' ELSE 'Double' END                                                                        
            WHEN 'smalldatetime' THEN 
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'DateTime?' ELSE 'DateTime' END                                    
            WHEN 'smallint' THEN 
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'Int16?' ELSE 'Int16'END            
            WHEN 'smallmoney' THEN  
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'Decimal?' ELSE 'Decimal' END                                                                        
            WHEN 'text' THEN 'String'
            WHEN 'time' THEN 
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'TimeSpan?' ELSE 'TimeSpan' END                                                                                    
            WHEN 'timestamp' THEN 
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'DateTime?' ELSE 'DateTime' END                                    
            WHEN 'tinyint' THEN 
                CASE C.IS_NULLABLE
                    WHEN 'YES' THEN 'Byte?' ELSE 'Byte' END                                                
            WHEN 'uniqueidentifier' THEN 'Guid'
            WHEN 'varbinary' THEN 'Byte[]'
            WHEN 'varchar' THEN 'String'
            ELSE 'Object'
        END AS ColumnType
        , c.ORDINAL_POSITION 
FROM    INFORMATION_SCHEMA.COLUMNS c
WHERE   c.TABLE_NAME = @TableName and ISNULL(@TableSchema, c.TABLE_SCHEMA) = c.TABLE_SCHEMA  
) t
ORDER BY t.ORDINAL_POSITION
 
SET @result = @result + CHAR(13) + '        #endregion Instance Properties' + CHAR(13)  
 
SET @result = @result  + '    }' + CHAR(13)
 
IF (@TableSchema IS NOT NULL) 
BEGIN
    SET @result = @result + '}' 
END
 
PRINT @result


Output:
using System;

namespace dbo
{
    public class Users
    {
        #region Instance Properties

        public Int32 SysID { getset; } 

        public String UserID { getset; } 

        public String UserName { getset; } 

        public String Password { getset; } 

        public String emailID { getset; } 

        public Boolean IsActive { getset; } 

        public DateTime CreatedWhenDtm { getset; } 

        public String CreatedBy { getset; } 

        public DateTime UpdatedWhenDtm { getset; } 

        public String UpdatedBy { getset; } 

        #endregion Instance Properties
    }
}

21 February, 2014

Pass Javascript Array to Controller via AJAX in MVC


Create JavaScript Array: 
var stringArray = new Array();
stringArray .push("1");
stringArray .push("2");
stringArray .push("3");
Ajax Call:
    $.ajax({
        type: 'POST',
        url: '/Controller/View',
        traditional: true,
        dataType: "json",
        data: { methodParam: stringArray },
        success: function (data) {
            alert("success");
        },
        error: function (args) {
            alert("Error on ajax post");
        }
    })
Controller: 
[HttpPost]
public ActionResult TutorAvailability(string[] methodParam)

15 February, 2014

MSMQ cannot delete or purge a queue


I think there is rights issue.
You are not able to give rights then do following step for forcefully delete queue.
  1. Stop following services
Message Queuing Triggers,
Net.Msmq Listener Adapter
Message Queuing.
  1. Go to C:\Windows\System32\msmq\storage\lqs
  2. Now open file in notepad or notepad++ and
    see the name of queue at QueueName=\private$\YourQueueName
  3. Before delete file backup the file. Now delete that file.
  4. Don't delete other file which does not have your queue name.
  5. Do these things as your own risk.
  6. Now start following services
Message Queuing Triggers,
Net.Msmq Listener Adapter
Message Queuing.
This trick work for me...

02 December, 2013

Get display name of enum

Problem:
How to get Display name or Description of Enum.

Solution:
I made on extension helper to get display name or description  of Enum.


Usage:
var weekofday = Days.Sun; 
Console.WriteLine(weekofday.ToDisplayName()); 
Console.WriteLine(weekofday.ToDescription());
 
public enum Days
{
    [Display(Name = "Sunday")]
    [Description("First day of week.")]
    Sun,
    [Display(Name = "Monday")]
    Mon,
    [Display(Name = "Tuesday")]
    Tue,
    [Display(Name = "Wednesday")]
    Wed,
    [Display(Name = "Thursday")]
    Thu,
    [Display(Name = "Friday")]
    Fri,
    [Display(Name = "Saturday")]
    Sat
}
 
Output:
Sunday
First day of week. 

Enum Helper:
using System;
using System.Linq;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
 
namespace TestWinApp
{
    public static class EnumHelper
    {
        #region Public Method
 
        // This extension method is broken out so you can use a similar pattern with 
        // other MetaData elements in the future. This is your base method for each.
        //In short this is generic method to get any type of attribute.
        public static T GetAttribute<T>(this Enum value) where T : Attribute
        {
            var type = value.GetType();
            var memberInfo = type.GetMember(value.ToString());
            var attributes = memberInfo[0].GetCustomAttributes(typeof(T), false);
            return (T)attributes.FirstOrDefault();//attributes.Length > 0 ? (T)attributes[0] : null;
        }
 
        // This method creates a specific call to the above method, requesting the
        // Display MetaData attribute.
        //e.g. [Display(Name = "Sunday")]
        public static string ToDisplayName(this Enum value)
        {
            var attribute = value.GetAttribute<DisplayAttribute>();
            return attribute == null ? value.ToString() : attribute.Name;
        }
 
        // This method creates a specific call to the above method, requesting the
        // Description MetaData attribute.
        //e.g. [Description("Day of week. Sunday")]
        public static string ToDescription(this Enum value)
        {
            var attribute = value.GetAttribute<DescriptionAttribute>();
            return attribute == null ? value.ToString() : attribute.Description;
        }
 
        #endregion
    }
}

08 November, 2013

MySQL – 'mysql' is not recognised as an internal or external command

Problem:
'mysql' is not recognized as an internal or external command, operable program or batch file.


Solution:
To solve the above the error message, please follow the below steps:

  1. Open Control Panel
  2. Then open System and Click on Advanced system Settings
  3. Select “Advanced” Tab and click on Environment Variables
  4. In System variables, Select Path and Click on Edit button. At the end of Variable value text box, write the path of MySQL bin directory.

For example
C:\Program Files\MySQL\MySQL Server 5.6\bin;

29 October, 2013

How to get the row count of all tables in a SQL SERVER

1) Using  sp_MSForEachTable SP
sp_MSForEachTable 'DECLARE @t AS VARCHAR(MAX); 
SELECT @t = CAST(COUNT(1) as VARCHAR(MAX)) 
+ CHAR(9) + CHAR(9) + ''?'' FROM ? ; PRINT @t';
Output:  
 
 
 






2) Using System Table.
 
SELECT 
    sc.name +'.'+ ta.name TableName, SUM(pa.rows) RowCnt
FROM 
    sys.tables ta
INNER JOIN sys.partitions pa
    ON pa.OBJECT_ID = ta.OBJECT_ID
INNER JOIN sys.schemas sc
    ON ta.schema_id = sc.schema_id
WHERE 
 ta.is_ms_shipped = 0 AND pa.index_id IN (1,0)
GROUP BY 
 sc.name,ta.name
ORDER BY 
 SUM(pa.rows) DESC
 
Output:  








 

09 October, 2013

No set method for property in WCF service

Problem:

I have some class that I'm passing as a result of a service method, and that class has a get-only property:
 

public string PropertyName
{
    get
    {
        return "Some Value";
    }    
}

 I'm getting an exception on service side "No set method for property"

Solution:

Remember that WCF needs to create an instance of the object from its serialized representation (often XML) and if the property has no setter it cannot assign a value. Objects are not transferred between the client and the server but only serialized representations, so the object needs to be reconstructed at each end.

Make setter property private. So, client can never see the set method on your property acting much like a read only property. 

public string PropertyName
{
    get
    {
        return "Some Value";
    }
    private set
    { }
}

30 August, 2013

C# datetime formatting separators issue

Problem:
Console.WriteLine(DateTime.Now.ToString("MM/dd/yyyy"));  
Output:
08-28-2013 
Expected output: 
08/28/2013

Solution:
Console.WriteLine(DateTime.Now.ToString("MM/dd/yyyy"CultureInfo.InvariantCulture));
 
Reason,
If a CultureInfo is not specified, the current culture will be used.
If this is a culture that doesn't use slashes as separators in dates and 
the format string specifies the date separator to be a /, that is replaced 
by whatever the actual culture date separator is 

02 August, 2013

WCF: The maximum array length quota (16384) has been exceeded while reading XML data

Error:
"The maximum array length quota (16384) has been exceeded while reading XML data. This quota may be increased by changing the MaxArrayLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader."

Solution:

Try to change config file:

Add <readerQuotas> and set maxArrayLength="2147483647"

<binding name="WSHttpBinding_IBackup"
         closeTimeout="1:00:00"
         maxBufferPoolSize="2147483647"
         maxBufferSize="2147483647"
         maxReceivedMessageSize="2147483647"
         openTimeout="1:00:00"
         receiveTimeout="1:00:00"
         sendTimeout="1:00:00"
         transferMode="Streamed">
 
  <readerQuotas
    maxArrayLength="2147483647"
    maxBytesPerRead="2147483647"
    maxDepth="2147483647"
    maxNameTableCharCount="2147483647"
    maxStringContentLength="2147483647" />
 
  <!--if any issue then try this one-->
  <!--<textMessageEncoding messageVersion="Soap11" 
                       maxReadPoolSize="2147483647" 
                       maxWritePoolSize="2147483647">
    <readerQuotas
      maxArrayLength="2147483647"
      maxBytesPerRead="2147483647"
      maxDepth="2147483647"
      maxNameTableCharCount="2147483647"
      maxStringContentLength="2147483647" />
  </textMessageEncoding>-->
 
</binding>
 
If you have same issue then try following solution.
Reason:-
  • My service is simply ignoring my binding “basicHttp_ServiceName” and it’s always taking default binding
  • Reason is
    • My configuration service name does not match with service name in Service Host
    • The name I given is "ServiceName" where it has to be "XYZ.ServiceName"
    • E.g.
      <%@ ServiceHost Language="C#" 
                      Debug="true" 
                      Service="XYZ.ServiceName" 
                      CodeBehind="ServiceName.svc.cs" %>
      
      
Fix :-
  • Right click your “.svc” file and choose “View Markup”
  • Copy the Service name and paste it in your service name
  • Now my Service configuration looks below
  • E.g
     <services>
        <service name="XYZ.ServiceName">
     
        </service>
      </services>

02 April, 2013

Cannot login to network server in sql server

GO to "Sql Server Configuration Manager"

Select Sql server Services

Check following service are running
- Sql Server(Instance Name)
- Sql Server Browser

Go to "Sql Server Network Configuration"
- Select Protocol for <Instance Name>

 Now check TCP/IP and Named Pipes is Enable.

and make sure Your system Firewall should not block SQL Server port. SQL SERVER port is by Default 1433

28 March, 2013

How to check date is valid or not in Javascript

Features:
 
  • Date format: MM/DD/YYYY
  • Text box control values can be validated as correct date
  • Month can be entered compulsory with two digits either 0 or 1 as first digit. So possible invalid entries are from 13 to 19.
  • Date can be entered compulsory with two digits either 0,1,2 or 3 as first digit. So possible invalid entries are from 32 to 39.
  • Entry will be validated on blur event. In case of invalid date then blank TextBox.
  • It will also validate for Leap years for Feb month. Also, it will validate 31 date for April, June, Sep & Nov months.

JavaScript Function:

function isDate(txtDate) {
    var currVal = txtDate.val();
    if (currVal == '') {
        txtDate.val('');
        return false;
    }
 
    //Declare Regex 
    var rxDatePattern = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var dtArray = currVal.match(rxDatePattern); // is format OK?
 
    if (dtArray == null) {
        txtDate.val('');
        return false;
    }
 
    //Checks for mm/dd/yyyy format.
    dtMonth = dtArray[1];
    dtDay = dtArray[3];
    dtYear = dtArray[5];
 
    if (dtMonth < 1 || dtMonth > 12) {
        txtDate.val('');
        return false;
    }
    else if (dtDay < 1 || dtDay > 31) {
        txtDate.val('');
        return false;
    }
    else if ((dtMonth == 4 || dtMonth == 6 || dtMonth == 9 || dtMonth == 11) && dtDay == 31) {
        txtDate.val('');
        return false;
    }
    else if (dtMonth == 2) {
        var isleap = (dtYear % 4 == 0 && (dtYear % 100 != 0 || dtYear % 400 == 0));
        if (dtDay > 29 || (dtDay == 29 && !isleap)) {
            txtDate.val('');
            return false;
        }
    }
    return true;
}

20 March, 2013

Check Foreign key exists in MySQL

If you want to add/drop foreign key then you need to check is foreign key is exist or not.

IF NOT EXISTS (SELECT NULL FROM information_schema.TABLE_CONSTRAINTS WHERE
                   CONSTRAINT_SCHEMA = DATABASE() AND
                   CONSTRAINT_NAME   = 'fk_rabbits_main_page' AND
                   CONSTRAINT_TYPE   = 'FOREIGN KEY') THEN
   ALTER TABLE `rabbitsADD CONSTRAINT `fk_rabbits_main_page`
                             FOREIGN KEY (`main_page_id`)
                             REFERENCES `rabbit_pages` (`id`);
END IF
 
 
Using following query you will get more information about foreign key with column details.
 
 SELECT 
    TABLE_NAME,COLUMN_NAME,
    CONSTRAINT_NAME,
    REFERENCED_TABLE_NAME,
    REFERENCED_COLUMN_NAME 
FROM 
    INFORMATION_SCHEMA.KEY_COLUMN_USAGE 
WHERE 
    TABLE_NAME='TABLENAME' 
    AND REFERENCED_TABLE_NAME = 'REFERENCED_TABLE_NAME' 
    AND CONSTRAINT_NAME='FK_Key_Name'
    AND REFERENCED_COLUMN_NAME='Code'; 

27 February, 2013

Removing a Server name from MS SQL Server Management Studio 2008 'Connect to Server' Drop-down list


Download utility from http://ssmsmru.codeplex.com/

OR

Rename Or Delete following file.

In Windows 7, it's in the following:

SQL 2005:
C:\Users\<USER>\AppData\Roaming\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

SQL 2008:
C:\Users\<USER>\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin


In Windows XP, it's in the following:

SQL 2005:
C:\Users\<USER>\AppData\Roaming\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat

SQL 2008:
C:\Users\<USER>\AppData\Roaming\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin