using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using fatd_faturamento.DAL.Persistencia;
using fatd_faturamento.BLL.RegraNegocio;
using fatd_faturamento.ENTIDADE;


namespace fatd_faturamento.BLL.Repositorio
{
    public class repositorioConfiguracoes
    {

        public void Insert(entidadeConfiguracoes objConfiguracoes)
        {
            dalConfiguracoes dalConfiguracoes = null;

            try
            {
                dalConfiguracoes = new dalConfiguracoes();

                dalConfiguracoes.Insert(objConfiguracoes);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update(entidadeConfiguracoes objConfiguracoes)
        {
            dalConfiguracoes dalConfiguracoes = null;

            try
            {
                dalConfiguracoes = new dalConfiguracoes();

                dalConfiguracoes.Update(objConfiguracoes);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update_1(entidadeConfiguracoes objConfiguracoes)
        {
            dalConfiguracoes dalConfiguracoes = null;

            try
            {
                dalConfiguracoes = new dalConfiguracoes();

                dalConfiguracoes.Update_1(objConfiguracoes);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public DataTable SelectCount(entidadeConfiguracoes objConfiguracoes)
        {
            dalConfiguracoes dalConfiguracoes = null;
            DataTable dt = null;

            try
            {
                dalConfiguracoes = new dalConfiguracoes();
                dt = dalConfiguracoes.SelectCount(objConfiguracoes);

                return dt;
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeConfiguracoes> Select(entidadeConfiguracoes objConfiguracoes)
        {
            dalConfiguracoes dalConfiguracoes = null;

            var lstConfiguracoes = new List<entidadeConfiguracoes>();
            DataTable dt = null;

            try
            {
                dalConfiguracoes = new dalConfiguracoes();
                dt = dalConfiguracoes.Select(objConfiguracoes);

                foreach (DataRow dr in dt.Rows)
                {


                    if (!Convert.IsDBNull(dr["TIPO"]))
                        objConfiguracoes.TIPO = dr["TIPO"].ToString();

                    if (!Convert.IsDBNull(dr["VALOR"]))
                        objConfiguracoes.VALOR = dr["VALOR"].ToString();



                    lstConfiguracoes.Add(objConfiguracoes);
                }
                return lstConfiguracoes;
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeConfiguracoes> Select_1(entidadeConfiguracoes objConfiguracoes)
        {
            dalConfiguracoes dalConfiguracoes = null;

            var lstConfiguracoes = new List<entidadeConfiguracoes>();

            regraNegocioGlobal regranegocioGlobal = null;

            DataTable dt = null;

            try
            {
                dalConfiguracoes = new dalConfiguracoes();
                dt = dalConfiguracoes.Select_1(objConfiguracoes);

                regranegocioGlobal = new regraNegocioGlobal();

                lstConfiguracoes = regraNegocioGlobal.ConvertDataTable<entidadeConfiguracoes>(dt);

                return lstConfiguracoes;
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeConfiguracoes> Select_2(entidadeConfiguracoes objConfiguracoes)
        {
            dalConfiguracoes dalConfiguracoes = null;

            var lstConfiguracoes = new List<entidadeConfiguracoes>();
            DataTable dt = null;

            try
            {
                dalConfiguracoes = new dalConfiguracoes();
                dt = dalConfiguracoes.Select_2(objConfiguracoes);

                foreach (DataRow dr in dt.Rows)
                {

                    if (!Convert.IsDBNull(dr["TIPO"]))
                        objConfiguracoes.TIPO = dr["TIPO"].ToString();

                    if (!Convert.IsDBNull(dr["VALOR"]))
                        objConfiguracoes.VALOR = dr["VALOR"].ToString();

                    lstConfiguracoes.Add(objConfiguracoes);

                }
                return lstConfiguracoes;
            }
            catch (Exception)
            {
                throw;
            }
        }

    }
}
