public static List <ClassProdotto.Prodotto>[] GetProductsListsForCodes(OleDbConnection cnn, string[] codes, UtilityMaietta.genSettings s) { List <ClassProdotto.Prodotto>[] matrix = new List <ClassProdotto.Prodotto> [codes.Length]; OleDbCommand cmd; OleDbDataReader rd; ClassProdotto.Prodotto p; List <ClassProdotto.Prodotto> listaProd; int count = 0, done = 0; int pID; foreach (string codicemaietta in codes) { string str = " SELECT * FROM mapprodotti WHERE codicemaietta = '" + codicemaietta + "' "; cmd = new OleDbCommand(str, cnn); rd = cmd.ExecuteReader(); listaProd = new List <ClassProdotto.Prodotto>(); pID = 0; while (rd.Read()) // CREO LISTA PRODOTTI E LORO PARENT { if (int.TryParse(rd["parentID"].ToString(), out pID)) { p = new ClassProdotto.Prodotto(cnn, codicemaietta, pID, s); } else { p = new ClassProdotto.Prodotto(cnn, codicemaietta, s); } listaProd.Add(p); } rd.Close(); cmd.Dispose(); matrix[count++] = listaProd; if (listaProd.Count > 0) { done++; } } List <ClassProdotto.Prodotto>[] resMatrix = new List <ClassProdotto.Prodotto> [done]; for (int i = 0; i < matrix.Length; i++) { if (matrix[i].Count > 0) { resMatrix[i] = matrix[i]; } } return(resMatrix); }
public List <ClassProdotto.Prodotto> GetAllProducts(OleDbConnection cnn, UtilityMaietta.genSettings s) { string str = " SELECT * from MapProdotti WHERE parentid = " + this.id; OleDbDataAdapter adt = new OleDbDataAdapter(str, cnn); DataTable dt = new DataTable(); adt.Fill(dt); List <ClassProdotto.Prodotto> result = new List <ClassProdotto.Prodotto>(); ClassProdotto.Prodotto p; foreach (DataRow dr in dt.Rows) { p = new ClassProdotto.Prodotto(dr, cnn, this, s); result.Add(p); } return(result); }
public static List <ProductLocals> GetLocalization(OleDbConnection cnn, string codicemaietta, UtilityMaietta.genSettings s) { string str = " SELECT * FROM mapprodotti WHERE codicemaietta = '" + codicemaietta + "' "; OleDbCommand cmd = new OleDbCommand(str, cnn); OleDbDataReader rd = cmd.ExecuteReader(); ClassProdotto.Prodotto p; List <ClassProdotto.Prodotto> listaProd = new List <ClassProdotto.Prodotto>(); int pID = 0; while (rd.Read()) // CREO LISTA PRODOTTI E LORO PARENT { if (int.TryParse(rd["parentID"].ToString(), out pID)) { p = new ClassProdotto.Prodotto(cnn, codicemaietta, pID, s); } else { p = new ClassProdotto.Prodotto(cnn, codicemaietta, s); } listaProd.Add(p); } rd.Close(); // PER OGNI PRODOTTO CREO POSIZIONI List <ProductLocals> listapl = new List <ProductLocals>(); ProductLocals plocal = new ProductLocals(); ClassStruttura.Struttura stu; foreach (ClassProdotto.Prodotto cp in listaProd) { stu = cp.parent; plocal.listaContenitori = new List <string>(); while (stu != null) { plocal.listaContenitori.Insert(0, (stu.nome + " (" + stu.sigla + ")")); if (stu.position != null && stu.parent != null) { plocal.position = stu.position; //plocal.mapFile = stu.parent.mapFotoFile; plocal.mapFile = stu.GetMapFoto; } if (stu.pLevel.HasValue) { plocal.livello = stu.pLevel.Value; } if (stu.ripiano.HasValue) { plocal.ripiano = stu.ripiano; } if (cp.quantita != 0) { plocal.qt = cp.quantita; } stu = stu.parent; } listapl.Add(plocal); } return(listapl); }