public void CreateNewExecersise(DabDBContext db) { ExerciseEntity exercise = new ExerciseEntity(); Console.WriteLine("Write Nr of the exercise:"); exercise.Number = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Write name of lecture"); exercise.Lecture = Console.ReadLine(); db.Add(exercise); }
public async Task <IActionResult> CreateExercisesAsync( [HttpTrigger(AuthorizationLevel.Function, HttpVerbs.Post, Route = "routines/{routineId}/exercises")] HttpRequest req, Guid routineId, ExecutionContext context, ILogger log) { var request = await req.ToRequestMessageAsync <ExerciseRequestMessage>().ConfigureAwait(false); var eventId = context.InvocationId; var spanId = request.SpanId; var correlationId = request.CorrelationId; var upn = request.Upn; var @interface = request.Interface; log.LogData(LogLevel.Information, request, EventType.ExerciseReceived, EventStatusType.Succeeded, eventId, SpanType.Publisher, SpanStatusType.PublisherInProgress, spanId, @interface, correlationId); if (routineId != request.RoutineId) { log.LogData(LogLevel.Error, request, EventType.InvalidRoutine, EventStatusType.Failed, eventId, SpanType.Publisher, SpanStatusType.PublisherInProgress, spanId, @interface, correlationId, message: EventType.InvalidRoutine.ToDisplayName()); return(new BadRequestResult()); } var exerciseId = Guid.NewGuid(); var entity = new ExerciseEntity() { PartitionKey = correlationId.ToString(), RowKey = eventId.ToString(), Upn = upn, CorrelationId = correlationId, SpanId = spanId, Interface = @interface, EventId = eventId, EventName = EventType.ExerciseCreated.ToDisplayName(), RoutineId = request.RoutineId, Routine = request.Routine, Target = request.Target, ExerciseId = exerciseId, Exercise = request.Exercise, Sets = request.Sets.ToJson(), AdditionalNotes = request.AdditionalNotes, }; var res = default(ObjectResult); try { if (this._settings.ForceError.Publisher.Exercise) { throw new ErrorEnforcementException("Error Enforced!"); } await this._client.CreateTableIfNotExistsAsync(this._settings.GymLog.StorageAccount.Table.TableName).ConfigureAwait(false); var table = this._client.GetTableClient(this._settings.GymLog.StorageAccount.Table.TableName); var response = await table.UpsertEntityAsync(entity).ConfigureAwait(false); res = response.ToExerciseResponseMessage(request, entity.EventId, entity.ExerciseId); log.LogData(response.Status.ToLogLevel(), res.Value, response.Status.ToExerciseEventType(), response.Status.ToEventStatusType(), eventId, SpanType.Publisher, SpanStatusType.PublisherInProgress, spanId, @interface, correlationId, clientRequestId: response.ClientRequestId, message: response.Status.ToResponseMessage(res)); } catch (Exception ex) { res = new InternalServerErrorObjectResult() { Upn = upn, CorrelationId = correlationId, Interface = @interface, SpanId = spanId, EventId = eventId, Message = ex.Message, }; log.LogData(LogLevel.Error, res.Value, EventType.ExerciseNotCreated, EventStatusType.Failed, eventId, SpanType.Publisher, SpanStatusType.PublisherInProgress, spanId, @interface, correlationId, ex: ex, message: ex.Message); } return(res); }
public void InsertDummyData() { using var db = new DabDBContext(); TeacherEntity teacher1 = new TeacherEntity(); teacher1.Name = "Henrik Kirk"; db.Add(teacher1); TeacherEntity teacher2 = new TeacherEntity(); teacher2.Name = "S�ren"; db.Add(teacher2); TeacherEntity teacher3 = new TeacherEntity(); teacher3.Name = "Michael"; db.Add(teacher3); TeacherEntity teacher4 = new TeacherEntity(); teacher4.Name = "Lars"; db.Add(teacher4); StudentEntity student1 = new StudentEntity(); student1.Name = "Sebastian"; db.Add(student1); StudentEntity student2 = new StudentEntity(); student2.Name = "Tobias"; db.Add(student2); StudentEntity student0 = new StudentEntity(); student0.Name = "Gustav"; db.Add(student0); AssignmentEntity assignment1 = new AssignmentEntity(); assignment1.Teacher = teacher2; db.Add(assignment1); AssignmentEntity assignment2 = new AssignmentEntity(); assignment2.Teacher = teacher2; db.Add(assignment2); AssignmentEntity assignment3 = new AssignmentEntity(); assignment3.Teacher = teacher3; db.Add(assignment3); CourseEntity course = new CourseEntity() { Name = "Databaser", Assignments = new List <AssignmentEntity> { new AssignmentEntity { Teacher = teacher1 }, assignment1, assignment2 }, Teachers = new List <TeacherEntity>() { teacher1, teacher2 } }; CourseEntity course3 = new CourseEntity() { Name = "MMLS", Assignments = new List <AssignmentEntity> { new AssignmentEntity { Teacher = teacher3 } }, Teachers = new List <TeacherEntity>() { teacher4 } }; db.Add(course3); CourseEntity course2 = new CourseEntity() { Name = "SWD", Assignments = new List <AssignmentEntity> { new AssignmentEntity { Teacher = teacher1 }, assignment3 }, Teachers = new List <TeacherEntity>() { teacher3 } }; db.Add(course2); ExerciseEntity exercise1 = new ExerciseEntity(); exercise1.Number = 2; exercise1.Lecture = "3 EF core"; exercise1.Teacher = teacher1; exercise1.Student = student1; exercise1.HelpWhere = "Ex 3.1"; exercise1.Course = course; db.Add(exercise1); ExerciseEntity exercise2 = new ExerciseEntity(); exercise2.Number = 5; exercise2.Lecture = "5 EF core"; exercise2.Teacher = teacher1; exercise2.Student = student1; exercise2.HelpWhere = "Side 2"; exercise2.Course = course; db.Add(exercise2); ExerciseEntity exercise3 = new ExerciseEntity(); exercise3.Number = 1; exercise3.Lecture = "Design patterns"; exercise3.Teacher = teacher3; exercise3.Student = student0; exercise3.HelpWhere = "Det hele"; exercise3.Course = course2; db.Add(exercise3); ExerciseEntity exercise4 = new ExerciseEntity(); exercise4.Number = 4; exercise4.Lecture = "Functional Programming"; exercise4.Teacher = teacher1; exercise4.Student = student0; exercise4.Course = course2; db.Add(exercise4); ExerciseEntity exercise5 = new ExerciseEntity(); exercise5.Number = 5; exercise5.Lecture = "Some math"; exercise5.Teacher = teacher4; exercise5.Student = student2; exercise5.Course = course3; db.Add(exercise5); StudentCourseEntity joinedStudCourse = new StudentCourseEntity() { Students = student0, Courses = course, }; db.Add(joinedStudCourse); joinedStudCourse = new StudentCourseEntity() { Students = student1, Courses = course, }; db.Add(joinedStudCourse); joinedStudCourse = new StudentCourseEntity() { Students = student2, Courses = course, }; var testAss = new AssignmentStudentEntity() { Students = student0, Assignments = assignment1, }; db.Add(joinedStudCourse); db.SaveChanges(); }
public Logger(IDataService dataService, GameProvider provider, NavalBase navalBase, IStatePersist statePersist) { this.dataService = dataService; this.navalBase = navalBase; this.statePersist = statePersist; provider.EquipmentCreated += (t, m) => { using var context = CreateContext(); context.EquipmentCreationTable.AddRange(m.Equipment.Select((e, i) => new EquipmentCreationEntity { TimeStamp = t.AddMilliseconds(i), Consumption = m.Consumption, EquipmentCreated = e?.EquipmentInfoId, IsSuccess = e is object, AdmiralLevel = this.navalBase.Admiral.Leveling.Level, Secretary = this.navalBase.Secretary.Info.Id, SecretaryLevel = this.navalBase.Secretary.Leveling.Level })); context.SaveChanges(); }; provider.ShipCreated += (t, m) => { shipCreation = new ShipCreationEntity { TimeStamp = t, Consumption = m.Consumption, IsLSC = m.IsLSC, AdmiralLevel = this.navalBase.Admiral.Leveling.Level, Secretary = this.navalBase.Secretary.Info.Id, SecretaryLevel = this.navalBase.Secretary.Leveling.Level }; lastBuildingDock = m.BuildingDockId; }; provider.BuildingDockUpdated += (t, m) => { if (shipCreation != null) { using var context = CreateContext(); shipCreation.ShipBuilt = m.Single(x => x.Id == lastBuildingDock).BuiltShipId.Value; shipCreation.EmptyDockCount = this.navalBase.BuildingDocks.Count(x => x.State == BuildingDockState.Empty); context.ShipCreationTable.Add(shipCreation); shipCreation = null; lastBuildingDock = default; context.SaveChanges(); } }; provider.ExpeditionCompleted += (t, m) => { using var context = CreateContext(); var fleet = this.navalBase.Fleets[m.FleetId]; context.ExpeditionCompletionTable.Add(new ExpeditionCompletionEntity { TimeStamp = t, ExpeditionId = fleet.Expedition.Id, ExpeditionName = m.ExpeditionName, Result = m.Result, MaterialsAcquired = m.MaterialsAcquired, RewardItem1 = m.RewardItem1, RewardItem2 = m.RewardItem2 }); context.SaveChanges(); foreach (var ship in fleet.HomeportShips) { this.statePersist.ClearLastSortie(ship.Id); } this.statePersist.SaveChanges(); }; #if DEBUG InitializeAdmiral(null); #endif navalBase.AdmiralChanging += (t, _, a) => { if (a != null) { lock (admiralLock) InitializeAdmiral(a); } }; navalBase.MaterialsUpdating += (t, old, @new, reason) => { using var context = CreateContext(); context.MaterialsChangeTable.Add(new MaterialsChangeEntity { TimeStamp = t, Materials = @new, Reason = reason }); context.SaveChanges(); }; navalBase.HomeportUpdated += (t, n) => { if (this.statePersist.LastSortieTime is DateTimeOffset last) { currentBattleContext ??= CreateContext(); var consumption = this.navalBase.Fleets[this.statePersist.LastSortieFleets].Sum(f => f.RepairingCost + f.SupplyingCost); var diff = consumption - this.statePersist.ConsumptionBeforeSortie; var entity = currentBattleContext.BattleConsumptionTable.Find(last); if (diff != default && entity != null) { entity.Consumption = diff; currentBattleContext.BattleConsumptionTable.Update(entity); currentBattleContext.SaveChanges(); } } currentBattle = null; currentExercise = null; currentBattleContext?.Dispose(); currentFleetInBattle = null; currentFleet2InBattle = null; this.statePersist.LastSortieFleets = null; this.statePersist.LastSortieTime = null; this.statePersist.SaveChanges(); }; navalBase.ShipSupplying += (t, s, raw) => { if (this.statePersist.GetLastSortie(s.Id) is DateTimeOffset last) { using var context = CreateContext(); var entity = context.BattleConsumptionTable.Find(last); if (entity is null) { return; } int fuel = raw.CurrentFuel - s.Fuel.Current; int bullet = raw.CurrentBullet - s.Bullet.Current; bool isMarriaged = s.Leveling.Level >= 100; entity.ActualConsumption += new Materials { Fuel = isMarriaged ? (int)(fuel * 0.85) : fuel, Bullet = isMarriaged ? (int)(bullet * 0.85) : bullet, Bauxite = (raw.SlotAircraft.Sum() - s.Slots.Sum(x => x.Aircraft.Current)) * 5 }; context.BattleConsumptionTable.Update(entity); context.SaveChanges(); } }; navalBase.ShipRepairing += (t, s, i) => { if (this.statePersist.GetLastSortie(s.Id) is DateTimeOffset last) { using var context = CreateContext(); var entity = context.BattleConsumptionTable.Find(last); if (entity is null) { return; } entity.ActualConsumption += s.RepairingCost; if (i) { entity.ActualConsumption += new Materials { InstantRepair = 1 } } ; context.BattleConsumptionTable.Update(entity); context.SaveChanges(); } }; navalBase.RepairingDockInstant += (t, d, s) => { if (this.statePersist.GetLastSortie(s.Id) is DateTimeOffset last) { using var context = CreateContext(); var entity = context.BattleConsumptionTable.Find(last); if (entity is null) { return; } entity.ActualConsumption += new Materials { InstantRepair = 1 }; context.BattleConsumptionTable.Update(entity); context.SaveChanges(); } }; provider.SortieStarting += (t, m) => { FleetId[] fleets; currentFleetInBattle = this.navalBase.Fleets[m.FleetId]; currentCombinedFleet = this.navalBase.CombinedFleet; if (currentCombinedFleet != CombinedFleetType.None) { currentFleet2InBattle = this.navalBase.Fleets[(FleetId)2]; fleets = new[] { (FleetId)1, (FleetId)2 }; } else { fleets = new[] { m.FleetId }; } currentBattleContext = CreateContext(); currentBattleContext.BattleConsumptionTable.Add(new BattleConsumptionEntity { TimeStamp = t, MapId = m.MapId }); currentBattleContext.SaveChanges(); this.statePersist.ConsumptionBeforeSortie = currentFleetInBattle.RepairingCost + currentFleetInBattle.SupplyingCost + (currentFleet2InBattle?.RepairingCost ?? default) + (currentFleet2InBattle?.SupplyingCost ?? default); this.statePersist.LastSortieTime = t; this.statePersist.LastSortieFleets = fleets; foreach (var ship in currentFleetInBattle.HomeportShips) { this.statePersist.SetLastSortie(ship.Id, t); } if (currentFleet2InBattle != null) { foreach (var ship in currentFleet2InBattle.HomeportShips) { this.statePersist.SetLastSortie(ship.Id, t); } } this.statePersist.SaveChanges(); }; provider.MapRouting += (t, m) => { var map = this.navalBase.Maps[m.MapId]; currentBattle = new BattleEntity { TimeStamp = t, CompletionTime = t, MapId = m.MapId, MapName = map.Info.Name.Origin, RouteId = m.RouteId, EventKind = m.EventKind, BattleKind = m.BattleKind, CombinedFleetType = this.navalBase.CombinedFleet, MapRank = map.Rank, MapGaugeType = map.GaugeType, MapGaugeNumber = map.GaugeIndex, MapGaugeHP = map.Gauge?.Current, MapGaugeMaxHP = map.Gauge?.Max }; if (m.UnparsedLandBaseDefence != null) { currentBattle.LandBaseDefence = m.UnparsedLandBaseDefence.ToString(Formatting.None); } Materials acquired = default; foreach (var r in m.ItemAcquired) { switch ((KnownUseItem)r.ItemId) { case KnownUseItem.Fuel: acquired.Fuel += r.Count; break; case KnownUseItem.Bullet: acquired.Bullet += r.Count; break; case KnownUseItem.Steel: acquired.Steel += r.Count; break; case KnownUseItem.Bauxite: acquired.Bauxite += r.Count; break; case KnownUseItem.InstantBuild: acquired.InstantBuild += r.Count; break; case KnownUseItem.InstantRepair: acquired.InstantRepair += r.Count; break; case KnownUseItem.Development: acquired.Development += r.Count; break; case KnownUseItem.Improvement: acquired.Improvement += r.Count; break; } } if (acquired != default) { var entity = currentBattleContext.BattleConsumptionTable.Find(this.statePersist.LastSortieTime); if (entity != null) { entity.Acquired += acquired; currentBattleContext.BattleConsumptionTable.Update(entity); } } currentBattleContext.BattleTable.Add(currentBattle); currentBattleContext.SaveChanges(); }; provider.ExerciseCandidateSelected += (t, m) => { currentExercise = new ExerciseEntity { TimeStamp = t, EnemyId = m.AdmiralId, EnemyName = m.Name, EnemyLevel = m.Leveling.Level }; }; provider.ExerciseStarted += (t, m) => { currentFleetInBattle = this.navalBase.Fleets[m]; currentBattleContext = CreateContext(); }; provider.BattleStarted += (t, m) => { if (currentBattle != null) { currentBattle.CompletionTime = t; currentBattle.SortieFleetState = currentFleetInBattle.Ships.Select(x => new ShipInBattleEntity(x)).ToArray(); currentBattle.SortieFleet2State = currentFleet2InBattle?.Ships.Select(x => new ShipInBattleEntity(x)).ToArray(); currentBattle.FirstBattleDetail = m.Unparsed.ToString(Formatting.None); currentBattle.LbasState = m.Parsed.LandBasePhases .Select(x => new AirForceInBattle(this.navalBase.AirForce[(currentBattle.MapId.AreaId, x.GroupId)])) .ToArray(); }
public static void Run(PlayerContext context) { // Permissions var systemAdminPermission = context.Permissions.Where(x => x.Key == "SystemAdmin").FirstOrDefault(); var exerciseAdminPermission = context.Permissions.Where(x => x.Key == "ExerciseAdmin").FirstOrDefault(); var ostAdminPermission = new PermissionEntity { Id = Guid.NewGuid(), Key = "OsTicketAdmin", Description = "Admin in OsTicket" }; var ostAgentPermission = new PermissionEntity { Id = Guid.NewGuid(), Key = "OsTicketAgent", Description = "Agent in OsTicket" }; var viewAllVmsPermission = new PermissionEntity { Id = Guid.NewGuid(), Key = "ViewAllMachines", Description = "View all Virtual Machines" }; context.Permissions.Add(ostAdminPermission); context.Permissions.Add(ostAgentPermission); context.Permissions.Add(viewAllVmsPermission); // Roles var superUserRole = new RoleEntity { Id = Guid.Parse("f16d7689-4c22-498f-b975-021348b19120"), Name = "Super User" }; superUserRole.Permissions.Add(new RolePermissionEntity { Id = Guid.NewGuid(), Permission = systemAdminPermission }); var exerciseAdminRole = new RoleEntity { Id = Guid.Parse("b8f2c55b-f47d-4ec9-8fce-606753c4af72"), Name = "Exercise Administrator" }; exerciseAdminRole.Permissions.Add(new RolePermissionEntity { Id = Guid.NewGuid(), Permission = exerciseAdminPermission }); exerciseAdminRole.Permissions.Add(new RolePermissionEntity { Id = Guid.NewGuid(), Permission = ostAdminPermission }); exerciseAdminRole.Permissions.Add(new RolePermissionEntity { Id = Guid.NewGuid(), Permission = ostAgentPermission }); exerciseAdminRole.Permissions.Add(new RolePermissionEntity { Id = Guid.NewGuid(), Permission = viewAllVmsPermission }); context.Roles.Add(superUserRole); context.Roles.Add(exerciseAdminRole); // sketch users var uEnder = new UserEntity { Id = Guid.Parse("3269cb19-1d39-40d3-a55e-e3e9779b6e0b"), Name = "Ender" }; var uBean = new UserEntity { Id = Guid.Parse("ac4d3e32-c2d6-4f99-9aef-0fcd62a568a6"), Name = "Bean" }; var uGraff = new UserEntity { Id = Guid.Parse("b7977ce5-0a17-45e1-aa2e-55c57bfffeb6"), Name = "Graff" }; var uBonzo = new UserEntity { Id = Guid.Parse("1db2856b-7a3c-4b82-95d4-e41fb18de516"), Name = "Bonzo" }; var uBob = new UserEntity { Id = Guid.Parse("9149f2ec-2e55-44f6-b92d-988ede6ca1f9"), Name = "Bob" }; var uAdministrator = new UserEntity { Id = Guid.Parse("9fd3c38e-58b0-4af1-80d1-1895af91f1f9"), Name = "admin user", Role = superUserRole }; context.Users.Add(uEnder); context.Users.Add(uBean); context.Users.Add(uGraff); context.Users.Add(uBonzo); context.Users.Add(uBob); context.Users.Add(uAdministrator); // exercise 1 var exercise1 = new ExerciseEntity { Id = Guid.Parse("453d394e-bf18-499b-9786-149b0f8d69ec"), Name = "RCC -E EM 2018", Description = "Cyber exercises for evaluating the team.", Status = ExerciseStatus.Active }; var tBlue = new TeamEntity { Id = Guid.Parse("df7b7157-1727-48b5-803d-cfdb208767c0"), Name = "Blue" }; tBlue.Permissions.Add(new TeamPermissionEntity(tBlue.Id, ostAdminPermission.Id)); var tAdmin = new TeamEntity { Id = Guid.Parse("453e0508-0515-402d-85e9-24e567096f7a"), Name = "Admin", Role = exerciseAdminRole }; //exercise1.ExerciseUsers.Add(new ExerciseUserEntity { ExerciseId = exercise1.Id, UserId = uEnder.Id, PrimaryTeamId = tBlue.Id }); //exercise1.ExerciseUsers.Add(new ExerciseUserEntity { ExerciseId = exercise1.Id, UserId = uBean.Id, PrimaryTeamId = tRed.Id }); //exercise1.ExerciseUsers.Add(new ExerciseUserEntity { ExerciseId = exercise1.Id, UserId = uGraff.Id, PrimaryTeamId = tWhite.Id }); //exercise1.ExerciseUsers.Add(new ExerciseUserEntity { ExerciseId = exercise1.Id, UserId = uBonzo.Id, PrimaryTeamId = tSupport.Id }); //exercise1.ExerciseUsers.Add(new ExerciseUserEntity { ExerciseId = exercise1.Id, UserId = uBob.Id, PrimaryTeamId = tBlue.Id }); //exercise1.ExerciseUsers.Add(new ExerciseUserEntity { ExerciseId = exercise1.Id, UserId = uAdministrator.Id, PrimaryTeamId = tAdmin.Id }); //tBlue.Memberships.Add(new TeamMembershipEntity { Team = tBlue, User = uAdministrator, }); //tBlue.TeamUsers.Add(new TeamUserEntity { TeamId = tBlue.Id, UserId = uEnder.Id }); //tBlue.TeamUsers.Add(new TeamUserEntity { TeamId = tBlue.Id, UserId = uBob.Id }); //tBlue.TeamUsers.Add(new TeamUserEntity { TeamId = tBlue.Id, UserId = uBonzo.Id }); var tRed = new TeamEntity { Id = Guid.Parse("51484d68-8ad9-487e-98d6-30db812fa355"), Name = "Red" }; //tRed.TeamUsers.Add(new TeamUserEntity { TeamId = tRed.Id, UserId = uBean.Id }); var tWhite = new TeamEntity { Id = Guid.Parse("66925bea-68fd-40dd-9b19-d3c1fb5fa1bf"), Name = "White" }; //tWhite.TeamUsers.Add(new TeamUserEntity { TeamId = tWhite.Id, UserId = uGraff.Id }); var tSupport = new TeamEntity { Id = Guid.Parse("b7ca71d3-330c-4ae4-aab5-21fdcf8ee775"), Name = "Support" }; //tSupport.TeamUsers.Add(new TeamUserEntity { TeamId = tSupport.Id, UserId = uBonzo.Id }); //tSupport.TeamUsers.Add(new TeamUserEntity { TeamId = tSupport.Id, UserId = uAdministrator.Id }); //tAdmin.TeamUsers.Add(new TeamUserEntity { TeamId = tAdmin.Id, UserId = uAdministrator.Id }); exercise1.Teams.Add(tBlue); exercise1.Teams.Add(tRed); exercise1.Teams.Add(tWhite); exercise1.Teams.Add(tSupport); exercise1.Teams.Add(tAdmin); //// exercise 2 //var exercise2 = new ExerciseEntity //{ // Id = Guid.Parse("fc41c788-063b-4018-9f28-5f68a52f4e76"), // Name = "Exercise 2", // Description = "Another Exercise", // Status = ExerciseStatus.Active //}; var a = new ApplicationEntity { Name = "Virtual Machines", Url = "http://localhost:4303/exercises/{exerciseId}", Embeddable = true, }; a.Icon = "/assets/img/SP_Icon_Virtual.png"; var b = new ApplicationEntity { Name = "Intel Doc", Url = "https://www3.epa.gov/ttn/naaqs/standards/co/data/2009_04_COScopeandMethodsPlan.pdf", Embeddable = true, }; b.Icon = "/assets/img/SP_Icon_Intel.png"; var c = new ApplicationEntity { Name = "Chat", Url = "https://INTERNAL_CHAT_SERVER?geid={exerciseId}", Embeddable = false, }; c.Icon = "/assets/img/SP_Icon_Chat.png"; var d = new ApplicationEntity { Name = "Exercise Hub", Url = "https://hub.com?geid={exerciseId}", Embeddable = true, }; d.Icon = "/assets/img/SP_Icon_Hub.png"; var e = new ApplicationEntity { Name = "Help Desk", Url = "http://localhost/osticket/login.php?do=ext&bk=identity.client", Embeddable = true, LoadInBackground = true }; e.Icon = "/assets/img/SP_Icon_Help.png"; exercise1.Applications.Add(a); exercise1.Applications.Add(b); exercise1.Applications.Add(c); exercise1.Applications.Add(d); exercise1.Applications.Add(e); ApplicationInstanceEntity blueVmAppInstance = new ApplicationInstanceEntity { Application = a, DisplayOrder = 0 }; ApplicationInstanceEntity blueIntelAppInstance = new ApplicationInstanceEntity { Application = b, DisplayOrder = 1 }; ApplicationInstanceEntity blueChatAppInstance = new ApplicationInstanceEntity { Application = c, DisplayOrder = 2 }; ApplicationInstanceEntity blueHubAppInstance = new ApplicationInstanceEntity { Application = d, DisplayOrder = 3 }; ApplicationInstanceEntity blueHelpdeskAppInstance = new ApplicationInstanceEntity { Application = e, DisplayOrder = 4 }; ApplicationInstanceEntity redVmAppInstance = new ApplicationInstanceEntity { Application = a, DisplayOrder = 0 }; ApplicationInstanceEntity redHelpdeskAppInstance = new ApplicationInstanceEntity { Application = e, DisplayOrder = 1 }; ApplicationInstanceEntity whiteVmAppInstance = new ApplicationInstanceEntity { Application = a, DisplayOrder = 0 }; ApplicationInstanceEntity whiteHelpdeskAppInstance = new ApplicationInstanceEntity { Application = e, DisplayOrder = 1 }; ApplicationInstanceEntity supportVmAppInstance = new ApplicationInstanceEntity { Application = a, DisplayOrder = 0 }; ApplicationInstanceEntity supportHelpdeskAppInstance = new ApplicationInstanceEntity { Application = e, DisplayOrder = 1 }; ApplicationInstanceEntity adminVmAppInstance = new ApplicationInstanceEntity { Application = a, DisplayOrder = 0 }; ApplicationInstanceEntity adminHelpdeskAppInstance = new ApplicationInstanceEntity { Application = e, DisplayOrder = 1 }; tBlue.Applications.Add(blueVmAppInstance); tBlue.Applications.Add(blueIntelAppInstance); tBlue.Applications.Add(blueChatAppInstance); tBlue.Applications.Add(blueHubAppInstance); tBlue.Applications.Add(blueHelpdeskAppInstance); tRed.Applications.Add(redVmAppInstance); tRed.Applications.Add(redHelpdeskAppInstance); tWhite.Applications.Add(whiteVmAppInstance); tWhite.Applications.Add(whiteHelpdeskAppInstance); tSupport.Applications.Add(supportVmAppInstance); tSupport.Applications.Add(supportHelpdeskAppInstance); tAdmin.Applications.Add(adminVmAppInstance); tAdmin.Applications.Add(adminHelpdeskAppInstance); context.Exercises.Add(exercise1); //context.Exercises.Add(exercise2); var exMembership1 = new ExerciseMembershipEntity { Exercise = exercise1, UserId = uEnder.Id }; exercise1.Memberships.Add(exMembership1); context.SaveChanges(); var enderBlueMembership = new TeamMembershipEntity { Team = tBlue, User = uEnder, ExerciseMembership = exMembership1, Role = exerciseAdminRole }; exMembership1.PrimaryTeamMembership = enderBlueMembership; context.SaveChanges(); log.Debug("Seed completed"); }