/// <summary> /// <see cref="Oporie.Dominio.ModuloPrincipal.Alumnos.IDepositoDeAlumno"/> /// </summary> /// <param name="especificacion"><see cref="Oporie.Dominio.ModuloPrincipal.Alumnos.IDepositoDeAlumno"/></param> /// <returns>Alumno y su <paramref name="specification"/></returns> public ALUMNO BuscarAlumnoPorNombre(EspecificacionPorNombre especificacion) { //Validar la especificación if (especificacion == (ISpecification <ALUMNO>)null) { throw new ArgumentNullException("especificacion"); } IModuloPrincipalModel activaContexto = this.StoreContext as IModuloPrincipalModel; if (activaContexto != null) { //Ejecutar la operación en este depósito return(activaContexto.ALUMNO .Include(c => c.ALU_FOTO) .Where(especificacion.SatisfiedBy()) .SingleOrDefault()); } else { throw new InvalidOperationException(string.Format( CultureInfo.InvariantCulture, Mensajes.exception_InvalidStoreContext, this.GetType().Name)); } }
/// <summary> /// Constructor por defecto /// </summary> /// <param name="traceManager">Trace manager dependency</param> /// <param name="context">Specific context for this repository</param> public DepositoDeAlumno(IModuloPrincipalModel context, ITraceManager traceManager) : base(context, traceManager) { }