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.Data.SqlClient;
namespace infoExpediters.Admin
{
public partial class SearchResult : System.Web.UI.Page
{
public int pagesize;
string SelectField, FromField, WhereField, SortField, SortDataType, SearchCriteria, CompareintField, ComparedateField, CompareVarcharField;
DataSet ds = new DataSet();
DataView dv = new DataView();
string strAddr = "";
string strMail = "";
string strAddress = "";
string strPhone = "";
string strkeyword = "";
string strWords = "";
protected void Page_Load(object sender, EventArgs e)
{
lblMessage.Visible=false;
try
{
if (Session["username"] == null)
{
Response.Redirect("AdminLogin.aspx");
}
else
{
if (Session["username"].ToString() != "admin")
{
Response.Redirect("AdminLogin.aspx");
}
else
{
dlSearchResult.RepeatColumns = 5;
pagesize = 25;
if (!IsPostBack)
{
ViewState["currentindex"] = 0;
ViewState["currentpage"] = 0;
BindData();
}
}
}
}
catch (Exception ex)
{
string s = ex.Message;
}
}
// Bing DataList dlSearchResult with companys list
public void BindData()
{
try
{
Search objSearch = new Search();
SecureQueryString qs = new SecureQueryString(Request["qs"]);
int code = Convert.ToInt32(qs["Codenum"]);
SearchCriteria = qs["String"].Replace("'", "''");
if (code == 1)
{
WhereField = "(CompanyName like '[" + SearchCriteria + "]%')";
}
else
{
WhereField = "(CompanyName like '%" + SearchCriteria + "%' or Keywords like '%" + SearchCriteria + "%')";
}
SortField = "CompanyName ASC";
SelectField = "CompanyId,CompanyId,CompanyName,Address1,Address2,City,StateType,Zip,LogoUrl,KeyWords,CompanyPhoneArea,CompanyPhonepre,CompanyPhoneSuffix";
FromField = "tblCompany";
SortDataType = "varchar";
CompareintField = "NULL";
ComparedateField = "NULL";
CompareVarcharField = "CompanyName";
ds = objSearch.BindSearch(Convert.ToInt32(ViewState["currentpage"]), pagesize, SelectField, FromField, WhereField, SortField, SortDataType, CompareintField, ComparedateField, CompareVarcharField);
if (ds.Tables.Count == 1)
{
Session["Result"] = "2";
Response.Redirect("AdminHome.aspx?strcontent=" + Session["Result"] + "");
}
else
{
ViewState["recordcount"] = ds.Tables[1].Rows[0][0].ToString();
dlSearchResult.DataSource = ds.Tables[0];
dlSearchResult.DataBind();
if (Convert.ToInt32(ViewState["recordcount"]) % pagesize == 0)
{
ViewState["pagecount"] = Convert.ToInt32(ViewState["recordcount"]) / pagesize;
}
else
{
ViewState["pagecount"] = (Convert.ToInt32(ViewState["recordcount"]) / pagesize) + 1;
}
if (Convert.ToInt32(ViewState["recordcount"]) == 0)
{
lblNoRecords.Visible = true;
lblNoRecords.Text = "alertnorecords";
}
displayPaging(Convert.ToInt32(ViewState["currentpage"]), Convert.ToInt32(ViewState["pagecount"]));
ds.Dispose();
}
}
catch (Exception ex)
{
throw new ArgumentException(ex.Message);
}
}
// display state,city and zip details in datalist
public string getRow(int cid)
{
strAddr = "";
dv.RowFilter = "";
dv = ds.Tables[0].Copy().DefaultView;
DataRow[] dr = dv.Table.Select("companyid =" + cid);
if (dr[0]["city"].ToString().Length > 0 && dr[0]["statetype"].ToString().Length > 0)
strAddr = dr[0]["city"].ToString() + ", " + dr[0]["statetype"].ToString();
else
strAddr = dr[0]["city"].ToString() + dr[0]["statetype"].ToString();
if (dr[0]["zip"].ToString().Length > 0)
strAddr += " " + dr[0]["zip"].ToString();
return strAddr;
}
// display adderess details in datalist
public string getRowAdd(int cid)
{
strAddress = "";
dv.RowFilter = "";
dv = ds.Tables[0].Copy().DefaultView;
DataRow[] dr = dv.Table.Select("companyid =" + cid);
if (dr[0]["Address2"].ToString().Length > 0)
strAddress = "
| " + dr[0]["Address2"].ToString() + " |
";
else
{
strAddress = "";
}
return strAddress;
}
//display phone nos in datalist
public string getRowPhone(int cid)
{
strPhone = "";
dv.RowFilter = "";
dv = ds.Tables[0].Copy().DefaultView;
DataRow[] dr = dv.Table.Select("companyid =" + cid);
if (dr[0]["CompanyPhoneArea"].ToString().Length > 0 && dr[0]["CompanyPhonepre"].ToString().Length > 0 && dr[0]["CompanyPhoneSuffix"].ToString().Length > 0)
strPhone = "Phone: " + dr[0]["CompanyPhoneArea"].ToString() + "-" + dr[0]["CompanyPhonepre"].ToString() + "-" + dr[0]["CompanyPhoneSuffix"].ToString();
else
strPhone = "";
return strPhone;
}
// display Keywords of the company if any exists
public String getrowKeyword(int cid)
{
strkeyword = "";
strWords = "";
dv.RowFilter = "";
dv = ds.Tables[0].Copy().DefaultView;
DataRow[] dr = dv.Table.Select("companyid =" + cid);
if (dr[0]["KeyWords"].ToString().Length > 0)
{
strkeyword = dr[0]["KeyWords"].ToString();
if ((strkeyword.ToLower().IndexOf(SearchCriteria.ToLower(), 0) >= 0))
{
if ((strkeyword.Trim().EndsWith(",")))
{
strWords = "Key words:
" + strkeyword.Substring(0, strkeyword.LastIndexOf(","));
}
else
{
strWords = "Key words:
" + strkeyword.ToString();
}
}
else
{
strWords = "";
}
}
else
strWords = "";
return strWords;
}
// paging for the list of the companys
public void displayPaging(int currentpage, int pagecount)
{
int i, j;
i = pagecount - (currentpage + 1);
j = currentpage + 1;
if (i > 2)
{
lblastBottom.Visible = true;
}
if (i >= 1)
{
lbnextBottom.Visible = true;
}
if (j >= 2)
{
lbprevBottom.Visible = true;
}
if (j > 3)
{
lbfirst.Visible = true;
}
if (i == 1 && pagecount > 3)
{
lbfourBottom.Visible = true;
}
if (i >= 2 && pagecount > 3)
{
lbfourBottom.Visible = true;
}
if (i >= 2 && pagecount > 4)
{
lbfourBottom.Visible = true;
lbfiveBottom.Visible = true;
}
if (j >= 1)
{
lbfirstBottom.Visible = true;
}
if (j >= 1 && j <= pagecount)
{
lbfirstBottom.Visible = true;
}
if (j >= 1 && j < pagecount)
{
lbsecondBottom.Visible = true;
}
if (j == pagecount && pagecount > 1)
{
lbsecondBottom.Visible = true;
}
if (pagecount >= 3)
{
lbthirdBottom.Visible = true;
}
if (j >= 3)
{
lbfirstBottom.Text = Convert.ToString(j - 2);
if (Convert.ToString(j - 2).Equals(ViewState["currentpage"].ToString()))
lbfirstBottom.Enabled = false;
lbsecondBottom.Text = Convert.ToString(j - 1);
lbthirdBottom.Text = Convert.ToString(j);
lbfourBottom.Text = Convert.ToString(j + 1);
lbfiveBottom.Text = Convert.ToString(j + 2);
}
if (lbfirstBottom.Text.Equals(j.ToString()))
{
lbfirstBottom.Font.Bold = true;
lbfirstBottom.Enabled = false;
}
if (lbsecondBottom.Text.Equals(j.ToString()))
{
lbsecondBottom.Font.Bold = true;
lbsecondBottom.Enabled = false;
}
if (lbthirdBottom.Text.Equals(j.ToString()))
{
lbthirdBottom.Font.Bold = true;
lbthirdBottom.Enabled = false;
}
if (lbfourBottom.Text.Equals(j.ToString()))
{
lbfourBottom.Font.Bold = true;
lbfourBottom.Enabled = false;
}
if (lbfiveBottom.Text.Equals(j.ToString()))
{
lbfiveBottom.Font.Bold = true;
lbfiveBottom.Enabled = false;
}
lblStatus.Text = "Page" + " " + (currentpage + 1) + " " + "of" + " " + pagecount;
}
//Displays first page of the search results
protected void lbfirst_Click1(object sender, EventArgs e)
{
ViewState["currentpage"] = 0;
ViewState["currentindex"] = Convert.ToInt32(ViewState["currentpage"]) * pagesize;
BindData();
}
//Displays previous page of the search results
protected void lbprevBottom_Click1(object sender, EventArgs e)
{
ViewState["currentpage"] = Convert.ToInt32(ViewState["currentpage"]) - 1;
ViewState["currentpage"] = Convert.ToInt32(ViewState["currentpage"]);
ViewState["currentindex"] = Convert.ToInt32(ViewState["currentpage"]) * pagesize;
BindData();
}
//Displays page of the search results, which ever number assigned to the button caption
protected void lbfirstBottom_Click1(object sender, EventArgs e)
{
if (Convert.ToInt32(ViewState["currentpage"]) >= 3)
{
ViewState["currentpage"] = Convert.ToInt32(ViewState["currentpage"]) - 2;
}
else
{
ViewState["currentpage"] = 0;
}
ViewState["currentpage"] = Convert.ToInt32(ViewState["currentpage"]);
ViewState["currentindex"] = Convert.ToInt32(ViewState["currentpage"]) * pagesize;
BindData();
}
//Displays page of the search results, which ever number assigned to the button caption
protected void lbsecondBottom_Click1(object sender, System.EventArgs e)
{
int pagecount = (int)ViewState["pagecount"];
if (Convert.ToInt32(ViewState["currentpage"]) >= 3)
{
ViewState["currentpage"] = Convert.ToInt32(ViewState["currentpage"]) - 1;
}
else
{
ViewState["currentpage"] = 1;
}
ViewState["currentpage"] = Convert.ToInt32(ViewState["currentpage"]);
ViewState["currentindex"] = Convert.ToInt32(ViewState["currentpage"]) * pagesize;
BindData();
}
//Displays page of the search results, which ever number assigned to the button caption
protected void lbthirdBottom_Click1(object sender, EventArgs e)
{
int pagecount = (int)ViewState["pagecount"];
if (Convert.ToInt32(ViewState["currentpage"]) >= 3)
{
ViewState["currentpage"] = Convert.ToInt32(ViewState["currentpage"]);
}
else
{
ViewState["currentpage"] = 2;
}
ViewState["currentpage"] = Convert.ToInt32(ViewState["currentpage"]);
ViewState["currentindex"] = Convert.ToInt32(ViewState["currentpage"]) * pagesize;
BindData();
}
//Displays page of the search results, which ever number assigned to the button caption
protected void lbfourBottom_Click1(object sender, EventArgs e)
{
if (Convert.ToInt32(ViewState["pagecount"]) > 3)
{
if (Convert.ToInt32(ViewState["currentpage"]) >= 3)
ViewState["currentpage"] = Convert.ToInt32(ViewState["currentpage"]) + 1;
else
ViewState["currentpage"] = 3;
}
ViewState["currentpage"] = Convert.ToInt32(ViewState["currentpage"]);
ViewState["currentindex"] = Convert.ToInt32(ViewState["currentpage"]) * pagesize;
BindData();
}
//Displays page of the search results, which ever number assigned to the button caption
protected void lbfiveBottom_Click1(object sender, EventArgs e)
{
if (Convert.ToInt32(ViewState["pagecount"]) > 4)
{
if (Convert.ToInt32(ViewState["currentpage"]) >= 3)
ViewState["currentpage"] = Convert.ToInt32(ViewState["currentpage"]) + 2;
else
ViewState["currentpage"] = 4;
}
ViewState["currentpage"] = Convert.ToInt32(ViewState["currentpage"]);
ViewState["currentindex"] = Convert.ToInt32(ViewState["currentpage"]) * pagesize;
BindData();
}
//Displays next page of the search results
protected void lbnextBottom_Click1(object sender, EventArgs e)
{
int currentpage = (int)ViewState["currentpage"];
int pagecount = (int)ViewState["pagecount"];
if (currentpage + 1 < pagecount)
{
currentpage = currentpage + 1;
ViewState["currentpage"] = currentpage;
ViewState["currentindex"] = currentpage * pagesize;
}
BindData();
}
//Displays last page of the search results
protected void lblastBottom_Click1(object sender, EventArgs e)
{
int currentpage = (int)ViewState["currentpage"];
int pagecount = (int)ViewState["pagecount"];
if (currentpage < pagecount)
{
currentpage = pagecount;
ViewState["currentindex"] = (currentpage - 1) * pagesize;
ViewState["currentpage"] = currentpage - 1;
BindData();
}
}
protected void dlSearchResult_DeleteCommand(object source, DataListCommandEventArgs e)
{
dlSearchResult.EditItemIndex = -1;
BindData();
}
//Deletes a company
public void deleteRecord(object s, DataListCommandEventArgs e)
{
Search ObjSearch = new Search();
ObjSearch.DeleteRecord(int.Parse(e.CommandArgument.ToString()));
SecureQueryString qs = new SecureQueryString();
qs["action"] = "0";
Response.Redirect("AdminMessage.aspx?qs="+qs.ToString());
}
}
}