Пример #1
0
        public static T AddIfNotExistsOrModifyReference <T, ProjectDBContext, ProjectDBContainer>(this DbSet <T> dbSet, ProjectDBContainer dbContainer, T entity, Expression <Func <T, bool> > predicate, GenericRepositoryParmeter param)
            where T : ObjectRemap, new()
            where ProjectDBContext : DbContext, new()
            where ProjectDBContainer : TDBContainer <ProjectDBContext>, new()
        {
            var exists = dbSet.Any(predicate);
            T   ret    = null;

            if (!exists)
            {
                ret = dbSet.Add(entity);
            }
            else
            {
                IQueryable <T> list = dbSet.Where(predicate);
                if (list.Count() == 1)
                {
                    T item = list.First();
                    TGenericRepository <T, ProjectDBContext, ProjectDBContainer> repository = new TGenericRepository <T, ProjectDBContext, ProjectDBContainer>(dbContainer);
                    repository.RemapReferences(item, entity, param);
                }
                else
                {
                    throw new Exception("PB multi value in Initializer.");
                }
            }

            return(ret);
        }
Пример #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TServiceDTO{DTO, Entity, DBContext}"/> class.
 /// </summary>
 public TServiceDTO()
 {
     Repository = new TGenericRepository <Entity, DBContext>();
 }