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

namespace fatd_faturamento.BLL.Repositorio
{
    public class repositorioAtualizaBancoDados
    {
        public void Execute(entidadeAtualizaBancoDados objAtualizaBancoDados)
        {
            dalAtualizaBancoDados dalAtualizaBancoDados = null;

            try
            {
                dalAtualizaBancoDados = new dalAtualizaBancoDados();

                dalAtualizaBancoDados.Execute(objAtualizaBancoDados);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public DataTable Consultar(entidadeAtualizaBancoDados objAtualizaBancoDados)
        {
            dalAtualizaBancoDados dalAtualizaBancoDados = null;
            DataTable dt = null;

            try
            {
                dalAtualizaBancoDados = new dalAtualizaBancoDados();
                dt = dalAtualizaBancoDados.Consultar(objAtualizaBancoDados);

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

        public DataTable Consultar2(entidadeAtualizaBancoDados objAtualizaBancoDados)
        {
            dalAtualizaBancoDados dalAtualizaBancoDados = null;
            DataTable dt = null;

            try
            {
                dalAtualizaBancoDados = new dalAtualizaBancoDados();
                dt = dalAtualizaBancoDados.Consultar2(objAtualizaBancoDados);

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

        public DataTable Consultar_TimeOut(entidadeAtualizaBancoDados objAtualizaBancoDados)
        {
            dalAtualizaBancoDados dalAtualizaBancoDados = null;
            DataTable dt = null;

            try
            {
                dalAtualizaBancoDados = new dalAtualizaBancoDados();
                dt = dalAtualizaBancoDados.Consultar_TimeOut(objAtualizaBancoDados);

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

        public IList<entidadeUCFaturamento> Verifica_UCs_LinkCenter_Sem_Rota(entidadeAtualizaBancoDados objAtualizaBancoDados)
        {
            dalAtualizaBancoDados dalAtualizaBancoDados = null;
            DataTable dt = null;
            var lstUCFaturamento = new List<entidadeUCFaturamento>();

            regraNegocioGlobal regranegocioGlobal = null;

            try
            {
                dalAtualizaBancoDados = new dalAtualizaBancoDados();
                dt = dalAtualizaBancoDados.Verifica_UCs_LinkCenter_Sem_Rota(objAtualizaBancoDados);

                regranegocioGlobal = new regraNegocioGlobal();

                lstUCFaturamento = regraNegocioGlobal.ConvertDataTable<entidadeUCFaturamento>(dt);

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

    }
}
