private void validarFechas(AlabanzaMiembroDiaNoDisponible entidad) { if (entidad.FechaInicio > entidad.FechaFin) { throw new ExcepcionReglaNegocio(Literales.FechasConOrdenCronologicoIncorrecto); } }
private void validarEntidad(System.Data.Objects.ObjectStateEntry entry) { AlabanzaMiembroDiaNoDisponible entidad = (AlabanzaMiembroDiaNoDisponible)entry.Entity; validarFechas(entidad); validarEnsayosYEventos(entidad); }
private void validarEnsayosYEventos(AlabanzaMiembroDiaNoDisponible entidad) { bool tieneEventos = SesionActual.Instance.getContexto <IglesiaEntities>().AlabanzaEventoMiembro.Any(o => o.AlabanzaEvento.Fecha >= entidad.FechaInicio && o.AlabanzaEvento.Fecha <= entidad.FechaFin && o.AlabanzaMiembroId == entidad.AlabanzaMiembroId && o.Borrado == false && o.AlabanzaEvento.Borrado == false); bool tieneEnsayos = SesionActual.Instance.getContexto <IglesiaEntities>().AlabanzaEnsayoMiembro.Any(o => o.AlabanzaEnsayo.Fecha >= entidad.FechaInicio && o.AlabanzaEnsayo.Fecha <= entidad.FechaFin && o.AlabanzaMiembroId == entidad.AlabanzaMiembroId && o.AlabanzaEnsayo.Borrado == false); if (tieneEventos || tieneEnsayos) { throw new ExcepcionReglaNegocio("El usuario actual ya tiene reservados esos dias para algun ensayo/evento. Es necesario primero ser eliminado de tales antes de continuar."); } }