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


        public void Insert(entidadeTipoPadraoMedicao objTipoPadraoMedicao)
        {
            dalTipoPadraoMedicao dalTipoPadraoMedicao = null;

            try
            {
                dalTipoPadraoMedicao = new dalTipoPadraoMedicao();

                dalTipoPadraoMedicao.Insert(objTipoPadraoMedicao);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update(entidadeTipoPadraoMedicao objTipoPadraoMedicao)
        {
            dalTipoPadraoMedicao dalTipoPadraoMedicao = null;

            try
            {
                dalTipoPadraoMedicao = new dalTipoPadraoMedicao();

                dalTipoPadraoMedicao.Update(objTipoPadraoMedicao);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Update_1(entidadeTipoPadraoMedicao objTipoPadraoMedicao)
        {
            dalTipoPadraoMedicao dalTipoPadraoMedicao = null;

            try
            {
                dalTipoPadraoMedicao = new dalTipoPadraoMedicao();

                dalTipoPadraoMedicao.Update_1(objTipoPadraoMedicao);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public void Delete(entidadeTipoPadraoMedicao objTipoPadraoMedicao)
        {
            dalTipoPadraoMedicao dalTipoPadraoMedicao = null;

            try
            {
                dalTipoPadraoMedicao = new dalTipoPadraoMedicao();

                dalTipoPadraoMedicao.Delete(objTipoPadraoMedicao);
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeTipoPadraoMedicao> Select(entidadeTipoPadraoMedicao objTipoPadraoMedicao)
        {
            dalTipoPadraoMedicao dalTipoPadraoMedicao = null;

            var lstTipoPadraoMedicao = new List<entidadeTipoPadraoMedicao>();
            DataTable dt = null;

            try
            {
                dalTipoPadraoMedicao = new dalTipoPadraoMedicao();
                dt = dalTipoPadraoMedicao.Select(objTipoPadraoMedicao);

                foreach (DataRow dr in dt.Rows)
                {
                    objTipoPadraoMedicao = new entidadeTipoPadraoMedicao();


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

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

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

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


                    lstTipoPadraoMedicao.Add(objTipoPadraoMedicao);
                }
                return lstTipoPadraoMedicao;
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeTipoPadraoMedicao> SelectMax(entidadeTipoPadraoMedicao objTipoPadraoMedicao)
        {
            dalTipoPadraoMedicao dalTipoPadraoMedicao = null;

            var lstTipoPadraoMedicao = new List<entidadeTipoPadraoMedicao>();
            DataTable dt = null;

            try
            {
                dalTipoPadraoMedicao = new dalTipoPadraoMedicao();
                dt = dalTipoPadraoMedicao.SelectMax(objTipoPadraoMedicao);

                foreach (DataRow dr in dt.Rows)
                {
                    objTipoPadraoMedicao = new entidadeTipoPadraoMedicao();

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


                    lstTipoPadraoMedicao.Add(objTipoPadraoMedicao);
                }
                return lstTipoPadraoMedicao;
            }
            catch (Exception)
            {
                throw;
            }
        }

        public IList<entidadeTipoPadraoMedicao> SelectOthersTables(entidadeTipoPadraoMedicao objTipoPadraoMedicao)
        {
            dalTipoPadraoMedicao dalTipoPadraoMedicao = null;

            var lstTipoPadraoMedicao = new List<entidadeTipoPadraoMedicao>();
            DataTable dt = null;

            try
            {
                dalTipoPadraoMedicao = new dalTipoPadraoMedicao();
                dt = dalTipoPadraoMedicao.SelectOthersTables(objTipoPadraoMedicao);

                foreach (DataRow dr in dt.Rows)
                {
                    objTipoPadraoMedicao = new entidadeTipoPadraoMedicao();

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

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

                    lstTipoPadraoMedicao.Add(objTipoPadraoMedicao);
                }
                return lstTipoPadraoMedicao;
            }
            catch (Exception)
            {
                throw;
            }
        }


    }
}
