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

        #region "Agencia Virtual- Metodos"

        public void TruncateAgenciaVirtual(string istrMesAno)
        {
            dalAgenciaVirtual dalAgenciaVirtual = null;

            try
            {
                dalAgenciaVirtual = new dalAgenciaVirtual();

                dalAgenciaVirtual.TruncateAgenciaVirtual(istrMesAno);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void InsertRotaItem(entidadeDm_RotaItem objDm_RotaItem)
        {
            dalAgenciaVirtual dalAgenciaVirtual = null;

            try
            {
                dalAgenciaVirtual = new dalAgenciaVirtual();

                dalAgenciaVirtual.InsertRotaItem(objDm_RotaItem);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void InsertConsumidor(entidadeDm_Consumidor objDm_Consumidor)
        {
            dalAgenciaVirtual dalAgenciaVirtual = null;

            try
            {
                dalAgenciaVirtual = new dalAgenciaVirtual();

                dalAgenciaVirtual.InsertConsumidor(objDm_Consumidor);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void InsertMedidor(entidadeDm_Medidor objDm_Medidor)
        {
            dalAgenciaVirtual dalAgenciaVirtual = null;

            try
            {
                dalAgenciaVirtual = new dalAgenciaVirtual();

                dalAgenciaVirtual.InsertMedidor(objDm_Medidor);
            }
            catch (Exception)
            {
                throw;
            }

        }

        public void InsertMedidorCanal(entidadeDm_medidorcanal objDm_MedidorCanal)
        {
            dalAgenciaVirtual dalAgenciaVirtual = null;

            try
            {
                dalAgenciaVirtual = new dalAgenciaVirtual();

                dalAgenciaVirtual.InsertMedidorCanal(objDm_MedidorCanal);
            }
            catch (Exception)
            {
                throw;
            }

        }

        public IList<entidadeAgenciaVirtualFoto> SelectFotosRotaId(entidadeAgenciaVirtual objAgenciaVirtual)
        {
            dalAgenciaVirtual dalAgenciaVirtual = null;

            var lstRetornoAPP = new List<entidadeAgenciaVirtualFoto>();

            regraNegocioGlobal regranegocioGlobal = null;

            DataTable dt = null;

            try
            {
                dalAgenciaVirtual = new dalAgenciaVirtual();

                dt = dalAgenciaVirtual.SelectFotosRotaId(objAgenciaVirtual);

                regranegocioGlobal = new regraNegocioGlobal();

                lstRetornoAPP = regraNegocioGlobal.ConvertDataTable<entidadeAgenciaVirtualFoto>(dt);

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

        public IList<entidadeAgenciaVirtual> SelectRetornoAPP(entidadeAgenciaVirtual objAgenciaVirtual)
        {
            dalAgenciaVirtual dalAgenciaVirtual = null;

            var lstRetornoAPP= new List<entidadeAgenciaVirtual>();

            regraNegocioGlobal regranegocioGlobal = null;

            DataTable dt = null;

            try
            {
                dalAgenciaVirtual = new dalAgenciaVirtual();

                dt = dalAgenciaVirtual.SelectRetornoAPP(objAgenciaVirtual);

                regranegocioGlobal = new regraNegocioGlobal();

                lstRetornoAPP = regraNegocioGlobal.ConvertDataTable<entidadeAgenciaVirtual>(dt);

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

        public IList<entidadeDm_RotaItem> SelectRotasProcessadas(entidadeDm_RotaItem objRota)
        {
            dalAgenciaVirtual dalAgenciaVirtual = null;

            var lstRetornoRotasProcessadas = new List<entidadeDm_RotaItem>();

            regraNegocioGlobal regranegocioGlobal = null;

            DataTable dt = null;

            try
            {
                dalAgenciaVirtual = new dalAgenciaVirtual();

                dt = dalAgenciaVirtual.SelectRotasProcessadas();

                regranegocioGlobal = new regraNegocioGlobal();

                lstRetornoRotasProcessadas = regraNegocioGlobal.ConvertDataTable<entidadeDm_RotaItem>(dt);

                return lstRetornoRotasProcessadas;
            }
            catch (Exception)
            {
                throw;
            }
        }
        #endregion
    }
}
