public void UpdateTable(string tablename, ArticoloDS ds)
        {
            ArticoloAdapter a = new ArticoloAdapter(DbConnection, DbTransaction);

            a.UpdateTable(tablename, ds);
            ds.Tables[tablename].AcceptChanges();
        }
        public void FillElementiPreventivo(ArticoloDS ds, decimal idPreventivo)
        {
            string select = @"SELECT * FROM ELEMENTIPREVENTIVO WHERE IDPREVENTIVO = $P<IDPREVENTIVO> ";

            ParamSet ps = new ParamSet();

            ps.AddParam("IDPREVENTIVO", DbType.Decimal, idPreventivo);
            using (DbDataAdapter da = BuildDataAdapter(select, ps))
            {
                da.Fill(ds.ELEMENTIPREVENTIVO);
            }
        }
        public void EstraiPreventivoCosto(ArticoloDS ds, decimal idPreventivoCosto)
        {
            string select = @"SELECT * FROM PREVENTIVICOSTI WHERE IDPREVENTIVOCOSTO = $P<IDPREVENTIVOCOSTO> ";

            ParamSet ps = new ParamSet();

            ps.AddParam("IDPREVENTIVOCOSTO", DbType.Decimal, idPreventivoCosto);
            using (DbDataAdapter da = BuildDataAdapter(select, ps))
            {
                da.Fill(ds.PREVENTIVICOSTI);
            }
        }
        public void FillGruppiReparti(ArticoloDS ds, bool soloNonCancellati)
        {
            string select = @"SELECT * FROM GRUPPIREPARTI ";

            if (soloNonCancellati)
            {
                select += "WHERE CANCELLATO = 'N' ";
            }

            using (DbDataAdapter da = BuildDataAdapter(select))
            {
                da.Fill(ds.GRUPPIREPARTI);
            }
        }
        public void FillProcessiStandard(ArticoloDS ds, bool soloNonCancellati)
        {
            string select = @"SELECT * FROM PROCESSI WHERE STANDARD = 'S' ";

            if (soloNonCancellati)
            {
                select += "AND CANCELLATO = 'N' ";
            }

            select += "ORDER BY DESCRIZIONE";
            using (DbDataAdapter da = BuildDataAdapter(select))
            {
                da.Fill(ds.PROCESSI);
            }
        }
        public void FillProdottiFiniti(ArticoloDS ds, bool soloNonCancellati)
        {
            string select = @"SELECT * FROM PRODOTTIFINITI WHERE 1=1 ";

            if (soloNonCancellati)
            {
                select += "AND CANCELLATO = 'N' ";
            }

            select += "ORDER BY MODELLO";
            using (DbDataAdapter da = BuildDataAdapter(select))
            {
                da.Fill(ds.PRODOTTIFINITI);
            }
        }
        public void FillGruppi(ArticoloDS ds, bool soloNonCancellati)
        {
            string select = @"SELECT * FROM GRUPPI ";

            if (soloNonCancellati)
            {
                select += "WHERE CANCELLATO = 'N' ";
            }

            select += "ORDER BY IDBRAND,CODICE";
            using (DbDataAdapter da = BuildDataAdapter(select))
            {
                da.Fill(ds.GRUPPI);
            }
        }
        public void UpdateTable(string tablename, ArticoloDS ds)
        {
            string query = string.Format(CultureInfo.InvariantCulture, "SELECT * FROM {0}", tablename);

            using (DbDataAdapter a = BuildDataAdapter(query))
            {
                a.ContinueUpdateOnError = false;
                DataTable        dt  = ds.Tables[tablename];
                DbCommandBuilder cmd = BuildCommandBuilder(a);
                a.UpdateCommand = cmd.GetUpdateCommand();
                a.DeleteCommand = cmd.GetDeleteCommand();
                a.InsertCommand = cmd.GetInsertCommand();
                a.Update(dt);
            }
        }
        public void FillArticoli(ArticoloDS ds, bool soloNonCancellati)
        {
            string select = @"SELECT * FROM ARTICOLI WHERE IDARTICOLO >=0 ";

            if (soloNonCancellati)
            {
                select += "AND CANCELLATO = 'N' ";
            }

            select += "ORDER BY MODELLO";
            using (DbDataAdapter da = BuildDataAdapter(select))
            {
                da.Fill(ds.ARTICOLI);
            }
        }
        public void FillCostiFissiPreventivo(ArticoloDS ds, decimal idPreventivoCosti, bool soloNonCancellati)
        {
            string select = @"SELECT * FROM COSTIFISSIPREVENTIVO WHERE IDPREVENTIVOCOSTO = $P<IDPREVENTIVOCOSTO> ";

            if (soloNonCancellati)
            {
                select += "AND CANCELLATO = 'N' ";
            }
            ParamSet ps = new ParamSet();

            ps.AddParam("IDPREVENTIVOCOSTO", DbType.Decimal, idPreventivoCosti);
            using (DbDataAdapter da = BuildDataAdapter(select, ps))
            {
                da.Fill(ds.COSTIFISSIPREVENTIVO);
            }
        }
        public void FillProdottiFiniti(ArticoloDS ds, List <decimal> idProdottiFiniti, bool soloNonCancellati)
        {
            string inCOndition = ConvertToStringForInCondition(idProdottiFiniti);

            string select = @"SELECT DISTINCT * FROM PRODOTTIFINITI WHERE idprodottofinito in ( {0} )";

            if (soloNonCancellati)
            {
                select += " AND CANCELLATO = 'N' ";
            }
            select = string.Format(select, inCOndition);

            using (DbDataAdapter da = BuildDataAdapter(select))
            {
                da.Fill(ds.PRODOTTIFINITI);
            }
        }
        public void FillArticoli(ArticoloDS ds, List <decimal> idArticoli, bool soloNonCancellati)
        {
            string inCOndition = ConvertToStringForInCondition(idArticoli);

            string select = @"SELECT DISTINCT * FROM Articoli WHERE IdArticolo in ( {0} )";

            if (soloNonCancellati)
            {
                select += " AND CANCELLATO = 'N' ";
            }
            select = string.Format(select, inCOndition);

            using (DbDataAdapter da = BuildDataAdapter(select))
            {
                da.Fill(ds.ARTICOLI);
            }
        }
        public void FillFasiProcessoStandard(ArticoloDS ds, bool soloNonCancellati)
        {
            string select = @"SELECT * FROM FASIPROCESSO FP 
                                    INNER JOIN PROCESSI PR ON PR.IDPROCESSO = FP.IDPROCESSO
                                    WHERE STANDARD = 'S' ";

            if (soloNonCancellati)
            {
                select += "AND FP.CANCELLATO = 'N' ";
            }

            select += "ORDER BY FP.IDPROCESSO,SEQUENZA";

            using (DbDataAdapter da = BuildDataAdapter(select))
            {
                da.Fill(ds.FASIPROCESSO);
            }
        }
        public void FillElementiPreventivo(ArticoloDS ds, decimal idProdottoFinito, bool soloNonCancellati)
        {
            string select = @"SELECT FP.* FROM ELEMENTIPREVENTIVO FP 
                                    INNER JOIN PREVENTIVI PR ON PR.IDPREVENTIVO = FP.IDPREVENTIVO
                                    WHERE IDPRODOTTOFINITO = $P<IDPRODOTTOFINITO> ";

            if (soloNonCancellati)
            {
                select += "AND FP.CANCELLATO = 'N' ";
            }

            ParamSet ps = new ParamSet();

            ps.AddParam("IDPRODOTTOFINITO", DbType.Decimal, idProdottoFinito);
            using (DbDataAdapter da = BuildDataAdapter(select, ps))
            {
                da.Fill(ds.ELEMENTIPREVENTIVO);
            }
        }
        public void FillPreventiviCosti(ArticoloDS ds, decimal idPreventivo, bool soloNonCancellati)
        {
            string select = @"SELECT * FROM PREVENTIVICOSTI WHERE IDPREVENTIVO = $P<IDPREVENTIVO> ";

            if (soloNonCancellati)
            {
                select += "AND CANCELLATO = 'N' ";
            }

            select += "ORDER BY VERSIONE DESC";

            ParamSet ps = new ParamSet();

            ps.AddParam("IDPREVENTIVO", DbType.Decimal, idPreventivo);
            using (DbDataAdapter da = BuildDataAdapter(select, ps))
            {
                da.Fill(ds.PREVENTIVICOSTI);
            }
        }
        public void GetProcesso(ArticoloDS ds, decimal idProcesso, bool soloNonCancellati)
        {
            string select = @"SELECT * FROM PROCESSI WHERE IDPROCESSO = $P<IDPROCESSO> ";

            if (soloNonCancellati)
            {
                select += "AND CANCELLATO = 'N' ";
            }

            select += "ORDER BY DESCRIZIONE";

            ParamSet ps = new ParamSet();

            ps.AddParam("IDPROCESSO", DbType.Decimal, idProcesso);
            using (DbDataAdapter da = BuildDataAdapter(select, ps))
            {
                da.Fill(ds.PROCESSI);
            }
        }
        public void FillFasiProcesso(ArticoloDS ds, decimal idArticolo, bool soloNonCancellati)
        {
            string select = @"SELECT * FROM FASIPROCESSO FP 
                                    INNER JOIN PROCESSI PR ON PR.IDPROCESSO = FP.IDPROCESSO
                                    WHERE IDARTICOLO = $P<IDARTICOLO> ";

            if (soloNonCancellati)
            {
                select += "AND FP.CANCELLATO = 'N' ";
            }

            select += "ORDER BY FP.IDPROCESSO,SEQUENZA";

            ParamSet ps = new ParamSet();

            ps.AddParam("IDARTICOLO", DbType.Decimal, idArticolo);
            using (DbDataAdapter da = BuildDataAdapter(select, ps))
            {
                da.Fill(ds.FASIPROCESSO);
            }
        }
        public void FillProdottiFiniti(ArticoloDS ds, List <decimal> idProdottiFinito, bool soloNonCancellati)
        {
            List <decimal> prodottiPresenti = ds.PRODOTTIFINITI.Select(x => x.IDPRODOTTOFINITO).Distinct().ToList();
            List <decimal> prodottiMancanti = idProdottiFinito.Except(prodottiPresenti).ToList();

            ArticoloAdapter a = new ArticoloAdapter(DbConnection, DbTransaction);

            while (prodottiMancanti.Count > 0)
            {
                List <decimal> prodottiDaCaricare;
                if (prodottiMancanti.Count > 999)
                {
                    prodottiDaCaricare = prodottiMancanti.GetRange(0, 999);
                    prodottiMancanti.RemoveRange(0, 999);
                }
                else
                {
                    prodottiDaCaricare = prodottiMancanti.GetRange(0, prodottiMancanti.Count);
                    prodottiMancanti.RemoveRange(0, prodottiMancanti.Count);
                }
                a.FillProdottiFiniti(ds, prodottiDaCaricare, soloNonCancellati);
            }
        }
        public void FillArticoli(ArticoloDS ds, List <decimal> idArticoli, bool soloNonCancellati)
        {
            List <decimal> articoliPresenti = ds.ARTICOLI.Select(x => x.IDARTICOLO).Distinct().ToList();
            List <decimal> articoliMancanti = idArticoli.Except(articoliPresenti).ToList();

            ArticoloAdapter a = new ArticoloAdapter(DbConnection, DbTransaction);

            while (articoliMancanti.Count > 0)
            {
                List <decimal> articoliDaCaricare;
                if (articoliMancanti.Count > 999)
                {
                    articoliDaCaricare = articoliMancanti.GetRange(0, 999);
                    articoliMancanti.RemoveRange(0, 999);
                }
                else
                {
                    articoliDaCaricare = articoliMancanti.GetRange(0, articoliMancanti.Count);
                    articoliMancanti.RemoveRange(0, articoliMancanti.Count);
                }
                a.FillArticoli(ds, articoliDaCaricare, soloNonCancellati);
            }
        }
        public void FillFasiProcessoStandard(ArticoloDS ds, bool soloNonCancellati)
        {
            ArticoloAdapter a = new ArticoloAdapter(DbConnection, DbTransaction);

            a.FillFasiProcessoStandard(ds, soloNonCancellati);
        }
        public void FillGruppiReparti(ArticoloDS ds, bool soloNonCancellati)
        {
            ArticoloAdapter a = new ArticoloAdapter(DbConnection, DbTransaction);

            a.FillGruppiReparti(ds, soloNonCancellati);
        }
        public void EstraiElementoPreventivo(ArticoloDS ds, decimal idElementoPreventivo)
        {
            ArticoloAdapter a = new ArticoloAdapter(DbConnection, DbTransaction);

            a.EstraiElementoPreventivo(ds, idElementoPreventivo);
        }
        public void FillElementiPreventivo(ArticoloDS ds, decimal idPreventivo)
        {
            ArticoloAdapter a = new ArticoloAdapter(DbConnection, DbTransaction);

            a.FillElementiPreventivo(ds, idPreventivo);
        }
        public void FillProcessi(ArticoloDS ds, decimal idArticolo, bool soloNonCancellati)
        {
            ArticoloAdapter a = new ArticoloAdapter(DbConnection, DbTransaction);

            a.FillProcessi(ds, idArticolo, soloNonCancellati);
        }
 public void FillArticolo(ArticoloDS ds, decimal idArticolo, bool soloNonCancellati)
 {
     FillArticoli(ds, new List <decimal>(new decimal[] { idArticolo }), soloNonCancellati);
 }
        public void GetFasiProcesso(ArticoloDS ds, decimal idProcesso, bool soloNonCancellati)
        {
            ArticoloAdapter a = new ArticoloAdapter(DbConnection, DbTransaction);

            a.GetFasiProcesso(ds, idProcesso, soloNonCancellati);
        }
        public void FillElementiCostiPreventivo(ArticoloDS ds, decimal idPreventivoCosto, bool soloNonCancellati)
        {
            ArticoloAdapter a = new ArticoloAdapter(DbConnection, DbTransaction);

            a.FillElementiCostiPreventivo(ds, idPreventivoCosto, soloNonCancellati);
        }
        public void FillProdottiFiniti(ArticoloDS ds, bool soloNonCancellati)
        {
            ArticoloAdapter a = new ArticoloAdapter(DbConnection, DbTransaction);

            a.FillProdottiFiniti(ds, soloNonCancellati);
        }
        public void FillPreventivi(ArticoloDS ds, decimal idProdottoFinito, bool soloNonCancellati)
        {
            ArticoloAdapter a = new ArticoloAdapter(DbConnection, DbTransaction);

            a.FillPreventivi(ds, idProdottoFinito, soloNonCancellati);
        }
 public void FillProdottiFiniti(ArticoloDS ds, decimal idProdottoFinito, bool soloNonCancellati)
 {
     FillProdottiFiniti(ds, new List <decimal>(new decimal[] { idProdottoFinito }), soloNonCancellati);
 }