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;
            }
        }
Beispiel #2
0
        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;
            }
        }