private int SaveLavoro(OleDbConnection cnn, OleDbConnection wc, AmzIFace.AmazonSettings amzs, UtilityMaietta.genSettings s, string nomeLavoro, List <int> indexRow) { LavClass.UtenteLavoro ul = new LavClass.UtenteLavoro(1, amzs.AmazonMagaCode, wc, cnn, s); LavClass.Operatore opLav; LavClass.Macchina mc = new LavClass.Macchina(amzs.lavMacchinaDef, s.lavMacchinaFile, s); LavClass.TipoStampa ts = new LavClass.TipoStampa(amzs.lavTipoStampaDef, s.lavTipoStampaFile); LavClass.Obiettivo ob = new LavClass.Obiettivo(amzs.lavObiettivoDef, s.lavObiettiviFile); LavClass.Priorita pr = new LavClass.Priorita(amzs.lavPrioritaDefStd, s.lavPrioritaFile); LavClass.Operatore approvatore = new LavClass.Operatore(amzs.lavApprovatoreDef, s.lavOperatoreFile, s.lavTipoOperatoreFile); int lavid = 0; if (ul.HasOperatorePref()) { opLav = ul.OperatorePreferito(); } else { opLav = new LavClass.Operatore(amzs.lavOperatoreDef, s.lavOperatoreFile, s.lavTipoOperatoreFile); } string testo = "Lavorazione Amazon spedizione logistica @ " + nomeLavoro + " @ <br />"; string qt, sku, titolo; int q; foreach (int ir in indexRow) { qt = int.TryParse((((TextBox)gridCheckItems.Rows[ir].Cells[OPcolQtLav].Controls[1]).Text), out q)? ((TextBox)gridCheckItems.Rows[ir].Cells[OPcolQtLav].Controls[1]).Text : gridCheckItems.Rows[ir].Cells[OPcolSped].Text; sku = gridCheckItems.Rows[ir].Cells[colSku].Text.Substring(0, gridCheckItems.Rows[ir].Cells[colSku].Text.IndexOf("<br")); titolo = UtilityMaietta.RemoveSpecialCharacters(gridCheckItems.Rows[ir].Cells[colTitolo].Text.Replace("My Custom Style", "").Trim()); titolo = (titolo.Length > 50) ? titolo.Substring(0, 49) : titolo; testo += "<br />-- n." + qt + " - " + sku + " - " + titolo; } lavid = LavClass.SchedaLavoro.SaveLavoro(wc, amzs.AmazonMagaCode, ul.id, opLav.id, mc.id, ts.id, ob.id, DateTime.Now, op, null, null, true, approvatore.id, false, testo, "", DateTime.Today.AddDays(2), nomeLavoro, pr.id); return(lavid); }
private void fillPrinters(UtilityMaietta.genSettings settings) { DataTable info = new DataTable(); DataSet ds = new DataSet(); XmlReader xmlFile = XmlReader.Create(settings.lavMacchinaFile, new XmlReaderSettings()); ds.ReadXml(xmlFile); xmlFile.Close(); info = ds.Tables[0]; TableRow tr = new TableRow(); TableCell tc = new TableCell(); LavClass.TipoStampa ts; LavClass.Macchina mc; foreach (DataRow dr in info.Rows) { tr = new TableRow(); tc = new TableCell(); ts = new LavClass.TipoStampa(int.Parse(dr["stampa_def_id"].ToString()), settings.lavTipoStampaFile); mc = new LavClass.Macchina(int.Parse(dr["id"].ToString()), settings.lavMacchinaFile, settings); tc.Text = mc.ToString(); bool?online = mc.IsOnline(); if (!online.HasValue) { continue; } else if (online.Value) { tr.BackColor = System.Drawing.Color.LightGreen; } else { tr.BackColor = System.Drawing.Color.Red; } tr.Cells.Add(tc); tabPrinters.Rows.Add(tr); } }
private void fillGrid(UtilityMaietta.genSettings s, LavClass.Operatore oper) { string filOp, filOb, filTs, filMc, filPr, filApp, filEv, filComm, filRivend; filRivend = filOp = filOb = filTs = filMc = filPr = filApp = filEv = filComm = ""; int opID = int.Parse(DropOperatoreV.SelectedValue.ToString()); LavClass.Operatore op = new LavClass.Operatore(opID, s.lavOperatoreFile, s.lavTipoOperatoreFile); if (opID != 0) { filOp = " AND works.dbo.lavorazione.operatore_id = " + opID; } int obID = int.Parse(DropObiettiviV.SelectedValue.ToString()); LavClass.Obiettivo ob = new LavClass.Obiettivo(obID, s.lavObiettiviFile); if (obID != 0) { filOb = " AND works.dbo.lavorazione.obiettivo_id = " + obID; } int tsID = int.Parse(DropTipoStampa.SelectedValue.ToString()); LavClass.TipoStampa ts = new LavClass.TipoStampa(tsID, s.lavTipoStampaFile); if (tsID != 0) { filTs = " AND works.dbo.lavorazione.tipostampa_id = " + tsID; } int mcID = int.Parse(DropMacchina.SelectedValue.ToString()); LavClass.Macchina mc = new LavClass.Macchina(mcID, s.lavMacchinaFile, s); if (mcID != 0) { filMc = " AND works.dbo.lavorazione.macchina_id = " + mcID; } int prID = int.Parse(DropPriorita.SelectedValue.ToString()); LavClass.Priorita pr = new LavClass.Priorita(prID, s.lavPrioritaFile); if (prID != 0) { filPr = " AND works.dbo.lavorazione.priorita_id = " + prID; } int statID = int.Parse(dropStato.SelectedValue.ToString()); if (approvate) { filApp = " AND works.dbo.lavorazione.approvato = 1"; } if (incomplete) { filEv = " AND works.dbo.lavorazione.evaso = 0"; } if (soloCommer) { filComm = " AND works.dbo.lavorazione.utente_id = " + oper.id; } if (DropRivenditori.SelectedValue != "" && int.Parse(DropRivenditori.SelectedValue.ToString()) != 0) { filRivend = " AND works.dbo.lavorazione.rivenditore_id = " + DropRivenditori.SelectedValue.ToString(); } OleDbConnection mcn = new OleDbConnection(s.MainOleDbConnection); mcn.Open(); /*string str = " SELECT '0' AS [Sel.], Right('000' + CONVERT(NVARCHAR, works.dbo.lavorazione.id), 6) AS ID, works.dbo.lavorazione.rivenditore_id AS [Riv.Cod.], " + * " giomai_db.dbo.ecmonsql.azienda AS [Rivenditore], works.dbo.utente_lavoro.nome + ' (' + convert(VARCHAR, works.dbo.utente_lavoro.utente_id) + ')' AS [Cliente], " + * " works.dbo.lavorazione.nomelavoro AS [Nome], works.dbo.lavorazione.obiettivo_id AS [Obiettivo], works.dbo.lavorazione.priorita_id AS [Priorita], " + * " convert(varchar, works.dbo.lavorazione.consegna, 103) AS [Consegna], works.dbo.lavorazione.datainserimento AS [Inserito], works.dbo.lavorazione.utente_id AS [Proprietario], " + * " works.dbo.lavorazione.id AS [Ultimo Stato], works.dbo.lavorazione.id AS [News], works.dbo.lavorazione.operatore_id AS [OP], works.dbo.lavorazione.id AS [Link], " + * " works.dbo.lavorazione.id AS [USID], '0' AS [ORDCOL], '0' AS [IDSTATO], '0' AS [NEWORD], '0' AS [SCAD] " + * " from works.dbo.lavorazione, giomai_db.dbo.ecmonsql, works.dbo.utente_lavoro " + * " where works.dbo.lavorazione.rivenditore_id = works.dbo.utente_lavoro.rivenditore_id AND works.dbo.utente_lavoro.utente_id = works.dbo.lavorazione.clienteF_id AND works.dbo.lavorazione.rivenditore_id = giomai_db.dbo.ecmonsql.cliente_id " + * filOb + filTs + filMc + filPr + filApp + filEv + filOp + filComm + filRivend;*/ string str = " SELECT '0' AS [Sel.], Right('000' + CONVERT(NVARCHAR, works.dbo.lavorazione.id), 6) AS ID, " + " works.dbo.lavorazione.rivenditore_id AS [Riv.Cod.], giomai_db.dbo.ecmonsql.azienda AS [Rivenditore], " + " works.dbo.utente_lavoro.nome + ' (' + convert(VARCHAR, works.dbo.utente_lavoro.utente_id) + ')' AS [Cliente], " + " works.dbo.lavorazione.nomelavoro AS [Nome], works.dbo.lavorazione.obiettivo_id AS [Obiettivo], works.dbo.lavorazione.priorita_id AS [Priorita], " + " convert(varchar, works.dbo.lavorazione.consegna, 103) AS [Consegna], works.dbo.lavorazione.datainserimento AS [Inserito], " + " works.dbo.lavorazione.utente_id AS [Proprietario], storico.descrizione + '#' + convert (varchar, storico.data, 103) + ' ' + convert(varchar, storico.data, 24) AS [Ultimo Stato], works.dbo.lavorazione.id AS [News], works.dbo.lavorazione.operatore_id AS [OP], " + " works.dbo.lavorazione.id AS [Link], works.dbo.lavorazione.note AS [Nota], isnull(works.dbo.amzordine.vettore_id, 0) AS [VettID], " + " storico.colore AS [USID], storico.ordine AS [ORDCOL], storico.stato_id AS [IDSTATO], '0' AS [NEWORD], '0' AS [SCAD], storico.operatori_display AS [OPDISP], works.dbo.utente_lavoro.utente_id AS clfID" + " from works.dbo.lavorazione " + " outer apply(select top 1 works.dbo.storico_lavoro.stato_id, works.dbo.stato_lavoro.ordine, works.dbo.stato_lavoro.descrizione, works.dbo.storico_lavoro.data, works.dbo.stato_lavoro.colore, works.dbo.stato_lavoro.operatori_display " + " from works.dbo.storico_lavoro, works.dbo.stato_lavoro where works.dbo.stato_lavoro.id = works.dbo.storico_lavoro.stato_id and works.dbo.storico_lavoro.lavorazione_id = works.dbo.lavorazione.id order by works.dbo.storico_lavoro.data desc) as storico " + " join giomai_db.dbo.ecmonsql on (works.dbo.lavorazione.rivenditore_id = giomai_db.dbo.ecmonsql.cliente_id) " + " join works.dbo.utente_lavoro on (works.dbo.lavorazione.rivenditore_id = works.dbo.utente_lavoro.rivenditore_id AND works.dbo.utente_lavoro.utente_id = works.dbo.lavorazione.clienteF_id ) " + " left join works.dbo.amzordine on (works.dbo.amzordine.numamzordine = works.dbo.lavorazione.nomelavoro) " + " where works.dbo.lavorazione.id > 0 " + filOb + filTs + filMc + filPr + filApp + filEv + filOp + filComm + filRivend; //" order by works.dbo.lavorazione.datainserimento desc "; OleDbDataAdapter adt = new OleDbDataAdapter(str, mcn); DataTable dt = new DataTable(); adt.Fill(dt); DataTable res = dt.Clone(); res.Columns[statoCol].DataType = typeof(string); res.Columns[ordCol].DataType = typeof(int); res.Columns[prCol].DataType = typeof(int); res.Columns[inserCol].DataType = typeof(DateTime); res.Columns[idStatoCol].DataType = typeof(int); res.Columns[newOrd].DataType = typeof(int); res.Columns[scadCol].DataType = typeof(int); res.Columns[clienteFID].DataType = typeof(int); res.Columns[clienteFID].DataType = typeof(int); foreach (DataRow row in dt.Rows) { res.ImportRow(row); } //LavClass.StoricoLavoro storL; //LavClass.StatoLavoro slDisplay; int dispID; string dispUsers; DateTime cons; OleDbConnection wc = new OleDbConnection(s.lavOleDbConnection); wc.Open(); foreach (DataRow dr in res.Rows) { /*storL = LavClass.StatoLavoro.GetLastStato(int.Parse(dr[statoCol].ToString()), this.settings, wc); * dr[statoCol] = storL.stato.descrizione + "#" + storL.data.ToString(); * dr[ordCol] = storL.stato.ordine; * dr[idStatoCol] = storL.stato.id;*/ // MODIFICA PRIORITA' cons = DateTime.Parse(dr[consCol].ToString()); if (oper.tipo.id == settings.lavDefOperatoreID && cons.Subtract(DateTime.Today).Days <= NPriorita) { dr[newOrd] = -1; } if (cons < DateTime.Today) { dr[scadCol] = -1; } /*slDisplay = new LavClass.StatoLavoro(int.Parse(dr[idStatoCol].ToString()), settings, wc); * if (!sospesi && slDisplay.id == s.lavDefStatoSospeso) * dr.Delete(); * else if (!soloMieiStati && (slDisplay.id == s.lavDefStoricoChiudi || slDisplay.id == s.lavDefStatoNotificaIns)) * dr.Delete(); * else if (soloMieiStati && !slDisplay.OperatoreDisplay(oper)) * dr.Delete(); * else if (!soloMieiStati && !slDisplay.OperatoreDisplay(oper)) * dr[linkCol] = 0;*/ dispID = int.Parse(dr[idStatoCol].ToString()); dispUsers = dr[opDispCol].ToString(); if (!sospesi && dispID == s.lavDefStatoSospeso) { dr.Delete(); } else if (!soloMieiStati && (dispID == s.lavDefStoricoChiudi || dispID == s.lavDefStatoNotificaIns)) { dr.Delete(); } else if (soloMieiStati && !LavClass.StatoLavoro.IsOperatoreInList(dispUsers, ',', oper)) { dr.Delete(); } else if (!soloMieiStati && !LavClass.StatoLavoro.IsOperatoreInList(dispUsers, ',', oper)) { dr[linkCol] = 0; } } wc.Close(); mcn.Close(); if (statID == 0) { res.DefaultView.Sort = (chkSortDate.Checked) ? "ORDCOL ASC, Inserito ASC, SCAD ASC, NEWORD ASC, Priorita DESC" : "ORDCOL ASC, SCAD ASC, NEWORD ASC, Priorita DESC, Inserito ASC"; //////////// res.Columns.RemoveAt(opDispCol); res.Columns.RemoveAt(scadCol); res.Columns.RemoveAt(newOrd); LavGrid.DataSource = res.DefaultView.ToTable(); } else if (statID != 0 && res.Select(" IDSTATO = " + statID.ToString()).Length > 0) { res = res.Select(" IDSTATO = " + statID.ToString()).CopyToDataTable(); res.DefaultView.Sort = (chkSortDate.Checked) ? "ORDCOL ASC, Inserito ASC, SCAD ASC, NEWORD ASC, Priorita DESC" : "ORDCOL ASC, SCAD ASC, NEWORD ASC, Priorita DESC, Inserito ASC"; //////////// res.Columns.RemoveAt(opDispCol); res.Columns.RemoveAt(scadCol); res.Columns.RemoveAt(newOrd); LavGrid.DataSource = res.DefaultView.ToTable(); } else if (statID == 0 && res.Select(" IDSTATO = " + statID.ToString()).Length == 0) { res = null; LavGrid.DataSource = res; } prFile = XDocument.Load(settings.lavPrioritaFile); obFile = XDocument.Load(settings.lavObiettiviFile); operFile = XDocument.Load(settings.lavOperatoreFile); tipoOpFile = XDocument.Load(settings.lavTipoOperatoreFile); LavGrid.DataBind(); labTotRighe.Text = "Lavorazioni mostrate: " + LavGrid.Rows.Count; fillDropRivenditori((DataTable)LavGrid.DataSource, DropRivenditori.SelectedValue); }
private AmazonOrder.Order.lavInfo OpenLavorazioneFromAmz(AmazonOrder.Order order, OleDbConnection wc, OleDbConnection cnn, AmzIFace.AmazonSettings amzs, UtilityMaietta.genSettings s, string invoice) { string mailcl = order.buyer.emailCompratore; LavClass.UtenteLavoro ul = new LavClass.UtenteLavoro(mailcl, amzs.AmazonMagaCode, wc, cnn, s); LavClass.Operatore opLav; LavClass.Macchina mc = new LavClass.Macchina(amzs.lavMacchinaDef, s.lavMacchinaFile, s); LavClass.TipoStampa ts = new LavClass.TipoStampa(amzs.lavTipoStampaDef, s.lavTipoStampaFile); LavClass.Obiettivo ob = new LavClass.Obiettivo(amzs.lavObiettivoDef, s.lavObiettiviFile); //LavClass.Priorita pr = new LavClass.Priorita(amzs.lavPrioritaDef, s.lavPrioritaFile); LavClass.Priorita pr = new LavClass.Priorita(((order.ShipmentServiceLevelCategory.ShipmentLevelIs(AmazonOrder.ShipmentLevel.ESPRESSA)) ? amzs.lavPrioritaDefExpr : amzs.lavPrioritaDefStd), s.lavPrioritaFile); LavClass.Operatore approvatore = new LavClass.Operatore(amzs.lavApprovatoreDef, s.lavOperatoreFile, s.lavTipoOperatoreFile); int lavid = 0; //double myprice; if (ul.id == 0) // NON HO MAIL UTENTE { // INSERISCI SAVE UTENTE UtilityMaietta.clienteFattura amazonRiv = new UtilityMaietta.clienteFattura(amzs.AmazonMagaCode, cnn, s); LavClass.UtenteLavoro.SaveUtente(amazonRiv, wc, order.buyer.nomeCompratore + " c/o " + order.destinatario.nome, order.buyer.emailCompratore, order.destinatario.ToString(), order.destinatario.ToStringFormatted()); ul = new LavClass.UtenteLavoro(order.buyer.emailCompratore, amzs.AmazonMagaCode, wc, cnn, s); } if (ul.HasOperatorePref()) { opLav = ul.OperatorePreferito(); } else { opLav = new LavClass.Operatore(amzs.lavOperatoreDef, s.lavOperatoreFile, s.lavTipoOperatoreFile); } //string postit = ((order.GetSiglaVettore(cnn, amzs)) == postaSigla) ? "Spedizione con " + postaSigla : ""; // INSERISCI SAVE LAVORAZIONE string testo = (invoice != "") ? "Lavorazione <b>" + order.canaleVendita.ToUpper() + "</b> automatica.<br /><br />" + invoice : "Lavorazione <b>" + order.canaleVendita.ToUpper() + "</b> automatica."; lavid = LavClass.SchedaLavoro.SaveLavoro(wc, amzs.AmazonMagaCode, ul.id, opLav.id, mc.id, ts.id, ob.id, DateTime.Now, op, null, null, true, approvatore.id, false, testo, "", order.dataSpedizione, order.orderid, pr.id); // ADD PRODOTTI ArrayList distinctMaietta; if (freeProds && Session["freeProds"] != null) /// VENGO DA RICEVUTA FREEINVOICE E CON SPUNTA CREA LAVORAZIONE { distinctMaietta = new ArrayList((List <AmzIFace.CodiciDist>)Session["freeProds"]); foreach (AmzIFace.CodiciDist codD in distinctMaietta) { LavClass.ProdottoLavoro.SaveProdotto(lavid, codD.maietta.idprodotto, codD.qt, "", codD.totPrice / codD.qt, false, wc); } } else if (order.Items != null) /// VENGO DA PANORAMICA { distinctMaietta = FillDistinctCodes(order.Items, aMerchant, s); //, DateTime.Today); foreach (AmzIFace.CodiciDist codD in distinctMaietta) { LavClass.ProdottoLavoro.SaveProdotto(lavid, codD.maietta.idprodotto, codD.qt, "", codD.totPrice / codD.qt, false, wc); } } AmazonOrder.Order.lavInfo li = new AmazonOrder.Order.lavInfo(); li.lavID = lavid; li.rivID = amzs.AmazonMagaCode; li.userID = ul.id; return(li); }