예제 #1
0
        private void btnEsporta_Click(object sender, EventArgs e)
        {
            try
            {
                List <MPIntranet.Business.Task> tasks = MPIntranet.Business.Task.EstraiListaTask();

                List <ExpDistintaBusinessCentral> distinteExport = new List <ExpDistintaBusinessCentral>();
                List <ExpCicloBusinessCentral>    cicliExport    = new List <ExpCicloBusinessCentral>();
                string errori;
                if (_distinta == null)
                {
                    MessageBox.Show("Nessuna distinta selezionata", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                if (_distinta.Esporta(distinteExport, cicliExport, out errori))
                {
                    foreach (ExpCicloBusinessCentral ciclo in cicliExport)
                    {
                        ciclo.RinumeraCodiceOperazione();
                        foreach (ExpFaseCicloBusinessCentral fc in ciclo.Fasi)
                        {
                            MPIntranet.Business.Task task = tasks.Where(x => x.Codice == fc.Task).FirstOrDefault();
                            if (task != null && string.IsNullOrEmpty(fc.Descrizione))
                            {
                                fc.Descrizione = task.Descrizione;
                            }
                        }
                    }

                    List <ExpDistintaBusinessCentral> dacancellare = (from ds in distinteExport where ds.Componenti.Count == 0 select ds).ToList();
                    dacancellare.ForEach(x => distinteExport.Remove(x));

                    string         etichettaFinestra = string.Format("Esportazione articolo {0} distinta {1}", _articolo.ToString(), _distinta.ToString());
                    EsportaDiBaFrm form = new EsportaDiBaFrm(distinteExport, cicliExport, etichettaFinestra);

                    form.MdiParent = this.MdiParent;
                    form.Show();
                }
                else
                {
                    string messagio = "VERIFICARE I SEGUENTI ERRORI" + Environment.NewLine + errori;
                    MessageBox.Show(messagio, "ERRORI", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                MostraEccezione(ex, "Errore in esporta distinta");
            }
        }
예제 #2
0
        private void correggiDescrizioniFasiCiclo()
        {
            List <MPIntranet.Business.Task> tasks = MPIntranet.Business.Task.EstraiListaTask();

            foreach (Componente c in _distinta.Componenti)
            {
                foreach (FaseCiclo f in c.FasiCiclo)
                {
                    MPIntranet.Business.Task task = tasks.Where(x => x.Codice == f.Task).FirstOrDefault();
                    if (task != null && string.IsNullOrEmpty(f.Descrizione))
                    {
                        f.Descrizione = task.Descrizione;
                    }
                }
            }
        }