public void SalvarRemoverGaleria(IndicadoInterno indicado)
 {
     //inserindo log
     dal.InserirLog(indicado.ID);
     //salvando flag de condutor
     dal.SalvarRemoverGaleria(indicado);
 }
 public void Salvar(IndicadoInterno entidade)
 {
     if (entidade.ID > 0)
     {
         dal.InserirLog(entidade.ID);
         dal.Atualizar(entidade);
     }
     else
     {
         dal.Inserir(entidade);
     }
 }
        /// <summary> 
        /// Método que atualiza os dados entidade. 
        /// </summary> 
        /// <param name="entidade">Entidade contendo os dados a serem atualizados.</param> 
        public void Atualizar(IndicadoInterno entidade)
        {
            string SQL = @"UPDATE IndicadoInterno SET  
                            PrimeiroNome=@PrimeiroNome,
                                NomeMeio=@NomeMeio,
                                Sobrenome=@Sobrenome,
                                NomeMae=@NomeMae,
                                DataNascimento=@DataNascimento,
                                Genero=@Genero,
                                DocumentoTipoID=@DocumentoTipoID,
                                DocumentoNumeroCrt=" + Criptografar(entidade.DocumentoNumero) + @",
                                DocumentoOrgaoEmissor=@DocumentoOrgaoEmissor,
                                DocumentoEstadoID=@DocumentoEstadoID,
                                DocumentoDataExpedicao=@DocumentoDataExpedicao,
                                EnderecoCrt=" + Criptografar(entidade.Endereco) + @",
                                EnderecoComplementoCrt=" + Criptografar(entidade.EnderecoComplemento) + @",
                                EnderecoPaisID=@EnderecoPaisID,
                                EnderecoCidadeID=@EnderecoCidadeID,
                                EnderecoCidadeEstadoNaoBR=@EnderecoCidadeEstadoNaoBR,
                                EnderecoCEP=@EnderecoCEP,
                                EnderecoBairro=@EnderecoBairro,
                                EnderecoPais=@EnderecoPais,
                                TelefoneResidencialCrt=" + Criptografar(entidade.TelefoneResidencial) + @", 
                                TelefoneComercialCrt=" + Criptografar(entidade.TelefoneComercial) + @",
                                EmailCrt=" + Criptografar(entidade.Email) + @",
                                CidadeParticipanteID=@CidadeParticipanteID,
                                Condutor=@Condutor,
                                HistoriaTitulo=@HistoriaTitulo,
                                HistoriaCategoriaID=@HistoriaCategoriaID,
                                HistoriaTexto=@HistoriaTexto,
                                HistoriaArquivoNome=@HistoriaArquivoNome,
                                UsuarioID=@UsuarioID,
                                DataModificacao=@DataModificacao,
                                Inativo=@Inativo,
                                IndicadoInternoCategoriaID=@IndicadoInternoCategoriaID,
                                RemoverGaleria=@RemoverGaleria
                        WHERE ID=@ID ";

            using (DbConnection con = _db.CreateConnection())
            {
                con.Open();
                con.Execute(SQL, entidade);
                con.Close();
            }

        }
        public void SalvarRemoverGaleria(IndicadoInterno entidade)
        {
            string SQL = @"UPDATE IndicadoInterno SET  
                    UsuarioID = @usuarioID
                    ,DataModificacao = @data
                    ,RemoverGaleria = @remover
                    WHERE ID = @indicadoID ";

            using (DbConnection con = _db.CreateConnection())
            {
                con.Open();
                con.Execute(SQL, new
                {
                    indicadoID = entidade.ID,
                    remover = entidade.RemoverGaleria,
                    usuarioID = entidade.UsuarioID,
                    data = DateTime.Now
                });
                con.Close();
            }
        }
        public IndicadoGaleriaModel CarregarGaleria(string id)
        {
            string idStr = id.LeftOfIndexOf("-");
            IndicadoGaleriaModel model = null;

            if (idStr[0] == 'I')
            {
                int indicadoID = Convert.ToInt32(idStr.Substring(1));
                IIndicadoInternoDAL indicadoInternoDal = new IndicadoInternoADO();
                IndicadoInterno     indicado           = indicadoInternoDal.Carregar(indicadoID);
                if (indicado != null)
                {
                    model = indicado.ToIndicadoGaleriaModel();
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                int      indicadoID = Convert.ToInt32(idStr);
                Indicado indicado   = dal.CarregarGaleria(indicadoID);
                if (indicado != null)
                {
                    model = indicado.ToIndicadoGaleriaModel(false);
                }
                else
                {
                    return(null);
                }
            }
            if ((model != null) && (model.ID != id))
            {
                model = null;
            }
            return(model);
        }
        /// <summary> 
        /// Método que carrega uma entidade. 
        /// </summary> 
        public IndicadoInterno Carregar(int id)
        {
            IndicadoInterno entidadeRetorno = null;

            string SQL = @"SELECT I.ID,
                                I.PrimeiroNome,
                                I.NomeMeio,
                                I.Sobrenome,
                                I.NomeMae,
                                I.DataNascimento,
                                I.Genero,
                                I.DocumentoTipoID,
                                " + Decriptografar("I.DocumentoNumeroCrt") + @" DocumentoNumero,
                                I.DocumentoOrgaoEmissor,
                                I.DocumentoEstadoID,
                                I.DocumentoDataExpedicao,
                                " + Decriptografar("I.EnderecoCrt") + @" Endereco,
                                " + Decriptografar("I.EnderecoComplementoCrt") + @" EnderecoComplemento,
                                I.EnderecoPaisID,
                                I.EnderecoCidadeID,
                                I.EnderecoCidadeEstadoNaoBR,
                                I.EnderecoCEP,
                                I.EnderecoBairro,
                                I.EnderecoPais,
                                " + Decriptografar("I.TelefoneResidencialCrt") + @" TelefoneResidencial, 
                                " + Decriptografar("I.TelefoneComercialCrt") + @" TelefoneComercial,
                                " + Decriptografar("I.EmailCrt") + @" Email, 
                                I.CidadeParticipanteID,
                                I.Condutor,
                                I.HistoriaTitulo,
                                I.HistoriaCategoriaID,
                                I.HistoriaTexto,
                                I.HistoriaArquivoNome,
                                I.UsuarioID,
                                I.DataModificacao,
                                I.Inativo,
                                i.IndicadoInternoCategoriaID,
                                i.RemoverGaleria,
                                C.ID, C.Nome, 
                                E.ID, E.UF, E.Nome, E.PaisID,
                                HC.ID, HC.Nome, HC.CorFont, HC.CorLabel,
                                CP.ID, CP.CidadeID,
                                CPC.ID, CPC.Nome, 
                                CPE.ID, CPE.UF, CPE.Nome, CPE.PaisID
							FROM IndicadoInterno (NOLOCK) I
                            INNER JOIN CidadeParticipante (NOLOCK) CP ON I.CidadeParticipanteID = CP.ID
                            INNER JOIN Cidade (NOLOCK) CPC ON CP.CidadeID = CPC.ID
                            INNER JOIN Estado (NOLOCK) CPE ON CPC.EstadoID = CPE.ID
                            INNER JOIN IndicadoInternoCategoria (nolock) IIC ON i.IndicadoInternoCategoriaID = IIC.ID
                            LEFT JOIN Cidade (NOLOCK) C ON I.EnderecoCidadeID = C.ID
                            LEFT JOIN Estado (NOLOCK) E ON C.EstadoID = E.ID
                            LEFT JOIN HistoriaCategoria (NOLOCK) HC ON I.HistoriaCategoriaID = HC.ID                            
							WHERE I.ID=@ID ";

            using (DbConnection con = _db.CreateConnection())
            {
                con.Open();
                entidadeRetorno = con.Query<IndicadoInterno, Cidade, Estado, HistoriaCategoria, CidadeParticipante, Cidade, Estado, IndicadoInterno>(SQL,
                    (indicadoInterno, cidade, estado, categoria, cp, cpcidade, cpestado) =>
                    {
                        indicadoInterno.HistoriaCategoria = categoria;
                        indicadoInterno.Cidade = cidade;
                        if (cidade != null)
                            indicadoInterno.Cidade.Estado = estado;
                        indicadoInterno.CidadeParticipante = cp;
                        indicadoInterno.CidadeParticipante.Cidade = cpcidade;
                        indicadoInterno.CidadeParticipante.Cidade.Estado = cpestado;
                        return indicadoInterno;
                    },
                    new { ID = id })
                    .FirstOrDefault();
                con.Close();
            }
            return entidadeRetorno;
        }
        /// <summary> 
        /// Inclui dados na base 
        /// </summary> 
        /// <param name="entidade"></param> 
        public void Inserir(IndicadoInterno entidade)
        {
            string SQL = @"INSERT INTO IndicadoInterno     
                                (PrimeiroNome,
                                NomeMeio,
                                Sobrenome,
                                NomeMae,
                                DataNascimento,
                                Genero,
                                DocumentoTipoID,
                                DocumentoNumeroCrt,
                                DocumentoOrgaoEmissor,
                                DocumentoEstadoID,
                                DocumentoDataExpedicao,
                                EnderecoCrt,
                                EnderecoComplementoCrt,
                                EnderecoPaisID,
                                EnderecoCidadeID,
                                EnderecoCidadeEstadoNaoBR,
                                EnderecoCEP,
                                EnderecoBairro,
                                EnderecoPais,
                                TelefoneResidencialCrt, 
                                TelefoneComercialCrt,
                                EmailCrt,
                                CidadeParticipanteID,
                                Condutor,
                                HistoriaTitulo,
                                HistoriaCategoriaID,
                                HistoriaTexto,
                                HistoriaArquivoNome,
                                UsuarioID,
                                DataModificacao,
                                DataCadastro,
                                Inativo,
                                IndicadoInternoCategoriaID,
                                RemoverGaleria) 
                            VALUES
                                (@PrimeiroNome,
                                @NomeMeio,
                                @Sobrenome,
                                @NomeMae,
                                @DataNascimento,
                                @Genero,
                                @DocumentoTipoID,
                                " + Criptografar(entidade.DocumentoNumero) + @",
                                @DocumentoOrgaoEmissor,
                                @DocumentoEstadoID,
                                @DocumentoDataExpedicao,
                                " + Criptografar(entidade.Endereco) + @",
                                " + Criptografar(entidade.EnderecoComplemento) + @",
                                @EnderecoPaisID,
                                @EnderecoCidadeID,
                                @EnderecoCidadeEstadoNaoBR,
                                @EnderecoCEP,
                                @EnderecoBairro,
                                @EnderecoPais,
                                " + Criptografar(entidade.TelefoneResidencial) + @",
                                " + Criptografar(entidade.TelefoneComercial) + @",
                                " + Criptografar(entidade.Email) + @",
                                @CidadeParticipanteID,
                                @Condutor,
                                @HistoriaTitulo,
                                @HistoriaCategoriaID,
                                @HistoriaTexto,
                                @HistoriaArquivoNome,
                                @UsuarioID,
                                @DataModificacao,
                                @DataCadastro,
                                @Inativo,
                                @IndicadoInternoCategoriaID,
                                @RemoverGaleria) ";

            using (DbConnection con = _db.CreateConnection())
            {
                con.Open();
                con.Execute(SQL, entidade);
                con.Close();
            }

        }