public ParaOndeMoverInscricaoQuarto MoverInscrito(Inscricao inscrito) { if (inscrito == null) { throw new ArgumentNullException("inscrito", "Não pode ser nulo."); } if (inscrito.Evento != mQuarto.Evento) { throw new ArgumentException("Esta inscrição é de outro evento.", "inscrito"); } /*if (inscrito is InscricaoInfantil) * throw new ArgumentException("Não se pode incluir uma inscrição de criança.", "inscrito");*/ if (inscrito is InscricaoParticipante && (int)inscrito.Pessoa.Sexo != (int)mQuarto.Sexo) { throw new ArgumentException("Esta inscrição é de sexo diferente do definido no quarto.", "inscrito"); } QuartoInscrito inscricao = null; if ((inscricao = mQuarto.Inscritos.FirstOrDefault(x => x.Inscricao == inscrito)) == null) { throw new ArgumentException("Esta inscrição não está no quarto."); } return(new ParaOndeMoverInscricaoQuarto(mQuarto, new QuartoInscrito[] { inscricao })); }
public void TornarCoordenador(Inscricao inscrito, bool coordenador) { if (inscrito == null) { throw new ArgumentNullException("inscrito", "Não pode ser nulo."); } if (inscrito.Evento != mQuarto.Evento) { throw new ArgumentException("Esta inscrição é de outro evento.", "inscrito"); } if (coordenador && inscrito.GetTypeUnproxied() == typeof(InscricaoInfantil)) { throw new ArgumentException("Não se pode tornar uma criança coordenadora de quarto.", "inscrito"); } QuartoInscrito inscricao = null; if ((inscricao = mQuarto.Inscritos.FirstOrDefault(x => x.Inscricao == inscrito)) == null) { throw new ArgumentException("Esta inscrição não está no quarto."); } inscricao.EhCoordenador = coordenador; }
public void RemoverInscrito(Inscricao inscrito) { if (inscrito == null) { throw new ArgumentNullException("inscrito", "Não pode ser nulo."); } if (inscrito.Evento != mQuarto.Evento) { throw new ArgumentException("Esta inscrição é de outro evento.", "inscrito"); } /*if (inscrito is InscricaoInfantil) * throw new ArgumentException("Não se pode excluir uma inscrição de criança.", "inscrito");*/ QuartoInscrito inscricao = null; if ((inscricao = mQuarto.Inscritos.FirstOrDefault(x => x.Inscricao == inscrito)) == null) { throw new ArgumentException("Esta inscrição não está no quarto."); } mQuarto.RemoverInscrito(inscricao); }