public Prodotto(OleDbConnection cnn, string codice_maietta, int parentID, UtilityMaietta.genSettings s) { this.codicemaietta = codice_maietta; if (codice_maietta != "") { ip = new UtilityMaietta.infoProdotto(codice_maietta, cnn, s); string str = " select * from mapprodotti where codicemaietta = '" + codicemaietta + "' and parentid = " + parentID; OleDbDataAdapter adt = new OleDbDataAdapter(str, cnn); DataTable dt = new DataTable(); adt.Fill(dt); if (dt.Rows.Count > 0) { this.note = dt.Rows[0]["note"].ToString(); this.quantita = (dt.Rows[0]["quantita"].ToString() != "") ? int.Parse(dt.Rows[0]["quantita"].ToString()) : 0; this.ripiano = (dt.Rows[0]["ripiano"].ToString() != "") ? int.Parse(dt.Rows[0]["ripiano"].ToString()) : 0; this.parent = new ClassStruttura.Struttura(int.Parse(dt.Rows[0]["parentID"].ToString()), cnn, s); } else { this.note = ""; this.ripiano = this.quantita = 0; this.parent = null; } } }
public Prodotto(Prodotto p, ClassStruttura.Struttura _parent, int _qt, int _ripiano, string _note) { this.codicemaietta = p.codicemaietta; this.ip = p.ip; this.note = _note; this.quantita = _qt; this.parent = _parent; //p.parent; this.ripiano = _ripiano; }
public Prodotto(OleDbConnection cnn, string codice_maietta, UtilityMaietta.genSettings s) { this.codicemaietta = codice_maietta; if (codice_maietta != "") { ip = new UtilityMaietta.infoProdotto(codice_maietta, cnn, s); } this.note = ""; this.ripiano = this.quantita = 0; this.parent = null; }
internal Prodotto(DataRow dr, OleDbConnection cnn, ClassStruttura.Struttura _parent, UtilityMaietta.genSettings s) { this.codicemaietta = dr["codicemaietta"].ToString(); if (this.codicemaietta != "") { ip = new UtilityMaietta.infoProdotto(codicemaietta, cnn, s); } this.note = dr["note"].ToString(); this.ripiano = (dr["ripiano"].ToString() == "") ? 0 : int.Parse(dr["ripiano"].ToString()); this.quantita = (dr["quantita"].ToString() == "") ? 0 : int.Parse(dr["quantita"].ToString()); this.parent = _parent; }
public Prodotto(OleDbConnection cnn, string codice_maietta, UtilityMaietta.genSettings s, string _note, int _qt, int _ripiano, ClassStruttura.Struttura padre) { this.codicemaietta = codice_maietta; if (codice_maietta != "") { ip = new UtilityMaietta.infoProdotto(codice_maietta, cnn, s); } this.note = _note; this.quantita = _qt; this.parent = padre; this.ripiano = _ripiano; //this.parentName = (parent != null) ? parent.nome : ""; }
private Table ProductInfo(UtilityMaietta.infoProdotto ip) { Table tb = new Table(); tb.CssClass = "tabProd"; tb.BorderWidth = 2; tb.BorderColor = System.Drawing.Color.LightGray; TableRow tr = new TableRow(); TableCell tc = new TableCell(); System.Web.UI.WebControls.Image i = new System.Web.UI.WebControls.Image(); i.ImageUrl = (ip.image != "") ? "http://www.maiettasrl.it/rivenditori/ecommerce/" + ip.image.Replace("../", "") : "pics/nophoto.jpg"; i.Width = i.Height = 75; tc.Controls.Add(i); tr.Cells.Add(tc); tc = new TableCell(); tc.Font.Size = 14; tc.Text = "<b>" + ip.codmaietta.ToUpper() + "</b><br />" + ip.desc; tr.Cells.Add(tc); tb.Rows.Add(tr); return(tb); }
protected void btnSaveCodes_Click(object sender, EventArgs e) { int tabLenght = 0, z = 0; if (Request.Form["hidRowsCount"] != null) { tabLenght = int.Parse(Request.Form["hidRowsCount"].ToString()) - 1; } string[] skuIndex = getHidIndex(tabLenght); rowSku[] lista = new rowSku[skuIndex.Length]; int count = 0; /// INSERIMENTO DA ORDINE AMAZON SU SKU /// DIFFERENZIAZIONE FATTA PER LE COPIE DA #c1 RIPETUTO if (Request.QueryString["amzOrd"] != null || Request.QueryString["amzSingleSku"] != null) { for (int i = 0; i < lista.Length; i++) { lista[i].sku = Request.Form["hidSku#" + skuIndex[i]].ToString(); if (i > 0 && lista[i].sku != lista[i - 1].sku) // CAMBIO SKU { count = 0; } lista[i].codicemaietta = (Request.Form["txCodMaga#" + RepeteRight(lista[i].sku, "#c1", count)] != null) ? Request.Form["txCodMaga#" + RepeteRight(lista[i].sku, "#c1", count)].ToString().Trim() : Request.Form["hidCodMaie#" + RepeteRight(lista[i].sku, "#c1", count)].ToString().Trim(); lista[i].tiporisposta = int.Parse(Request.Form["dropTpr#" + RepeteRight(lista[i].sku, "#c1", count)].ToString()); lista[i].lavorazione = (Request.Form["chkLav#" + RepeteRight(lista[i].sku, "#c1", count)] != null && Request.Form["chkLav#" + RepeteRight(lista[i].sku, "#c1", count)].ToString() == "on"); lista[i].qts = int.Parse(Request.Form["txQtS#" + RepeteRight(lista[i].sku, "#c1", count)].ToString()); lista[i].ismcs = (Request.Form["chkMCS#" + RepeteRight(lista[i].sku, "#c1", count)] != null && Request.Form["chkMCS#" + RepeteRight(lista[i].sku, "#c1", count)].ToString() == "on"); lista[i].vettoreID = (Request.Form["dropVett#" + RepeteRight(lista[i].sku, "#c1", count)] != null) ? int.Parse(Request.Form["dropVett#" + RepeteRight(lista[i].sku, "#c1", count)].ToString()) : amzSettings.amzDefVettoreID; count++; } } /// INSERIMENTO/MODIFICA DA SINGOLO SKU /// DIFFERENZIAZIONE DA #si + count else if (Request.QueryString["amzSku"] != null) //TORNO IN PANORAMICA { lista = new rowSku[tabLenght]; string mainSku = Request.QueryString["amzSku"].ToString(); for (int i = 0; i < lista.Length; i++) // CICLO PER RIGHE INSERITE DAL PROGRAMMA #SI + i { lista[i].sku = mainSku; lista[i].codicemaietta = (Request.Form["txCodMaga#" + lista[i].sku + "#si" + i.ToString()] != null) ? Request.Form["txCodMaga#" + lista[i].sku + "#si" + i.ToString()].ToString().Trim() : Request.Form["hidCodMaie#" + lista[i].sku + "#si" + i.ToString()].ToString().Trim(); lista[i].tiporisposta = int.Parse(Request.Form["dropTpr#" + lista[i].sku + "#si" + i.ToString()].ToString()); lista[i].lavorazione = (Request.Form["chkLav#" + lista[i].sku + "#si" + i.ToString()] != null && Request.Form["chkLav#" + lista[i].sku + "#si" + i.ToString()].ToString() == "on"); lista[i].qts = int.Parse(Request.Form["txQtS#" + lista[i].sku + "#si" + i.ToString()].ToString()); lista[i].ismcs = (Request.Form["chkMCS#" + lista[i].sku + "#si" + i.ToString()] != null && Request.Form["chkMCS#" + lista[i].sku + "#si" + i.ToString()].ToString() == "on"); lista[i].vettoreID = (Request.Form["dropVett#" + lista[i].sku + "#si" + i.ToString()] != null) ? int.Parse(Request.Form["dropVett#" + lista[i].sku + "#si" + i.ToString()].ToString()) : amzSettings.amzDefVettoreID; for (z = 1; (Request.Form["txCodMaga#" + RepeteRight(mainSku + "#si" + i.ToString(), "#c1", z)] != null); z++) // CICLO PER EVENTUALI RIGHE COPIATE #c0 z volte { lista[i + z].sku = mainSku; lista[i + z].codicemaietta = Request.Form["txCodMaga#" + RepeteRight(mainSku + "#si" + i.ToString(), "#c1", z)].ToString().Trim(); lista[i + z].tiporisposta = int.Parse(Request.Form["dropTpr#" + RepeteRight(mainSku + "#si" + i.ToString(), "#c1", z)].ToString()); lista[i + z].lavorazione = (Request.Form["chkLav#" + RepeteRight(mainSku + "#si" + i.ToString(), "#c1", z)] != null && Request.Form["chkLav#" + RepeteRight(mainSku + "#si" + i.ToString(), "#c1", z)].ToString() == "on"); lista[i + z].qts = int.Parse(Request.Form["txQtS#" + RepeteRight(mainSku + "#si" + i.ToString(), "#c1", z)].ToString()); lista[i + z].ismcs = (Request.Form["chkMCS#" + RepeteRight(mainSku + "#si" + i.ToString(), "#c1", z)] != null && Request.Form["chkMCS#" + RepeteRight(mainSku + "#si" + i.ToString(), "#c1", z)].ToString() == "on"); lista[i + z].vettoreID = (Request.Form["dropVett#" + RepeteRight(mainSku + "#si" + i.ToString(), "#c1", z)] != null) ? int.Parse(Request.Form["dropVett#" + RepeteRight(mainSku + "#si" + i.ToString(), "#c1", z)].ToString()) : amzSettings.amzDefVettoreID; } i = i + z - 1; } } z = 0; foreach (rowSku l in lista) { if (z + 1 < lista.Length && (lista[z].sku == lista[z + 1].sku && lista[z].vettoreID != lista[z + 1].vettoreID)) { Response.Write("Per tutti i prodotti dello stesso SKU è richiesto lo stesso vettore. Impossibile continuare."); return; } z++; } OleDbConnection cnn = new OleDbConnection(settings.OleDbConnString); OleDbConnection wc = new OleDbConnection(settings.lavOleDbConnection); wc.Open(); cnn.Open(); UtilityMaietta.infoProdotto ip; //AmazonOrder.SKUItem[] items = new AmazonOrder.SKUItem[lista.Length]; ///// CHECK validità codici ///// CONTROLLO SUI CODICI MAIETTA CORRETTI E IN LINEA for (int i = 0; i < lista.Length; i++) { ip = new UtilityMaietta.infoProdotto(lista[i].codicemaietta, cnn, settings); if (ip.codprodotto == "" || ip.codicefornitore == 0 || !ip.inlinea) { Response.Write("Codice maietta " + lista[i].codicemaietta + " non trovato o non in linea, impossibile salvare!"); cnn.Close(); return; } } ///// CERCA GLI SKU DISTINCT DA ELIMINARE (QUINDI ELIMINA x SKU con UNO O PIU' COD MAIETTA COLLEGATI) ArrayList distItem = distinctSku(lista); ///// CLEAR DISTINCT SKU foreach (rowSku s in distItem) { AmazonOrder.SKUItem.ClearSku(wc, s.sku); } ///// COLLEGA I NUOVI SKU AI CODICI for (int i = 0; i < lista.Length; i++) { AmazonOrder.SKUItem.LinkSku(wc, lista[i].sku, lista[i].codicemaietta, lista[i].tiporisposta, lista[i].lavorazione, lista[i].qts, lista[i].ismcs, lista[i].vettoreID); } ///////// Aggiorno items dell'ordine if (Request.QueryString["amzOrd"] != null && Session[Request.QueryString["amzOrd"].ToString()] != null) { AmazonOrder.Order order = (AmazonOrder.Order)Session[Request.QueryString["amzOrd"].ToString()]; order.ReloadItemsAndSKU(order, order.orderid, amzSettings, settings, cnn, wc); Session[order.orderid] = order; } ///////// cnn.Close(); wc.Close(); if (Request.QueryString["amzOrd"] != null) // VENGO DA PANORAMICA VADO IN INVOICE { int tpr = GetRisposta(lista, amzSettings); Response.Redirect("amzAutoInvoice.aspx?token=" + Request.QueryString["token"].ToString() + "&amzOrd=" + Request.QueryString["amzOrd"].ToString() + "&tiporisposta=" + tpr.ToString() + MakeQueryParams()); } else if (Request.QueryString["amzSingleSku"] != null && Request.QueryString["ship"] != null) { ClientScript.RegisterStartupScript(this.GetType(), "goBack", "<script type='text/javascript' language='javascript'>window.history.go(-2);</script>"); } else if (Request.QueryString["amzSingleSku"] != null) //TORNO IN CERCA SKU SINGOLO { Response.Redirect("amzfindcode.aspx?token=" + Request.QueryString["token"].ToString() + "&merchantId=" + Request.QueryString["merchantId"].ToString()); } else if (Request.QueryString["amzSku"] != null) //TORNO IN PANORAMICA { Response.Redirect("amzPanoramica.aspx?token=" + Request.QueryString["token"].ToString() + "&amzSku=" + Request.QueryString["amzSku"].ToString() + MakeQueryParams()); } }
protected void btnMakePdf_Click(object sender, EventArgs e) { string errore = ""; UtilityMaietta.Utente u = (UtilityMaietta.Utente)Session["Utente"]; //string amzOrd = Request.Form["txNumOrd"].ToString(); string amzOrd = Request.QueryString["amzOrd"].ToString(); bool regalo = (Request.Form["chkRegalo"] != null && Request.Form["chkRegalo"].ToString() == "on"); bool mov = (Request.Form["chkMovimenta"] != null && Request.Form["chkMovimenta"].ToString() == "on") ? true : false; bool comm = (Request.Form["chkSendRisp"] != null && Request.Form["chkSendRisp"].ToString() == "on") ? true : false; DateTime invoiceDate = calInvoiceData.SelectedDate; UtilityMaietta.infoProdotto ip; int count = 0; string pos; string codprod; int codforn, qt; double costo; OleDbConnection cnn = new OleDbConnection(settings.OleDbConnString); OleDbConnection wc = new OleDbConnection(settings.lavOleDbConnection); wc.Open(); cnn.Open(); // CHECK DISPONIBILITA if (mov) { foreach (GridViewRow gvr in gridProducts.Rows) { pos = (count + 2).ToString().PadLeft(2, '0'); codprod = gvr.Cells[colCodProd].Text; codforn = int.Parse(gvr.Cells[colCodForn].Text); costo = double.Parse(Request.Form["gridProducts$ctl" + pos + "$txCosto_" + count.ToString().Replace(",", ".")].ToString()); qt = int.Parse(Request.Form["gridProducts$ctl" + pos + "$txQt_" + count.ToString()].ToString()); ip = new UtilityMaietta.infoProdotto(codprod, codforn, cnn, settings); if (ip.getDispDate(cnn, DateTime.Now, false) < qt || ip.getDispDate(cnn, invoiceDate, true) - (qt) < 0) { wc.Close(); cnn.Close(); btnMakePdf.Enabled = false; Response.Write("Quantità indicata non disponibile!"); return; } count++; } } // RECUPERA ORDINE AmazonOrder.Order order; if (Session[amzOrd] == null) { order = AmazonOrder.Order.ReadOrderByNumOrd(amzOrd, amzSettings, aMerchant, out errore); } else { order = (AmazonOrder.Order)Session[amzOrd]; } if (order == null || errore != "") { Response.Write("Impossibile contattare amazon, riprova più tardi!<br />Errore: " + errore); return; } if (order.Items == null || order.Items.Count == 0) { order.RequestItems(amzSettings, aMerchant); } if (order.Items == null || order.Items.Count == 0) { Response.Write("Impossibile contattare amazon, riprova più tardi!<br />Errore: " + errore); return; } int vettS = int.Parse(dropVettori.SelectedValue.ToString()); int invoiceNum; /// IMPORTO DEFINITIVAMENTE L'ORDINE CON I VALORI della precedente schermata. if (Request.QueryString["amzInv"] != null && int.Parse(Request.QueryString["amzInv"].ToString()) > 0) { // ORDINE GIA' COMPLETAMENTE IMPORTATO E CON RICEVUTA, SOLO NUOVE MOVIMENTAZIONI invoiceNum = int.Parse(Request.QueryString["amzInv"].ToString()); } else if (order.IsFullyImported() || order.IsImported()) { // ORDINE COMPLETAMENTE IMPORTATO, CREO NUMERO RICEVUTA e MOVIMENTAZIONI invoiceNum = order.UpdateFullStatus(wc, cnn, amzSettings, aMerchant, invoiceDate, vettS, false); } else { // ORDINE DA IMPORTARE, CREO NUMERO RICEVUTA E MOVIMENTAZIONI invoiceNum = order.SaveFullStatus(wc, cnn, amzSettings, aMerchant, invoiceDate, vettS, false); } string siglaV = dropVettori.SelectedItem.Text; // EMETTI FATTURA AmzIFace.AmazonInvoice.makeInvoicePdf(amzSettings, aMerchant, order, invoiceNum, regalo, invoiceDate, siglaV, chkOpenLav.Checked); string inv = aMerchant.invoicePrefix(amzSettings) + invoiceNum.ToString().PadLeft(2, '0'); // MOVIMENTA SINGOLO CODICE count = 0; List <AmzIFace.CodiciDist> lip = new List <AmzIFace.CodiciDist>(); List <AmzIFace.ProductMaga> pm = new List <AmzIFace.ProductMaga>(); AmzIFace.ProductMaga prod; AmzIFace.CodiciDist cd; int cdpos; foreach (GridViewRow gvr in gridProducts.Rows) { pos = (count + 2).ToString().PadLeft(2, '0'); codprod = gvr.Cells[colCodProd].Text; codforn = int.Parse(gvr.Cells[colCodForn].Text); costo = double.Parse(Request.Form["gridProducts$ctl" + pos + "$txCosto_" + count.ToString()].ToString().Replace(",", ".")); qt = int.Parse(Request.Form["gridProducts$ctl" + pos + "$txQt_" + count.ToString()].ToString()); ip = new UtilityMaietta.infoProdotto(codprod, codforn, cnn, settings); if (mov) { ip.AmzMovimenta(cnn, inv, order.orderid, invoiceDate, costo, qt, order.dataUltimaMod, amzSettings, u); prod = new AmzIFace.ProductMaga(); prod.codicemaietta = ip.codmaietta; //prod.price = costo / 1.22; prod.price = costo / settings.IVA_MOLT; prod.qt = qt; pm.Add(prod); } cd = new AmzIFace.CodiciDist(ip, qt, costo); if (!lip.Contains(cd)) { lip.Add(cd); } else { cdpos = lip.IndexOf(cd); lip[cdpos].AddQuantity(qt, costo); } count++; } cnn.Close(); Session["freeProds"] = lip; if (mov) { UtilityMaietta.writeMagaOrder(pm, amzSettings.AmazonMagaCode, settings, 'F'); } if (comm && Request.Form["dropRisposte"] != null && Request.Form["dropRisposte"].ToString() != "0") { int risposta = int.Parse(Request.Form["dropRisposte"].ToString()); if (risposta != 0) { string fixedFile = AmazonOrder.Order.GetInvoiceFile(amzSettings, aMerchant, invoiceNum); AmazonOrder.Comunicazione com = new AmazonOrder.Comunicazione(risposta, amzSettings, aMerchant); string subject = com.Subject(order.orderid); string attach = (com.selectedAttach && File.Exists(fixedFile)) ? fixedFile : ""; bool send = UtilityMaietta.sendmail(attach, amzSettings.amzDefMail, order.buyer.emailCompratore, subject, com.GetHtml(order.orderid, order.destinatario.ToHtmlFormattedString(), order.buyer.nomeCompratore), false, "", "", settings.clientSmtp, settings.smtpPort, settings.smtpUser, settings.smtpPass, false, null); } } if (chkOpenLav.Checked) { /// APRI LAVORAZIONE Response.Redirect("lavAmzOpen.aspx?token=" + Request.QueryString["token"].ToString() + "&amzOrd=" + order.orderid + "&invnumb=" + inv + "&freeProds=" + lip.Count.ToString() + MakeQueryParams()); } else { /// TORNA IN HOME Response.Redirect("amzPanoramica.aspx?token=" + Session["token"].ToString() + MakeQueryParams()); } }