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

        public void Insert(entidadeSituacao objSituacao)
        {
            dalSituacao dalSituacao = null;

            try
            {
                dalSituacao = new dalSituacao();

                dalSituacao.Insert(objSituacao);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update(entidadeSituacao objSituacao)
        {
            dalSituacao dalSituacao = null;

            try
            {
                dalSituacao = new dalSituacao();

                dalSituacao.Update(objSituacao);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update_1(entidadeSituacao objSituacao)
        {
            dalSituacao dalSituacao = null;

            try
            {
                dalSituacao = new dalSituacao();

                dalSituacao.Update_1(objSituacao);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Delete(entidadeSituacao objSituacao)
        {
            dalSituacao dalSituacao = null;

            try
            {
                dalSituacao = new dalSituacao();

                dalSituacao.Delete(objSituacao);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeSituacao> Select(entidadeSituacao objSituacao)
        {
            dalSituacao dalSituacao = null;

            var lstSituacao = new List<entidadeSituacao>();
            DataTable dt = null;

            try
            {
                dalSituacao = new dalSituacao();
                dt = dalSituacao.Select(objSituacao);

                foreach (DataRow dr in dt.Rows)
                {
                    objSituacao = new entidadeSituacao();


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

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

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

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


                    lstSituacao.Add(objSituacao);
                }
                return lstSituacao;
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeSituacao> SelectMax(entidadeSituacao objSituacao)
        {
            dalSituacao dalSituacao = null;

            var lstSituacao = new List<entidadeSituacao>();
            DataTable dt = null;

            try
            {
                dalSituacao = new dalSituacao();
                dt = dalSituacao.SelectMax(objSituacao);

                foreach (DataRow dr in dt.Rows)
                {
                    objSituacao = new entidadeSituacao();

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


                    lstSituacao.Add(objSituacao);
                }
                return lstSituacao;
            }
            catch (Exception)
            {
                throw;
            }
        }



    }
}
