예제 #1
0
        public static void EnsureMigrationsApplied(this MainDbContext context)
        {
            var applied = context.GetService <IHistoryRepository>()
                          .GetAppliedMigrations()
                          .Select(migration => migration.MigrationId);

            var total = context.GetService <IMigrationsAssembly>()
                        .Migrations
                        .Select(migration => migration.Key);

            if (total.Except(applied).Any())
            {
                context.Database.Migrate();
            }
        }
예제 #2
0
        public IActionResult GetFirefighters(int id)
        {
            try
            {
                var result = _context.GetService <IFirefighterActionsService>().GetActions(id);

                if (result == null)
                {
                    return(NotFound("Firefighter not found."));
                }

                return(Ok(result));
            }
            catch (FirefightersException e) {
                return(BadRequest(e.Message));
            };
        }
예제 #3
0
        public IActionResult GetFirefighters(int id, FiretruckActionRequestDTO request)
        {
            if (id != request.idAction)
            {
                return(BadRequest("Action ID doesn't match"));
            }

            try
            {
                var result = _context.GetService <IFiretruckActionsService>().AssignFiretruck(id, request.idFiretruck);

                if (result == null)
                {
                    return(NotFound("Action or firetruck not found."));
                }

                return(Ok(result));
            }
            catch (FirefightersException e)
            {
                return(BadRequest(e.Message));
            };
        }