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); } }
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); } }
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); }