Exemplo n.º 1
0
        public SaveResult Delete(object dtokey)
        {
            using (NosCoreContext context = DataAccessHelper.Instance.CreateContext())
            {
                DbSet <TEntity> dbset = context.Set <TEntity>();

                if (dtokey is IEnumerable)
                {
                    foreach (object key in dtokey as IEnumerable)
                    {
                        TEntity entityfound = dbset.Find(key);

                        if (entityfound != null)
                        {
                            dbset.Remove(entityfound);
                            context.SaveChanges();
                        }
                    }
                }
                else
                {
                    TEntity entityfound = dbset.Find(dtokey);

                    if (entityfound != null)
                    {
                        dbset.Remove(entityfound);
                    }
                }
                context.SaveChanges();

                return(SaveResult.Saved);
            }
        }
Exemplo n.º 2
0
        public void Test_All_NullableForeignKeyAreAssociatedToNullableEntity()
        {
            using var ctx = new NosCoreContext(new DbContextOptionsBuilder <NosCoreContext>().UseInMemoryDatabase(
                                                   Guid.NewGuid().ToString()).Options);
            var nonNullNavigation = new StringBuilder();

            foreach (var entityType in ctx.Model.GetEntityTypes())
            {
                foreach (var navigation in entityType.GetNavigations())
                {
                    var foreignKey = navigation.ForeignKey.Properties[0].PropertyInfo.PropertyType;
                    if (navigation.IsCollection || foreignKey == null || !foreignKey.IsGenericType ||
                        foreignKey.GetGenericTypeDefinition() != typeof(Nullable <>))
                    {
                        continue;
                    }

                    if (!IsNullable(navigation.PropertyInfo))
                    {
                        nonNullNavigation.AppendLine(
                            $"{entityType.Name} -> {navigation.Name} is not nullable but it's foreign key is not required");
                    }
                }
            }


            Assert.AreEqual(string.Empty, nonNullNavigation.ToString());
        }
Exemplo n.º 3
0
 public void EnsureDeleted(SqlConnectionStringBuilder Database)
 {
     _conn = Database;
     using (NosCoreContext context = CreateContext())
     {
         context.Database.EnsureDeleted();
     }
 }
Exemplo n.º 4
0
 public LoginServer(IOptions <LoginConfiguration> loginConfiguration, NetworkManager networkManager, ILogger logger, IChannelHttpClient channelHttpClient, NosCoreContext context)
 {
     _loginConfiguration = loginConfiguration;
     _networkManager     = networkManager;
     _logger             = logger;
     _channelHttpClient  = channelHttpClient;
     _context            = context;
 }
Exemplo n.º 5
0
 public void EnsureDeleted(SqlConnectionConfiguration Database)
 {
     _conn = Database;
     using (NosCoreContext context = CreateContext())
     {
         context.Database.EnsureDeleted();
     }
 }
Exemplo n.º 6
0
 public IEnumerable <TDTO> LoadAll()
 {
     using (NosCoreContext context = DataAccessHelper.Instance.CreateContext())
     {
         DbSet <TEntity> dbset = context.Set <TEntity>();
         foreach (TEntity t in dbset)
         {
             yield return(_mapper.Map <TDTO>(t));
         }
     }
 }
Exemplo n.º 7
0
        public SaveResult InsertOrUpdate(IEnumerable <TDTO> dtos)
        {
            try
            {
                using (NosCoreContext context = DataAccessHelper.Instance.CreateContext())
                {
                    context.ChangeTracker.AutoDetectChangesEnabled = false;

                    DbSet <TEntity> dbset       = context.Set <TEntity>();
                    List <TEntity>  entitytoadd = new List <TEntity>();
                    foreach (TDTO dto in dtos)
                    {
                        TEntity entity = _mapper.Map <TEntity>(dto);
                        object  value  = _primaryKey.GetValue(dto, null);

                        TEntity entityfound = null;
                        if (value is object[])
                        {
                            entityfound = dbset.Find((object[])value);
                        }
                        else
                        {
                            entityfound = dbset.Find(value);
                        }

                        if (entityfound != null)
                        {
                            _mapper.Map(entity, entityfound);

                            context.Entry(entityfound).CurrentValues.SetValues(entity);
                        }

                        if (value == null || entityfound == null)
                        {
                            //add in a temp list in order to avoid find(default(PK)) to find this element before savechanges
                            entitytoadd.Add(entity);
                        }
                    }

                    dbset.AddRange(entitytoadd);
                    context.ChangeTracker.AutoDetectChangesEnabled = true;
                    context.SaveChanges();
                    return(SaveResult.Saved);
                }
            }
            catch (Exception e)
            {
                Logger.Error(e);
                return(SaveResult.Error);
            }
        }
Exemplo n.º 8
0
 public TDTO FirstOrDefault(Expression <Func <TEntity, bool> > predicate)
 {
     try
     {
         using (NosCoreContext context = DataAccessHelper.Instance.CreateContext())
         {
             DbSet <TEntity>       dbset    = context.Set <TEntity>();
             IEnumerable <TEntity> entities = Enumerable.Empty <TEntity>();
             TEntity ent = dbset.FirstOrDefault(predicate);
             return(_mapper.Map <TDTO>(ent));
         }
     }
     catch (Exception e)
     {
         Logger.Error(e);
         return(default(TDTO));
     }
 }
Exemplo n.º 9
0
 public void Initialize(SqlConnectionConfiguration Database)
 {
     _conn = Database;
     using (NosCoreContext context = CreateContext())
     {
         try
         {
             context.Database.Migrate();
             context.Database.GetDbConnection().Open();
             Logger.Log.Info(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.DATABASE_INITIALIZED));
         }
         catch (Exception ex)
         {
             Logger.Log.Error("Database Error", ex);
             Logger.Log.Error(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.DATABASE_NOT_UPTODATE));
             throw;
         }
     }
 }
Exemplo n.º 10
0
        public SaveResult InsertOrUpdate(ref TDTO dto)
        {
            try
            {
                using (NosCoreContext context = DataAccessHelper.Instance.CreateContext())
                {
                    TEntity         entity = _mapper.Map <TEntity>(dto);
                    DbSet <TEntity> dbset  = context.Set <TEntity>();

                    object  value       = _primaryKey.GetValue(dto, null);
                    TEntity entityfound = null;
                    if (value is object[])
                    {
                        entityfound = dbset.Find((object[])value);
                    }
                    else
                    {
                        entityfound = dbset.Find(value);
                    }
                    if (entityfound != null)
                    {
                        _mapper.Map(entity, entityfound);

                        context.Entry(entityfound).CurrentValues.SetValues(entity);
                        context.SaveChanges();
                    }
                    if (value == null || entityfound == null)
                    {
                        dbset.Add(entity);
                    }
                    context.SaveChanges();
                    dto = _mapper.Map <TDTO>(entity);

                    return(SaveResult.Saved);
                }
            }
            catch (Exception e)
            {
                Logger.Error(e);
                return(SaveResult.Error);
            }
        }
Exemplo n.º 11
0
 public bool Initialize(SqlConnectionStringBuilder Database)
 {
     _conn = Database;
     using (NosCoreContext context = CreateContext())
     {
         try
         {
             context.Database.Migrate();
             context.Database.GetDbConnection().Open();
             Logger.Log.Info(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.DATABASE_INITIALIZED));
         }
         catch (Exception ex)
         {
             Logger.Log.Error("Database Error", ex);
             Logger.Log.Error(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.DATABASE_NOT_UPTODATE));
             return(false);
         }
         return(true);
     }
 }
Exemplo n.º 12
0
 public IEnumerable <TDTO> Where(Expression <Func <TEntity, bool> > predicate)
 {
     using (NosCoreContext context = DataAccessHelper.Instance.CreateContext())
     {
         DbSet <TEntity>       dbset    = context.Set <TEntity>();
         IEnumerable <TEntity> entities = Enumerable.Empty <TEntity>();
         try
         {
             entities = dbset.Where(predicate).ToList();
         }
         catch (Exception e)
         {
             Logger.Error(e);
         }
         foreach (TEntity t in entities)
         {
             yield return(_mapper.Map <TDTO>(t));
         }
     }
 }