Tuesday, February 27, 2018

Publishing the API on Azure

Introduction:

Publish the web application on azure from Visual studio.

Steps:

  1. Publish your web application using visual studio. It gives this  error. but It creates App Service Plan and App Service in Azure.
  2.  sign in to portal.azure.com
  3. Select the App Service which you have created.
  4. Click on Get Publish Profile.
  5. Now Again Go to Visual studio and Publish.
  6. This time while publishing select Import.
  7. Select the file which you have downloaded from azure.
  8. Click Ok.
  9. Click On Publish.
  10. Your Application will get Publish.

Monday, February 12, 2018

Get the index of an item in a list in C#

int index = myList.FindIndex(a => a.Prop == oProp);
If you don't want to use LINQ, then:
int index;
for (int i = 0; i < myList.Count; i++)
{
    if (myList[i].Prop == oProp)
    {
       index = i;
       break;
    }
}

Sunday, February 11, 2018

Validate Date in C#

DateTime dt;
if (DateTime.TryParseExact(str, "M/d/yyyy", null, DateTimeStyles.None, out dt) == true)
{
//your date is valid and is in dt
}

Tuesday, February 6, 2018

List Stored Procedure Modified and Created in Last N Days


If stored procedure was created but never modified afterwards modified date and create date for that stored procedure are same.

SELECT 
nameFROM sys.objectsWHERE type 'P'AND DATEDIFF(D,modify_dateGETDATE()) < 10
----Change 7 to any other day value
Following script will provide name of all the stored procedure which were created in last 7 days, they may or may not be modified after that.
SELECT nameFROM sys.objectsWHERE type 'P'AND DATEDIFF(D,create_dateGETDATE()) < 10
----Change 7 to any other day value.

Tuesday, January 2, 2018

Generate class from database table

 declare @TableName sysname = 'tbBatch'
declare @Result varchar(max) = 'public class ' + @TableName + '
{'

select @Result = @Result + '
    public ' + ColumnType + NullableSign + ' ' + ColumnName + ' { get; set; }
'
from
(
    select
        replace(col.name, ' ', '_') ColumnName,
        column_id ColumnId,
        case typ.name
            when 'bigint' then 'long'
            when 'binary' then 'byte[]'
            when 'bit' then 'bool'
            when 'char' then 'string'
            when 'date' then 'DateTime'
            when 'datetime' then 'DateTime'
            when 'datetime2' then 'DateTime'
            when 'datetimeoffset' then 'DateTimeOffset'
            when 'decimal' then 'decimal'
            when 'float' then 'float'
            when 'image' then 'byte[]'
            when 'int' then 'int'
            when 'money' then 'decimal'
            when 'nchar' then 'string'
            when 'ntext' then 'string'
            when 'numeric' then 'decimal'
            when 'nvarchar' then 'string'
            when 'real' then 'double'
            when 'smalldatetime' then 'DateTime'
            when 'smallint' then 'short'
            when 'smallmoney' then 'decimal'
            when 'text' then 'string'
            when 'time' then 'TimeSpan'
            when 'timestamp' then 'DateTime'
            when 'tinyint' then 'byte'
            when 'uniqueidentifier' then 'Guid'
            when 'varbinary' then 'byte[]'
            when 'varchar' then 'string'
            else 'UNKNOWN_' + typ.name
        end ColumnType,
        case
            when col.is_nullable = 1 and typ.name in ('bigint', 'bit', 'date', 'datetime', 'datetime2', 'datetimeoffset', 'decimal', 'float', 'int', 'money', 'numeric', 'real', 'smalldatetime', 'smallint', 'smallmoney', 'time', 'tinyint', 'uniqueidentifier')
            then '?'
            else ''
        end NullableSign
    from sys.columns col
        join sys.types typ on
            col.system_type_id = typ.system_type_id AND col.user_type_id = typ.user_type_id
    where object_id = object_id(@TableName)
) t
order by ColumnId

set @Result = @Result  + '
}'

print @Result

Convert Alpha Numeric Characters from String to Integer

Following function keeps only Alphanumeric characters in string and removes all the other character from the string. This is very handy function when working with Alphanumeric String only. I have used this many times.
CREATE FUNCTION dbo.UDF_ParseAlphaChars(@string VARCHAR(8000)
)
RETURNS VARCHAR(8000)AS
BEGIN
DECLARE 
@IncorrectCharLoc SMALLINTSET @IncorrectCharLoc PATINDEX('%[^0-9A-Za-z]%'@string)WHILE @IncorrectCharLoc 0BEGIN
SET 
@string STUFF(@string@IncorrectCharLoc1'')SET @IncorrectCharLoc PATINDEX('%[^0-9A-Za-z]%'@string)END
SET 
@string @stringRETURN @stringENDGO

—-Test
SELECT dbo.UDF_ParseAlphaChars('ABC”_I+{D[]}4|:e;””5,<.F>/?6')GO

Tuesday, November 7, 2017

Create Log in c#

We can easliy create log by using File.AppendAllText() method because by using this method, it is guaranteed that the file handle will be closed, even if exceptions are raised.
1
2
3
4
5
6
7
public static class Logger
{
    public static void Log(string message)
    {
        File.AppendAllText("C:\\LogFile.txt", DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + ":\t" + message + Environment.NewLine);
    }
}