public CicloViewModel Adicionar(NovoCicloViewModel novoCiclo) { var empresa = _unitOfWork.EmpresaRepository.BuscarPeloId(novoCiclo.EmpresaId); if (empresa == null) { throw new NotFoundException("Empresa não encontrada."); } var cicloExistente = (_repositoryBase as ICicloRepository) .BuscarPeloPeriodo(empresa.Id, novoCiclo.Ano, novoCiclo.Semestre); if (cicloExistente != null) { throw new DuplicatedException("Já há um ciclo cadastrado para esse semestre."); } var ciclo = new Ciclo( novoCiclo.Ano, novoCiclo.Semestre, novoCiclo.Descricao, _mapper.Map <Periodo>(novoCiclo.PeriodoVotacaoAssociadoFantastico), _mapper.Map <Periodo>(novoCiclo.PeriodoVotacaoAssociadoSuperFantastico), empresa, new Dimensionamento(_dimensionamentoPadraoAssociadoFantastico.Intervalo, _dimensionamentoPadraoAssociadoFantastico.Acrescimo), new Dimensionamento(_dimensionamentoPadraoAssociadoSuperFantastico.Intervalo, _dimensionamentoPadraoAssociadoSuperFantastico.Acrescimo)); var cicloAnterior = (_repositoryBase as ICicloRepository) .BuscarCicloAnterior(empresa.Id, novoCiclo.Ano, novoCiclo.Semestre); if (cicloAnterior != null) { foreach (var grupo in cicloAnterior.Grupos) { ciclo.AdicionarGrupo(grupo); } } return(base.Adicionar(ciclo)); }
public CicloViewModel PostNovoCiclo(NovoCicloViewModel novoCiclo) { novoCiclo.EmpresaId = EmpresaId; return((_appService as ICicloAppService).Adicionar(novoCiclo)); }