public PkMensagem(ChatProfess mensagem, GroupBuilder groupBuilder, int codigoDoCliente) { this.Id = mensagem.Id; this.GroupNameOrigem = groupBuilder.BuildGroupName(codigoDoCliente, mensagem.TipoOrigem, mensagem.IdOrigem.ConvertToInt32()); this.GroupNameDestino = groupBuilder.BuildGroupName(codigoDoCliente, mensagem.TipoDestino, mensagem.IdDestino.ConvertToInt32()); this.Texto = mensagem.TextMens; this.DataDaMensagem = mensagem.DtMensagem ?? DateTime.MinValue; this.Lida = mensagem.Lido ?? false; this.DataDeLeitura = mensagem.DtQleu; }
public PkConversa(PkUsuarioConversa usuario, List <ChatProfess> mensagensDoUsuario, int codigoDoCliente, GroupBuilder groupBuilder, bool deveOrdenar = true) { this.Codigo = usuario.Codigo; this.Nome = usuario.Nome.GetPrimeiroEUltimoNome(); this.Foto = FotoTrata.ToBase64String(usuario.Foto); this.Status = usuario.Status; this.Tipo = usuario.Tipo; if (this.Status == this.Tipo) { this.Status = TipoDeUsuarioDoChatTrata.TipoExtenso(this.Tipo); } this.CodigoDaEscola = codigoDoCliente; this.GroupName = groupBuilder.BuildGroupName(codigoDoCliente, usuario.Tipo, usuario.Codigo); this.Mensagens = mensagensDoUsuario .Select(mensagem => new PkMensagem(mensagem, groupBuilder, codigoDoCliente)) .ToList(); if (deveOrdenar) { this.Mensagens = this.Mensagens .OrderBy(x => x.DataDaMensagem) .ToList(); } this.SetDataDaUltimaMensagem(); }