private void AdicionarTodasAsDespesasOrdenadasPorMesEmConta(ContaDTO contaDTO, IOrderedEnumerable<DespesaDeViagem> despesasOrdenadasPorMes)
        {
            foreach (var despesa in despesasOrdenadasPorMes)
            {
                var despesaDTO = TransformarDespesaEmDespesaDTO(despesa);

                contaDTO.Despesas.Add(despesaDTO);
            }
        }
        private ContaDTO ObterContaPreenchidaPor(DespesaDeViagem despesa)
        {
            ContaDTO contaDTO = new ContaDTO()
            {
                Despesas = new List<DespesaDTO>(),
                Despesa = despesa.Despesa,
                Conta = despesa.NomeCidade,
                ContaId = despesa.Id,
                DespesaOperacionalId = this.orcamentoDeViagemId,
                ValorTotal = this.orcamentoDeViagem.ObterTotalFiltradoPor(despesa)
            };

            return contaDTO;
        }
        private void AdicionarDespesasAConta(ContaDTO conta, Repeater despesas)
        {
            foreach (RepeaterItem repeaterDespesa in despesas.Items)
            {
                var despesa = new DespesaDTO();

                var idDespesa = (HiddenField)repeaterDespesa.FindControl("idDespesa");
                var valorDespesa = (TextBox)repeaterDespesa.FindControl("valorDespesa");

                despesa.DespesaId = Convert.ToInt32(idDespesa.Value);

                if (valorDespesa.Text != string.Empty)
                    AtribuirValorFormatadoADespesa(despesa, valorDespesa);

                conta.Despesas.Add(despesa);
            }
        }
 private static ContaDTO PreencherContaDTO(HiddenField idDespesaOperacional, HiddenField idConta)
 {
     var conta = new ContaDTO();
     conta.ContaId = Convert.ToInt32(idConta.Value);
     conta.DespesaOperacionalId = Convert.ToInt32(idDespesaOperacional.Value);
     conta.Despesas = new List<DespesaDTO>();
     return conta;
 }
        private void InformarDespesas()
        {
            var despesas = this.View.OrcamentoOperacional.DespesasOperacionais;

            var contas = despesas.ToList<Despesa>().Select(x => x.Conta).Distinct();

            List<ContaDTO> contasDTO = new List<ContaDTO>();

            foreach (var conta in contas)
            {
                ContaDTO contaDTO = new ContaDTO() { DespesaId = despesas.FirstOrDefault(c => c.Conta.Id == conta.Id).Id, Conta = conta.Nome, ContaId = conta.Id, DespesaOperacionalId = this.View.OrcamentoOperacional.Id, ValorTotal = this.View.OrcamentoOperacional.DespesasOperacionais.Where(d => d.Conta.Id == conta.Id).Select(d => d.Valor).Sum() };

                contaDTO.Despesas = new List<DespesaDTO>();

                foreach (var despesa in despesas.Where(x => x.Conta.Id == conta.Id).OrderBy(x => (short)x.Mes))
                {
                    contaDTO.Despesas.Add(new DespesaDTO { Mes = (short)despesa.Mes, Valor = despesa.Valor, DespesaId = despesa.Id });
                }

                if (despesas != null && despesas.Where(x => x.Conta.Id == conta.Id).FirstOrDefault() != null)
                    contaDTO.MemoriaDeCalculo = despesas.Where(x => x.Conta.Id == conta.Id).FirstOrDefault().MemoriaDeCalculo;

                contasDTO.Add(contaDTO);
            }

            this.View.PreencherRepeaterDespesas(contasDTO);
        }
        public List<ContaDTO> ObterDespesasCorrentes()
        {
            var contas = new List<ContaDTO>();

            foreach (RepeaterItem despesaOperacional in rptDespesasOperacionais.Items)
            {
                var despesas = (Repeater)despesaOperacional.FindControl("rptContas");
                var idConta = (HiddenField)despesaOperacional.FindControl("idConta");
                var idDespesaOperacional = (HiddenField)despesaOperacional.FindControl("idDespesaOperacional");

                var conta = new ContaDTO();
                conta.ContaId = Convert.ToInt32(idConta.Value);
                conta.DespesaOperacionalId = Convert.ToInt32(idDespesaOperacional.Value);
                conta.Despesas = new List<DespesaDTO>();

                foreach (RepeaterItem repeaterDespesa in despesas.Items)
                {
                    var despesa = new DespesaDTO();
                    var idDespesa = (HiddenField)repeaterDespesa.FindControl("idDespesa");
                    var valorDespesa = (TextBox)repeaterDespesa.FindControl("valorDespesa");

                    despesa.DespesaId = Convert.ToInt32(idDespesa.Value);

                    if (valorDespesa.Text != string.Empty)
                    {
                        string valorFormatado = (valorDespesa.Text).Replace("(", "");
                        valorFormatado = valorFormatado.Replace(")", "");
                        valorFormatado = valorFormatado.Replace(".", "");

                        //if (valorFormatado.Length > 3)
                        //    despesa.Valor = Convert.ToInt32(valorFormatado.Substring(0, valorFormatado.Length - 3));
                        //else
                        despesa.Valor = Int32.Parse(valorFormatado);
                    }

                    conta.Despesas.Add(despesa);
                }
                contas.Add(conta);
            }
            return contas;
        }