public OrcamentoDTO selectOrcamentoCompleto(OrcamentoDTO orcamento) { try { OrcamentoDTO resultado = null; if (orcamento != null && orcamento.id > 0) { using (ISession session = NHibernateHelper.getItemConfiguracao().OpenSession()) { NHibernateDAL <OrcamentoDTO> orcamentoDAL = new NHibernateDAL <OrcamentoDTO>(session); resultado = orcamentoDAL.selectId <OrcamentoDTO>((int)orcamento.id); OrcamentoDetalheDTO orcamentoDetalhe = new OrcamentoDetalheDTO(); orcamentoDetalhe.orcamento = resultado; OrcamentoDetalheDAL orcamentoDetDAL = new OrcamentoDetalheDAL(session); resultado.listaOrcamentoDetalhe = orcamentoDetDAL.select(orcamentoDetalhe); } } else { throw new Exception("Orçamento nulo/inexistente."); } return(resultado); } catch (Exception ex) { FaultException fault = new FaultException(ex.Message); throw fault; } }
public void gerarOrcamento() { try { if (orcamentoSelected.numeroPeriodos > 0 && orcamentoSelected.orcamentoPeriodo != null) { List <OrcamentoDetalheDTO> listaDetAux = new List <OrcamentoDetalheDTO>(); DateTime data = (DateTime)orcamentoSelected.dataInicial; string FORMATA_DIA = "dd/MM/yyyy"; string FORMATA_MES = "MM/yyyy"; string FORMATA_ANO = "yyyy"; for (int i = 0; i < orcamentoSelected.numeroPeriodos; i++) { OrcamentoDetalheDTO oDetalhe = new OrcamentoDetalheDTO(); oDetalhe.taxaVariacao = 0; oDetalhe.valorOrcado = 0; oDetalhe.valorRealizado = 0; oDetalhe.valorVariacao = 0; oDetalhe.orcamento = orcamentoSelected; switch (orcamentoSelected.orcamentoPeriodo.id) { case 1: //diario oDetalhe.periodo = data.ToString(FORMATA_DIA); data = data.AddDays(1); break; case 2: //semanal oDetalhe.periodo = data.ToString(FORMATA_DIA); data = data.AddDays(7); break; case 3: //mensal oDetalhe.periodo = data.ToString(FORMATA_MES); data = data.AddMonths(1); break; case 4: //bimestral oDetalhe.periodo = data.ToString(FORMATA_MES); data = data.AddMonths(2); break; case 5: //trimestral oDetalhe.periodo = data.ToString(FORMATA_MES); data = data.AddMonths(3); break; case 6: //semestral oDetalhe.periodo = data.ToString(FORMATA_MES); data = data.AddMonths(6); break; case 7: //anual oDetalhe.periodo = data.ToString(FORMATA_ANO); data = data.AddYears(1); break; } listaDetAux.Add(oDetalhe); IList <NaturezaFinanceiraDTO> listaNaturezaFinanceira = null; using (ServiceClient servico = new ServiceClient()) { listaNaturezaFinanceira = servico.selectNaturezaFinanceira(new NaturezaFinanceiraDTO()); } orcamentoSelected.listaOrcamentoDetalhe = new List <OrcamentoDetalheDTO>(); foreach (OrcamentoDetalheDTO orcamentoDetalhe in listaDetAux) { foreach (NaturezaFinanceiraDTO naturezaFin in listaNaturezaFinanceira) { OrcamentoDetalheDTO oDet = new OrcamentoDetalheDTO(); oDet.taxaVariacao = orcamentoDetalhe.taxaVariacao; oDet.valorOrcado = orcamentoDetalhe.valorOrcado; oDet.valorRealizado = orcamentoDetalhe.valorRealizado; oDet.valorVariacao = orcamentoDetalhe.taxaVariacao; oDet.periodo = orcamentoDetalhe.periodo; oDet.naturezaFinanceira = naturezaFin; oDet.orcamento = orcamentoSelected; orcamentoSelected.listaOrcamentoDetalhe.Add(oDet); } } } notifyPropertyChanged("orcamentoSelected"); } else { throw new Exception("Os campos devem estar preenchidos."); } } catch (Exception ex) { throw ex; } }