/// <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; }
/// <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); }
/// <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); }
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); } } }
/// <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); }
/// <summary> /// </summary> /// <param name="mes"></param> /// <returns></returns> private int SelecionarMesJavascript(CsMesDomain mes) { return((int)mes - 1); }
/// <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; }
/// <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)); }