private void IncluirParticipantesEnTrama(ref Trama trama, VistaParticipantesTramas vistaParticipantes) { ParticipantesTrama nuevoParticipante; if (trama.TipoTrama == TipoTrama.Enfrentada) { var grupos = Enum.GetValues(typeof(TipoEquipo)).Cast<TipoEquipo>(); foreach (var grupo in grupos) { if ((int)grupo < vistaParticipantes.GrupoParticipantesIds.Length) { foreach (string participante in vistaParticipantes.GrupoParticipantesIds[(int)grupo]) { nuevoParticipante = new ParticipantesTrama(); nuevoParticipante.PersonajeId = Convert.ToInt32(participante); nuevoParticipante.TramaId = trama.TramaId; nuevoParticipante.Equipo = grupo; trama.Participantes.Add(nuevoParticipante); } } } } else { foreach (string participante in vistaParticipantes.ParticipantesIds) { nuevoParticipante = new ParticipantesTrama(); nuevoParticipante.PersonajeId = Convert.ToInt32(participante); nuevoParticipante.TramaId = trama.TramaId; nuevoParticipante.Equipo = TipoEquipo.A; trama.Participantes.Add(nuevoParticipante); } } }
// GET: TramasActivas/Create public async Task<IActionResult> Create(int? personajeId, int? plantillaTramaId) { Trama nuevaTrama = await _servicioTramas.GetNuevaTrama(plantillaTramaId); if (personajeId.HasValue) { ParticipantesTrama participante = new ParticipantesTrama(); participante.PersonajeId = personajeId.Value; nuevaTrama.Participantes.Add(participante); ViewBag.Personaje = await _servicioPersonajes.GetPersonaje(personajeId.Value); } List<SelectListItem> plantillas = new List<SelectListItem>(); plantillas.Add(new SelectListItem() { Value = "", Text = "" }); plantillas.AddRange(_servicioPlantillasTrama.GetPlantillasTrama().Result .Select(p => new SelectListItem { Value = p.PlantillaTramaId.ToString(), Text = p.Nombre, }).ToList()); ViewBag.Plantillas = plantillas; return View(nuevaTrama); }