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 repositorioTaxas
    {

        public void Update(entidadeTaxas objTaxas)
        {
            dalTaxas dalTaxas = null;

            try
            {
                dalTaxas = new dalTaxas();

                dalTaxas.Update(objTaxas);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update_1(entidadeTaxas objTaxas)
        {
            dalTaxas dalTaxas = null;

            try
            {
                dalTaxas = new dalTaxas();

                dalTaxas.Update_1(objTaxas);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update_2(entidadeTaxas objTaxas)
        {
            dalTaxas dalTaxas = null;

            try
            {
                dalTaxas = new dalTaxas();

                dalTaxas.Update_2(objTaxas);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeTaxas> Select(entidadeTaxas objTaxas)
        {
            dalTaxas dalTaxas = null;

            var lstTaxas = new List<entidadeTaxas>();
            DataTable dt = null;

            try
            {
                dalTaxas = new dalTaxas();
                dt = dalTaxas.Select(objTaxas);

                foreach (DataRow dr in dt.Rows)
                {
                    objTaxas = new entidadeTaxas();


                    if (!Convert.IsDBNull(dr["ID"]))
                        objTaxas.ID = Convert.ToInt32(dr["ID"]);

                    if (!Convert.IsDBNull(dr["ZONA"]))
                        objTaxas.ZONA = dr["ZONA"].ToString();

                    if (!Convert.IsDBNull(dr["LIVRO"]))
                        objTaxas.LIVRO = dr["LIVRO"].ToString();

                    if (!Convert.IsDBNull(dr["CONTA"]))
                        objTaxas.CONTA = dr["CONTA"].ToString();

                    if (!Convert.IsDBNull(dr["CONS_ID"]))
                        objTaxas.CONS_ID = Convert.ToInt32(dr["CONS_ID"]);

                    if (!Convert.IsDBNull(dr["UNID_ID"]))
                        objTaxas.UNID_ID = Convert.ToInt32(dr["UNID_ID"]);

                    if (!Convert.IsDBNull(dr["CODIGO"]))
                        objTaxas.CODIGO = dr["CODIGO"].ToString();

                    if (!Convert.IsDBNull(dr["VALOR"]))
                        objTaxas.VALOR = Convert.ToDouble(dr["VALOR"]);

                    if (!Convert.IsDBNull(dr["DT_INI"]))
                        objTaxas.DT_INI = Convert.ToDateTime(dr["DT_INI"]);

                    if (!Convert.IsDBNull(dr["DT_FIM"]))
                        objTaxas.DT_FIM = Convert.ToDateTime(dr["DT_FIM"]);

                    if (!Convert.IsDBNull(dr["REF"]))
                        objTaxas.REF = dr["REF"].ToString();

                    if (!Convert.IsDBNull(dr["SIT"]))
                        objTaxas.SIT = dr["SIT"].ToString();

                    if (!Convert.IsDBNull(dr["DT_CADASTRO"]))
                        objTaxas.DT_CADASTRO = Convert.ToDateTime(dr["DT_CADASTRO"]);

                    if (!Convert.IsDBNull(dr["DT_ALTERACAO"]))
                        objTaxas.DT_ALTERACAO = Convert.ToDateTime(dr["DT_ALTERACAO"]);

                    if (!Convert.IsDBNull(dr["DT_CANCELADO"]))
                        objTaxas.DT_CANCELADO = Convert.ToDateTime(dr["DT_CANCELADO"]);

                    if (!Convert.IsDBNull(dr["DT_REMOVIDO"]))
                        objTaxas.DT_REMOVIDO = Convert.ToDateTime(dr["DT_REMOVIDO"]);

                    if (!Convert.IsDBNull(dr["MOTIVO"]))
                        objTaxas.MOTIVO = dr["MOTIVO"].ToString();


                    lstTaxas.Add(objTaxas);
                }
                return lstTaxas;
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeTaxas> Select_1(entidadeTaxas objTaxas)
        {
            dalTaxas dalTaxas = null;

            var lstTaxas = new List<entidadeTaxas>();

            regraNegocioGlobal regranegocioGlobal = null;

            DataTable dt = null;

            try
            {
                dalTaxas = new dalTaxas();
                dt = dalTaxas.Select_1(objTaxas);

                regranegocioGlobal = new regraNegocioGlobal();

                lstTaxas = regraNegocioGlobal.ConvertDataTable<entidadeTaxas>(dt);

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

        public IList<entidadeTaxas> Select_2(entidadeTaxas objTaxas)
        {
            dalTaxas dalTaxas = null;

            var lstTaxas = new List<entidadeTaxas>();

            regraNegocioGlobal regranegocioGlobal = null;

            DataTable dt = null;

            try
            {
                dalTaxas = new dalTaxas();
                dt = dalTaxas.Select_2(objTaxas);

                regranegocioGlobal = new regraNegocioGlobal();

                lstTaxas = regraNegocioGlobal.ConvertDataTable<entidadeTaxas>(dt);

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

    }
}
