public void AddOcorrencia(Ocorrencia ocorrencia, string projetoId, string responsavelId) { var projeto = ProjetosController.GetInstance().Projetos.FirstOrDefault(x => x.Id == projetoId); if (projeto == null) { throw new ApplicationException($"Projeto com ID = '{projetoId}' não foi encontrado"); } var responsavel = FuncionariosController.GetInstance().Funcionarios.FirstOrDefault(x => x.Id == responsavelId); if (responsavel == null) { throw new ApplicationException($"Funcionario com ID = '{responsavelId}' não foi encontrado"); } if (responsavel.Ocorrencias.Where(x => x.Estado == EstadoOcorrenciaEnum.ABERTA).Count() == 10) { throw new ApplicationException($"Funcionario com ID = '{responsavelId}' pode ter no máximo 10 ocorrências abertas"); } ocorrencia.Estado = EstadoOcorrenciaEnum.ABERTA; ocorrencia.Responsavel = responsavel; projeto.Ocorrencias.Add(ocorrencia); responsavel.Ocorrencias.Add(ocorrencia); Ocorrencias.Add(ocorrencia); }
public static ProjetosController GetInstance() { if (_instance == null) { _instance = new ProjetosController(); } return(_instance); }