Friday, February 26, 2010

Part-I AuthorizeNet.cs

AuthorizeNet.cs
AuthorizeNetFields.cs
AuthorizeNetRequest.cs
AuthorizeNetResponse.cs

#region Namespaces

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Text;

using System.Net;

using System.IO;

using System.Collections;

using ClassLib.bl;

#endregion


public static class AuthorizeNet

{


#region Private Member(s)

private static string UNEXPECTED_ERROR = "Unexpected error";

private static string AUTHORIZENET_TEST_URL ="https://test.authorize.net/gateway/transact.dll";

private static string AUTHORIZENET_LIVE_URL ="https://secure.authorize.net/gateway/transact.dll";

#endregion


#region Transaction Type Enum(s)

public enum TransactionType

{

AUTH_CAPTURE = 0,

AUTH_ONLY,

PRIOR_AUTH_CAPTURE,

CREDIT,

VOID

}


public static string GetSringForEnum(TransactionType TransType)

{

switch (TransType)

{

case TransactionType.AUTH_CAPTURE:

return "AUTH_CAPTURE";

break;

case TransactionType.AUTH_ONLY:

return "AUTH_ONLY";

break;

case TransactionType.PRIOR_AUTH_CAPTURE:

return "PRIOR_AUTH_CAPTURE";

break;

case TransactionType.CREDIT:

return "CREDIT";

break;

case TransactionType.VOID:

return "VOID";

break;

default:

return string.Empty;

break;

}

}

#endregion

private static string GetRequestString(AuthorizeNetRequestobjAuthorizeNetRequest, AuthorizeNetFields allFields, TransactionTypeTransType)

{

Hashtable post_values = new Hashtable();

post_values.Add("x_login", objAuthorizeNetRequest.Login);

post_values.Add("x_tran_key", objAuthorizeNetRequest.TransactionKey);


post_values.Add("x_delim_data", "TRUE");

post_values.Add("x_delim_char", '|');

post_values.Add("x_relay_response", "FALSE");


post_values.Add("x_type", GetSringForEnum(TransType));

post_values.Add("x_method", "CC");

post_values.Add("x_card_num", objAuthorizeNetRequest.CardNumber);

post_values.Add("x_exp_date", objAuthorizeNetRequest.CardExpirationDate);

post_values.Add("x_Card_Code", objAuthorizeNetRequest.CcvNumber);


post_values.Add("x_amount", objAuthorizeNetRequest.Amount);

post_values.Add("x_description", allFields.x_Description);

post_values.Add("x_tax", allFields.x_Tax);


post_values.Add("x_first_name", allFields.x_First_Name);

post_values.Add("x_last_name", allFields.x_Last_Name);

post_values.Add("x_address", allFields.x_Address);

post_values.Add("x_city", allFields.x_City);

post_values.Add("x_zip", allFields.x_Zip);

post_values.Add("x_state", allFields.x_State);

post_values.Add("x_country", allFields.x_Country);

post_values.Add("x_phone", allFields.x_Phone);

post_values.Add("x_email", allFields.x_Email);


post_values.Add("x_ship_to_first_name", allFields.x_Ship_to_first_name);

post_values.Add("x_ship_to_last_name", allFields.x_Ship_to_last_name);

post_values.Add("x_ship_to_address", allFields.x_Ship_to_address);

post_values.Add("x_ship_to_city", allFields.x_Ship_to_city);

post_values.Add("x_ship_to_state", allFields.x_Ship_to_state);

post_values.Add("x_ship_to_zip", allFields.x_Ship_to_zip);

post_values.Add("x_ship_to_country",allFields.x_Ship_to_country);


if (TransType == TransactionType.CREDIT || TransType ==TransactionType.PRIOR_AUTH_CAPTURE || TransType == TransactionType.VOID)

{

post_values.Add("x_trans_id", objAuthorizeNetRequest.TransactionId);

}

String post_string = "";

foreach (DictionaryEntry field in post_values)

{

post_string += field.Key + "=" + field.Value + "&";

}

post_string = post_string.TrimEnd('&');


return post_string;

}


public static AuthorizeNetResponse CallAuthorizeNetMethod(AuthorizeNetRequestobjAuthorizeNetRequest, AuthorizeNetFields allFields)
{
HttpWebRequest objRequest = null;
if (ReadConfig.IsTestPayment)
{
objRequest = (HttpWebRequest)WebRequest.Create(AUTHORIZENET_TEST_URL);
}
else
{
objRequest = (HttpWebRequest)WebRequest.Create(AUTHORIZENET_LIVE_URL);
}
objRequest.Method = "POST";
string postData = GetRequestString(objAuthorizeNetRequest, allFields, objAuthorizeNetRequest.TransactionType);
ASCIIEncoding enco = new ASCIIEncoding();
byte[] byte1 = enco.GetBytes(postData);
objRequest.ContentType = "application/x-www-form-urlencoded";
objRequest.ContentLength = byte1.Length;
Stream myWriter = objRequest.GetRequestStream();
myWriter.Write(byte1, 0, byte1.Length);
myWriter.Close();
String post_response;
HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
using (StreamReader responseStream = newStreamReader(objResponse.GetResponseStream()))
{
post_response = responseStream.ReadToEnd();
responseStream.Close();
}
Array response_array = post_response.Split('|');
AuthorizeNetResponse objAuthorizeNetResponse = new AuthorizeNetResponse();
HandleResponse(post_response, objAuthorizeNetResponse);
return objAuthorizeNetResponse;
}
private static void HandleError(AuthorizeNetResponse objAuthorizeNetResponse,string ErrorMessage)
{
objAuthorizeNetResponse.IsSuccess = false;
objAuthorizeNetResponse.Errors = ErrorMessage;
}
private static void HandleResponse(string strResponse, AuthorizeNetResponseobjAuthorizeNetResponse)
{
string[] strWebResponse = strResponse.Split(new char[] { '|' },StringSplitOptions.None);
if (strResponse != null)
{
if (strWebResponse[0] == "1")
{
objAuthorizeNetResponse.IsSuccess = true;
if (strWebResponse.Length > 3)
objAuthorizeNetResponse.SuccessMessage = strWebResponse[3];
if (strWebResponse.Length > 6)
objAuthorizeNetResponse.TransactionId = strWebResponse[6];
}
else
{
if (strWebResponse.Length > 3)
HandleError(objAuthorizeNetResponse, strWebResponse[3]);
else
HandleError(objAuthorizeNetResponse, UNEXPECTED_ERROR);
}
}
else
{
HandleError(objAuthorizeNetResponse, UNEXPECTED_ERROR);
}
}
}

Javascript function to set cookies

function Set_Cookie( name, value, expires, path, domain, secure )
{
// set time, it's in milliseconds
var today = new Date();
today.setTime( today.getTime() );

/*
if the expires variable is set, make the correct
expires time, the current script below will set
it for x number of days, to make it for hours,
delete * 24, for minutes, delete * 60 * 24
*/
if ( expires )
{
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );

document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
( ( path ) ? ";path=" + path : "" ) +
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );
}

Recursion in sql stored procedure

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[uspGetCardsByCatID] (@catId int)
as
BEGIN
/*Recursion*/
with RecursionCTE (iCategoryId_PK,iParentCategoryId_FK,sTitle, bIsActive)
as
(
select *
from vwCategory
where iParentCategoryId_FK = @catId and bIsActive = 1
union all
select R1.*
from vwCategory as R1
join RecursionCTE as R2 on R1.iParentCategoryId_FK = R2.iCategoryId_PK
)
/*End Recusion*/
Select * from dbo.vwCard where iCategoryId_FK = @catId or iCategoryId_FK in (select iCategoryId_PK from RecursionCTE) order by (iTotalCustomizeOrders + iTotalBlankOrders) DESC
END

javascript to change group name

change group name :
<script language="javascript" type="text/javascript">
function changeValidationGrop(){
var btn = document.getElementById("<%=Button1.ClientID %>");
//rfvUsername = document.getElementById("<% = rfvUsername.ClientID %>");
//rfvUsername.ValidationGroup = "Demo";
//alert(rfvUsername.ValidationGroup);
btn.onclick = function(){
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("Button1", "", true, "Customer", "", false, false));
}
}
<script>

Tuesday, January 12, 2010

get youtube video's publish date, view count, title and other data


    private void BindVideo(string videoId)
    {
        string sTitle = string.Empty;
        bool bPublished = false;
        bool bTitle = false;
        try
        {
            XmlTextReader reader = new XmlTextReader("http://gdata.youtube.com/feed/api/videos/" + videoId);
            while (reader.Read())
            {
                switch (reader.NodeType)
                {
                    case XmlNodeType.Element:
                        {
                            switch (reader.Name)
                            {
                                case "published":
                                    bPublished = true;
                                    break;
                                case "yt:statistics":
                                    {
                                        while (reader.MoveToNextAttribute())
                                        {
                                            if (reader.Name.ToLower().Equals("viewcount"))
                                                sViewCount = reader.Value;
                                        }
                                    }
                                    break;
                                case "media:title":
                                    bTitle = true;
                                    break;
                            }
                            break;
                        }
                    case XmlNodeType.Text:
                        if (bPublished)
                        {
                            dtPublishDate = Convert.ToDateTime(reader.Value);
                        }
                        else if (bTitle)
                        {
                            sTitle = reader.Value;
                        }
                        break;
                    case XmlNodeType.EndElement:
                        {
                            bPublished = false;
                            bTitle = false;
                            break;
                        }
                }
            }
            reader.Close();
            Response.Write("Published on: " + dtPublishDate.ToLongDateString() + "");
            Response.Write("View Count: " + sViewCount + "");
            Response.Write("Title: " + sTitle + "");
        }
        catch { }
    }