public static List <FaseCicloBC> EstraiListaFaseCiclo(string codiceCiclo)
        {
            List <FaseCicloBC> fasiCiclo = new List <FaseCicloBC>();
            ArticoliDS         ds        = new ArticoliDS();

            using (ArticoliBusiness bArticolo = new ArticoliBusiness())
            {
                bArticolo.GetCicliBCTestata(ds, codiceCiclo);
                bArticolo.GetCicliBCCommenti(ds, codiceCiclo);

                ArticoliDS.CicliBCTestataRow testata = ds.CicliBCTestata.Where(x => x.No_ == codiceCiclo).FirstOrDefault();
                if (testata == null)
                {
                    return(fasiCiclo);
                }

                bArticolo.GetCicliBCDettaglio(ds, codiceCiclo);
                List <ArticoliDS.CicliBCDettaglioRow> dettagli = ds.CicliBCDettaglio.Where(x => x.Routing_No_ == codiceCiclo).OrderBy(x => x.Operation_No_).ToList();

                foreach (ArticoliDS.CicliBCDettaglioRow riga in ds.CicliBCDettaglio)
                {
                    FaseCicloBC faseCiclo = CreaFaseCiclo(riga, codiceCiclo, ds);
                    fasiCiclo.Add(faseCiclo);
                }
            }
            return(fasiCiclo);
        }
예제 #2
0
        private List <FaseDistinta> estraiListaFasi(string codiceTestata, int idFaseDistinta, int idPadre)
        {
            ArticoliDS          ds   = new ArticoliDS();
            List <FaseDistinta> fasi = new List <FaseDistinta>();

            using (ArticoliBusiness bArticoli = new ArticoliBusiness())
            {
                bArticoli.GetDistinteBCTestata(ds, codiceTestata);
                bArticoli.GetDistinteBCDettaglio(ds, codiceTestata);
                bArticoli.GetCicliBCTestata(ds, codiceTestata);
                bArticoli.GetCicliBCDettaglio(ds, codiceTestata);
                ArticoliDS.DistinteBCTestataRow       testata = ds.DistinteBCTestata.Where(x => x.No_ == codiceTestata).FirstOrDefault();
                List <ArticoliDS.CicliBCDettaglioRow> cicli   = ds.CicliBCDettaglio.Where(x => x.Routing_No_ == codiceTestata).ToList();

                for (int i = 0; i < cicli.Count; i++)
                {
                    if (i == 0)
                    {
                        FaseDistinta fase = FaseDistinta.CreaFaseDistinta(testata, cicli[i], idFaseDistinta, idPadre);
                        fasi.Add(fase);
                        idPadre = idFaseDistinta;
                    }
                    else
                    {
                        FaseDistinta fase = FaseDistinta.CreaFaseDistinta(cicli[i], idFaseDistinta, idPadre);
                        fasi.Add(fase);
                        idPadre = idFaseDistinta;
                    }
                    idFaseDistinta++;
                }
                List <ArticoliDS.DistinteBCDettaglioRow> componenti = ds.DistinteBCDettaglio.Where(x => x.Production_BOM_No_ == codiceTestata).ToList();

                foreach (ArticoliDS.DistinteBCDettaglioRow componente in componenti)
                {
                    fasi.AddRange(estraiListaFasi(componente.No_, idFaseDistinta, idPadre));
                }
            }

            return(fasi);
        }