Ejemplo n.º 1
0
 public MensagemPrivadaMOD(MensagemPrivadaDTO dto)
 {
     DataCriacao  = DateTime.Now;
     Remetente    = dto.Remetente;
     Destinatario = dto.Destinatario;
     Doacao       = dto.Doacao;
 }
Ejemplo n.º 2
0
        public async Task <MensagemPrivadaDTO> ObterMensagemPrivadaDTO(AdocaoDTO dto)
        {
            return(await Task.Run(() =>
            {
                var retorno = new MensagemPrivadaDTO
                {
                    Remetente = new MensageiroMOD
                    {
                        IdUsuario = dto.Adotante.Id
                    },
                    Doacao = new MensagemPrivadaDoacaoMOD
                    {
                        IdDoacao = dto.IdDoacao
                    }
                };

                return retorno;
            }));
        }
Ejemplo n.º 3
0
        public async Task <MensagemPrivadaDTO> ObterMensagemPrivadaDTO(AdocaoDTO dto)
        {
            return(await Task.Run(() =>
            {
                var usuario = _conn.Conectar("mongodb://localhost", "napegada", "usuario")
                              .FindAs <UsuarioMOD>(Query <UsuarioMOD> .ElemMatch <DoacaoMOD>(_ => _.Doacoes, _ => _.EQ(doacao => doacao.Id, dto.IdDoacao)))
                              .SetFields(Fields.ElemMatch("Doacoes", Query <DoacaoMOD> .EQ(_ => _.Id, dto.IdDoacao))
                                         .Include("Nome")
                                         .Include("Email")
                                         .Include("Reputacao")
                                         .Include("NomeFotoPerfil")).Single();

                var retorno = new MensagemPrivadaDTO
                {
                    Destinatario = new MensageiroMOD
                    {
                        Email = usuario.Email,
                        IdUsuario = usuario.Id,
                        Nome = usuario.Nome,
                        NomeFotoPerfil = usuario.NomeFotoPerfil,
                        Reputacao = usuario.Reputacao
                    },
                    Doacao = usuario.Doacoes.Select(_ => new MensagemPrivadaDoacaoMOD
                    {
                        IdDoacao = _.Id,
                        NomeAnimal = _.NomeAnimal
                    }).Single(),
                    Remetente = new MensageiroMOD
                    {
                        Email = dto.Adotante.Email,
                        IdUsuario = dto.Adotante.Id,
                        Nome = dto.Adotante.Nome,
                        Reputacao = dto.Adotante.Reputacao
                    }
                };

                return retorno;
            }));
        }