protected void Page_Load(object sender, EventArgs e) { string idlist = Request.QueryString["idlist"]; if (idlist == null || idlist == "") { return; } DataAccess Conn = GetVars.GetUserConn(Page); QueryHelper QHS; QHS = Conn.GetQueryHelper(); string filter = QHS.CmpEq("idlist", idlist); DataTable DT = Conn.RUN_SELECT("list", "pic,picext", null, filter, null, false); if (DT.Rows.Count == 0) { return; } DataRow DR = DT.Rows[0]; if (DR["pic"].Equals(DBNull.Value)) { return; } string fileext = DR["picext"].ToString(); Page.Response.ContentType = "image/" + fileext; Page.Response.BinaryWrite((byte[])DR["pic"]); Page.Response.End(); }
public override void AfterLink(bool firsttime, bool formToLink) { QHC = new CQueryHelper(); QHS = Conn.GetQueryHelper(); idman = CfgFn.GetNoNullInt32(Session["CodiceResponsabile"]); MetaData.SetDefault(DS.lcard, "idman", idman); Meta.DefaultListType = "webdefault"; SearchTable = "lcardview"; if (formToLink) { cmbMagazzino.DataSource = DS.store; cmbMagazzino.DataTextField = "description"; cmbMagazzino.DataValueField = "idstore"; cmbResponsabile.DataSource = DS.manager; cmbResponsabile.DataTextField = "title"; cmbResponsabile.DataValueField = "idman"; } cmbResponsabile.SelectedValue = idman.ToString(); cmbResponsabile.Enabled = false; if (firsttime) { DataAccess SysConn = GetVars.GetSystemDataAccess(this); SysConn.RUN_SELECT_INTO_TABLE(DS.virtualuser, null, QHS.CmpEq("codicedipartimento", Conn.GetSys("userdb")), null, true); PostData.MarkAsTemporaryTable(DS.virtualuser, false); } HelpForm.SetDenyNull(DS.lcard.Columns["active"], true); Meta.DefaultListType = "default"; Meta.CanCancel = false; Meta.CanInsert = false; Meta.CanInsertCopy = false; }
protected void Page_Load(object sender, EventArgs e) { string action = Request.QueryString["action"]; ArrayList AL; //Hashtable HT; XmlTextWriter myXmlWriter = new XmlTextWriter(Response.OutputStream, Encoding.UTF8); string htmltext = ""; Page.Response.ContentType = "text/xml"; Page.Response.Charset = "utf-8"; /* Pagina che gestisce le chiamate AJAX provenienti dal client * invocate da vetrina_default.aspx. * utilizza i seguenti parametri URL: * - idlist: id dell'articolo in listino * - idstore: id magazzino * - idstock: id stock * - units: numero di unità da prenotare. * - action: azione da effetturare. Ha tre valori: * * add: aggiunge al carrello; * * show: mostra il contenuto attuale del carrello; * * empty: svuota il carrello. */ switch (action) { case "add": { /* Aggiunge articoli al carrello * necessita dei parametri idlist (id articolo), units (quantità), * idstore (id magazzino). Restituisce un XML che contiene * il messaggio di notifica di avvenuto inserimento dell'articolo nel carrello. */ int idlist = CfgFn.GetNoNullInt32(Request.QueryString["idlist"]); int quantity = CfgFn.GetNoNullInt32(Request.QueryString["units"]); int idstore = CfgFn.GetNoNullInt32(Request.QueryString["idstore"]); int idstock = CfgFn.GetNoNullInt32(Request.QueryString["idstock"]); decimal price = CfgFn.GetNoNullDecimal(HelpForm.GetObjectFromString(typeof(decimal), Request.QueryString["price"], "x.y.n")); if (idlist == null) { return; } if (quantity == null) { return; } if (Session["Cart"] == null) { AL = new ArrayList(); } else { AL = (ArrayList)Session["Cart"]; } // Find if an item with same idlist and idstore exists in arraylist cartitem CI; bool found = false; int index; int previousquantity = 0; for (index = 0; index < AL.Count; index++) { CI = (cartitem)AL[index]; if (CI.idlist == idlist && CI.idstore == idstore && CI.price == price && CI.idstock == idstock) { found = true; previousquantity = CI.quantity; break; } } if (found) { CI = new cartitem(); CI.idlist = idlist; CI.idstore = idstore; CI.quantity = quantity + previousquantity; CI.price = price; CI.idstock = idstock; AL[index] = CI; } else { CI = new cartitem(); CI.idlist = idlist; CI.idstore = idstore; CI.quantity = quantity; CI.price = price; CI.idstock = idstock; AL.Add(CI); } Session["Cart"] = AL; myXmlWriter.WriteStartDocument(); myXmlWriter.WriteStartElement("datagrid"); myXmlWriter.WriteStartElement("htmlcode"); htmltext += "<fieldset>"; htmltext += "<legend style=\"text-align :center\">Operazione Effettuata</legend>"; htmltext += "<div class=\"row\">"; htmltext += "<div class=\"col-md-5\"></div>"; htmltext += "<div class=\"col-md-4\">"; htmltext += "<label>Gli articoli da Lei scelti sono stati aggiunti al carrello</label>"; htmltext += "</div>"; htmltext += "<div class=\"col-md-3\"></div>"; htmltext += "</div>"; //chiude la rows htmltext += "</fieldset>"; myXmlWriter.WriteCData(htmltext); myXmlWriter.WriteEndElement(); myXmlWriter.WriteStartElement("meta"); myXmlWriter.WriteStartElement("totalpages"); myXmlWriter.WriteValue("0"); myXmlWriter.WriteEndElement(); myXmlWriter.WriteStartElement("title"); myXmlWriter.WriteValue(""); myXmlWriter.WriteEndElement(); myXmlWriter.WriteEndElement(); myXmlWriter.WriteEndElement(); myXmlWriter.Flush(); myXmlWriter.Close(); break; } case "show": { /* Mostra il carrello corrente (se contiene articoli). * Restituisce un XML contenente il contenuto * del carrello corrente se esso contiene elementi, * altrimenti un XML contenente un messaggio di * "Carrello Vuoto" */ if (Session["Cart"] == null) { // Carrello vuoto myXmlWriter.WriteStartDocument(); myXmlWriter.WriteStartElement("datagrid"); myXmlWriter.WriteStartElement("htmlcode"); htmltext += "<div class=\"row\">"; htmltext += "<div class=\"col-md-5\"></div>"; htmltext += "<div class=\"col-md-4\">"; htmltext += "<label>Il suo carrello è vuoto.</label>"; htmltext += "</div>"; htmltext += "<div class=\"col-md-3\"></div>"; htmltext += "</div>"; //chiude la rows myXmlWriter.WriteCData(htmltext); myXmlWriter.WriteEndElement(); myXmlWriter.WriteStartElement("meta"); myXmlWriter.WriteStartElement("totalpages"); myXmlWriter.WriteValue("0"); myXmlWriter.WriteEndElement(); myXmlWriter.WriteStartElement("title"); myXmlWriter.WriteValue(""); myXmlWriter.WriteEndElement(); myXmlWriter.WriteEndElement(); myXmlWriter.WriteEndElement(); myXmlWriter.Flush(); myXmlWriter.Close(); } else { // Visualizza il riepilogo // In base agli id nella HT si prelevano dal DB i codici e le descrizioni degli articoli. // E si visualizza il riepilogo AL = (ArrayList)Session["Cart"]; if (AL.Count == 0) { return; } DataAccess Conn = GetVars.GetUserConn(Page); QueryHelper QHS = Conn.GetQueryHelper(); cartitem CI; //htmltext += "<fieldset style=\"background-color: #eeeeee;\">"; htmltext += "<div class=\"row\">"; htmltext += "<div class=\"col-md-4\"></div>"; htmltext += "<div class=\"col-md-4\">"; htmltext += "<label>Articoli attualmente nel carrello</label>"; htmltext += "</div>"; htmltext += "<div class=\"col-md-4\"></div>"; htmltext += "</div>"; //chiude la rows htmltext += "<div class=\"row\">"; htmltext += "<div class=\"col-md-12\">"; htmltext += "<table class=\"table table-striped\";>"; //htmltext += "<thead><tr style=\"background-color:#d9edf7;color:#000000;\">"; htmltext += "<thead><tr>"; htmltext += "<thead><tr><th>Articolo</th><th>Class.Merceologica</th>"; htmltext += "<th>Quantità</th></tr></thead><tbody>"; int counter; string bgcolor = ""; for (counter = 0; counter < AL.Count; counter++) { CI = (cartitem)AL[counter]; //if (counter % 2 == 0) // bgcolor = "#d9edf7;";//bgcolor = "#eaeaea;"; //else // bgcolor = "#c4e3f3;";//bgcolor = "#bababa;"; bgcolor = "#FFFFFF"; string storedescription; string itemdescription; string filter; string listclass; string idlistclass; filter = QHS.CmpEq("idlist", CI.idlist); DataTable T; T = Conn.RUN_SELECT("list", "description,idlistclass", null, filter, null, false); itemdescription = T.Rows[0]["description"].ToString(); idlistclass = T.Rows[0]["idlistclass"].ToString(); filter = QHS.CmpEq("idlistclass", idlistclass); T = Conn.RUN_SELECT("listclass", "title", null, filter, null, false); listclass = T.Rows[0]["title"].ToString(); /* * filter = QHS.CmpEq("idstore", CI.idstore); * T = Conn.RUN_SELECT("store", "description", null, filter, null, false); * storedescription=T.Rows[0]["description"].ToString(); */ htmltext += "<tr style=\"background-color:" + bgcolor + "\">"; htmltext += "<td><style=\"text-align: justify;\">" + itemdescription + "</td>"; htmltext += "<td><style=\"text-align: left;\">" + listclass + "</td>"; htmltext += "<td><style=\"text-align: center;\">" + CI.quantity.ToString() + "</td>"; htmltext += "</tr>"; } htmltext += "</tbody></table>"; htmltext += "</div>"; // chiude class col-md-12 htmltext += "</div>"; //chiude la rows myXmlWriter.WriteStartDocument(); myXmlWriter.WriteStartElement("datagrid"); myXmlWriter.WriteStartElement("htmlcode"); myXmlWriter.WriteCData(htmltext); myXmlWriter.WriteEndElement(); myXmlWriter.WriteStartElement("meta"); myXmlWriter.WriteStartElement("totalpages"); myXmlWriter.WriteValue("0"); myXmlWriter.WriteEndElement(); myXmlWriter.WriteStartElement("title"); myXmlWriter.WriteValue(""); myXmlWriter.WriteEndElement(); myXmlWriter.WriteEndElement(); myXmlWriter.WriteEndElement(); myXmlWriter.Flush(); myXmlWriter.Close(); } } break; case "empty": { /* Svuota il carrello corrente. * Restituisce un XML contenente il messaggio di notifica * dell'avvenuto svuotamento, oppure un messaggio di notifica * che avvisa l'utente che il carrello è già vuoto. */ // azzera il carrello if (Session["Cart"] == null) { htmltext += "<p>Il suo carrello è già vuoto.</p>"; } else { Session["Cart"] = null; htmltext += "<p>Il suo carrello è stato svuotato come richiesto.</p>"; } myXmlWriter.WriteStartDocument(); myXmlWriter.WriteStartElement("datagrid"); myXmlWriter.WriteStartElement("htmlcode"); myXmlWriter.WriteCData(htmltext); myXmlWriter.WriteEndElement(); myXmlWriter.WriteStartElement("meta"); myXmlWriter.WriteStartElement("totalpages"); myXmlWriter.WriteValue("0"); myXmlWriter.WriteEndElement(); myXmlWriter.WriteStartElement("title"); myXmlWriter.WriteValue(""); myXmlWriter.WriteEndElement(); myXmlWriter.WriteEndElement(); myXmlWriter.WriteEndElement(); myXmlWriter.Flush(); myXmlWriter.Close(); } break; } Page.Response.End(); }