using MedPred_Data; using SteamWare; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace MedPred { public partial class VGen : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // questa è antropo - bia if (!Page.IsPostBack) { // verifico se ci sia richeista x un comando tipo sel/edit string cmd = Request.QueryString["cmd"]; if (cmd == "new") { // creo nuova visita in data odierna DateTime dataVisita = DateTime.Now; try { dataVisita = Convert.ToDateTime(memLayer.ML.objSessionObj("DataVisita")); } catch { dataVisita = DateTime.Now; } DtProxy.man.taVAC.InsertQuery(IdxPaziente, dataVisita, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); // Redirect senza creazione nuovo! Response.Redirect("VGen?cmd=sel"); } // se ho idxRow selezionata imposto if (memLayer.ML.isInSessionObject("IdxRowVGen")) { grView.SelectedIndex = memLayer.ML.IntSessionObj("IdxRowVGen"); memLayer.ML.emptySessionVal("IdxRowVGen"); } } } protected int IdxPaziente { get { return memLayer.ML.IntSessionObj("IdxPaziente"); } } /// /// richiesta nuovo record /// /// /// protected void lbNew_Click(object sender, EventArgs e) { grView.ShowFooter = true; } /// /// elenco colonne del datagrid /// /// protected DataColumnCollection colonneObj() { DS_Applicazione.VisGenDataTable tabella = new MedPred_Data.DS_Applicazione.VisGenDataTable(); DataColumnCollection colonne = tabella.Columns; return colonne; } /// /// recupera i dati di un nuovo record contenuti nel footer di un gridView; /// questi devono esses opportunamente nominati (es: txt{0}, dl{0}, ...) /// /// /// protected void recuperaFooter(object sender, ObjectDataSourceMethodEventArgs e) { //recupero la riga footer... DataColumnCollection colonne = colonneObj(); string nomeCol; string tipoColonna = ""; foreach (DataColumn colonna in colonne) { nomeCol = colonna.ColumnName; // cerco un textbox o quello che sia... if (grView.FooterRow.FindControl(string.Format("txt{0}", nomeCol)) != null) { tipoColonna = "textBox"; } else if (grView.FooterRow.FindControl(string.Format("dl{0}", nomeCol)) != null) { tipoColonna = "dropDownList"; } else if (grView.FooterRow.FindControl(string.Format("chk{0}", nomeCol)) != null) { tipoColonna = "checkBox"; } else if (grView.FooterRow.FindControl(string.Format("selAjax_{0}", nomeCol)) != null) { tipoColonna = "selAjax"; } // in base al tipo salvo negli inputparameters dell'ODS switch (tipoColonna) { case "textBox": e.InputParameters[nomeCol] = ((TextBox)grView.FooterRow.FindControl(string.Format("txt{0}", nomeCol))).Text; break; case "dropDownList": e.InputParameters[nomeCol] = ((DropDownList)grView.FooterRow.FindControl(string.Format("dl{0}", nomeCol))).SelectedValue; break; case "checkBox": e.InputParameters[nomeCol] = ((CheckBox)grView.FooterRow.FindControl(string.Format("chk{0}", nomeCol))).Checked; break; default: break; } tipoColonna = ""; } // sistemo data... e.InputParameters["DataVisita"] = Convert.ToDateTime(e.InputParameters["DataVisita"]); e.InputParameters["Altezza"] = Convert.ToDouble(e.InputParameters["Altezza"]); e.InputParameters["CirconfVita"] = Convert.ToDouble(e.InputParameters["CirconfVita"]); e.InputParameters["Peso"] = Convert.ToDouble(e.InputParameters["Peso"]); e.InputParameters["GrassoTotPerc"] = Convert.ToDouble(e.InputParameters["GrassoTotPerc"]); e.InputParameters["GrassoViscPerc"] = Convert.ToDouble(e.InputParameters["GrassoViscPerc"]); e.InputParameters["MassaMagraTotPerc"] = Convert.ToDouble(e.InputParameters["MassaMagraTotPerc"]); } /// /// inserisce nuovo valore da footer /// /// /// protected void lblIns_click(object sender, EventArgs e) { // click su inserimento, chiamo il metodo insert dell'ObjectDataSource ods.Insert(); } protected void lblCanc_click(object sender, EventArgs e) { grView.SelectedIndex = -1; grView.ShowFooter = false; grView.DataBind(); } protected void ods_Inserted(object sender, ObjectDataSourceStatusEventArgs e) { grView.ShowFooter = false; } /// /// verifico se ci sia predicato "sel", se la data sia il valore richiesto e nel caso seleziono /// /// /// protected void grView_RowDataBound(object sender, GridViewRowEventArgs e) { string cmd = Request.QueryString["cmd"]; if (cmd == "sel") { try { if (((DS_Applicazione.VisGenRow)((DataRowView)e.Row.DataItem).Row).DataVisita == Convert.ToDateTime(memLayer.ML.StringSessionObj("DataVisita"))) { memLayer.ML.setSessionVal("IdxRowVGen", e.Row.DataItemIndex); Response.Redirect("VGen"); } } catch { } } } } }