public StatusEntidadeAlterarViewModel SalvarAlterarStatus(StatusEntidadeAlterarViewModel viewModel, string userId) { if (viewModel.StatusEntidadeId != null) { var statusEntidade = _statusEntidadeServico.ObterPorId((long)viewModel.StatusEntidadeId); if (statusEntidade != null) { if (viewModel.OcorrenciaId != null) { if (statusEntidade.finalizador) { var atividadesOcorrencia = _atividadeServico.ObterNaoFinalizadasPorOcorrenciaId((long)viewModel.OcorrenciaId); if (atividadesOcorrencia.Any()) { viewModel.ValidationResult.Add(new ValidationError("Não é possível finalizar a Ocorrência, a mesma possui atividades em aberto.")); return(viewModel); } } var ocorrencia = _ocorrenciaServico.ObterPorId((long)viewModel.OcorrenciaId); ocorrencia.StatusEntidadesId = (long)viewModel.StatusEntidadeId; ocorrencia.AtualizadoEm = DateTime.Now; ocorrencia.AtualizadoPorAspNetUserId = userId; if (statusEntidade.finalizador) { ocorrencia.FinalizadoEm = DateTime.Now; ocorrencia.FinalizadoPorUserId = userId; } _ocorrenciaServico.Atualizar(ocorrencia); } } } return(viewModel); }