Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }