Ejemplo n.º 1
0
        public StatusTelemarketing ConsultaStatusDoCliente(int idCliente)
        {
            try
            {
                StatusTelemarketing entidade = null;

                string sql = "select st.id, st.descricao, t.datacontato from status_telemarketing st, telemarketing t where " +
                             "st.id = t.status_telemarketing_id and t.relacao_id = @IdCliente and t.datacontato = " +
                             "(select max(datacontato) from telemarketing where relacao_id = @IdCliente)";

                sql = sql.Replace("@IdCliente", idCliente.ToString());

                var reader = _context.ExecuteSqlCommandWithReturn(sql);

                if (reader.Read())
                {
                    entidade = ReaderParaObjeto(reader);
                }

                reader.Close();

                return(entidade);
            }
            catch (Exception ex)
            {
                _log.EscreveLinha("Erro ao consultar status do cliente ( " + idCliente + " )");
                _log.EscreveLinha("Classe StatusTelemarketingRepositorio - Método ConsultaStatusDoCliente(int idCliente)");
                _log.EscreveLinha("Mensagem do erro: " + ex.Message);
                return(null);
            }
        }
Ejemplo n.º 2
0
        private StatusTelemarketing ReaderParaObjeto(MySqlDataReader reader)
        {
            try
            {
                var entidade = new StatusTelemarketing();

                entidade.Descricao = reader[DESCRICAO].ToString();
                entidade.Data      = reader[DATA_CONTATO].ToString();

                var id = reader[ID].ToString();

                if (!string.IsNullOrEmpty(id))
                {
                    entidade.Id = int.Parse(id);
                }

                return(entidade);
            }
            catch (Exception ex)
            {
                _log.EscreveLinha("Erro ao converter Reader para Objeto");
                _log.EscreveLinha("Classe StatusTelemarketingRepositorio");
                _log.EscreveLinha("Mensagem do erro: " + ex.Message);
                return(null);
            }
        }
Ejemplo n.º 3
0
        private bool EhStatusValido(StatusTelemarketing statusCliente)
        {
            int[] validos =
            {
                StatusTelemarketing.TEL_INCORRETO, StatusTelemarketing.NAO_ATENDE,   StatusTelemarketing.MUDO,
                StatusTelemarketing.CAIXA_POSTAL,  StatusTelemarketing.LIG_CHAMANDO, StatusTelemarketing.TURNO_MANHA,
                StatusTelemarketing.TURNO_TARDE,
            };

            foreach (var status in validos)
            {
                if (statusCliente.Id == status)
                {
                    return(true);
                }

                if (statusCliente.Id == StatusTelemarketing.SEM_INTERESSE_OUVIU)
                {
                    var intervalo = DateTime.Now - DateTime.Parse(statusCliente.Data);

                    if (intervalo.Days >= 15)
                    {
                        return(true);
                    }
                }

                if (statusCliente.Id == StatusTelemarketing.SEM_INTERESSE_NAO_QUIS)
                {
                    var intervalo = DateTime.Now - DateTime.Parse(statusCliente.Data);

                    if (intervalo.Days >= 120)
                    {
                        return(true);
                    }
                }

                if (statusCliente.Id == StatusTelemarketing.DIFICIL_LOCALIZACAO)
                {
                    var intervalo = DateTime.Now - DateTime.Parse(statusCliente.Data);

                    if (intervalo.Days >= 30)
                    {
                        return(true);
                    }
                }

                if (statusCliente.Id == StatusTelemarketing.FECHADO ||
                    statusCliente.Id == StatusTelemarketing.JA_FEZ)
                {
                    var intervalo = DateTime.Now - DateTime.Parse(statusCliente.Data);

                    if (intervalo.Days >= 90)
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }