示例#1
0
        /// <summary>
        /// Preenche as propriedades do objeto Detalhamento
        /// </summary>
        /// <param name="extratoProjetoDto">Objeto extratoProjetoDto</param>
        /// <param name="mesComRubricas">Objetos RubricaMesDto</param>
        /// <param name="mes">mês de que se fala</param>
        /// <param name="anoPlanejado">ano de que se fala</param>
        private void PreencherExtratoProjeto(ExtratoProjetoDto extratoProjetoDto, IEnumerable <RubricaMesDto> mesComRubricas,
                                             CsMesDomain mes,
                                             int anoPlanejado)
        {
            Decimal orcamentoDesenvolvimento = CalcularOrcamentoDesenvolvimento(mesComRubricas);
            Custo   despesasDesenvolvimento  = CalcularDespesasDesenvolvimento(mesComRubricas);

            Decimal orcamentoAdministrativo = CalcularOrcamentoAdministrativo(mesComRubricas);
            Custo   despesasAdministrativas = CalcularDespesasAdministrativas(mesComRubricas);

            Custo resultadoMensal = (orcamentoAdministrativo + orcamentoDesenvolvimento) -
                                    despesasAdministrativas - despesasDesenvolvimento;

            extratoProjetoDto.Total.Acumulado += resultadoMensal;

            String anoPlanejadoString = Convert.ToString(anoPlanejado);

            int mesJavascript = SelecionarMesJavascript(mes);

            extratoProjetoDto.Anos[anoPlanejadoString][mesJavascript] = new OrcamentoDespesas
            {
                OrcamentoAprovadoAdministracao   = orcamentoAdministrativo,
                OrcamentoAprovadoDesenvolvimento = orcamentoDesenvolvimento,
                DespesasAdministrativas          = despesasAdministrativas,
                DespesasDesenvolvimento          = despesasDesenvolvimento,
                ResultadoMensal = resultadoMensal,
                Acumulado       = extratoProjetoDto.Total.Acumulado
            };

            extratoProjetoDto.Total.OrcamentoAprovadoAdministracao   += orcamentoAdministrativo;
            extratoProjetoDto.Total.OrcamentoAprovadoDesenvolvimento += orcamentoDesenvolvimento;
            extratoProjetoDto.Total.DespesasAdministrativas          += despesasAdministrativas;
            extratoProjetoDto.Total.DespesasDesenvolvimento          += despesasDesenvolvimento;
            extratoProjetoDto.Total.ResultadoMensal = extratoProjetoDto.Total.Acumulado;
        }
示例#2
0
        /// <summary>
        /// Cria uma instância de PlanCalendarioCoorp de trabalho para um dia e
        /// mês repetidos anualmente.
        /// </summary>
        /// <param name="session">Seção atual</param>
        /// <param name="dia">Dia do calendário não-útil</param>
        /// <param name="mes">Mês do calendário não-útil</param>
        /// <param name="save">Se verdadeiro, persiste</param>
        /// <returns>Instância de PlanCalendario para testes</returns>
        public static Calendario CriarDiaMesNaoUtil(Session session, int dia, CsMesDomain mes, bool save = false)
        {
            Calendario plan = CriarCalendarioPorDiaMes(session, CsCalendarioDomain.Folga,
                                                       dia, mes, save);

            return(plan);
        }
示例#3
0
        /// <summary>
        /// Cria uma instância de Calendario de folga para um dia específico.
        /// </summary>
        /// <param name="session">Seção atual</param>
        /// <param name="dia">Dia do calendário</param>
        /// <param name="mes">Mês do calendário</param>
        /// <param name="ano">Ano do calendário</param>
        /// <param name="save">Se verdadeiro, persiste</param>
        /// <returns>Instância de PlanCalendario para testes</returns>
        public static Calendario CriarDiaUtil(Session session, int dia, CsMesDomain mes, int ano, bool save = false)
        {
            Calendario plan = CriarCalendarioPorDiaMesAno(session, CsCalendarioDomain.Trabalho,
                                                          dia, mes, ano, save);

            return(plan);
        }
        public static RubricaMes CriarRubricaMes(int rubricaId, CsMesDomain csMesDomain, int nbAno, bool PossuiGastosRelacionados, decimal?nbPlanejado, decimal?nbGasto)
        {
            var rubricaMes = new RubricaMes {
                RubricaId = rubricaId, CsMes = csMesDomain, NbAno = nbAno, PossuiGastosRelacionados = PossuiGastosRelacionados, NbPlanejado = nbPlanejado, NbGasto = nbGasto
            };

            RubricaMesDao.Instance.SalvarRubricaMes(rubricaMes);
            return(rubricaMes);
        }
示例#5
0
        public void DadoQueExistamAsDespesasReaisNoAditivoDoProjetoConformeInformadasASeguir(string aditivo, string projeto, Table table)
        {
            foreach (var row in table.Rows)
            {
                //Rubrica r = ScenarioContext.Current.Get<Rubrica>(aditivo + row["rubrica"]);
                var tipoRubrica = ScenarioContext.Current.Get <TipoRubrica>(row["rubrica"]);
                var Projeto     = ScenarioContext.Current.Get <Projeto>("Projeto_" + projeto);

                foreach (var mes in table.Header.Skip(1))
                {
                    CsMesDomain csMes = (CsMesDomain)Enum.Parse(typeof(CsMesDomain), mes);

                    var despesaRealDto = new DespesaRealDto
                    {
                        ProjetoOid    = Projeto.Oid,
                        TipoRubricaId = tipoRubrica.TipoRubricaId,
                        Mes           = csMes,
                        Ano           = 2014,
                        DespesaReal   = (Decimal?)(row[mes].Equals("") ? 0 : Convert.ToDecimal(row[mes]))
                    };
                    RubricaMesBo.Instance.SalvarDespesaReal(despesaRealDto);
                }
            }
        }
示例#6
0
        /// <summary>
        /// Cria uma instância de PlanCalendarioCoorp.
        /// </summary>
        /// <param name="session">Seção atual</param>
        /// <param name="csCalendario">Folga ou Trabalho</param>
        /// <param name="csVigencia">PorPeriodo, PorDiaMes ou PorDiaMesAno</param>
        /// <param name="dtInicio">Dia de inicio do calendário por Período</param>
        /// <param name="dtTermino">Dia de término do calendário por Período</param>
        /// <param name="dia">Dia do calendário PorDiaMesAno e PorDiaMes</param>
        /// <param name="mes">Mês do calendário PorDiaMesAno e PorDiaMes</param>
        /// <param name="ano">Ano do calendário PorDiaMesAno</param>
        /// <param name="save">Se verdadeiro, persiste</param>
        /// <returns>Instância de PlanCalendario para testes</returns>
        public static Calendario CriarCalendario(Session session, CsCalendarioDomain csCalendario,
                                                 CsVigenciaDomain csVigencia, DateTime dtInicio,
                                                 DateTime dtTermino, int dia, CsMesDomain mes, int ano, bool save = false)
        {
            Calendario cal = new Calendario(session)
            {
                CsCalendario = csCalendario,
                CsVigencia   = csVigencia,
                CsSituacao   = CsSituacaoDomain.Ativo,
                TxDescricao  = GetDescricao()
            };

            switch (csVigencia)
            {
            case CsVigenciaDomain.PorPeriodo:
                cal.DtInicio  = dtInicio;
                cal.DtTermino = dtTermino;
                break;

            case CsVigenciaDomain.PorDiaMes:
                cal.CsMes = mes;
                cal.NbDia = dia;
                break;

            case CsVigenciaDomain.PorDiaMesAno:
                cal.DtInicio = new DateTime(ano, (int)mes, dia);
                break;
            }

            if (save)
            {
                cal.Save();
            }

            return(cal);
        }
示例#7
0
 /// <summary>
 /// </summary>
 /// <param name="mes"></param>
 /// <returns></returns>
 private int SelecionarMesJavascript(CsMesDomain mes)
 {
     return((int)mes - 1);
 }
示例#8
0
        /// <summary>
        /// Preenche as propriedades do objeto ExtratoFinanceiro
        /// </summary>
        /// <param name="extratoFinanceiroDto"></param>
        /// <param name="mesComRubricas"></param>
        /// <param name="mes"></param>
        /// <param name="anoPlanejado"></param>
        private void PreencherExtratoFinanceiro(ExtratoFinanceiroDto extratoFinanceiroDto,
                                                IEnumerable <RubricaMesDto> mesComRubricas, CsMesDomain mes,
                                                int anoPlanejado)
        {
            Decimal aportePlanejado = CalcularAportePlanejado(mesComRubricas);

            Custo aporteReal = CalcularAporteReal(mesComRubricas);

            Custo despesasAdministrativas = CalcularDespesasAdministrativas(mesComRubricas);
            Custo despesasDesenvolvimento = CalcularDespesasDesenvolvimento(mesComRubricas);

            Custo despesasReais = despesasAdministrativas + despesasDesenvolvimento;

            extratoFinanceiroDto.Total.Acumulado += aporteReal - despesasReais;

            String anoPlanejadoString = Convert.ToString(anoPlanejado);

            int mesJavascript = SelecionarMesJavascript(mes);

            extratoFinanceiroDto.Anos[anoPlanejadoString][mesJavascript] = new DespesasAportes
            {
                AportePlanejado = aportePlanejado,
                AporteRealizado = aporteReal,
                DespesasReaisAdministrativas = despesasAdministrativas,
                DespesasReaisDesenvolvimento = despesasDesenvolvimento,
                Acumulado = extratoFinanceiroDto.Total.Acumulado
            };

            extratoFinanceiroDto.Total.AportePlanejado += aportePlanejado;
            extratoFinanceiroDto.Total.AporteRealizado += aporteReal;

            extratoFinanceiroDto.Total.DespesasReaisAdministrativas += despesasAdministrativas;
            extratoFinanceiroDto.Total.DespesasReaisDesenvolvimento += despesasDesenvolvimento;
        }
示例#9
0
 /// <summary>
 /// Cria uma instância de PlanCalendarioCoorp por determinado Dia e mês repetidos a cada ano.
 /// </summary>
 /// <param name="session">Seção atual</param>
 /// <param name="csCalendario">Folga ou Trabalho</param>
 /// <param name="dia">Dia do calendário PorDiaMesAno e PorDiaMes</param>
 /// <param name="mes">Mês do calendário PorDiaMesAno e PorDiaMes</param>
 /// <param name="save">Se verdadeiro, persiste</param>
 /// <returns>Instância de PlanCalendario para testes</returns>
 public static Calendario CriarCalendarioPorDiaMes(Session session, CsCalendarioDomain csCalendario,
                                                   int dia, CsMesDomain mes, bool save = false)
 {
     return(CriarCalendario(session, csCalendario, CsVigenciaDomain.PorDiaMes, new DateTime(),
                            new DateTime(), dia, mes, 0, save));
 }