public string UbicaDaODL(string BarcodeODL, string BarcodeUbicazione, string utenza)
        {
            SpedizioniDS.SPUBICAZIONIRow ubicazione = LeggiUbicazione(BarcodeUbicazione);
            if (ubicazione == null)
            {
                return("UBICAZIONE NON TROVATA");
            }

            TrasferimentiDS.USR_PRD_MOVFASIRow odl = LeggiODL(BarcodeODL);
            if (odl == null)
            {
                return("ARTICOLO NON TROVATO");
            }

            Anagrafica _anagrafica = new Anagrafica();

            AnagraficaDS.MAGAZZRow articolo = _anagrafica.GetMAGAZZ(odl.IDMAGAZZ);
            if (articolo == null)
            {
                return("ARTICOLO NON TROVATO");
            }

            if (!Inserimento(ubicazione, articolo, odl.QTA, odl.IsNUMMOVFASENull() ? "ODL" : odl.NUMMOVFASE, utenza))
            {
                return("ERRORE SALVATAGGIO");
            }

            return("COMPLETATA");
        }
        private void CaricaTrasferimento(string barcode, decimal colli)
        {
            using (TrasferimentiBusiness bTrasferimenti = new TrasferimentiBusiness())
            {
                if (!_ds.USR_TRASF_RICH.Any(x => x.BARCODE == barcode))
                {
                    bTrasferimenti.FillUSR_TRASF_RICH(_ds, barcode);
                }

                TrasferimentiDS.USR_TRASF_RICHRow trasferimento = _ds.USR_TRASF_RICH.Where(x => x.BARCODE == barcode).FirstOrDefault();
                if (trasferimento == null)
                {
                    lblMessaggi.Text = "BARCODE NON TROVATO";
                    return;
                }
                AnagraficaDS.MAGAZZRow articolo = _anagrafica.GetMAGAZZ(trasferimento.IDMAGAZZ);

                DataTable dtGriglia = _dsGriglia.Tables[_tabellaGriglia];

                DataRow riga = dtGriglia.NewRow();

                riga[(int)colonneGriglia.BARCODE]    = trasferimento.IsBARCODENull() ? string.Empty : trasferimento.BARCODE;
                riga[(int)colonneGriglia.MODELLO]    = articolo == null ? string.Empty : articolo.MODELLO;
                riga[(int)colonneGriglia.NUMMOVFASE] = trasferimento.IsNUMRICHTRASFTNull() ? string.Empty : trasferimento.NUMRICHTRASFT;
                riga[(int)colonneGriglia.REPARTO]    = "MAGAZZINO";
                riga[(int)colonneGriglia.QUANTITA]   = trasferimento.QTA;
                riga[(int)colonneGriglia.COLLI]      = colli;

                dtGriglia.Rows.Add(riga);
            }
        }
        public bool Inserimento(SpedizioniDS.SPUBICAZIONIRow ubicazione, AnagraficaDS.MAGAZZRow articolo, decimal quantita, string causale, string utenza)
        {
            using (SpedizioniBusiness bSpedizioni = new SpedizioniBusiness())
            {
                try
                {
                    bSpedizioni.GetSaldo(ds, ubicazione.IDUBICAZIONE, articolo.IDMAGAZZ);
                    SpedizioniDS.SPSALDIRow saldo = ds.SPSALDI.Where(x => x.IDUBICAZIONE == ubicazione.IDUBICAZIONE && x.IDMAGAZZ == articolo.IDMAGAZZ).FirstOrDefault();
                    DateTime data    = DateTime.Now;
                    decimal  idsaldo = bSpedizioni.GetID();;
                    if (saldo == null)
                    {
                        saldo                = ds.SPSALDI.NewSPSALDIRow();
                        saldo.IDSALDO        = idsaldo;
                        saldo.IDMAGAZZ       = articolo.IDMAGAZZ;
                        saldo.DATAMODIFICA   = data;
                        saldo.IDUBICAZIONE   = ubicazione.IDUBICAZIONE;
                        saldo.QUANTITA       = quantita;
                        saldo.UTENTEMODIFICA = utenza;
                        ds.SPSALDI.AddSPSALDIRow(saldo);
                    }
                    else
                    {
                        idsaldo              = saldo.IDSALDO;
                        saldo.DATAMODIFICA   = data;
                        saldo.QUANTITA       = saldo.QUANTITA + quantita;
                        saldo.UTENTEMODIFICA = utenza;
                    }

                    SpedizioniDS.SPMOVIMENTIRow movimento = ds.SPMOVIMENTI.NewSPMOVIMENTIRow();
                    movimento.CAUSALE        = causale;
                    movimento.DATAMODIFICA   = DateTime.Now;
                    movimento.IDSALDO        = idsaldo;
                    movimento.QUANTITA       = quantita;
                    movimento.TIPOMOVIMENTO  = "VERSAMENTO";
                    movimento.UTENTEMODIFICA = utenza;
                    ds.SPMOVIMENTI.AddSPMOVIMENTIRow(movimento);

                    bSpedizioni.SalvaInserimento(ds);
                    return(true);
                }
                catch (Exception ex)
                {
                    bSpedizioni.Rollback();
                    return(false);
                }
            }
        }
        public string LeggiBarcode(string barcode)
        {
            string tipo = barcode.Substring(0, 3);

            if (tipo == BarcodeHelper.TipoUbicazione)
            {
                SpedizioniDS.SPUBICAZIONIRow ubicazione = LeggiUbicazione(barcode);
                if (ubicazione == null)
                {
                    return("Ubicazione sconosciuta");
                }

                return(string.Format("{0} - {1}", ubicazione.CODICE, ubicazione.DESCRIZIONE));
            }

            if (tipo == BarcodeHelper.RisorsaFisica)
            {
                string utenza = LeggiUtenza(barcode);
                if (string.IsNullOrEmpty(utenza))
                {
                    return("Ubicazione sconosciuta");
                }

                return(utenza);
            }

            TrasferimentiDS.USR_PRD_MOVFASIRow odl = LeggiODL(barcode);
            if (odl == null)
            {
                return("BARCODE NON TROVATO");
            }

            Anagrafica _anagrafica = new Anagrafica();

            AnagraficaDS.MAGAZZRow articolo = _anagrafica.GetMAGAZZ(odl.IDMAGAZZ);

            return(string.Format("{0} - {1}", odl.QTA, articolo.MODELLO));
        }
        private Articolo CreaArticolo(AnagraficaDS.MAGAZZRow magazz)
        {
            if (magazz == null)
            {
                return(null);
            }

            Articolo articolo = new Articolo();

            articolo.Modello     = magazz.MODELLO;
            articolo.Descrizione = magazz.DESMAGAZZ;
            articolo.IdMagazz    = magazz.IDMAGAZZ;
            articolo.Superficie  = magazz.SUPERFICIE;
            articolo.Peso        = magazz.PESO;

            AnagraficaDS.USR_PDM_FILESRow immagine = _ds.USR_PDM_FILES.Where(x => x.IDMAGAZZ == magazz.IDMAGAZZ).FirstOrDefault();
            if (immagine != null)
            {
                articolo.Immagine = immagine.PDMPATH + immagine.NOMEFILE;
            }

            return(articolo);
        }
        private bool CaricaODL(string barcode, decimal colli)
        {
            if (string.IsNullOrEmpty(barcode))
            {
                return(false);
            }

            using (TrasferimentiBusiness bTrasferimenti = new TrasferimentiBusiness())
            {
                if (!_ds.USR_PRD_MOVFASI.Any(x => x.BARCODE == barcode))
                {
                    bTrasferimenti.FillUSR_PRD_MOVFASI(_ds, barcode);
                }

                TrasferimentiDS.USR_PRD_MOVFASIRow odl = _ds.USR_PRD_MOVFASI.Where(x => x.BARCODE == barcode).FirstOrDefault();
                if (odl == null)
                {
                    lblMessaggi.Text = "BARCODE NON TROVATO";
                    return(false);
                }
                AnagraficaDS.MAGAZZRow articolo = _anagrafica.GetMAGAZZ(odl.IDMAGAZZ);

                DataTable dtGriglia = _dsGriglia.Tables[_tabellaGriglia];

                DataRow riga = dtGriglia.NewRow();

                riga[(int)colonneGriglia.BARCODE]    = odl.IsBARCODENull() ? string.Empty : odl.BARCODE;
                riga[(int)colonneGriglia.MODELLO]    = articolo == null ? string.Empty : articolo.MODELLO;
                riga[(int)colonneGriglia.NUMMOVFASE] = odl.IsNUMMOVFASENull() ? string.Empty : odl.NUMMOVFASE;
                riga[(int)colonneGriglia.REPARTO]    = odl.IsCODICECLIFODESTNull() ? string.Empty : odl.CODICECLIFODEST;
                riga[(int)colonneGriglia.QUANTITA]   = odl.QTA;
                riga[(int)colonneGriglia.COLLI]      = colli;

                dtGriglia.Rows.Add(riga);
            }
            return(true);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (nQuantita.Value == 0)
            {
                MessageBox.Show("Indicare LA QUANTITà", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            Spedizioni sp = new Spedizioni();

            lblEsito.Text = String.Empty;

            if (string.IsNullOrEmpty(txtUbicazione.Text))
            {
                MessageBox.Show("Indicare l'ubicazione", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            txtUbicazione.Text = txtUbicazione.Text.ToUpper();
            txtarticolo.Text   = txtarticolo.Text.ToUpper();
            txtCausale.Text    = txtCausale.Text.ToUpper();

            SpedizioniDS.SPUBICAZIONIRow ubicazione = _ds.SPUBICAZIONI.Where(x => x.CODICE == txtUbicazione.Text).FirstOrDefault();
            if (ubicazione == null)
            {
                MessageBox.Show("Ubicazione inesistente", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            if (string.IsNullOrEmpty(txtarticolo.Text))
            {
                MessageBox.Show("Indicare l'articolo", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            sp.FillMagazz(_ds, txtarticolo.Text);
            if (_ds.MAGAZZ.Count == 0)
            {
                MessageBox.Show("Impossibile trovare l'articolo", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            if (_ds.MAGAZZ.Count > 1)
            {
                MessageBox.Show("Più articoli trovati con questa descrizione. Filtrare i dati", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            SpedizioniDS.MAGAZZRow articolo   = _ds.MAGAZZ.Where(x => x.MODELLO == txtarticolo.Text).FirstOrDefault();
            Anagrafica             anagrafica = new Anagrafica();

            AnagraficaDS.MAGAZZRow art = anagrafica.GetMAGAZZ(articolo.IDMAGAZZ);

            if (!sp.Inserimento(ubicazione, art, nQuantita.Value, txtCausale.Text, _utenteConnesso))
            {
                MessageBox.Show("OPERAZIONE FALLITA errore nel salvataggio", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            lblEsito.Text = "OPERAZIONE RIUSCITA";

            nQuantita.Value = 0;
        }
 public Articolo GetArticolo(string IDMAGAZZ)
 {
     AnagraficaDS.MAGAZZRow magazz = GetMAGAZZ(IDMAGAZZ);
     return(CreaArticolo(magazz));
 }