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

        public void Insert(entidadeCodigo objCodigo)
        {
            dalCodigo dalCodigo = null;

            try
            {
                dalCodigo = new dalCodigo();

                dalCodigo.Insert(objCodigo);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Insert_1(entidadeCodigo objCodigo)
        {
            dalCodigo dalCodigo = null;

            try
            {
                dalCodigo = new dalCodigo();

                dalCodigo.Insert_1(objCodigo);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Insert_2(entidadeCodigo objCodigo)
        {
            dalCodigo dalCodigo = null;

            try
            {
                dalCodigo = new dalCodigo();

                dalCodigo.Insert_2(objCodigo);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update(entidadeCodigo objCodigo)
        {
            dalCodigo dalCodigo = null;

            try
            {
                dalCodigo = new dalCodigo();

                dalCodigo.Update(objCodigo);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update_1(entidadeCodigo objCodigo)
        {
            dalCodigo dalCodigo = null;

            try
            {
                dalCodigo = new dalCodigo();

                dalCodigo.Update_1(objCodigo);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update_2(entidadeCodigo objCodigo)
        {
            dalCodigo dalCodigo = null;

            try
            {
                dalCodigo = new dalCodigo();

                dalCodigo.Update_2(objCodigo);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Delete(entidadeCodigo objCodigo)
        {
            dalCodigo dalCodigo = null;

            try
            {
                dalCodigo = new dalCodigo();

                dalCodigo.Delete(objCodigo);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Delete_1(entidadeCodigo objCodigo)
        {
            dalCodigo dalCodigo = null;

            try
            {
                dalCodigo = new dalCodigo();

                dalCodigo.Delete_1(objCodigo);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeCodigo> Select(entidadeCodigo objCodigo)
        {
            dalCodigo dalCodigo = null;

            var lstCodigo = new List<entidadeCodigo>();

            regraNegocioGlobal regranegocioGlobal = null;

            DataTable dt = null;

            try
            {
                dalCodigo = new dalCodigo();
                dt = dalCodigo.Select(objCodigo);

                regranegocioGlobal = new regraNegocioGlobal();

                lstCodigo = regraNegocioGlobal.ConvertDataTable<entidadeCodigo>(dt);

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

        public IList<entidadeCodigo> Select_1(entidadeCodigo objCodigo)
        {
            dalCodigo dalCodigo = null;

            var lstCodigo = new List<entidadeCodigo>();

            regraNegocioGlobal regranegocioGlobal = null;

            DataTable dt = null;

            try
            {
                dalCodigo = new dalCodigo();
                dt = dalCodigo.Select_1(objCodigo);

                regranegocioGlobal = new regraNegocioGlobal();

                lstCodigo = regraNegocioGlobal.ConvertDataTable<entidadeCodigo>(dt);

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

        public IList<entidadeCodigo> Select_2(entidadeCodigo objCodigo)
        {
            dalCodigo dalCodigo = null;

            var lstCodigo = new List<entidadeCodigo>();

            regraNegocioGlobal regranegocioGlobal = null;

            DataTable dt = null;

            try
            {
                dalCodigo = new dalCodigo();
                dt = dalCodigo.Select_2(objCodigo);

                regranegocioGlobal = new regraNegocioGlobal();

                lstCodigo = regraNegocioGlobal.ConvertDataTable<entidadeCodigo>(dt);

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

        public IList<entidadeCodigo> Select_3(entidadeCodigo objCodigo)
        {
            dalCodigo dalCodigo = null;

            var lstCodigo = new List<entidadeCodigo>();

            regraNegocioGlobal regranegocioGlobal = null;

            DataTable dt = null;

            try
            {
                dalCodigo = new dalCodigo();
                dt = dalCodigo.Select_3(objCodigo);

                regranegocioGlobal = new regraNegocioGlobal();

                lstCodigo = regraNegocioGlobal.ConvertDataTable<entidadeCodigo>(dt);

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

        public IList<entidadeCodigo> Select_4(entidadeCodigo objCodigo)
        {
            dalCodigo dalCodigo = null;

            var lstCodigo = new List<entidadeCodigo>();

            regraNegocioGlobal regranegocioGlobal = null;

            DataTable dt = null;

            try
            {
                dalCodigo = new dalCodigo();
                dt = dalCodigo.Select(objCodigo);

                regranegocioGlobal = new regraNegocioGlobal();

                lstCodigo = regraNegocioGlobal.ConvertDataTable<entidadeCodigo>(dt);

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

        public IList<entidadeCodigo> Select_5(entidadeCodigo objCodigo)
        {
            dalCodigo dalCodigo = null;

            var lstCodigo = new List<entidadeCodigo>();

            regraNegocioGlobal regranegocioGlobal = null;

            DataTable dt = null;

            try
            {
                dalCodigo = new dalCodigo();
                dt = dalCodigo.Select_5(objCodigo);

                regranegocioGlobal = new regraNegocioGlobal();

                lstCodigo = regraNegocioGlobal.ConvertDataTable<entidadeCodigo>(dt);

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

        public IList<entidadeCodigo> SelectMax(entidadeCodigo objCodigo)
        {
            dalCodigo dalCodigo = null;

            var lstCodigo = new List<entidadeCodigo>();
            DataTable dt = null;

            try
            {
                dalCodigo = new dalCodigo();
                dt = dalCodigo.SelectMax(objCodigo);

                foreach (DataRow dr in dt.Rows)
                {
                    objCodigo = new entidadeCodigo();

                    if (!Convert.IsDBNull(dr["NUMNOVO"]))
                        objCodigo.NUM = dr["NUMNOVO"].ToString();


                    lstCodigo.Add(objCodigo);
                }
                return lstCodigo;
            }
            catch (Exception)
            {
                throw;
            }
        }


    }
}
