public virtual async Task SaveAsync(IntranetDbContext context = null) { bool isExternalContext = context != null; context = context ?? DbContextAsync; try { await context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { // for cases when we trying to update entities which does not present in database. var entries = context.ChangeTracker.Entries() .Where(i => i.State == EntityState.Modified); foreach (var entry in entries) { var dbValues = await entry.GetDatabaseValuesAsync(); if (dbValues == null) { entry.State = EntityState.Added; } } await context.SaveChangesAsync(); } finally { if (!isExternalContext) { context.Dispose(); } } }
internal void _Seed(IntranetDbContext ctx, params Type[] seeders) { foreach (var seeder in seeders) { ((ISeed)Activator.CreateInstance(seeder, ctx, Settings, Mapper))?.Seed(); } }
public CotationSeed(IntranetDbContext ctx, ApiSettings settings, IMapper mapper) : base(ctx, settings, mapper) { _cotationPieceObserveInserting = DbObservable <IntranetDbContext> .FromInserting <CotationPiece>(); _cotationPieceObserveInserting.Subscribe(entry => { var _params = Context.Parametres.Local.Where(p => p.CodePrimaire == Settings.CodePrimaire.Format && p.CodeSecondaire > 0).ToList(); foreach (var _param in _params) { var cotpiecform = Mapper.Map <CotationPieceFormat>(_param); if (cotpiecform == null) { continue; } cotpiecform.Piece = entry.Entity; } }); }
public async Task DeleteAsync(IEnumerable <T> entities, IntranetDbContext context = null) { var isExternalContext = context != null; context = context ?? DbContextAsync; var set = context.Set <T>(); var entityList = entities.ToList(); entityList.ForEach(e => set.Attach(e)); set.RemoveRange(entityList); await SaveAsync(context); if (!isExternalContext) { context.Dispose(); } }
public FormatsController(IntranetDbContext context, IOptions <ApiSettings> settings, IMapper mapper) : base(context, settings, mapper) { }
public MatiereSeed(IntranetDbContext ctx, ApiSettings settings, IMapper mapper) : base(ctx, settings, mapper) { }
public DifficulteSeed(IntranetDbContext ctx, ApiSettings settings, IMapper mapper) : base(ctx, settings, mapper) { }
public TraitementSeed(IntranetDbContext ctx, ApiSettings settings, IMapper mapper) : base(ctx, settings, mapper) { }
public SqlRepository(IntranetDbContext dbContext) { _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); _dbSet = dbContext.Set <T>(); }
public void Seed(IntranetDbContext ctx) { _Seed(ctx, TypeExtensions.Implement <ISeed>().ToArray()); }
public BaseController(IntranetDbContext context, IOptions <ApiSettings> settings, IMapper mapper) { Context = context; Settings = settings.Value; Mapper = mapper; }
public BaseSeed(IntranetDbContext ctx, ApiSettings settings, IMapper mapper) { Context = ctx; Settings = settings; Mapper = mapper; }