Esempio n. 1
0
        private void CaricaBC_Anagrafica()
        {
            _ds.BC_ANAGRAFICA.Clear();
            MigrazioneDiBaBLL bll = new MigrazioneDiBaBLL();

            bll.FillBC_ANAGRAFICA(_ds);
        }
Esempio n. 2
0
        private void CaricaMagazz()
        {
            _ds.MAGAZZ.Clear();
            MigrazioneDiBaBLL bll = new MigrazioneDiBaBLL();

            bll.FillMAGAZZ(_ds);
        }
Esempio n. 3
0
        private bool PreparaDistinte(out string messaggioErrore, out List <Distinta> distinte)
        {
            distinte = new List <Distinta>();
            try
            {
                messaggioErrore = string.Empty;
                MigrazioneDiBaBLL bll = new MigrazioneDiBaBLL();

                List <MigrazioneDiBaDS.DATIEXCELRow> righeConAnagrafica = _ds.DATIEXCEL.Where(x => !string.IsNullOrEmpty(x.ANAGRAFICA)).OrderBy(x => x.IDDATAEXCEL).ToList();
                if (righeConAnagrafica.Count == 0)
                {
                    messaggioErrore = "Nessuna anagrafica trovata";
                    return(false);
                }

                MigrazioneDiBaDS.DATIEXCELRow riga = righeConAnagrafica.FirstOrDefault();
                int avantiMassimo = _ds.DATIEXCEL.Max(x => x.AVANTI);
                creaDistinta(riga, 1, _ds.DATIEXCEL.Rows.Count, distinte, righeConAnagrafica, avantiMassimo);

                ImpaginaMessaggioDistinte(distinte);
                return(true);
            }
            catch (Exception ex)
            {
                messaggioErrore = ex.Message;
                return(false);
            }
        }
Esempio n. 4
0
        private bool EstraiAnagrafiche(out string messaggioErrore)
        {
            try
            {
                messaggioErrore = string.Empty;
                MigrazioneDiBaBLL bll = new MigrazioneDiBaBLL();

                List <MigrazioneDiBaDS.DATIEXCELRow> datiExcelConAnagrafica = _ds.DATIEXCEL.Where(x => !x.IsANAGRAFICANull() && !string.IsNullOrEmpty(x.ANAGRAFICA)).ToList();
                List <string> anagraficheCensite    = new List <string>();
                List <string> anagraficheModificate = new List <string>();
                List <string> anagraficheNuove      = new List <string>();
                foreach (MigrazioneDiBaDS.DATIEXCELRow datoExcelConAnagrafica in datiExcelConAnagrafica)
                {
                    MigrazioneDiBaDS.BC_ANAGRAFICARow riga = _ds.BC_ANAGRAFICA.Where(x => x.IDMAGAZZ == datoExcelConAnagrafica.IDMAGAZZ).FirstOrDefault();
                    if (riga != null)
                    {
                        if (riga.BC != datoExcelConAnagrafica.ANAGRAFICA)
                        {
                            anagraficheModificate.Add(string.Format("{2} associazione modificata {0} -> {1}", riga.BC, datoExcelConAnagrafica.ANAGRAFICA, datoExcelConAnagrafica.MODELLO));
                            riga.BC = datoExcelConAnagrafica.ANAGRAFICA;
                        }
                        else
                        {
                            anagraficheCensite.Add(riga.BC);
                        }
                    }
                    else
                    {
                        MigrazioneDiBaDS.BC_ANAGRAFICARow nuovaRiga = _ds.BC_ANAGRAFICA.NewBC_ANAGRAFICARow();
                        nuovaRiga.BC       = datoExcelConAnagrafica.ANAGRAFICA;
                        nuovaRiga.IDMAGAZZ = datoExcelConAnagrafica.IDMAGAZZ;
                        _ds.BC_ANAGRAFICA.AddBC_ANAGRAFICARow(nuovaRiga);
                        anagraficheNuove.Add(string.Format("{0} associata a {1}", datoExcelConAnagrafica.MODELLO, datoExcelConAnagrafica.ANAGRAFICA));
                    }
                }
                if (chkSalvaAnagrafiche.Checked)
                {
                    bll.SalvaBC_ANAGRAFICA(_ds);
                }

                ImpaginaMessaggioAnagrafiche(anagraficheCensite, anagraficheModificate, anagraficheNuove);

                return(true);
            }
            catch (Exception ex)
            {
                messaggioErrore = ex.Message;
                return(false);
            }
        }
Esempio n. 5
0
        private bool PreparaCicli(out string messaggioErrore, out List <Ciclo> cicli)
        {
            cicli = new List <Ciclo>();
            try
            {
                messaggioErrore = string.Empty;
                MigrazioneDiBaBLL bll = new MigrazioneDiBaBLL();

                List <MigrazioneDiBaDS.DATIEXCELRow> righeConAnagrafica = _ds.DATIEXCEL.Where(x => !string.IsNullOrEmpty(x.ANAGRAFICA)).OrderByDescending(x => x.IDDATAEXCEL).ToList();
                if (righeConAnagrafica.Count == 0)
                {
                    messaggioErrore = "Nessuna anagrafica trovata";
                    return(false);
                }

                int idInizioCiclo = 0;
                int avanti        = 0;
                foreach (MigrazioneDiBaDS.DATIEXCELRow riga in righeConAnagrafica)
                {
                    if (idInizioCiclo == 0)
                    {
                        idInizioCiclo = riga.IDDATAEXCEL;
                        avanti        = riga.AVANTI;
                    }
                    else if (idInizioCiclo > 0)
                    {
                        if (riga.AVANTI < avanti)
                        {
                            cicli.Add(new Ciclo(idInizioCiclo, riga.IDDATAEXCEL, riga.ANAGRAFICA));
                        }
                        idInizioCiclo = riga.IDDATAEXCEL;
                        avanti        = riga.AVANTI;
                    }
                }

                foreach (Ciclo c in cicli)
                {
                    int operazione = 10;
                    for (int i = c.Inizio - 1; i >= c.Fine; i--)
                    {
                        MigrazioneDiBaDS.DATIEXCELRow riga = _ds.DATIEXCEL.Where(x => x.IDDATAEXCEL == i).FirstOrDefault();
                        if (riga != null)
                        {
                            Fase f = new Fase();
                            f.Operazione = operazione;
                            operazione  += 10;

                            f.AreaProduzione   = riga.REPARTO;
                            f.TempoLavorazione = riga.PEZZIORARI > 0 ? 1 / riga.PEZZIORARI : 0;
                            f.Collegamento     = riga.COLLEGAMENTO;
                            f.Task             = riga.CODICEFASE;
                            if (!string.IsNullOrEmpty(riga.NOTA))
                            {
                                f.Commenti.Add(riga.NOTA);
                            }
                            c.Fasi.Add(f);
                        }
                    }
                }
                ImpaginaMessaggioCicli(cicli);
                return(true);
            }
            catch (Exception ex)
            {
                messaggioErrore = ex.Message;
                return(false);
            }
        }