public JsonResult SaveSlideshow(SlideshowModule entity)
        {
            var result = new JsonResult();

            if (!String.IsNullOrEmpty(entity.SlideShowName))
            {
                using (var context = new DataContext())
                {
                    SlideshowModule editedContent = context.SlideshowModules.FirstOrDefault(x => x.SlideshowModuleId == entity.SlideshowModuleId);
                    if (editedContent != null)
                    {
                        editedContent.SlideShowName = entity.SlideShowName;

                        editedContent.AdvanceSpeed = entity.AdvanceSpeed;
                        editedContent.Animation = entity.Animation;
                        editedContent.AnimationSpeed = entity.AnimationSpeed;
                        editedContent.PauseOnHover = entity.PauseOnHover;
                        editedContent.ShowBullets = entity.ShowBullets;

                        editedContent.UseDirectionalNav = entity.UseDirectionalNav;
                        editedContent.UseTimer = entity.UseTimer;

                        // In order to save slides we must first delete prior data, then come back and add them
                        editedContent.Slides.ToList().ForEach(r => context.Set<Slide>().Remove(r));
                        context.SaveChanges();

                        // Now add in the new Slides
                        foreach (var slide in entity.Slides)
                        {
                            editedContent.Slides.Add(slide);
                        }
                        context.SaveChanges();
                    }
                }
            }
            return result;
        }
 /// <summary>
 /// 根据条件删除实体
 /// </summary>
 /// <param name="where">查询条件</param>
 /// <returns>删除成功</returns>
 public virtual int DeleteEntity(Expression <Func <T, bool> > where)
 {
     return(DataContext.Set <T>().Where(where).Delete());
 }
 /// <summary>
 /// 根据ID删除实体
 /// </summary>
 /// <param name="id">实体id</param>
 /// <returns>删除成功</returns>
 public virtual bool DeleteById(int id)
 {
     return(DataContext.Set <T>().Where(t => t.Id == id).Delete() > 0);
 }
 /// <summary>
 /// 获取所有实体
 /// </summary>
 /// <typeparam name="TDto">映射实体</typeparam>
 /// <returns>还未执行的SQL语句</returns>
 public virtual IQueryable <TDto> GetAll <TDto>() where TDto : class
 {
     return(DataContext.Set <T>().AsNoTracking().ProjectTo <TDto>(MapperConfig));
 }
 /// <summary>
 /// 高效分页查询方法(不跟踪实体)
 /// </summary>
 /// <typeparam name="TS"></typeparam>
 /// <param name="pageIndex">第几页</param>
 /// <param name="pageSize">每页大小</param>
 /// <param name="where">where Lambda条件表达式</param>
 /// <param name="orderby">orderby Lambda条件表达式</param>
 /// <param name="isAsc">升序降序</param>
 /// <returns>还未执行的SQL语句</returns>
 public virtual PagedList <T> GetPagesNoTracking <TS>(int pageIndex, int pageSize, Expression <Func <T, bool> > where, Expression <Func <T, TS> > orderby, bool isAsc = true)
 {
     return(isAsc ? DataContext.Set <T>().Where(where).AsNoTracking().OrderBy(orderby).ToPagedList(pageIndex, pageSize) : DataContext.Set <T>().Where(where).AsNoTracking().OrderByDescending(orderby).ToPagedList(pageIndex, pageSize));
 }
 /// <summary>
 /// 从二级缓存获取所有实体
 /// </summary>
 /// <returns>还未执行的SQL语句</returns>
 public Task <List <T> > GetAllFromCacheAsync()
 {
     return(DataContext.Set <T>().Cacheable().ToListAsync());
 }
 /// <summary>
 /// 获取第一条被AutoMapper映射后的数据(不跟踪实体)
 /// </summary>
 /// <typeparam name="TDto">映射实体</typeparam>
 /// <typeparam name="TS">排序</typeparam>
 /// <param name="where">查询条件</param>
 /// <param name="orderby">排序字段</param>
 /// <param name="isAsc">是否升序</param>
 /// <returns>实体</returns>
 public virtual TDto Get <TS, TDto>(Expression <Func <T, bool> > where, Expression <Func <T, TS> > orderby, bool isAsc = true) where TDto : class
 {
     return(isAsc ? DataContext.Set <T>().Where(where).OrderBy(orderby).AsNoTracking().ProjectTo <TDto>(MapperConfig).FirstOrDefault() : DataContext.Set <T>().Where(where).OrderByDescending(orderby).AsNoTracking().ProjectTo <TDto>(MapperConfig).FirstOrDefault());
 }
 /// <summary>
 /// 获取第一条被AutoMapper映射后的数据
 /// </summary>
 /// <param name="where">查询条件</param>
 /// <returns>实体</returns>
 public Task <TDto> GetFromCacheAsync <TDto>(Expression <Func <T, bool> > @where) where TDto : class
 {
     return(DataContext.Set <T>().Where(where).ProjectTo <TDto>(MapperConfig).DeferredFirstOrDefault().ExecuteAsync());
 }
 /// <summary>
 /// 基本查询方法,获取一个集合(不跟踪实体)
 /// </summary>
 /// <param name="where">查询条件</param>
 /// <returns>还未执行的SQL语句</returns>
 public virtual IQueryable <T> GetQueryNoTracking(Expression <Func <T, bool> > where)
 {
     return(DataContext.Set <T>().Where(where).AsNoTracking());
 }
 /// <summary>
 /// 基本查询方法,获取一个集合,优先从二级缓存读取
 /// </summary>
 /// <param name="where">查询条件</param>
 /// <returns>还未执行的SQL语句</returns>
 public Task <List <T> > GetQueryFromCacheAsync(Expression <Func <T, bool> > @where)
 {
     return(DataContext.Set <T>().Where(where).Cacheable().ToListAsync());
 }
 /// <summary>
 /// 基本查询方法,获取一个集合,优先从二级缓存读取
 /// </summary>
 /// <param name="where">查询条件</param>
 /// <returns>还未执行的SQL语句</returns>
 public virtual List <T> GetQueryFromCache(Expression <Func <T, bool> > @where)
 {
     return(DataContext.Set <T>().Where(where).Cacheable().ToList());
 }
 /// <summary>
 /// 获取所有实体
 /// </summary>
 /// <typeparam name="TS">排序</typeparam>
 /// <param name="orderby">排序字段</param>
 /// <param name="isAsc">是否升序</param>
 /// <returns>还未执行的SQL语句</returns>
 public virtual IOrderedQueryable <T> GetAll <TS>(Expression <Func <T, TS> > orderby, bool isAsc = true)
 {
     return(isAsc ? DataContext.Set <T>().OrderBy(orderby) : DataContext.Set <T>().OrderByDescending(orderby));
 }
Example #13
0
 public async Task <T> GetByIdAsync(int id)
 {
     return(await _dbContext.Set <T>().FindAsync(id));
 }
Example #14
0
        //List<Message> dlist = context.Set<Message>().ToList();
        //List<Message> deptlist = new List<Message>();

        /*
         * GetAll()
         *  /Contact
         */
        public IHttpActionResult Get()
        {
            //return Content(HttpStatusCode.OK, "Welcome");
            return(Ok(context.Set <Message>().ToList()));
        }
 public RoleAccessRepository(IDatabaseFactory databaseFactory) : base(databaseFactory)
 {
     _dbSet = DataContext.Set <RoleAccess>();
 }
 /// <summary>
 /// 获取第一条被AutoMapper映射后的数据
 /// </summary>
 /// <typeparam name="TS">排序</typeparam>
 /// <typeparam name="TDto">映射实体</typeparam>
 /// <param name="where">查询条件</param>
 /// <param name="orderby">排序字段</param>
 /// <param name="isAsc">是否升序</param>
 /// <returns>映射实体</returns>
 public Task <TDto> GetFromCacheAsync <TS, TDto>(Expression <Func <T, bool> > @where, Expression <Func <T, TS> > @orderby, bool isAsc = true) where TDto : class
 {
     return(isAsc ? DataContext.Set <T>().Where(where).OrderBy(orderby).ProjectTo <TDto>(MapperConfig).DeferredFirstOrDefault().ExecuteAsync() : DataContext.Set <T>().Where(where).OrderByDescending(orderby).ProjectTo <TDto>(MapperConfig).DeferredFirstOrDefault().ExecuteAsync());
 }
 /// <summary>
 /// 基本查询方法,获取一个集合(不跟踪实体)
 /// </summary>
 /// <typeparam name="TS">排序字段</typeparam>
 /// <param name="where">查询条件</param>
 /// <param name="orderby">排序方式</param>
 /// <param name="isAsc">是否升序</param>
 /// <returns>还未执行的SQL语句</returns>
 public virtual IOrderedQueryable <T> GetQueryNoTracking <TS>(Expression <Func <T, bool> > where, Expression <Func <T, TS> > orderby, bool isAsc = true)
 {
     return(isAsc ? DataContext.Set <T>().Where(where).AsNoTracking().OrderBy(orderby) : DataContext.Set <T>().Where(where).AsNoTracking().OrderByDescending(orderby));
 }
 /// <summary>
 /// 从二级缓存获取所有实体
 /// </summary>
 /// <returns>还未执行的SQL语句</returns>
 public virtual IEnumerable <T> GetAllFromCache()
 {
     return(DataContext.Set <T>().Cacheable().AsEnumerable());
 }
 /// <summary>
 /// 基本查询方法,获取一个被AutoMapper映射后的集合(不跟踪实体)
 /// </summary>
 /// <param name="where">查询条件</param>
 /// <returns>还未执行的SQL语句</returns>
 public virtual IQueryable <TDto> GetQuery <TDto>(Expression <Func <T, bool> > where) where TDto : class
 {
     return(DataContext.Set <T>().Where(where).AsNoTracking().ProjectTo <TDto>(MapperConfig));
 }
 /// <summary>
 /// 高效分页查询方法
 /// </summary>
 /// <typeparam name="TS"></typeparam>
 /// <param name="pageIndex">第几页</param>
 /// <param name="pageSize">每页大小</param>
 /// <param name="where">where Lambda条件表达式</param>
 /// <param name="orderby">orderby Lambda条件表达式</param>
 /// <param name="isAsc">升序降序</param>
 /// <returns>还未执行的SQL语句</returns>
 public virtual Task <PagedList <T> > GetPagesAsync <TS>(int pageIndex, int pageSize, Expression <Func <T, bool> > @where, Expression <Func <T, TS> > orderby, bool isAsc)
 {
     return(isAsc ? DataContext.Set <T>().Where(where).OrderBy(orderby).ToPagedListAsync(pageIndex, pageSize) : DataContext.Set <T>().Where(where).OrderByDescending(orderby).ToPagedListAsync(pageIndex, pageSize));
 }
 /// <summary>
 /// 基本查询方法,获取一个被AutoMapper映射后的集合,优先从二级缓存读取
 /// </summary>
 /// <param name="where">查询条件</param>
 /// <returns>还未执行的SQL语句</returns>
 public Task <List <TDto> > GetQueryFromCacheAsync <TDto>(Expression <Func <T, bool> > @where) where TDto : class
 {
     return(DataContext.Set <T>().Where(where).AsNoTracking().ProjectTo <TDto>(MapperConfig).Cacheable().ToListAsync());
 }
        /// <summary>
        /// 高效分页查询方法,优先从二级缓存读取
        /// </summary>
        /// <typeparam name="TS"></typeparam>
        /// <param name="pageIndex">第几页</param>
        /// <param name="pageSize">每页大小</param>
        /// <param name="where">where Lambda条件表达式</param>
        /// <param name="orderby">orderby Lambda条件表达式</param>
        /// <param name="isAsc">升序降序</param>
        /// <returns>还未执行的SQL语句</returns>
        public virtual Task <PagedList <T> > GetPagesFromCacheAsync <TS>(int pageIndex, int pageSize, Expression <Func <T, bool> > @where, Expression <Func <T, TS> > @orderby, bool isAsc)
        {
            var temp = DataContext.Set <T>().Where(where);

            return(isAsc ? temp.OrderBy(orderby).ToCachedPagedListAsync(pageIndex, pageSize) : temp.OrderByDescending(orderby).ToCachedPagedListAsync(pageIndex, pageSize));
        }
 /// <summary>
 /// 获取所有实体
 /// </summary>
 /// <returns>还未执行的SQL语句</returns>
 public virtual IQueryable <T> GetAll()
 {
     return(DataContext.Set <T>());
 }
 /// <summary>
 /// 高效分页查询方法,取出被AutoMapper映射后的数据集合
 /// </summary>
 /// <typeparam name="TS"></typeparam>
 /// <typeparam name="TDto"></typeparam>
 /// <param name="pageIndex">第几页</param>
 /// <param name="pageSize">每页大小</param>
 /// <param name="where">where Lambda条件表达式</param>
 /// <param name="orderby">orderby Lambda条件表达式</param>
 /// <param name="isAsc">升序降序</param>
 /// <returns>还未执行的SQL语句</returns>
 public Task <PagedList <TDto> > GetPagesAsync <TS, TDto>(int pageIndex, int pageSize, Expression <Func <T, bool> > where, Expression <Func <T, TS> > orderby, bool isAsc) where TDto : class
 {
     return(isAsc ? DataContext.Set <T>().Where(where).AsNoTracking().OrderBy(orderby).ToPagedListAsync <T, TDto>(pageIndex, pageSize, MapperConfig) : DataContext.Set <T>().Where(where).AsNoTracking().OrderByDescending(orderby).ToPagedListAsync <T, TDto>(pageIndex, pageSize, MapperConfig));
 }
 /// <summary>
 /// 获取第一条数据
 /// </summary>
 /// <param name="where">查询条件</param>
 /// <returns>实体</returns>
 public virtual T GetFromCache(Expression <Func <T, bool> > where)
 {
     return(DataContext.Set <T>().Where(where).DeferredFirstOrDefault().Execute());
 }
        /// <summary>
        /// 高效分页查询方法,取出被AutoMapper映射后的数据集合,优先从缓存读取(不跟踪实体)
        /// </summary>
        /// <typeparam name="TS"></typeparam>
        /// <typeparam name="TDto"></typeparam>
        /// <param name="pageIndex">第几页</param>
        /// <param name="pageSize">每页大小</param>
        /// <param name="where">where Lambda条件表达式</param>
        /// <param name="orderby">orderby Lambda条件表达式</param>
        /// <param name="isAsc">升序降序</param>
        /// <returns>还未执行的SQL语句</returns>
        public virtual PagedList <TDto> GetPagesFromCache <TS, TDto>(int pageIndex, int pageSize, Expression <Func <T, bool> > where, Expression <Func <T, TS> > orderby, bool isAsc = true) where TDto : class
        {
            var temp = DataContext.Set <T>().Where(where).AsNoTracking();

            return(isAsc ? temp.OrderBy(orderby).ToCachedPagedList <T, TDto>(pageIndex, pageSize, MapperConfig) : temp.OrderByDescending(orderby).ToCachedPagedList <T, TDto>(pageIndex, pageSize, MapperConfig));
        }
 /// <summary>
 /// 获取第一条数据
 /// </summary>
 /// <param name="where">查询条件</param>
 /// <returns>实体</returns>
 public Task <T> GetFromCacheAsync(Expression <Func <T, bool> > @where)
 {
     return(DataContext.Set <T>().Where(where).DeferredFirstOrDefault().ExecuteAsync());
 }
 /// <summary>
 /// 根据ID删除实体
 /// </summary>
 /// <param name="id">实体id</param>
 /// <returns>删除成功</returns>
 public virtual Task <int> DeleteByIdAsync(int id)
 {
     return(DataContext.Set <T>().Where(t => t.Id == id).DeleteAsync());
 }
 /// <summary>
 /// 获取第一条数据
 /// </summary>
 /// <typeparam name="TS">排序</typeparam>
 /// <param name="where">查询条件</param>
 /// <param name="orderby">排序字段</param>
 /// <param name="isAsc">是否升序</param>
 /// <returns>实体</returns>
 public Task <T> GetFromCacheAsync <TS>(Expression <Func <T, bool> > @where, Expression <Func <T, TS> > @orderby, bool isAsc = true)
 {
     return(isAsc ? DataContext.Set <T>().OrderBy(orderby).Where(where).DeferredFirstOrDefault().ExecuteAsync() : DataContext.Set <T>().OrderByDescending(orderby).Where(where).DeferredFirstOrDefault().ExecuteAsync());
 }
 /// <summary>
 /// 获取所有实体(不跟踪)
 /// </summary>
 /// <returns>还未执行的SQL语句</returns>
 public virtual IQueryable <T> GetAllNoTracking()
 {
     return(DataContext.Set <T>().AsNoTracking());
 }
Example #31
0
 public virtual List <TEntity> FindAll()
 {
     return(_context.Set <TEntity>().AsNoTracking().ToList());
 }