public static void Initialize(LeavesContext context) { using (context) { //context.Database.EnsureCreated(); // este método no ejecuta por defecto las migraciones, solo crea la base de datos context.Database.Migrate(); // Look for any user if (context.Resources.Any()) { return; // DB has been seeded } //Resources var resources = new Resource[] { new Resource("ajones"), new Resource("amuhid") }; foreach (Resource r in resources) { context.Resources.Add(r); } // Leave Types var leaveTypes = new LeaveType[] { new LeaveType("Baja", "B", true), new LeaveType("AnualLeave", "AL") }; foreach (var leaveType in leaveTypes) { context.LeaveTypes.Add(leaveType); } // Leave Status foreach (LeaveStatus s in GetLeaveStatus()) { context.LeaveStatus.Add(s); } //context.SaveChangesAsync(); context.SaveChanges(); } }
public static async Task DispatchDomainEventsAsync(this IMediator mediator, LeavesContext ctx) { var domainEntities = ctx.ChangeTracker .Entries <Entity>() .Where(x => x.Entity.DomainEvents != null && x.Entity.DomainEvents.Any()); var domainEvents = domainEntities .SelectMany(x => x.Entity.DomainEvents) .ToList(); domainEntities.ToList() .ForEach(entity => entity.Entity.ClearDomainEvents()); foreach (var domainEvent in domainEvents) { await mediator.Publish(domainEvent); } }
public ResourceRepository(LeavesContext context) { // Evalua si es null en context que llega por parámetro _context = context ?? throw new ArgumentNullException(nameof(context)); }
public LeaveRepository(LeavesContext context) { _context = context ?? throw new ArgumentNullException(nameof(context)); }