public void AdicionarAtividade(ItemCatalogo itemCatalogo, int quantidade, int modalidaExecucaoId, decimal tempoPrevistoPorItem, string descricao, IEnumerable <Guid> idsAssuntos, IEnumerable <Guid> idsObjetos) { VerificarPossibilidadeAlteracao(); var atividade = PactoTrabalhoAtividade.Criar(this.PactoTrabalhoId, itemCatalogo.ItemCatalogoId, quantidade, modalidaExecucaoId, tempoPrevistoPorItem, descricao); if (idsAssuntos != null) { foreach (var idAssunto in idsAssuntos) { atividade.AdicionarAssunto(idAssunto); } } if (idsObjetos != null) { foreach (var idObjeto in idsObjetos) { atividade.AdicionarObjeto(idObjeto); } } this.Atividades.Add(atividade); if (itemCatalogo.FormaCalculoTempoItemCatalogoId == (int)FormaCalculoTempoItemCatalogoEnum.PredefinidoPorDia) { atividade.AtualizarTempoPrevistoTotal(WorkingDays.DiffDays(this.DataInicio, this.DataFim, this.DiasNaoUteis, false)); } }
/// <summary> /// Muda as atividades que tem mais de um item para que fiquem com somente um para que o analista possa acompanhar cada uma delas /// </summary> private void ConverterAtividadesAgrupadasParaUnicas() { var atividadesAgrupadas = this.Atividades.Where(a => a.Quantidade > 1).ToList(); foreach (var atividade in atividadesAgrupadas) { for (var index = 1; index < atividade.Quantidade; index++) { this.Atividades.Add(PactoTrabalhoAtividade.Criar(atividade.PactoTrabalhoId, atividade.ItemCatalogoId, 1, atividade.TempoPrevistoPorItem, atividade.Descricao)); } atividade.Alterar(atividade.ItemCatalogoId, 1, atividade.TempoPrevistoPorItem, atividade.Descricao); } }
public void AprovarNovaAtividade(Guid itemCatalogoId, int quantidade, decimal tempoPrevistoPorItem, Int32 situacaoId, DateTime?dataInicio, DateTime?dataFim, Decimal?tempoRealizado, string descricao, bool atualizarPrazo) { var atividade = PactoTrabalhoAtividade.Criar(this, itemCatalogoId, quantidade, tempoPrevistoPorItem, descricao); atividade.AlterarAndamento(situacaoId, dataInicio, dataFim, tempoRealizado, ignorarValidacoes: true); this.Atividades.Add(atividade); this.AtualizarPercentualExecucao(); if (atualizarPrazo) { var novaDataFim = atividade.CalcularAjusteNoPrazo(this.DataFim, DiasNaoUteis); this.AlterarPeriodo(novaDataFim); } }
public void AprovarNovaAtividade(ItemCatalogo itemCatalogo, int quantidade, int modalidaExecucaoId, decimal tempoPrevistoPorItem, Int32 situacaoId, DateTime?dataInicio, DateTime?dataFim, Decimal?tempoRealizado, string descricao, bool atualizarPrazo) { var atividade = PactoTrabalhoAtividade.Criar(this, itemCatalogo, quantidade, modalidaExecucaoId, tempoPrevistoPorItem, descricao); atividade.AlterarAndamento(situacaoId, dataInicio, dataFim, tempoRealizado, ignorarValidacoes: true); this.Atividades.Add(atividade); if (itemCatalogo.FormaCalculoTempoItemCatalogoId == (int)FormaCalculoTempoItemCatalogoEnum.PredefinidoPorDia) { atividade.AtualizarTempoPrevistoTotal(WorkingDays.DiffDays(this.DataInicio, this.DataFim, this.DiasNaoUteis, false)); } if (atualizarPrazo) { var novaDataFim = atividade.CalcularAjusteNoPrazo(this.DataFim, DiasNaoUteis, tempoPrevistoPorItem); this.AlterarPeriodo(novaDataFim); } this.AtualizarPercentualExecucao(); }