private bool RecadoInicialDentroDoPrazoDeCarenciaDoAtendimentoEmMeses(IRecado recado) { var resultado = RecadoFinal.DataCriacao.Date.AddMonths(_carenciaEmMeses) > recado.DataCriacao.Date; return(resultado); }
private bool DeParaIgualAoDoRecadoInicial(IRecado recado) { var resultado = recado.De.ToLowerInvariant().Equals(RecadoInicial.De.ToLowerInvariant()) || recado.Para.ToLowerInvariant().Equals(RecadoInicial.De.ToLowerInvariant()); return(resultado); }
public bool RecadoPertenceAoAgrupamantoEdicao(IRecado recado) { var resultado = RecadoInicial != null && DeParaIgualAoDoRecadoInicial(recado) && RecadoInicialDentroDoPrazoDeCarenciaDoAtendimentoEmMesesEdicao(recado) && RefereseAoMesmoAssuntoDoRecadoInicialEdicao(recado); return(resultado); }
private bool RefereseAoMesmoAssuntoDoRecadoInicial(IRecado recado) { var assunto = string.Copy(recado.Assunto).Trim().ToLowerInvariant(); var resultado = _partesIgnoradasDoAssunto.Any(x => (assunto.StartsWith(x.ToLowerInvariant()) && assunto.Replace(x.ToLowerInvariant(), "") .Trim() .Equals(RecadoInicial.Assunto.Trim().ToLowerInvariant())) || (assunto.Equals(RecadoInicial.Assunto.Trim().ToLowerInvariant()))); return(resultado); }
public void EditarRecado(IRecado recado) { var agrupamentos = _mapeador.ObtenhaTodos(); var agrupamento = agrupamentos.First(x => x.RecadosResposta.Any(y => y.IdUnico == recado.IdUnico)); if (agrupamento.RecadoPertenceAoAgrupamantoEdicao(recado)) { var recadoJahAgrupado = agrupamento.RecadosResposta.First(x => x.IdUnico == recado.IdUnico); recadoJahAgrupado.DataAlteracao = DateTime.Today; recadoJahAgrupado.Assunto = recado.Assunto; recadoJahAgrupado.De = recado.De; recadoJahAgrupado.Para = recado.Para; recadoJahAgrupado.Mensagem = recado.Mensagem; _mapeador.Atualizar(agrupamento); } else { //Removo do agrupamento onde estava if (agrupamento.RecadosResposta.Count > 1) { var recadosResponsta = agrupamento.RecadosResposta.ToList(); recadosResponsta.RemoveAll(x => x.IdUnico == recado.IdUnico); agrupamento.RecadosResposta = recadosResponsta; _mapeador.Atualizar(agrupamento); } //Removo o argupamento else if (agrupamento.RecadosResposta.Count == 1) { _mapeador.Excluir(agrupamento.IdUnico); } var possivelProximoAgrupamento = agrupamentos.FirstOrDefault(x => x.RecadoPertenceAoAgrupamantoEdicao(recado)); if (possivelProximoAgrupamento != null) { possivelProximoAgrupamento.AdicioneRecado(recado); _mapeador.Atualizar(possivelProximoAgrupamento); } else { possivelProximoAgrupamento = new Agrupamento(); possivelProximoAgrupamento.AdicioneRecado(recado); agrupamentos.Add(possivelProximoAgrupamento); _mapeador.Salvar(possivelProximoAgrupamento); } } }
public void SalvarRecado(IRecado recado) { var agrupamentos = _mapeador.ObtenhaTodos(); var agrupamento = agrupamentos.FirstOrDefault(x => x.RecadoPertenceAoAgrupamanto(recado)); if (agrupamento != null) { agrupamento.AdicioneRecado(recado); _mapeador.Atualizar(agrupamento); } else { agrupamento = new Agrupamento(); agrupamento.AdicioneRecado(recado); agrupamentos.Add(agrupamento); _mapeador.Salvar(agrupamento); } }
private bool RefereseAoMesmoAssuntoDoRecadoInicialEdicao(IRecado recado) { var assunto = string.Copy(recado.Assunto).Trim().ToLowerInvariant(); foreach (var ignorado in _partesIgnoradasDoAssunto) { if (assunto.StartsWith(ignorado)) { assunto = assunto.Replace(ignorado, ""); break; } } var resultado = _partesIgnoradasDoAssunto.Any(x => RecadoInicial.Assunto.ToLowerInvariant().Replace(x, "").Trim() .Equals(assunto.Trim())); return(resultado); }
public void AdicioneRecado(IRecado recado) { RecadosResposta.Add((Recado)recado); }