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();
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
 public ResourceRepository(LeavesContext context)
 {
     // Evalua si es null en context que llega por parámetro
     _context = context ?? throw new ArgumentNullException(nameof(context));
 }
Пример #4
0
 public LeaveRepository(LeavesContext context)
 {
     _context = context ?? throw new ArgumentNullException(nameof(context));
 }