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

        public void Insert(entidadeMicrogeracaoDistribuida objMicrogeracaoDistribuida)
        {
            dalMicrogeracaoDistribuida dalMicrogeracaoDistribuida = null;

            try
            {
                dalMicrogeracaoDistribuida = new dalMicrogeracaoDistribuida();

                dalMicrogeracaoDistribuida.Insert(objMicrogeracaoDistribuida);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Delete(entidadeMicrogeracaoDistribuida objMicrogeracaoDistribuida)
        {
            dalMicrogeracaoDistribuida dalMicrogeracaoDistribuida = null;

            try
            {
                dalMicrogeracaoDistribuida = new dalMicrogeracaoDistribuida();

                dalMicrogeracaoDistribuida.Delete(objMicrogeracaoDistribuida);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeMicrogeracaoDistribuida> Select(entidadeMicrogeracaoDistribuida objMicrogeracaoDistribuida)
        {
            dalMicrogeracaoDistribuida dalMicrogeracaoDistribuida = null;

            var lstMicrogeracaoDistribuida = new List<entidadeMicrogeracaoDistribuida>();
            DataTable dt = null;

            try
            {
                dalMicrogeracaoDistribuida = new dalMicrogeracaoDistribuida();
                dt = dalMicrogeracaoDistribuida.Select(objMicrogeracaoDistribuida);

                foreach (DataRow dr in dt.Rows)
                {
                    objMicrogeracaoDistribuida = new entidadeMicrogeracaoDistribuida();


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

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

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

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

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

                    if (!Convert.IsDBNull(dr["GRUPO"]))
                        objMicrogeracaoDistribuida.GRUPO = dr["GRUPO"].ToString();

                    if (!Convert.IsDBNull(dr["NOME"]))
                        objMicrogeracaoDistribuida.NOME = dr["NOME"].ToString();

                    if (!Convert.IsDBNull(dr["ID_CLASSE"]))
                        objMicrogeracaoDistribuida.ID_CLASSE = Convert.ToInt32(dr["ID_CLASSE"]);

                    if (!Convert.IsDBNull(dr["DESCRICAO_CLASSE"]))
                        objMicrogeracaoDistribuida.DESCRICAO_CLASSE = dr["DESCRICAO_CLASSE"].ToString();

                    if (!Convert.IsDBNull(dr["SEQUENCIA_D"]))
                        objMicrogeracaoDistribuida.SEQUENCIA_D = Convert.ToInt32(dr["SEQUENCIA_D"]);

                    if (!Convert.IsDBNull(dr["ZONA_D"]))
                        objMicrogeracaoDistribuida.ZONA_D = dr["ZONA_D"].ToString();

                    if (!Convert.IsDBNull(dr["LIVRO_D"]))
                        objMicrogeracaoDistribuida.LIVRO_D = dr["LIVRO_D"].ToString();

                    if (!Convert.IsDBNull(dr["CONTA_D"]))
                        objMicrogeracaoDistribuida.CONTA_D = dr["CONTA_D"].ToString();

                    if (!Convert.IsDBNull(dr["CONS_ID_D"]))
                        objMicrogeracaoDistribuida.CONS_ID_D = Convert.ToInt32(dr["CONS_ID_D"]);

                    if (!Convert.IsDBNull(dr["UNID_ID_D"]))
                        objMicrogeracaoDistribuida.UNID_ID_D = Convert.ToInt32(dr["UNID_ID_D"]);

                    if (!Convert.IsDBNull(dr["GRUPO_D"]))
                        objMicrogeracaoDistribuida.GRUPO_D = dr["GRUPO_D"].ToString();

                    if (!Convert.IsDBNull(dr["VALOR"]))
                        objMicrogeracaoDistribuida.VALOR = Convert.ToDecimal(dr["VALOR"]);

                    if (!Convert.IsDBNull(dr["NOME_D"]))
                        objMicrogeracaoDistribuida.NOME_D = dr["NOME_D"].ToString();

                    if (!Convert.IsDBNull(dr["ID_CLASSE_D"]))
                        objMicrogeracaoDistribuida.ID_CLASSE_D = Convert.ToInt32(dr["ID_CLASSE_D"]);

                    if (!Convert.IsDBNull(dr["DESCRICAO_CLASSE_D"]))
                        objMicrogeracaoDistribuida.DESCRICAO_CLASSE_D = dr["DESCRICAO_CLASSE_D"].ToString();



                    lstMicrogeracaoDistribuida.Add(objMicrogeracaoDistribuida);
                }
                return lstMicrogeracaoDistribuida;
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeMicrogeracaoDistribuida> Select_1(entidadeMicrogeracaoDistribuida objMicrogeracaoDistribuida)
        {
            dalMicrogeracaoDistribuida dalMicrogeracaoDistribuida = null;

            var lstMicrogeracaoDistribuida = new List<entidadeMicrogeracaoDistribuida>();

            regraNegocioGlobal regranegocioGlobal = null;

            DataTable dt = null;

            try
            {
                dalMicrogeracaoDistribuida = new dalMicrogeracaoDistribuida();
                dt = dalMicrogeracaoDistribuida.Select_1(objMicrogeracaoDistribuida);

                regranegocioGlobal = new regraNegocioGlobal();

                lstMicrogeracaoDistribuida = regraNegocioGlobal.ConvertDataTable<entidadeMicrogeracaoDistribuida>(dt);

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

    }
}
