示例#1
0
        private bool trovaAnagraficaPerMigrazione(MigrazioneODLDS.USR_PRD_MOVFASIRow odl)
        {
            txtAnagrafica.Text = string.Empty;
            if (odl.IsIDMAGAZZNull())
            {
                return(false);
            }


            string idmagazz = odl.IDMAGAZZ;

            using (MigrazioneODLBusiness bMigrazioneODL = new MigrazioneODLBusiness())
            {
                bool continua = true;
                MigrazioneODLDS.BC_ANAGRAFICA_PRODUZIONERow anagrafica = bMigrazioneODL.GetANAGRAFICA(_ds, idmagazz);

                if (anagrafica != null)
                {
                    txtAnagrafica.Text = (anagrafica == null) ? string.Empty : anagrafica.BC;
                    return(true);
                }
                bMigrazioneODL.FillBC_MIGRAZIONE(_ds);
                MigrazioneODLDS.BC_MIGRAZIONERow riga = _ds.BC_MIGRAZIONE.Where(x => x.IDMAGAZZ == idmagazz).FirstOrDefault();
                if (riga == null)
                {
                    return(false);
                }
                decimal iddiba = riga.DIBA;
                decimal idnodo = riga.IDNODO;
                while (anagrafica == null && continua)
                {
                    riga = _ds.BC_MIGRAZIONE.Where(x => x.IDNODO == idnodo && x.DIBA == iddiba).FirstOrDefault();
                    if (riga == null)
                    {
                        continua = false;
                    }
                    else
                    {
                        if (riga.IDPADRE < 0)
                        {
                            continua = false;
                        }
                        else
                        {
                            MigrazioneODLDS.BC_MIGRAZIONERow rigaPadre = _ds.BC_MIGRAZIONE.Where(x => x.IDNODO == riga.IDPADRE && x.DIBA == iddiba).FirstOrDefault();
                            idmagazz   = rigaPadre.IDMAGAZZ;
                            idnodo     = rigaPadre.IDNODO;
                            anagrafica = bMigrazioneODL.GetANAGRAFICA(_ds, idmagazz);
                        }
                    }
                }

                txtPRODOTTOFINITO.Text = riga.PRODOTTOFINALE;
                txtAnagrafica.Text     = (anagrafica == null) ? string.Empty : anagrafica.BC;

                return(anagrafica != null);
            }
        }
示例#2
0
 private void caricaNodo(Nodo nodo, int iddiba, string prodottoFinale)
 {
     MigrazioneODLDS.BC_MIGRAZIONERow bcMigrazione = _ds.BC_MIGRAZIONE.NewBC_MIGRAZIONERow();
     bcMigrazione.BC             = nodo.Anagrafica;
     bcMigrazione.IDMAGAZZ       = nodo.IDMAGAZZ;
     bcMigrazione.IDNODO         = nodo.ID;
     bcMigrazione.PROFONDITA     = nodo.Profondita;
     bcMigrazione.MODELLO        = nodo.Modello;
     bcMigrazione.QUANTITA       = nodo.Quantita;
     bcMigrazione.IDPADRE        = nodo.IDPADRE;
     bcMigrazione.REPARTO        = nodo.Reparto;
     bcMigrazione.FASE           = nodo.Fase;
     bcMigrazione.DIBA           = iddiba;
     bcMigrazione.PRODOTTOFINALE = prodottoFinale;
     _ds.BC_MIGRAZIONE.AddBC_MIGRAZIONERow(bcMigrazione);
 }