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

        public void Insert(entidadeUsuarioEmpresa objUsuarioEmpresa)
        {
            dalUsuarioEmpresa dalUsuarioEmpresa = null;

            try
            {
                dalUsuarioEmpresa = new dalUsuarioEmpresa();

                dalUsuarioEmpresa.Insert(objUsuarioEmpresa);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Delete(entidadeUsuarioEmpresa objUsuarioEmpresa)
        {
            dalUsuarioEmpresa dalUsuarioEmpresa = null;

            try
            {
                dalUsuarioEmpresa = new dalUsuarioEmpresa();

                dalUsuarioEmpresa.Delete(objUsuarioEmpresa);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeUsuarioEmpresa> Select(entidadeUsuarioEmpresa objUsuarioEmpresa)
        {
            dalUsuarioEmpresa dalUsuarioEmpresa = null;

            var lstUsuarioEmpresa = new List<entidadeUsuarioEmpresa>();
            DataTable dt = null;

            try
            {
                dalUsuarioEmpresa = new dalUsuarioEmpresa();
                dt = dalUsuarioEmpresa.Select(objUsuarioEmpresa);

                foreach (DataRow dr in dt.Rows)
                {
                    objUsuarioEmpresa = new entidadeUsuarioEmpresa();


                    if (!Convert.IsDBNull(dr["EMPRESA"]))
                        objUsuarioEmpresa.EMPRESA = dr["EMPRESA"].ToString();

                    if (!Convert.IsDBNull(dr["ID_PERMISSAO"]))
                        objUsuarioEmpresa.ID_PERMISSAO = Convert.ToInt32(dr["ID_PERMISSAO"]);

                    lstUsuarioEmpresa.Add(objUsuarioEmpresa);
                }
                return lstUsuarioEmpresa;
            }
            catch (Exception)
            {
                throw;
            }
        }

    }
}
