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


        public void Insert(entidadeSetoresUsu objSetoresUsu)
        {
            dalSetoresUsu dalSetoresUsu = null;

            try
            {
                dalSetoresUsu = new dalSetoresUsu();

                dalSetoresUsu.Insert(objSetoresUsu);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update(entidadeSetoresUsu objSetoresUsu)
        {
            dalSetoresUsu dalSetoresUsu = null;

            try
            {
                dalSetoresUsu = new dalSetoresUsu();

                dalSetoresUsu.Update(objSetoresUsu);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update_1(entidadeSetoresUsu objSetoresUsu)
        {
            dalSetoresUsu dalSetoresUsu = null;

            try
            {
                dalSetoresUsu = new dalSetoresUsu();

                dalSetoresUsu.Update_1(objSetoresUsu);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Delete(entidadeSetoresUsu objSetoresUsu)
        {
            dalSetoresUsu dalSetoresUsu = null;

            try
            {
                dalSetoresUsu = new dalSetoresUsu();

                dalSetoresUsu.Delete(objSetoresUsu);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeSetoresUsu> Select(entidadeSetoresUsu objSetoresUsu)
        {
            dalSetoresUsu dalSetoresUsu = null;

            var lstSetoresUsu = new List<entidadeSetoresUsu>();
            DataTable dt = null;

            try
            {
                dalSetoresUsu = new dalSetoresUsu();
                dt = dalSetoresUsu.Select(objSetoresUsu);

                foreach (DataRow dr in dt.Rows)
                {
                    objSetoresUsu = new entidadeSetoresUsu();


                    if (!Convert.IsDBNull(dr["ID"]))
                        objSetoresUsu.ID = Convert.ToInt32(dr["ID"]);

                    if (!Convert.IsDBNull(dr["IDSETORES_DET"]))
                        objSetoresUsu.IDSETORES_DET = Convert.ToInt32(dr["IDSETORES_DET"]);

                    if (!Convert.IsDBNull(dr["IDUSUARIOS_SET"]))
                        objSetoresUsu.IDUSUARIOS_SET = Convert.ToInt32(dr["IDUSUARIOS_SET"]);

                    if (!Convert.IsDBNull(dr["DESCRICAO"]))
                        objSetoresUsu.DESCRICAO = dr["DESCRICAO"].ToString();

                    if (!Convert.IsDBNull(dr["SITUACAO"]))
                        objSetoresUsu.SITUACAO = dr["SITUACAO"].ToString();

                    if (!Convert.IsDBNull(dr["IDUSUARIOS"]))
                        objSetoresUsu.IDUSUARIOS = Convert.ToInt32(dr["IDUSUARIOS"]);


                    lstSetoresUsu.Add(objSetoresUsu);
                }
                return lstSetoresUsu;
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeSetoresUsu> SelectMax(entidadeSetoresUsu objSetoresUsu)
        {
            dalSetoresUsu dalSetoresUsu = null;

            var lstSetoresUsu = new List<entidadeSetoresUsu>();
            DataTable dt = null;

            try
            {
                dalSetoresUsu = new dalSetoresUsu();
                dt = dalSetoresUsu.SelectMax(objSetoresUsu);

                foreach (DataRow dr in dt.Rows)
                {
                    objSetoresUsu = new entidadeSetoresUsu();

                    if (!Convert.IsDBNull(dr["ID"]))
                        objSetoresUsu.ID = Convert.ToInt32(dr["ID"]);


                    lstSetoresUsu.Add(objSetoresUsu);
                }
                return lstSetoresUsu;
            }
            catch (Exception)
            {
                throw;
            }
        }


    }
}
