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 SpedizioniDS.SPUBICAZIONIRow LeggiUbicazione(string barcodeUbicazione)
 {
     using (SpedizioniBusiness bSpedizioni = new SpedizioniBusiness())
     {
         bSpedizioni.FillSPUBICAZIONI(ds, true);
     }
     SpedizioniDS.SPUBICAZIONIRow ubicazione = ds.SPUBICAZIONI.Where(x => x.BARCODE == barcodeUbicazione).FirstOrDefault();
     return(ubicazione);
 }
        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 void CancellaUbicazione(decimal idUbicazione, string utente)
        {
            using (SpedizioniBusiness bSpedizioni = new SpedizioniBusiness())
            {
                bSpedizioni.FillSPUBICAZIONI(ds, false);

                SpedizioniDS.SPUBICAZIONIRow ubicazione = ds.SPUBICAZIONI.Where(x => x.IDUBICAZIONE == idUbicazione).FirstOrDefault();
                if (ubicazione == null)
                {
                    return;
                }

                ubicazione.CANCELLATO     = "S";
                ubicazione.DATAMODIFICA   = DateTime.Now;
                ubicazione.UTENTEMODIFICA = utente;

                bSpedizioni.SalvaUbicazioni(ds);
            }
        }
        public void SalvaUbicazione(string codice, string descrizione, string utente)
        {
            using (SpedizioniBusiness bSpedizioni = new SpedizioniBusiness())
            {
                long   id             = bSpedizioni.GetID();
                string identificativo = id.ToString().PadLeft(10, '0');
                string barcode        = string.Format("{0}{1}", BarcodeHelper.TipoUbicazione, identificativo);

                SpedizioniDS.SPUBICAZIONIRow ubicazione = ds.SPUBICAZIONI.NewSPUBICAZIONIRow();
                ubicazione.BARCODE        = barcode;
                ubicazione.CODICE         = codice;
                ubicazione.DESCRIZIONE    = descrizione;
                ubicazione.CANCELLATO     = "N";
                ubicazione.DATAMODIFICA   = DateTime.Now;
                ubicazione.UTENTEMODIFICA = utente;

                ds.SPUBICAZIONI.AddSPUBICAZIONIRow(ubicazione);

                bSpedizioni.SalvaUbicazioni(ds);
            }
        }
        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 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;
        }