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); }
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); }