Monday, December 21, 2009

How to Bulk Insert data into Sqlserver form a CSV file

This is very common request recently – How to import CSV file into SQL Server? How to load CSV file into SQL Server Database Table? How to load comma delimited file into SQL Server? Let us see the solution in quick steps.

CSV stands for Comma Separated Values, sometimes also called Comma Delimited Values.

Create TestTable

USE TestData
GO
CREATE TABLE CSVTest
(ID INT,
FirstName VARCHAR(40),
LastName VARCHAR(40),
BirthDate SMALLDATETIME)
GO

Create CSV file in drive C: with name csvtest.txt with following content. The location of the file is C:\csvtest.txt

1,James,Smith,19750101

2,Meggie,Smith,19790122

3,Robert,Smith,20071101

4,Alex,Smith,20040202

Now run following script to load all the data from CSV to database table. If there is any error in any row it will be not inserted but other rows will be inserted.

BULK
INSERT CSVTest
FROM 'c:\csvtest.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
--Check the content of the table.
SELECT *
FROM CSVTest
GO
--Drop the table to clean up database.
SELECT *
FROM CSVTest
GO

Tuesday, November 3, 2009

Sorting GridView Columns Manually

http://geekswithblogs.net/azamsharp/archive/2006/04/27/76612.aspx

Monday, October 12, 2009

C# Interview Questions

Interview Questions

C#


  1. What’s the implicit name of the parameter that gets passed into the class’ set method? Value, and its datatype depends on whatever variable we’re changing.

  2. How do you inherit from a class in C#? Place a colon and then the name of the base class. Notice that it’s double colon in C++.

  3. Does C# support multiple inheritance? No, use interfaces instead.

  4. When you inherit a protected class-level variable, who is it available to? Classes in the same namespace.

  5. Are private class-level variables inherited? Yes, but they are not accessible, so looking at it you can honestly say that they are not inherited. But they are.

  6. Describe the accessibility modifier protected internal. It’s available to derived classes and classes within the same Assembly (and naturally from the base class it’s declared in).

  7. C# provides a default constructor for me. I write a constructor that takes a string as a parameter, but want to keep the no parameter one. How many constructors should I write? Two. Once you write at least one constructor, C# cancels the freebie constructor, and now you have to write one yourself, even if there’s no implementation in it.

  8. What’s the top .NET class that everything is derived from? System.Object.

  9. How’s method overriding different from overloading? When overriding, you change the method behavior for a derived class. Overloading simply involves having a method with the same name within the class.

  10. What does the keyword virtual mean in the method definition? The method can be over-ridden.

  11. Can you declare the override method static while the original method is non-static? No, you can’t, the signature of the virtual method must remain the same, only the keyword virtual is changed to keyword override.

  12. Can you override private virtual methods? No, moreover, you cannot access private methods in inherited classes, have to be protected in the base class to allow any sort of access.

  13. Can you prevent your class from being inherited and becoming a base class for some other classes? Yes, that’s what keyword sealed in the class definition is for. The developer trying to derive from your class will get a message: cannot inherit from Sealed class WhateverBaseClassName. It’s the same concept as final class in Java.

  14. Can you allow class to be inherited, but prevent the method from being over-ridden? Yes, just leave the class public and make the method sealed.

  15. What’s an abstract class? A class that cannot be instantiated. A concept in C++ known as pure virtual method. A class that must be inherited and have the methods over-ridden. Essentially, it’s a blueprint for a class without any implementation.

  16. When do you absolutely have to declare a class as abstract (as opposed to free-willed educated choice or decision based on UML diagram)? When at least one of the methods in the class is abstract. When the class itself is inherited from an abstract class, but not all base abstract methods have been over-ridden.

  17. What’s an interface class? It’s an abstract class with public abstract methods all of which must be implemented in the inherited classes.

  18. Why can’t you specify the accessibility modifier for methods inside the interface? They all must be public. Therefore, to prevent you from getting the false impression that you have any freedom of choice, you are not allowed to specify any accessibility, it’s public by default.

  19. Can you inherit multiple interfaces? Yes, why not.

  20. And if they have conflicting method names? It’s up to you to implement the method inside your own class, so implementation is left entirely up to you. This might cause a problem on a higher-level scale if similarly named methods from different interfaces expect different data, but as far as compiler cares you’re okay.

  21. What’s the difference between an interface and abstract class? In the interface all methods must be abstract; in the abstract class some methods can be concrete. In the interface no accessibility modifiers are allowed, which is ok in abstract classes.

  22. How can you overload a method? Different parameter data types, different number of parameters, different order of parameters.

  23. If a base class has a bunch of overloaded constructors, and an inherited class has another bunch of overloaded constructors, can you enforce a call from an inherited constructor to an arbitrary base constructor? Yes, just place a colon, and then keyword base (parameter list to invoke the appropriate constructor) in the overloaded constructor definition inside the inherited class.

  24. What’s the difference between System.String and System.StringBuilder classes? System.String is immutable; System.StringBuilder was designed with the purpose of having a mutable string where a variety of operations can be performed.

  25. What’s the advantage of using System.Text.StringBuilder over System.String? StringBuilder is more efficient in the cases, where a lot of manipulation is done to the text. Strings are immutable, so each time it’s being operated on, a new instance is created.

  26. Can you store multiple data types in System.Array? No.

  27. What’s the difference between the System.Array.CopyTo() and System.Array.Clone()? The first one performs a deep copy of the array, the second one is shallow.

  28. How can you sort the elements of the array in descending order? By calling Sort() and then Reverse() methods.

  29. What’s the .NET datatype that allows the retrieval of data by a unique key? HashTable.

  30. What’s class SortedList underneath? A sorted HashTable.

  31. Will finally block get executed if the exception had not occurred? Yes.

  32. What’s the C# equivalent of C++ catch (…), which was a catch-all statement for any possible exception? A catch block that catches the exception of type System.Exception. You can also omit the parameter data type in this case and just write catch {}.

  33. Can multiple catch blocks be executed? No, once the proper catch code fires off, the control is transferred to the finally block (if there are any), and then whatever follows the finally block.

  34. Why is it a bad idea to throw your own exceptions? Well, if at that point you know that an error has occurred, then why not write the proper code to handle that error instead of passing a new Exception object to the catch block? Throwing your own exceptions signifies some design flaws in the project.

  35. What’s a delegate? A delegate object encapsulates a reference to a method. In C++ they were referred to as function pointers.

  36. What’s a multicast delegate? It’s a delegate that points to and eventually fires off several methods.

  37. How’s the DLL Hell problem solved in .NET? Assembly versioning allows the application to specify not only the library it needs to run (which was available under Win32), but also the version of the assembly.

  38. What are the ways to deploy an assembly? An MSI installer, a CAB archive, and XCOPY command.

  39. What’s a satellite assembly? When you write a multilingual or multi-cultural application in .NET, and want to distribute the core application separately from the localized modules, the localized assemblies that modify the core application are called satellite assemblies.

  40. What namespaces are necessary to create a localized application? System.Globalization, System.Resources.

  41. What’s the difference between // comments, /* */ comments and /// comments? Single-line, multi-line and XML documentation comments.

  42. How do you generate documentation from the C# file commented properly with a command-line compiler? Compile it with a /doc switch.

  43. What’s the difference between and XML documentation tag? Single line code example and multiple-line code example.

  44. Is XML case-sensitive? Yes, so and are different elements.

  45. What debugging tools come with the .NET SDK? CorDBG – command-line debugger, and DbgCLR – graphic debugger. Visual Studio .NET uses the DbgCLR. To use CorDbg, you must compile the original C# file using the /debug switch.

  46. What does the This window show in the debugger? It points to the object that’s pointed to by this reference. Object’s instance data is shown.

  47. What does assert() do? In debug compilation, assert takes in a Boolean condition as a parameter, and shows the error dialog if the condition is false. The program proceeds without any interruption if the condition is true.

  48. What’s the difference between the Debug class and Trace class? Documentation looks the same. Use Debug class for debug builds, use Trace class for both debug and release builds.

  49. Why are there five tracing levels in System.Diagnostics.TraceSwitcher? The tracing dumps can be quite verbose and for some applications that are constantly running you run the risk of overloading the machine and the hard drive there. Five levels range from None to Verbose, allowing to fine-tune the tracing activities.

  50. Where is the output of TextWriterTraceListener redirected? To the Console or a text file depending on the parameter passed to the constructor.

  51. How do you debug an ASP.NET Web application? Attach the aspnet_wp.exe process to the DbgClr debugger.

  52. What are three test cases you should go through in unit testing? Positive test cases (correct data, correct output), negative test cases (broken or missing data, proper handling), exception test cases (exceptions are thrown and caught properly).

  53. Can you change the value of a variable while debugging a C# application? Yes, if you are debugging via Visual Studio.NET, just go to Immediate window.

  54. Explain the three services model (three-tier application). Presentation (UI), business (logic and underlying code) and data (from storage or other sources).

  55. What are advantages and disadvantages of Microsoft-provided data provider classes in ADO.NET? SQLServer.NET data provider is high-speed and robust, but requires SQL Server license purchased from Microsoft. OLE-DB.NET is universal for accessing other sources, like Oracle, DB2, Microsoft Access and Informix, but it’s a .NET layer on top of OLE layer, so not the fastest thing in the world. ODBC.NET is a deprecated layer provided for backward compatibility to ODBC engines.

  56. What’s the role of the DataReader class in ADO.NET connections? It returns a read-only dataset from the data source when the command is executed.

  57. What is the wildcard character in SQL? Let’s say you want to query database with LIKE for all employees whose name starts with La. The wildcard character is %, the proper query with LIKE would involve ‘La%’.

  58. Explain ACID rule of thumb for transactions. Transaction must be Atomic (it is one unit of work and does not dependent on previous and following transactions), Consistent (data is either committed or roll back, no “in-between” case where something has been updated and something hasn’t), Isolated (no transaction sees the intermediate results of the current transaction), Durable (the values persist if the data had been committed even if the system crashes right after).

  59. What connections does Microsoft SQL Server support? Windows Authentication (via Active Directory) and SQL Server authentication (via Microsoft SQL Server username and passwords).

  60. Which one is trusted and which one is untrusted? Windows Authentication is trusted because the username and password are checked with the Active Directory, the SQL Server authentication is untrusted, since SQL Server is the only verifier participating in the transaction.

  61. Why would you use untrusted verificaion? Web Services might use it, as well as non-Windows applications.

  62. What does the parameter Initial Catalog define inside Connection String? The database name to connect to.

  63. What’s the data provider name to connect to Access database? Microsoft.Access.

  64. What does Dispose method do with the connection object? Deletes it from the memory.

  65. What is a pre-requisite for connection pooling? Multiple processes must agree that they will share the same connection, where every parameter is the same, including the security settings.



Export To PDF using itextsharp.dll

//Download the itextsharp.dll from site. (Its free) and use this dll on your project using AddReferenace

1)Put a Gird view control and Button control on your aspx page like this

2) Import these name spaces on your code behind

using System;
using System.Data;
using System.Configuration;
using System.Collections;
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.IO;
using System.Data.SqlClient;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html;
using iTextSharp.text.html.simpleparser;

3)Final stap for export to pdf


using System;
using System.Data;
using System.Configuration;
using System.Collections;
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.IO;
using System.Data.SqlClient;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html;
using iTextSharp.text.html.simpleparser;
public partial class ExportToPDF : System.Web.UI.Page
{
SqlConnection cn=new SqlConnection(ConfigurationManager.ConnectionStrings["connStr"].ConnectionString);
SqlCommand cmd;
SqlDataAdapter adp;
DataSet ds;
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{

BindGrid();
}
}
//function to Bind the Grid
protected void BindGrid()
{
ds=new DataSet();
cmd=new SqlCommand("Select * from UserRegistration",cn);
adp=new SqlDataAdapter(cmd);
adp.Fill(ds);
grdExportToPDF.DataSource=ds;
grdExportToPDF.DataBind();




}

//Function for export to pdf
protected void btnExport_Click(object sender, EventArgs e)
{
Random rnd=new Random();
string FileName=DateTime.Now.ToShortDateString()+"_"+rnd.Next().ToString()+".pdf";
Response.ContentType="application/pdf";
Response.AddHeader("content-disposition","attechment,FileName="+FileName+"");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw=new StringWriter();
HtmlTextWriter hw=new HtmlTextWriter(sw);
grdExportToPDF.RenderControl(hw);
StringReader sr=new StringReader(sw.ToString()) ;
Document pdfDoc=new Document(PageSize.A4,10f,10f,10f,0f);
HTMLWorker htmlparser=new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc,Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
}
//This function is use to override your control
public override void VerifyRenderingInServerForm(Control control)

{

}
}

Tuesday, October 6, 2009

JavaScript for closing the pop up window on both firefox ane iexplore

function closewindow()
{
window.open('','_self','');window.close();
return true;
}
=====================================================================
/*How to Call A JavaScript function through code behind */

ClientScript.RegisterStartupScript(GetType(), "", "");

//Like this
ClientScript.RegisterStartupScript(GetType(), "", "")

/*How to call a JavaScript function through code behind when page have update panel */

ScriptManager.RegisterStartupScript(Page, Page.GetType(), Guid.NewGuid().ToString(), "ShowSucessmsg();", true);

Thursday, October 1, 2009

How to Get the Version on IIS on your PC

A) First type to know the version of IIS


1. Open IIS

2. Click on "Internet Information Services" on left pane

3. On the right pane you can see four columns ( Computer, Local, Version, Status ). The third column gives you version information about IIS

(I have seen this in IIS 6.0)

see this link for additional methods http://classicasp.aspfaq.com/general/how-do-i-determine-which-version-of-iis/asp-i-m-running.html


2)Second type to know the version of IIS

Response.Write(Request.ServerVariables["SERVER_SOFTWARE"]);


Tuesday, September 29, 2009

Query Second Largest Salary in SqlServer2005

1)First Query for getting the N largest salary (where N=2)

SELECT max(CURRENT_NEWS_ID)
FROM (SELECT TOP N CURRENT_NEWS_ID FROM CURRENT_NEWS order by CURRENT_NEWS_ID ASC)a
//WHERE N=3

2)Second query for second largest salary

SELECT TOP 1 CURRENT_NEWS_ID FROM
(

SELECT TOP 2 CURRENT_NEWS_ID FROM (SELECT CURRENT_NEWS_ID FROM CURRENT_NEWS )A ORDER BY CURRENT_NEWS_ID DESC
)T ORDER BY CURRENT_NEWS_ID ASC

Wednesday, September 23, 2009

How to Create dyanic button and TextBox

Hello friends,
today we will learn here how to create the dynamic Button as well as Textbox ,how to handle the event of dynamic Button and how to retrieve the values of Textboxs

//Put a Place Holder or panel control on your aspx page like this




//2) go to the code behind and done the following operaions

using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using Administrator.DataAccess;
using Administrator.BussinessObject;

public partial class UserControl_Navigration : System.Web.UI.UserControl
{

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CreateButton();//Function to create the dynamic button
CreatedTextBox(); //Function to Create the Dyanmic Textbox
}
else
{
CreateButton();
CreatedTextBox();
}
}
//function to Create the dynamic button
public void CreateButton()
{


for (int i = 0; i <= 10; i++)
{
Button btn = new Button();
btn.ID = "btn" + i.ToString();
btn.Text = "Button"+i.ToString();
btn.CssClass = "current";
btn.ForeColor = System.Drawing.Color.White;
btn.BackColor = System.Drawing.Color.Gray;
btn.Attributes.Add("style", "cursor:pointer;");
btn.Command +=new CommandEventHandler(Redirect);//Handling the Event of button
place.Controls.Add(btn);//Adding the button to Place holder control here

}

}
//this function Redirect will be fire when any user will click on button
protected void Redirect(object sender, CommandEventArgs e)
{
Button btn=(Button)sender;
Response.Write("My Name is:" + btn.ID.ToString());
btn.Text = "My name is praveen";
//using for loop we are geting the text of dynamic text box
for (int i = 0; i <= 5; i++)
{
TextBox txt =(TextBox) this.form1.FindControl("txt" + i);
Response.Write(txt.Text);
txt.Text = "Jai Shree Ram";
}
}
//Here We are creating the dynamic textboxs
public void CreatedTextBox()
{
for(int i=0; i<=5; i++)
{
TextBox txt = new TextBox();
txt.ID = "txt" + i;
this.form1.Controls.Add(txt);
}
}
}
}

}

Createing the Dyanmic Button and TextBox

Hello Friends we will

Thursday, September 17, 2009

Code for Sending Mail In asp.net

//This code is use to send mail on Godday Hosting server

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.Web.Mail;

public class EmailManager
{
public void mailfrom(string FAddress, string TOAddress, string MailSubject, string MailMessageBody)
{
try
{


const string SERVER = "relay-hosting.secureserver.net";
MailMessage oMail = new System.Web.Mail.MailMessage();
oMail.From = FAddress;
oMail.To = TOAddress;
oMail.Subject = MailSubject;
oMail.BodyFormat = MailFormat.Html; // enumeration
oMail.Priority = MailPriority.High; // enumeration
oMail.Body = MailMessageBody;
SmtpMail.SmtpServer = SERVER;
SmtpMail.Send(oMail);


}
catch (Exception ex)
{
//HttpContext.Current.Response.Write("Can not send the mail sorry");
}


}

}

Wednesday, September 16, 2009

Use of Generic in C#

Steps of using the Generics Instead of Dataset

1)Create a property class have all the property what ever fields you want to add the generic class
suppose we have Created a class Name userInfo
2)Create a another class for Generic list suppose we are creating a class GenricList

3)Import the above two Name space in your class

using System.Collections.Generic;
using System.Data.SqlClient;

4)Create the object of IList Generic class in class GenericList
Like this:

IList UserInfos = new List();

5)Create a function in class GenericList for Add the value in Generic have IList Return type
Like:
public System.Collections.Generic.IList FillList()
{
//SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["connStr"].ConnectionString);
// = new IList();
string Qstring = "select * from UserRegistration";
using( SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["connStr"].ConnectionString))
{
SqlCommand cmd = cn.CreateCommand();
cmd.CommandText = Qstring;

cn.Open();
SqlDataReader red = cmd.ExecuteReader();
while (red.Read())
{
UserInfo ObjUserInfo = new UserInfo(red[4].ToString(),red[5].ToString());
UserInfos.Add(ObjUserInfo);
}
red.Close();
return UserInfos;
}

}
//Explanation of function FillList() setp by step
A)Declare a string and Assign SQL statement or procedure name to it
B)Declare and Create the Connection string using SqlConnection
C)Fetch the Data from database using SqlDataReader
D)If you reader gets any row from database than apply for reading the values form SqlDataReader
D)Crate the object of property class like our property class name is userInfo
E)Assign the value of dataReader to the corresponding property define in userInfo class
F)Add this Created Object into Generic List class object
G) And At last return this Generic list class object

//Operation for aspx page

6)Add the GridView on your aspx page
7)Create a function of GenricList Class
8)Create a object of Generic IList
9)Call the FillList() Function and assign the its return value to Generic IList Object
10)Assign the Generic Ilist Object to GridView as DataSource and Bind The Grid
//How to fech the Value form Ilist

for (int i = 0; i<=User.Count - 1; i++)
{
Response.Write("UserName: "+Convert.ToString(User[i].UserName) + " ," +"Password:"+ Convert.ToString(User[i].Password)+"
");

}

Note:- We cannot convert the Genrice List object to Dataset or DataTable its better alternet of DataSet or DataTable Its Incress the performance of System

//All code of Generic List

//.cs class file code
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.Collections.Generic;
using System.Data.SqlClient;



///
/// Summary description for Col
///

public class UserInfo
{
private string _UserName = string.Empty;
private string _Password = string.Empty;
public UserInfo(string UserName,string Password)
{
this._UserName = UserName;
this._Password = Password;
//
// TODO: Add constructor logic here
//
}
public string UserName
{
get { return _UserName; }
}
public string Password
{
get { return _Password; }
}
}
///
///This Class is for Genric
///

///
public class GenricList
{
IList UserInfos = new List();
public GenricList()
{

}
public System.Collections.Generic.IList FillList()
{
//SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["connStr"].ConnectionString);
// = new IList();
string Qstring = "select * from UserRegistration";
using( SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["connStr"].ConnectionString))
{
SqlCommand cmd = cn.CreateCommand();
cmd.CommandText = Qstring;

cn.Open();
SqlDataReader red = cmd.ExecuteReader();
while (red.Read())
{
UserInfo ObjUserInfo = new UserInfo(red[4].ToString(),red[5].ToString());
UserInfos.Add(ObjUserInfo);
}
red.Close();
return UserInfos;
}

}



}
//put above code on your aspx.cs page

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
GenricList ObjGenricList = new GenricList();

protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{
BindGrid();
}
}
public void BindGrid()
{
System.Collections.Generic.IList User = new System.Collections.Generic.List();
User = ObjGenricList.FillList();
grd.DataSource = User;//Assign the DataSource to GridView
grd.DataBind();
for (int i = 0; i<=User.Count - 1; i++)
{
//Reading the Row by row Data For List
Response.Write("UserName: "+Convert.ToString(User[i].UserName) + " ," +"Password:"+ Convert.ToString(User[i].Password)+"
");

}


}
}

Code for Drawing the PIe char in C#

using System;
using System.Data;
using System.Configuration;
using System.Collections;
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.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;

public partial class MyOptimizePieChartForPorject : System.Web.UI.Page
{
//This programe is use to Create a pie chart and Dispaly the completed process in the ratio of //20%,30% and 50% completed in diffreent colore

protected void Page_Load(object sender, EventArgs e)
{
Response.ContentType = "image/jpeg";
Graphics Instatnce;
const int width = 450, height = 400;//Height and widht of rectangel Image in which we //draw the pie chart
Bitmap ObjBitmap = new Bitmap(width, height, PixelFormat.Format32bppRgb);
Graphics ObjGraphics = Graphics.FromImage(ObjBitmap);
ObjGraphics.FillRectangle(new SolidBrush(Color.Violet), 0, 0, width, height);
Draw3DPieChart(ref ObjGraphics);
ObjBitmap.Save(Response.OutputStream, ImageFormat.Jpeg);
ObjGraphics.Dispose();
ObjBitmap.Dispose();
}
protected void Draw3DPieChart(ref Graphics objGraphics)
{
int iLoop, iLoop2;

// Create location and size of ellipse.

// int x = 50;
//int y = 20;
int x = 10;//X-axis
int y = 10;//y axis
int width = 250;//Width of Pie chart
int height = 250;//height of pie chart

// Create start and sweep angles.

int startAngle = 0;//starting point to filling the chart
int sweepAngle = 60;//defining how much we draw the angle to fill the pie chart
SolidBrush objBrush = new SolidBrush(Color.Aqua);

Random rand = new Random();
objGraphics.SmoothingMode = SmoothingMode.AntiAlias;


objBrush.Color = Color.Red;
DrowPie(objGraphics,objBrush, 10, 10, 250, 250, 0, 20);//this fuction is user to draw and //fill the pic chart
DrowIndecatedRectangle(objGraphics,objBrush, 0);//drawing the rectangle to Indicateing wich color is showing which section
//DrawString is use to wirite any incation or words
objGraphics.DrawString("Completed 20%", new Font("Verdana", 8, FontStyle.Bold), Brushes.Red, 330, 25 + (0 * 50) + 10);
objBrush.Color = Color.Gray;
DrowPie(objGraphics,objBrush, 10, 10, 250, 250, 20, 30);
DrowIndecatedRectangle(objGraphics, objBrush, 1);
objGraphics.DrawString(" Completed 30%", new Font("Verdana", 8, FontStyle.Bold), Brushes.Gray, 330, 25 + (1 * 50) + 10);
objBrush.Color = Color.Yellow;
DrowPie(objGraphics, objBrush, 10, 10, 250, 250, 50, 50);
DrowIndecatedRectangle(objGraphics, objBrush, 2);
objGraphics.DrawString(" Completed 50%", new Font("Verdana", 8, FontStyle.Bold), Brushes.Yellow, 330, 25 + (2 * 50) + 10);
}

//This function is user to drow the pie chart
protected void DrowPie(Graphics objGraphics, SolidBrush objBrush, int x, int y, int width, int height, int startAngle, int sweepAngle)
{
//meaning of paramenters variable
//int x-- is use to declare the x-axis of pie chart
//int y -- is use to declare the y-axis
//int width use to declare the width of pie chart
//int heigh use to declare the height of pie chart

startAngle = PercentageAngle(startAngle);
sweepAngle = PercentageAngle(sweepAngle);
objGraphics.FillPie(objBrush, x, y, width, height, startAngle, sweepAngle);

}

//This function is use the Draw the rectangle to indicate the color and its use
protected void DrowIndecatedRectangle(Graphics ObjGraphics,SolidBrush objBrush,int i)
{
//int i --is use to maintain thepositnion of rectangle
ObjGraphics.FillRectangle(objBrush, 290, 25 + (i * 50), 25, 25);

}

//This function is use to change the completed percent in degree of circle like //360 degrdd==100%
protected int PercentageAngle(int input)
{
int totalAngle = (360* input / 100) ;
return totalAngle;




}

}

Thursday, September 10, 2009

Paypal Integration

/*Paypal Integration Using Code behind HTML(Redirect on Paypal((DoDirectPayment))) */

string amount = Convert.ToString(Session["TotalPayment"]);
string redirect = "https://www.paypal.com/xclick/business=julie@reframecollective.com";
redirect += "&item_name=videos_Payment";
// redirect += "&item_number=1";
redirect += "&amount=" + String.Format("{0:0.00}", amount);
redirect += "&currency_code=USD";
//redirect += "&no_shipping=1";
// redirect += "&no_note=1";
redirect += "&return=http://reframeawards.com/SuccessPaypalPayment.aspx";//?status=success&orderid=" + orderId;
redirect += "&cancel_return=http://reframeawards.com/Categories.aspx/fail";//?status=failed&orderid=" + orderId;
Response.Redirect(redirect);

====================================================================

/*Paypal Integration using API(DoDirectPayment)*/
====================================================================

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 com.paypal.sdk.services;
using com.paypal.soap.api;
using com.paypal.sdk.profiles;
using com.paypal.sdk.exceptions;
///
/// Summary description for DoDirectPayment
///

namespace GenerateCodeSOAP
{
public class DoDirectPayment
{
public DoDirectPayment()
{
//
// TODO: Add constructor logic here
//
}

public string DoDirectPaymentCode(string paymentAmount, string buyerLastName, string buyerFirstName, string buyerAddress1, string buyerAddress2, string buyerCity, string buyerState, string buyerZipCode, string creditCardType, string creditCardNumber, string CVV2, int expMonth, int expYear, PaymentActionCodeType paymentAction)
{



CallerServices caller = new CallerServices();

IAPIProfile profile = ProfileFactory.createSignatureAPIProfile();
/*
WARNING: Do not embed plaintext credentials in your application code.
Doing so is insecure and against best practices.
Your API credentials must be handled securely. Please consider
encrypting them for use in any production environment, and ensure
that only authorized individuals may view or modify them.
*/

// Set up your API credentials, PayPal end point, and API version.
profile.APIUsername = "julie_api1.reframecollective.com";//"julie@reframecollective.com";//
profile.APIPassword = "V3GB2HR76FEU92XB";//"togglereframe";//
profile.APISignature = "ADlg1IZhxkPA1k9zzvwCX-FsoRV9AfW9ubc4HF7B.C1.Dl5PkYq1FIvg";
profile.Environment = "Live";
caller.APIProfile = profile;


// Create the request object.
DoDirectPaymentRequestType pp_Request = new DoDirectPaymentRequestType();
pp_Request.Version = "51.0";

// Add request-specific fields to the request.
// Create the request details object.
pp_Request.DoDirectPaymentRequestDetails = new DoDirectPaymentRequestDetailsType();

pp_Request.DoDirectPaymentRequestDetails.IPAddress = "10.244.43.106";
pp_Request.DoDirectPaymentRequestDetails.MerchantSessionId = "1X911810264059026";
pp_Request.DoDirectPaymentRequestDetails.PaymentAction = paymentAction;

pp_Request.DoDirectPaymentRequestDetails.CreditCard = new CreditCardDetailsType();

pp_Request.DoDirectPaymentRequestDetails.CreditCard.CreditCardNumber = creditCardNumber;
switch (creditCardType)
{
case "Visa":
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CreditCardType = CreditCardTypeType.Visa;
break;
case "MasterCard":
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CreditCardType = CreditCardTypeType.MasterCard;
break;
case "Discover":
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CreditCardType = CreditCardTypeType.Discover;
break;
case "Amex":
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CreditCardType = CreditCardTypeType.Amex;
break;
}
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CVV2 = CVV2;
pp_Request.DoDirectPaymentRequestDetails.CreditCard.ExpMonth = expMonth;
pp_Request.DoDirectPaymentRequestDetails.CreditCard.ExpYear = expYear;

pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner = new PayerInfoType();
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Payer = "";
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.PayerID = "";
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.PayerStatus = PayPalUserStatusCodeType.unverified;
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.PayerCountry = CountryCodeType.US;

pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address = new AddressType();
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.Street1 = buyerAddress1;
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.Street2 = buyerAddress2;
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.CityName = buyerCity;
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.StateOrProvince = buyerState;
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.PostalCode = buyerZipCode;
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.CountryName = "USA";
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.Country = CountryCodeType.US;
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.CountrySpecified = true;

pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.PayerName = new PersonNameType();
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.PayerName.FirstName = buyerFirstName;
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.PayerName.LastName = buyerLastName;
pp_Request.DoDirectPaymentRequestDetails.PaymentDetails = new PaymentDetailsType();
pp_Request.DoDirectPaymentRequestDetails.PaymentDetails.OrderTotal = new BasicAmountType();
// NOTE: The only currency supported by the Direct Payment API at this time is US dollars (USD).

pp_Request.DoDirectPaymentRequestDetails.PaymentDetails.OrderTotal.currencyID = CurrencyCodeType.USD;
pp_Request.DoDirectPaymentRequestDetails.PaymentDetails.OrderTotal.Value = paymentAmount;

// Execute the API operation and obtain the response.
DoDirectPaymentResponseType pp_response = new DoDirectPaymentResponseType();
pp_response = (DoDirectPaymentResponseType)caller.Call("DoDirectPayment", pp_Request);
if (pp_response.Ack.ToString().Equals("Success"))
{
HttpContext.Current.Session["STransactionID"] = pp_response.TransactionID.ToString();
}
return pp_response.Ack.ToString();


}

}
}

How to Call This Function on page
1)Create a object of this class file like
DoDirectPayment objMakePay = new DoDirectPayment();

2)And Finally call this method like this
string msg = objMakePay.DoDirectPaymentCode(paymentAmount, buyerLastName, buyerFirstName, buyerAddress1, buyerAddress2, buyerCity, buyerState, buyerZipCode, creditCardType, creditCardNumber, CVV2, expMonth, expYear, PaymentActionCodeType.Sale);

Monday, September 7, 2009

Download any file from server

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.IO;

public class Utility:System.Web.UI.Page
{
string filepath = string.Empty;
public Utility()
{
//
// TODO: Add constructor logic here
//
}

public void DownloadFile(string FileName)
{
///get the file
///
try
{
if (HttpContext.Current.Request.RawUrl.Contains("Admin"))
{
filepath = Server.MapPath("~/UploadFiles/" + FileName);
}
else
{
filepath = Server.MapPath("UploadFiles/" + FileName);
}

string[] extension = FileName.Split('.');
///get the file stream to get the file length
System.IO.FileStream fs = new System.IO.FileStream(filepath, System.IO.FileMode.Open);
///set the content type
HttpContext.Current.Response.ContentType = "application/" + extension[1];
///set Content-Disposition
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment; filename=" + FileName);
///get the file size
long filesize = fs.Length;
fs.Close();
///set the content length to the size of the file
///this will chop off the extra junk that may be sent by the ASP.NET runtime along with your file
HttpContext.Current.Response.AddHeader("Content-Length", filesize.ToString());
///write the file to the browser
HttpContext.Current.Response.WriteFile(filepath);
///flush it
HttpContext.Current.Response.Flush();
}
catch (Exception ex)
{

}
}
}

JavaScript function to Reload Parent when child pop up closed

function ReloadParent()
{
window.opener.document.location.reload();
window.open('','_self','');window.close();
return true;
}

Friday, September 4, 2009

Genrating an ExcelSheet using Dataset

protected void Button3_Click(object sender, EventArgs e)

{

DataTable dt = GetData();

string attachment = "attachment; filename=Employee.xls";

Response.ClearContent();

Response.AddHeader("content-disposition", attachment);

Response.ContentType = "application/vnd.ms-excel";

string tab = "";

foreach (DataColumn dc in dt.Columns)

{

Response.Write(tab + dc.ColumnName);

tab = "\t";

}

Response.Write("\n");



int i;

foreach (DataRow dr in dt.Rows)

{

tab = "";

for (i = 0; i < dt.Columns.Count; i++)

{

Response.Write(tab + dr[i].ToString());

tab = "\t";

}

Response.Write("\n");

}

Response.End();

}

ExportToExcel

private void ExportGridView()

{

string attachment = "attachment; filename=Contacts.xls";

Response.ClearContent();

Response.AddHeader("content-disposition", attachment);

Response.ContentType = "application/ms-excel";

StringWriter sw = new StringWriter();

HtmlTextWriter htw = new HtmlTextWriter(sw);

GridView1.RenderControl(htw);

Response.Write(sw.ToString());

Response.End();

}



public override void VerifyRenderingInServerForm(Control control)

{

}