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


namespace fatd_faturamento.BLL.Repositorio
{
    public class repositorioBairro
    {

        public void Insert(entidadeBairro objBairro)
        {
            dalBairro dalBairro = null;

            try
            {
                dalBairro = new dalBairro();

                dalBairro.Insert(objBairro);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Insert2(entidadeBairro objBairro)
        {
            dalBairro dalBairro = null;

            try
            {
                dalBairro = new dalBairro();

                dalBairro.Insert2(objBairro);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update(entidadeBairro objBairro)
        {
            dalBairro dalBairro = null;

            try
            {
                dalBairro = new dalBairro();

                dalBairro.Update(objBairro);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Delete(entidadeBairro objBairro)
        {
            dalBairro dalBairro = null;

            try
            {
                dalBairro = new dalBairro();

                dalBairro.Delete(objBairro);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeBairro> Select(entidadeBairro objBairro)
        {
            dalBairro dalBairro = null;

            var lstBairro = new List<entidadeBairro>();
            DataTable dt = null;

            try
            {
                dalBairro = new dalBairro();
                dt = dalBairro.Select(objBairro);

                foreach (DataRow dr in dt.Rows)
                {
                    objBairro = new entidadeBairro();
                    objBairro.entidadeMUNIC = new entidadeMunic();
                    objBairro.entidadeUF = new entidadeUf();
                    objBairro.entidadeDISTRITO = new entidadeDistrito();

                    if (!Convert.IsDBNull(dr["CODEND"]))
                        objBairro.COD = dr["CODEND"].ToString();

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

                    if (!Convert.IsDBNull(dr["IDBAI"]))
                        objBairro.CODNUM = Convert.ToInt32(dr["IDBAI"]);

                    if (!Convert.IsDBNull(dr["NOMDIS"]))
                        objBairro.entidadeDISTRITO.NOME = dr["NOMDIS"].ToString();

                    if (!Convert.IsDBNull(dr["IDDIS"]))
                        objBairro.entidadeDISTRITO.CODNUM = Convert.ToInt32(dr["IDDIS"]);

                    if (!Convert.IsDBNull(dr["NOMCID"]))
                        objBairro.entidadeMUNIC.NOME = dr["NOMCID"].ToString();

                    if (!Convert.IsDBNull(dr["IDCID"]))
                        objBairro.entidadeMUNIC.CODNUM = Convert.ToInt32(dr["IDCID"]);

                    if (!Convert.IsDBNull(dr["NOMUF"]))
                        objBairro.entidadeUF.UF = dr["NOMUF"].ToString();

                    if (!Convert.IsDBNull(dr["IDUF"]))
                        objBairro.entidadeUF.CODNUM = Convert.ToInt32(dr["IDUF"]);

                    lstBairro.Add(objBairro);
                }
                return lstBairro;
            }
            catch (Exception)
            {
                throw;
            }
        }

        public DataTable SelectCount(entidadeBairro objBairro)
        {
            dalBairro dalBairro = null;
            DataTable dt = null;

            try
            {
                dalBairro = new dalBairro();
                dt = dalBairro.SelectCount(objBairro);

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

        public IList<entidadeBairro> SelectOthersTables(entidadeBairro objBairro)
        {
            dalBairro dalBairro = null;

            var lstBairro = new List<entidadeBairro>();
            DataTable dt = null;

            try
            {
                dalBairro = new dalBairro();
                dt = dalBairro.SelectOthersTables(objBairro);

                foreach (DataRow dr in dt.Rows)
                {
                    objBairro = new entidadeBairro();

                    if (!Convert.IsDBNull(dr["CODNUM"]))
                        objBairro.CODNUM = Convert.ToInt32(dr["CODNUM"]);

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

                    lstBairro.Add(objBairro);
                }
                return lstBairro;
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeBairro> SelectOthersTables_1(entidadeBairro objBairro)
        {
            dalBairro dalBairro = null;

            var lstBairro = new List<entidadeBairro>();
            DataTable dt = null;

            try
            {
                dalBairro = new dalBairro();
                dt = dalBairro.SelectOthersTables_1(objBairro);

                foreach (DataRow dr in dt.Rows)
                {
                    objBairro = new entidadeBairro();

                    if (!Convert.IsDBNull(dr["COD"]))
                        objBairro.COD = dr["COD"].ToString();

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

                    lstBairro.Add(objBairro);
                }
                return lstBairro;
            }
            catch (Exception)
            {
                throw;
            }
        }


        public IList<entidadeBairro> SelectOthersTables_2(entidadeBairro objBairro)
        {
            dalBairro dalBairro = null;

            var lstBairro = new List<entidadeBairro>();
            DataTable dt = null;

            try
            {
                dalBairro = new dalBairro();
                dt = dalBairro.SelectOthersTables_2(objBairro);

                foreach (DataRow dr in dt.Rows)
                {
                    objBairro = new entidadeBairro();

                    if (!Convert.IsDBNull(dr["COD"]))
                        objBairro.COD = dr["COD"].ToString();

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

                    lstBairro.Add(objBairro);
                }
                return lstBairro;
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeBairro> SelectOthersTables_3(entidadeBairro objBairro)
        {
            dalBairro dalBairro = null;

            var lstBairro = new List<entidadeBairro>();
            DataTable dt = null;

            try
            {
                dalBairro = new dalBairro();
                dt = dalBairro.SelectOthersTables_3(objBairro);

                foreach (DataRow dr in dt.Rows)
                {
                    objBairro = new entidadeBairro();

                    if (!Convert.IsDBNull(dr["COD"]))
                        objBairro.COD = dr["COD"].ToString();

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

                    lstBairro.Add(objBairro);
                }
                return lstBairro;
            }
            catch (Exception)
            {
                throw;
            }
        }


       

    }
}
