示例#1
0
        /// <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));
            }
        }
示例#2
0
 /// <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)
 {
 }