public string Movimenta(decimal idsaldo, decimal quantita, string causale, string tipoOperazione, string utenza)
        {
            using (SpedizioniBusiness bSpedizioni = new SpedizioniBusiness())
            {
                try
                {
                    bSpedizioni.GetSaldo(ds, idsaldo);
                    SpedizioniDS.SPSALDIRow saldo = ds.SPSALDI.Where(x => x.IDSALDO == idsaldo).FirstOrDefault();
                    DateTime data = DateTime.Now;
                    if (saldo == null)
                    {
                        return("Impossibile trovare il saldo");
                    }


                    saldo.DATAMODIFICA = data;
                    decimal quantitaSaldo = saldo.QUANTITA;
                    if (tipoOperazione == "VERSAMENTO")
                    {
                        quantitaSaldo = saldo.QUANTITA + quantita;
                    }
                    else
                    {
                        quantitaSaldo = saldo.QUANTITA - quantita;
                        if (quantitaSaldo < 0)
                        {
                            return("Saldo negativo operazione non ammessa");
                        }
                    }

                    saldo.QUANTITA       = quantitaSaldo;
                    saldo.UTENTEMODIFICA = utenza;


                    SpedizioniDS.SPMOVIMENTIRow movimento = ds.SPMOVIMENTI.NewSPMOVIMENTIRow();
                    movimento.CAUSALE        = causale;
                    movimento.DATAMODIFICA   = data;
                    movimento.IDSALDO        = idsaldo;
                    movimento.QUANTITA       = quantita;
                    movimento.TIPOMOVIMENTO  = tipoOperazione;
                    movimento.UTENTEMODIFICA = utenza;
                    ds.SPMOVIMENTI.AddSPMOVIMENTIRow(movimento);

                    bSpedizioni.SalvaInserimento(ds);
                }
                catch (Exception ex)
                {
                    bSpedizioni.Rollback();
                    return("ERRORE IMPOSSIBILE PROCEDERE");
                }
            }

            return("COMPLETATA");
        }
        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);
                }
            }
        }