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

        public void Insert(entidadeAutoLeitura objAutoLeitura)
        {
            dalAutoLeitura dalAutoLeitura = null;

            try
            {
                dalAutoLeitura = new dalAutoLeitura();

                dalAutoLeitura.Insert(objAutoLeitura);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update(entidadeAutoLeitura objAutoLeitura)
        {
            dalAutoLeitura dalAutoLeitura = null;

            try
            {
                dalAutoLeitura = new dalAutoLeitura();

                dalAutoLeitura.Update(objAutoLeitura);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeAutoLeitura> Select(entidadeAutoLeitura objAutoLeitura)
        {
            dalAutoLeitura dalAutoLeitura = null;

            var lstAutoLeitura = new List<entidadeAutoLeitura>();

            regraNegocioGlobal regranegocioGlobal = null;

            DataTable dt = null;

            try
            {
                dalAutoLeitura = new dalAutoLeitura();
                dt = dalAutoLeitura.Select(objAutoLeitura);

                regranegocioGlobal = new regraNegocioGlobal();

                lstAutoLeitura = regraNegocioGlobal.ConvertDataTable<entidadeAutoLeitura>(dt);

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

        public void Delete(entidadeAutoLeitura objAutoLeitura)
        {
            dalAutoLeitura dalAutoLeitura = null;

            try
            {
                dalAutoLeitura = new dalAutoLeitura();

                dalAutoLeitura.Delete(objAutoLeitura);
            }
            catch (Exception)
            {
                throw;
            }
        }

    }
}
