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

        public void Insert(entidadeTipoGrandezaMedida objTipoGrandezaMedida)
        {
            dalTipoGrandezaMedida dalTipoGrandezaMedida = null;

            try
            {
                dalTipoGrandezaMedida = new dalTipoGrandezaMedida();

                dalTipoGrandezaMedida.Insert(objTipoGrandezaMedida);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update(entidadeTipoGrandezaMedida objTipoGrandezaMedida)
        {
            dalTipoGrandezaMedida dalTipoGrandezaMedida = null;

            try
            {
                dalTipoGrandezaMedida = new dalTipoGrandezaMedida();

                dalTipoGrandezaMedida.Update(objTipoGrandezaMedida);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update_1(entidadeTipoGrandezaMedida objTipoGrandezaMedida)
        {
            dalTipoGrandezaMedida dalTipoGrandezaMedida = null;

            try
            {
                dalTipoGrandezaMedida = new dalTipoGrandezaMedida();

                dalTipoGrandezaMedida.Update_1(objTipoGrandezaMedida);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Delete(entidadeTipoGrandezaMedida objTipoGrandezaMedida)
        {
            dalTipoGrandezaMedida dalTipoGrandezaMedida = null;

            try
            {
                dalTipoGrandezaMedida = new dalTipoGrandezaMedida();

                dalTipoGrandezaMedida.Delete(objTipoGrandezaMedida);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeTipoGrandezaMedida> Select(entidadeTipoGrandezaMedida objTipoGrandezaMedida)
        {
            dalTipoGrandezaMedida dalTipoGrandezaMedida = null;

            var lstTipoGrandezaMedida = new List<entidadeTipoGrandezaMedida>();
            DataTable dt = null;

            try
            {
                dalTipoGrandezaMedida = new dalTipoGrandezaMedida();
                dt = dalTipoGrandezaMedida.Select(objTipoGrandezaMedida);

                foreach (DataRow dr in dt.Rows)
                {
                    objTipoGrandezaMedida = new entidadeTipoGrandezaMedida();


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

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

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

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


                    lstTipoGrandezaMedida.Add(objTipoGrandezaMedida);
                }
                return lstTipoGrandezaMedida;
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeTipoGrandezaMedida> SelectMax(entidadeTipoGrandezaMedida objTipoGrandezaMedida)
        {
            dalTipoGrandezaMedida dalTipoGrandezaMedida = null;

            var lstTipoGrandezaMedida = new List<entidadeTipoGrandezaMedida>();
            DataTable dt = null;

            try
            {
                dalTipoGrandezaMedida = new dalTipoGrandezaMedida();
                dt = dalTipoGrandezaMedida.SelectMax(objTipoGrandezaMedida);

                foreach (DataRow dr in dt.Rows)
                {
                    objTipoGrandezaMedida = new entidadeTipoGrandezaMedida();

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


                    lstTipoGrandezaMedida.Add(objTipoGrandezaMedida);
                }
                return lstTipoGrandezaMedida;
            }
            catch (Exception)
            {
                throw;
            }
        }


    }
}
