public AgendamentoSaida(Agendamento agendamento) { if (agendamento == null) { return; } this.Id = agendamento.Id; this.CodigoTipoMetodoPagamento = agendamento.TipoMetodoPagamento; this.DescricaoTipoMetodoPagamento = agendamento.TipoMetodoPagamento.ObterDescricao(); this.Observacao = agendamento.Observacao; this.Conta = agendamento.IdConta.HasValue ? new ContaSaida(agendamento.Conta) : null; this.CartaoCredito = agendamento.IdCartaoCredito.HasValue ? new CartaoCreditoSaida(agendamento.CartaoCredito) : null; this.Pessoa = agendamento.IdPessoa.HasValue ? new PessoaSaida(agendamento.Pessoa) : null; this.Categoria = new CategoriaSaida(agendamento.Categoria); this.Parcelas = agendamento.Parcelas.Select(x => new ParcelaSaida(x)); this.DataProximaParcelaAberta = agendamento.ObterDataProximaParcelaAberta(); this.ValorProximaParcelaAberta = agendamento.ObterValorProximaParcelaAberta(); this.DataUltimaParcelaAberta = agendamento.ObterDataUltimaParcelaAberta(); this.QuantidadeParcelas = agendamento.ObterQuantidadeParcelas(); this.QuantidadeParcelasAbertas = agendamento.ObterQuantidadeParcelasAbertas(); this.QuantidadeParcelasFechadas = agendamento.ObterQuantidadeParcelasFechadas(); this.Concluido = agendamento.VerificarSeConcluido(); this.ValorTotal = agendamento.ObterValorTotal(); this.PercentualConclusao = agendamento.ObterPercentualConclusao(); }