public void Salvar(ModeloRelatorio modelo, List <Atributo> atributoSet)
        {
            var repositorioAtributo = new RepositorioAbtributo();

            Salvar(modelo);
            atributoSet.ForEach(a => a.IdRelatorioModelo = modelo.Id);
            atributoSet.ForEach(a => repositorioAtributo.Salvar(a));
        }
        public ModeloRelatorio CarregarPorId(int id)
        {
            #region QUERY

            var query = @"SELECT
							titulo,
							tipo_de_registro,
							campo_data,
						    aplicar_condicao,
							campo_condicao_01,
							operador_condicional_01,
							valor_campo_01,
							operador_logico,
							campo_condicao_02,
							operador_condicional_02,
							valor_campo_02,
							imprimir_cabecalho,
							imprimir_rodape,
							imprimir_sumario 
						  FROM
							modelo_relatorio
						  WHERE
							id_modelo_relatorio = @id"                            ;
            #endregion

            var parametros = GetIdParametro(id);
            var conexao    = new Conexao();
            var dados      = conexao.Ler(query, parametros);

            var modelo = dados.Select(r =>
                                      new ModeloRelatorio
            {
                Id                    = id,
                Titulo                = r["titulo"].ToString(),
                TipoDeRegistro        = (TipoDeRegistro)Enum.Parse(typeof(TipoDeRegistro), r["tipo_de_registro"].ToString()),
                CampoData             = r["campo_data"].ToString(),
                AplicarCondicao       = bool.Parse(r["aplicar_condicao"].ToString()),
                CampoCodicao01        = r["campo_condicao_01"].ToString(),
                OperadorCondicional01 = (OperadorCondicional)Enum.Parse(typeof(OperadorCondicional), r["operador_condicional_01"].ToString()),
                ValorCampo01          = r["valor_campo_01"].ToString(),
                OperadorLogico        = (OperadorLogico)Enum.Parse(typeof(OperadorLogico), r["operador_logico"].ToString()),
                CampoCodicao02        = r["campo_condicao_02"].ToString(),
                OperadorCondicional02 = (OperadorCondicional)Enum.Parse(typeof(OperadorCondicional), r["operador_condicional_02"].ToString()),
                ValorCampo02          = r["valor_campo_02"].ToString(),
                ImprimirCabecalho     = (TipoDeImpressao)Enum.Parse(typeof(TipoDeImpressao), r["imprimir_cabecalho"].ToString()),
                ImprimirRodape        = (TipoDeImpressao)Enum.Parse(typeof(TipoDeImpressao), r["imprimir_rodape"].ToString()),
                ImprimirSumario       = bool.Parse(r["imprimir_sumario"].ToString())
            }).First();

            var repositorioAtributo = new RepositorioAbtributo();
            modelo.AtributoSet = repositorioAtributo.CarregarPorIdModeloRelatorio(modelo.Id);

            return(modelo);
        }
        public List <ModeloRelatorio> CarregarTodos()
        {
            #region QUERY

            var query = @"SELECT
							id_modelo_relatorio,
							titulo,
							tipo_de_registro,
							campo_data,
							aplicar_condicao,
							campo_condicao_01,
							operador_condicional_01,
							valor_campo_01,
							operador_logico,
							campo_condicao_02,
							operador_condicional_02,
							valor_campo_02,
							imprimir_cabecalho,
							imprimir_rodape,
							imprimir_sumario 
						  FROM
							modelo_relatorio
						  ORDER BY
							id_modelo_relatorio"                            ;
            #endregion

            var conexao = new Conexao();
            var dados   = conexao.Ler(query);

            var modeloSet = dados.Select(r =>
                                         new ModeloRelatorio
            {
                Id                    = int.Parse(r["id_modelo_relatorio"].ToString()),
                Titulo                = r["titulo"].ToString(),
                TipoDeRegistro        = (TipoDeRegistro)Enum.Parse(typeof(TipoDeRegistro), r["tipo_de_registro"].ToString()),
                CampoData             = r["campo_data"].ToString(),
                AplicarCondicao       = bool.Parse(r["aplicar_condicao"].ToString()),
                CampoCodicao01        = r["campo_condicao_01"].ToString(),
                OperadorCondicional01 = (OperadorCondicional)Enum.Parse(typeof(OperadorCondicional), r["operador_condicional_01"].ToString()),
                ValorCampo01          = r["valor_campo_01"].ToString(),
                OperadorLogico        = (OperadorLogico)Enum.Parse(typeof(OperadorLogico), r["operador_logico"].ToString()),
                CampoCodicao02        = r["campo_condicao_02"].ToString(),
                OperadorCondicional02 = (OperadorCondicional)Enum.Parse(typeof(OperadorCondicional), r["operador_condicional_02"].ToString()),
                ValorCampo02          = r["valor_campo_02"].ToString(),
                ImprimirCabecalho     = (TipoDeImpressao)Enum.Parse(typeof(TipoDeImpressao), r["imprimir_cabecalho"].ToString()),
                ImprimirRodape        = (TipoDeImpressao)Enum.Parse(typeof(TipoDeImpressao), r["imprimir_rodape"].ToString()),
                ImprimirSumario       = bool.Parse(r["imprimir_sumario"].ToString())
            }).ToList();

            var repositorioAtributo = new RepositorioAbtributo();
            modeloSet.ForEach(x => x.AtributoSet = repositorioAtributo.CarregarPorIdModeloRelatorio(x.Id));

            return(modeloSet);
        }
        private void RemoverAtributo(List <Atributo> atributoSet)
        {
            var repositorio = new RepositorioAbtributo();

            atributoSet.ForEach(x => repositorio.Remover(x));
        }