Wednesday, February 4, 2009

Image Uploading

if (fluAddImage.FileName != "")
{
FileInfo Finfo = new FileInfo(fluAddImage.FileName);
string Ext = Finfo.Extension.ToLower();
if (Ext == ".jpg" || Ext == ".jpeg" || Ext == ".gif" || Ext == ".bmp" || Ext == ".png")
{

string rootfolder = GetPhysicalPath(Application["HomePath"] + Global.MemberPhotoPath);//path e.g http://localhost:4578/project/Imagesg

if (!Directory.Exists(rootfolder))
{
Directory.CreateDirectory(rootfolder);
}
DirectoryInfo dirInfo = new DirectoryInfo(rootfolder);
string PhotoName ="xyz" + Ext;
string Filename = rootfolder + PhotoName;
fluAddImage.SaveAs(Filename);
}
}


public static string GetPhysicalPath(string virtualPath)
{
string pageUrl = HttpContext.Current.Request.Url.PathAndQuery.ToString();
string filename = "";
filename = System.IO.Path.GetFileName(virtualPath);
string filepath = "";
if (virtualPath.IndexOf("localhost:") >= 0)
{
string path = virtualPath.Replace(HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Host, "");
if (path.IndexOf(":") >= 0)
{
int lenindex = path.IndexOf('/');
path = path.Remove(0, lenindex);
}
filepath = HttpContext.Current.Server.MapPath(path.Replace(HttpContext.Current.Request.Url.Scheme + "://www." + HttpContext.Current.Request.Url.Host, ""));
}
else
{
string path = "";
path = virtualPath.Replace(HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Host, "");
filepath = HttpContext.Current.Server.MapPath(path.Replace(HttpContext.Current.Request.Url.Scheme + "://www." + HttpContext.Current.Request.Url.Host, ""));
}
return filepath;
}

Wednesday, January 7, 2009

Calculate file size of Uploading file

HttpPostedFile MyFile;
int FileLen;
System.IO.Stream MyStream;
System.Web.HttpFileCollection MyFileCollection = Request.Files;
MyFile = MyFileCollection[0];
FileLen = MyFile.ContentLength;

Wednesday, October 29, 2008

Export CSV to Database

public DataTable ParseCSV(string inputString)
{

DataTable dt = new DataTable();

// declare the Regular Expression that will match versus the input string
Regex re = new Regex("((?[^\",\\r\\n]+)|\"(?([^\"]|\"\")+)\")(,|(?\\r\\n|\\n|$))");

ArrayList colArray = new ArrayList();
ArrayList rowArray = new ArrayList();

int colCount = 0;
int maxColCount = 0;
string rowbreak = "";
string field = "";

MatchCollection mc = re.Matches(inputString);

foreach (Match m in mc)
{

// retrieve the field and replace two double-quotes with a single double-quote
field = m.Result("${field}").Replace("\"\"", "\"");

rowbreak = m.Result("${rowbreak}");

if (field.Length > 0)
{
colArray.Add(field);
colCount++;
}

if (rowbreak.Length > 0)
{

// add the column array to the row Array List
rowArray.Add(colArray.ToArray());

// create a new Array List to hold the field values
colArray = new ArrayList();

if (colCount > maxColCount)
maxColCount = colCount;

colCount = 0;
}
}

if (rowbreak.Length == 0)
{
// this is executed when the last line doesn't
// end with a line break
rowArray.Add(colArray.ToArray());
if (colCount > maxColCount)
maxColCount = colCount;
}

// create the columns for the table
for (int i = 0; i < maxColCount; i++)
dt.Columns.Add(String.Format("col{0:000}", i));

// convert the row Array List into an Array object for easier access
Array ra = rowArray.ToArray();
for (int i = 0; i < ra.Length; i++)
{

// create a new DataRow
DataRow dr = dt.NewRow();

// convert the column Array List into an Array object for easier access
Array ca = (Array)(ra.GetValue(i));

// add each field into the new DataRow
for (int j = 0; j < ca.Length; j++)
dr[j] = ca.GetValue(j);

// add the new DataRow to the DataTable
dt.Rows.Add(dr);
}

// in case no data was parsed, create a single column
if (dt.Columns.Count == 0)
dt.Columns.Add("NoData");




return dt;
}


public DataTable ParseCSVFile(string path)
{

string inputString = "";

// check that the file exists before opening it
if (File.Exists(path))
{

StreamReader sr = new StreamReader(path);
inputString = sr.ReadToEnd();
sr.Close();

}

return ParseCSV(inputString);
}

Thursday, October 16, 2008

Friday, August 22, 2008

get all sub directories and files from those directories

private void getFilesInSubs()
{
MyOrionDS.FileInfo.Clear()
;
string path = textBox1.Text;

DirectoryInfo subdirs = new DirectoryInfo(path);
DirectoryInfo[] dirs = subdirs.GetDirectories("*");
foreach (DirectoryInfo directory in dirs)
{
System.IO.DirectoryInfo dInfo = new System.IO.DirectoryInfo(directory.FullName);
if (tbxFileType.Text.Length == 0)
{
pattern = "*.*";
}
else
{
pattern = "*." + tbxFileType.Text;
}
System.IO.FileInfo[] fInfo = dInfo.GetFiles(pattern);
foreach (System.IO.FileInfo fi in fInfo)
{
//string fileInfoStuff = "";
string fileName = fi.FullName;
//string fileversion = "";
DateTime creationTime = fi.CreationTime;
DateTime LastModifyDate = fi.LastWriteTime;
System.Diagnostics.FileVersionInfo myFileVersionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo(fileName);
//MessageBox.Show(myFileVersionInfo.ToString());
//fileInfoStuff = fi.Name + " | " + creationTime + " | " + myFileVersionInfo.FileVersion;

OrionDataSet.FileInfoRow newFileInfoRow = (OrionDataSet.FileInfoRow)MyOrionDS.FileInfo.NewFileInfoRow();

newFileInfoRow.FileName = fi.FullName;
newFileInfoRow.LastModifyDate = LastModifyDate;
newFileInfoRow.CreateDate = creationTime;
newFileInfoRow.VersionNumber = myFileVersionInfo.FileVersion;

MyOrionDS.FileInfo.Rows.Add(newFileInfoRow);
MyOrionDS.FileInfo.AcceptChanges();



//lbxPreview.Items.Add(fileInfoStuff);
}
}

dataGridView1.DataSource = MyOrionDS.FileInfo;
}

Monday, August 18, 2008

To retrieve the query execution time

declare @qry varchar(100), @StartLoc int
DECLARE @StartTime datetime,
@EndTime datetime
SET @StartTime = CURRENT_TIMESTAMP;
-- **********QUERY TO BE CHECKED *************
SELECT *
FROM [Table1]
-- *****************************************
SET @EndTime = CURRENT_TIMESTAMP
SELECT DATEDIFF(ms, @StartTime, @EndTime)
GO

Wednesday, July 9, 2008

Dynamic Stylesheet Assignment Dependent on Browser

I've two stylesheets. One for Internet Explorer & other for other browsers. When the client is IE, the web page should have IE-specific stylesheet attached. For rest of the browsers, the web page must use the other stylesheet.

body
{
background-color:blue;
}
body
{
background-color:black;
}

Add the following code to Page_Load event handler:
protected void Page_Load(object sender, EventArgs e)
{
HtmlLink lnk = new HtmlLink();
if (Request.Browser.Type.Contains("IE"))
{
lnk.Href = "~/StyleSheet.css";
}
else
{
lnk.Href = "~/StyleSheet2.css";
}
lnk.Attributes.Add("rel", "stylesheet");
lnk.Attributes.Add("type", "text/css");
this.Header.Controls.Add(lnk);
}
Test with Internet Explorer & some other browser like Mozilla, Opera etc.