rendered paste body// created on 12/5/2005 at 4:22 PM
using System;
using System.Data;
using Gtk;
using Glade;
using Gdk;
using MySql.Data;
using MySql.Data.MySqlClient;
using Mono.Data;
using Expector;
public class cl_leads
{
[Glade.Widget] Gtk.Window wdw_leads;
[Glade.Widget] Gtk.TreeView tv_leads;
[Glade.Widget] Gtk.Entry te_search;
Gtk.TreeModelFilter filter;
public cl_leads ()
{
Glade.XML gxml = new Glade.XML (null, "gui.glade", "wdw_leads", null);
gxml.Autoconnect (this);
Gtk.TreeIter iter;
if (tv_leads == null) throw new Exception ("Oops! Null!");
Gtk.TreeStore leadStore = new Gtk.TreeStore (typeof(string), typeof(string), typeof(string), typeof(string), typeof(string));
filter = new Gtk.TreeModelFilter (leadStore, null);
filter.VisibleFunc = new Gtk.TreeModelFilterVisibleFunc (FilterTree);
tv_leads.Model = filter;
//deconstruct the treeview...
foreach (TreeViewColumn column in tv_leads.Columns)
{
tv_leads.RemoveColumn (column);
}
leadStore.Clear();
string getleads = "SELECT tbl_sales_leads.Lead_Number, DATE_FORMAT(tbl_sales_leads.Lead_Date,\'%a %b %e `%y\')"
+ "AS \'Date\',"
+ "LTRIM(CONCAT_WS(\' \', tbl_sales_leads.Title, tbl_sales_leads.Name_2, tbl_sales_leads.Name))"
+ "AS \'Customer_Name\',"
+ "IF("
+ "RTRIM("
+ "LTRIM("
+ "CONCAT_WS("
+ "\' \', tbl_sales_leads.Address_1, tbl_sales_leads.Address_2, tbl_sales_leads.City, \',\', "
+ "tbl_sales_leads.State, tbl_sales_leads.Zipcode"
+ "))) = \',\',"
+ "CONCAT(\'NO DATA\'),"
+ "RTRIM("
+ "LTRIM("
+ "CONCAT_WS("
+ "\' \', tbl_sales_leads.Address_1, tbl_sales_leads.Address_2, tbl_sales_leads.City, \',\', "
+ "tbl_sales_leads.State, tbl_sales_leads.Zipcode"
+ "))))"
+ "AS \'Customer_Address\',"
+ "LTRIM("
+ "CONCAT_WS("
+ "\' \', tbl_employees.Prefix, tbl_employees.First_Name, tbl_employees.Last_Name, tbl_employees.Suffix))"
+ "AS \'Consultant\',"
+ "tbl_sales_leads.Sales_Person "
+ "FROM tbl_sales_leads INNER JOIN tbl_employees ON "
+ "tbl_sales_leads.Sales_Person = tbl_employees.Employee_Number WHERE Dead = 0 AND Sold = 0;";
string getsalesmen = "SELECT Employee_Number, RTRIM(LTRIM(CONCAT_WS(\' \',Prefix,First_Name,Last_Name,Suffix)))"
+ "As \'Name\' FROM tbl_employees WHERE in_Sales = -1 AND Fire_Date IS NULL "
+ "AND EMPLOYEE_NUMBER != \'9001\' AND EMPLOYEE_NUMBER != \'4098\';";
DataSet salesmen = ((cl_getdata)cl_Vars.cl_getdata).returndataset(getsalesmen);
DataSet leads = ((cl_getdata)cl_Vars.cl_getdata).returndataset(getleads);
DataTable salesmentable = salesmen.Tables[0];
DataTable leadtable = leads.Tables[0];
foreach (DataRow man in salesmentable.Rows)
{
iter = leadStore.AppendValues(man["Name"].ToString());
foreach (DataRow lead in leadtable.Rows)
{
if (man["Employee_Number"].ToString() == lead["Sales_Person"].ToString())
{
leadStore.AppendValues (iter, lead["Date"].ToString(), lead["Customer_Name"].ToString(),
lead["Customer_Address"].ToString(), lead["Lead_Number"].ToString(),
lead["Sales_Person"].ToString());
}
}
}
Gtk.TreeViewColumn col_date = new Gtk.TreeViewColumn ();
col_date.Title = "Lead Date";
Gtk.TreeViewColumn col_name = new Gtk.TreeViewColumn ();
col_name.Title = "Name";
Gtk.TreeViewColumn col_address = new Gtk.TreeViewColumn ();
col_address.Title = "Address";
tv_leads.AppendColumn (col_date);
tv_leads.AppendColumn (col_name);
tv_leads.AppendColumn (col_address);
Gtk.CellRendererText dateCell = new Gtk.CellRendererText ();
col_date.PackStart (dateCell,true);
Gtk.CellRendererText nameCell = new Gtk.CellRendererText ();
col_name.PackStart (nameCell,true);
Gtk.CellRendererText addressCell = new Gtk.CellRendererText ();
col_address.PackStart (addressCell,true);
col_date.AddAttribute (dateCell, "text", 0);
col_name.AddAttribute (nameCell, "text", 1);
col_address.AddAttribute (addressCell, "text", 2);
}
public void on_tv_leads_row_activated (object sender, RowActivatedArgs args)
{
TreeIter iter2 = new TreeIter();
TreeModel m = tv_leads.Model;
m.GetIter(out iter2, args.Path);
string col0 = (string)m.GetValue(iter2, 3);
Console.WriteLine(col0);
}
public void on_btn_search_clicked (object sender, EventArgs args)
{
}
public void on_te_search_changed (object sender, EventArgs args)
{
Console.WriteLine("in on_te_search_changed");
filter.Refilter ();
}
private bool FilterTree (Gtk.TreeModel model, Gtk.TreeIter iter2)
{
if (model == null) throw new Exception ("Oops! Search Null!");
Console.WriteLine("in FilterTree");
Console.WriteLine("Model is: " + model);
string colname = model.GetValue (iter2, 1).ToString ();
if (te_search == null) throw new Exception ("Oops! Null!");
if (te_search.Text == "")
return true;
if (colname.IndexOf (te_search.Text) > -1)
return true;
else
return false;
}
}