All pastes #32616 Raw Edit

Bipolar

public text v1 · immutable
#32616 ·published 2005-12-06 04:44 UTC
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.TreeStore leadStore = new Gtk.TreeStore (typeof(string), typeof(string), typeof(string), typeof(string), typeof(string));
		
		//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\';";
							
		Gtk.TreeIter iter;
		
		if (tv_leads == null) throw new Exception ("Oops! Null!");
		
		
		
		filter = new Gtk.TreeModelFilter (leadStore, null);
		
		tv_leads.Model = filter;
		filter.VisibleFunc = new Gtk.TreeModelFilterVisibleFunc (FilterTree);
		
							
		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 iter)
	{
		if (model == null) throw new Exception ("Oops! Search Null!");
		
		if ((model as TreeStore).IterDepth (iter) == 0)
		{
			return true; 
		} 
		else 
		{
			Console.WriteLine("in FilterTree");
			Console.WriteLine("Model is: " + model);
	 		if ((model as TreeStore).IterIsValid (iter) == false) return true;
	 		string colname = model.GetValue (iter, 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;
		}
	}
}