private List <SelectListItem> ObterEventos(string id = null) { List <SelectListItem> items = new List <SelectListItem>(); var result = _eventoRepository.ObterTodos(); bool state = true; //string codigo = _comissaoOrganizadoraRepository.ObterPorId(id).Codigo; foreach (var item in result) { if (_eventoParticipanteRepository.VerificarEvento(item.EventoId, SessionId())) { var eventoParticipante = _eventoParticipanteRepository.ObterPorEventoParticipante(item.EventoId, SessionId()); if (eventoParticipante.Confirmado) { if (_dataImportanteRepository.VerificarPrazoFinalidade("Submissões", item.EventoId)) { items.Add(new SelectListItem() { Value = item.EventoId.ToString(), Text = item.Titulo }); } else { state = false; } } else { state = false; } } } if (id != null) { var data = _submissaoRepository.ObterPorId(int.Parse(id)); items.Add(new SelectListItem() { Value = data.EventoId.ToString(), Text = data.Evento.Titulo }); } if (!state && id == null) { items.Add(new SelectListItem() { Value = "", Text = "Não existe nenhum evento" }); } return(items); }
public ActionResult Create(InscricaoViewModel collection) { try { // TODO: Add insert logic here EventoParticipante _result = null; if (_eventoParticipanteRepository.VerificarEvento(collection.EventoId, SessionId())) { ModelState.AddModelError("EventoId", $"O candidato ja esta inscrito no evento."); } if (ModelState.IsValid) { if (collection.File != null) { var fileName = UploadFile(collection); if (_eventoParticipanteRepository.VerificarEvento(collection.EventoId, SessionId(), true)) { _result = _eventoParticipanteRepository.ObterPorEventoParticipante(collection.EventoId, SessionId(), true); _result.Comprovativo = fileName; _result.Removido = false; _result.Confirmado = false; _eventoParticipanteRepository.Actualizar(_result); } else { EventoParticipante eventoParticipante = new EventoParticipante { Comprovativo = fileName, EventoId = collection.EventoId, ParticipanteId = SessionId() }; _eventoParticipanteRepository.Adicionar(eventoParticipante); } var evento = _eventoRepository.ObterPorId(collection.EventoId); if (evento != null) { var result2 = _membroOrganizadorRepository.ObterPorComissao(evento.ComissaoOrganizadoraId, true); bool state = false; if (result2 != null) { foreach (var item in result2) { var participante = _participanteRepository.ObterPorId(SessionId()); if (participante != null) { var msg = $"Olá, {item.Membro.Nome}. <br><br> { participante.Nome } fez uma nova inscrição no evento: {evento.Titulo}." + $"<br> Em anexo o comprovativo de pagamento."; var message = new Message(new string[] { item.Membro.Email }, "Nova Inscrição", msg, collection.File); if (Notificar(message)) { state = true; } } } if (state) { return(RedirectToAction("Listar", new { msg = "Inscrição criada." })); } else { ModelState.AddModelError(string.Empty, "Erro ao notificar a comissão organizadora."); } } else { ModelState.AddModelError(string.Empty, "Erro ao carregar a comissão organizadora."); } } else { ModelState.AddModelError(string.Empty, "Erro ao carregar o evento."); } } } ViewBag.EventoId = ObterEventos(); return(View(collection)); } catch { ViewBag.EventoId = ObterEventos(); return(View(collection)); } }