public SelectedSensitiveItemViewModel(SensitiveItemBaseClass sensitiveItem, WeaponAssignments weaponAssignment, RoleAssignments roleAssignment) { DisplayName = "SI Information"; if (sensitiveItem != null) { SensitiveItemBaseClass = sensitiveItem; } if (weaponAssignment != null) { WeaponAssignments = weaponAssignment; } if (roleAssignment.Role == weaponAssignment.Role) { RoleAssignments = roleAssignment; if (roleAssignment.AssignedSoldier.Status == 4) { SIStatus = "Not Checked Out"; } SIStatus = roleAssignment.AssignedSoldier.StatusString; } else { SIStatus = "Not Checked Out"; } }
public void MovePhase() { Status = (Status == GameStatus.IdlePhase) ? GameStatus.ActionPhase : GameStatus.IdlePhase; if (Status == GameStatus.IdlePhase) { Day++; } // arrange each role by priority var roles = RoleAssignments.Select(x => x.Value).OrderByDescending(x => x.PhasePriority); foreach (var role in roles) { if (Status == GameStatus.IdlePhase) { role.Perform_ActionPhase(); } else if (Status == GameStatus.ActionPhase) { role.Perform_IdlePhase(); } } // placeholder for Storymaker var start_embed = new EmbedBuilder().WithTitle($"{StatusNames[Status]} [Day {Day}]").WithThumbnailUrl(Links.LinkRewriteBlue1); Public_GvG.SendMessageAsync("", false, start_embed.Build()); TimerStarted = DateTime.Now; }
private void SelectedSoldierAssignRoleTabControlViewModel_Deactivated(object sender, DeactivationEventArgs e) { if (RoleAssignments.Last().AssignedSoldier == NewSoldier) { AssignedRole = RoleAssignments.Last().Role.RoleName; } }
public static void SaveRoleAssignments(RoleAssignments newRoleAssignmet) { using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) { DynamicParameters parameters = new DynamicParameters(); if (newRoleAssignmet.AssignedSoldier.SoldierID == -1) { DynamicParameters soldQ = new DynamicParameters(); soldQ.Add("@LastName", newRoleAssignmet.AssignedSoldier.LastName); soldQ.Add("@FirstName", newRoleAssignmet.AssignedSoldier.FirstName); var soldierId = cnn.Query <int>("select SoldierID from SoldierRoster where LastName == @LastName AND FirstName == @FirstName ", soldQ); newRoleAssignmet.AssignedSoldier.SoldierID = Convert.ToInt32(soldierId.First()); } parameters.Add("@SoldierID", newRoleAssignmet.AssignedSoldier.SoldierID); parameters.Add("@RoleID", newRoleAssignmet.Role.RoleID); var output = cnn.Query <RoleAssignments>("select * from RoleAssignments where SoldierID == @SoldierID AND RoleID = @RoleID ", parameters); List <RoleAssignments> tmp = output.ToList(); if (tmp.Count == 0) { cnn.Execute("insert into RoleAssignments (SoldierID,RoleID) values (@SoldierID,@RoleID) ", parameters); } } }
private void AddRoleListInOrder(List <IGuildUser> members, IEnumerable <IGameRole> roles) { var array_roles = roles.ToArray(); for (int i = 0; i < members.Count; i++) { RoleAssignments.Add(members[i], array_roles[i]); } }
public static void RemoveRoleAssignments(RoleAssignments newRoleAssignmet) { using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) { DynamicParameters parameters = new DynamicParameters(); parameters.Add("@SoldierID", newRoleAssignmet.AssignedSoldier.SoldierID); parameters.Add("@RoleID", newRoleAssignmet.Role.RoleID); cnn.Execute("delete from RoleAssignments where SoldierID = @SoldierID AND RoleID = @RoleID", parameters); } }
private static async Task ProvisionAsync(HttpClient httpClient) { var spaceId = await Spaces.GetOrCreateSpaceAsync("Habitación", "Room", httpClient); var resourceId = await Resources.GetOrCreateResourceAsync(spaceId, "IotHub", httpClient); bool isProvisioning = true; while (isProvisioning) { var resource = await Resources.GetResourceAsync(resourceId, httpClient); if (resource.Status.ToLower() == "provisioning") { await Task.Delay(2000); } else { isProvisioning = false; } } var deviceId = await Devices.GetOrCreateDeviceAsync("Dispositivo 1", "ABC123", spaceId, httpClient); var device = await Devices.GetDeviceAsync(deviceId, httpClient); var sensorId = await Sensors.GetOrCreateSensorAsync("Temperature", "TEMP2000", deviceId, httpClient); var matcherId = await Matchers.GetOrCreateMatcherAsync("Matcher 1", spaceId, "Temperature", httpClient); var script = new StreamReader(@"js\udf.js").ReadToEnd(); var udfId = await UserDefinedFunctions.GetOrCreateUserDefinedFunctionAsync("Temperature-Udf-1", spaceId, new[] { matcherId }, script, httpClient); var roleAssignmentId = await RoleAssignments.CreateRoleAssignmentAsync(udfId, spaceId, httpClient); Console.WriteLine($"SpaceId {spaceId}"); Console.WriteLine($"ResourceId {resourceId}"); Console.WriteLine($"DeviceId {deviceId}"); Console.WriteLine($"ConnectionString {device.ConnectionString}"); Console.WriteLine($"SensorId {sensorId}"); Console.WriteLine($"MatcherId {matcherId}"); Console.WriteLine($"UdfId {udfId}"); Console.WriteLine($"RoleAssignmentId {roleAssignmentId}"); }
public SelectedSoldierInfoViewModel(Soldier soldier, List <WeaponAssignments> weaponAssignments, List <RoleAssignments> roleAssignments, List <Roles> roles) { if (soldier != null) { WindowManager = new WindowManager(); DisplayName = "Soldier Information"; Soldier = soldier; Rank = new List <string>(); AllWeaponAssignments = weaponAssignments; foreach (KeyValuePair <int, string> keyValuePair in RankDict) { Rank.Add(keyValuePair.Value); } Positions = roleAssignments; foreach (RoleAssignments roleAssignments1 in roleAssignments) { if (soldier == roleAssignments1.AssignedSoldier) { SelectedRole = roleAssignments1; break; } } if (SelectedRole == null) { SelectedRole = new RoleAssignments(); } else { foreach (WeaponAssignments weaponAssignments1 in weaponAssignments) { if (weaponAssignments1.Role == SelectedRole.Role) { WeaponAssignments = weaponAssignments1; break; } } } RoleAssignments = roleAssignments; Roles = roles; Statuses = new List <string>(); foreach (KeyValuePair <int, string> keyValuePair1 in DrillStatus) { Statuses.Add(keyValuePair1.Value); } SelectedStatus = Soldier.StatusString; } }
partial void NonSecurityAdministrators_PreprocessQuery(ref IQueryable <UserRegistration> query) { // Get a list of all the Security Admins var ra = RoleAssignments .Where(a => a.RoleName == "Administrator") .Select(a => new { a.SourceAccountName }) .Execute() .ToList(); // Create a nice delimited string... query does not like lists var listOfAdmins = ra.Aggregate("", (current, u) => current + (u.SourceAccountName + ";")); // Update the query to exclude the list of Security Administrators query = query.Where(u => !listOfAdmins.Contains(u.UserName)).Select(u => u); }
protected override void OnSaving() { if (IsNew) { IAzItem = Application.CreateScope(Name, Description); } else { IAzScope.Name = Name; IAzScope.Description = Description; } Roles.ForEach(r => r.Save()); Groups.ForEach(g => g.Save()); RoleAssignments.ForEach(r => r.Save()); IAzScope.Submit(); }
public void AssignRoleBtn() { foreach (RoleAssignments roleAssignments in RoleAssignments) { if (roleAssignments.AssignedSoldier == Soldier) { RoleAssignments.Remove(roleAssignments); break; } } RoleAssignments newRoleAssignment = new RoleAssignments(); newRoleAssignment.AssignedSoldier = Soldier; newRoleAssignment.Role = SelectedRole; RoleAssignments.Add(newRoleAssignment); ArmyDataBaseConnector.SaveRoleAssignments(newRoleAssignment); this.TryClose(); }
public void RemoveSoldierBtn() { if (SelectedSoldier != null) { DeactivateItem(ActiveItem, true); foreach (RoleAssignments roleAssignments in RoleAssignments) { if (roleAssignments.AssignedSoldier == SelectedSoldier) { ArmyDataBaseConnector.RemoveRoleAssignments(roleAssignments); RoleAssignments.Remove(roleAssignments); break; } } ArmyDataBaseConnector.RemoveSoldierInfo(SelectedSoldier); SoldierList.Remove(SelectedSoldier); BindSoldiers = new BindableCollection <Soldier>(SoldierList); } }
public async Task <EmbedBuilder> PatrolQueue(IGuildUser user, SocketCommandContext Context, IEnumerable <Vector2D> orderedPatrol) { var start_embed = new EmbedBuilder(); // we run specific Game related checks before passing to the Role. if (!RoleAssignments.ContainsKey(user)) { return(start_embed .WithTitle(ResultMessages.PatrolError) .WithDescription(Links.LinkRewriteBlue1)); } var role = RoleAssignments[user]; var prio = (Context.IsPrivate) ? CommandPriority.DM : (Context.Guild == null) ? CommandPriority.Public : (IsOnClubChannel(Context.Channel)) ? CommandPriority.Channel : CommandPriority.Public; await RoleAssignments[user].Patrol(orderedPatrol.ToArray(), prio); return(start_embed); }
// stated to change. public async Task CreateGame(IUser Hoster, IGuild Host, ITextChannel public_GvG, ITextChannel guardian_Channel, ITextChannel gaia_Channel, ITextChannel oC_Channel) { if (Status > GameStatus.Cancelled && Status < GameStatus.GaiaEnding) { throw new AlreadyOngoingGameGvGGameException(); } Day = 0; this.Hoster = Hoster; Guardian = Host.Roles.First((x) => x.Name == Parent.config.guardian_chan_name); Gaia = Host.Roles.First((x) => x.Name == Parent.config.gaia_chan_name); Occult_Club = Host.Roles.First((x) => x.Name == Parent.config.oc_chan_name); GvG_Player = Host.Roles.First((x) => x.Name == Parent.config.gvg_player_role_name); GvG_Dead_Player = Host.Roles.First((x) => x.Name == Parent.config.gvg_dead_player_role_name); ServerHost = Host; Public_GvG = public_GvG; Gaia_Channel = gaia_Channel; Guardian_Channel = guardian_Channel; OC_Channel = oC_Channel; GaiaMembers.Clear(); GuardianMembers.Clear(); OCMembers.Clear(); Civilians.Clear(); DeadPeople.Clear(); RoleAssignments.Clear(); Status = GameStatus.GamePreparation; await(await Host.GetTextChannelsAsync()).First((x) => x.Name == Parent.config.pub_gvg_chan_name) .SendMessageAsync(null, false, new EmbedBuilder() .WithTitle(ResultMessages.CreateGameSuccess) .WithDescription(string.Format(ResultMessages.CreateGameSuccess_Desc, Hoster.Mention)) .Build()); }
private void SelectedSoldierAssignRoleTabControlViewModel_Deactivated(object sender, DeactivationEventArgs e) { if (RoleAssignments.Count() > 0) { if (RoleAssignments.Last().AssignedSoldier == Soldier) { Platoon = RoleAssignments.Last().Role.PlatoonString; Squad = RoleAssignments.Last().Role.SquadString; FireTeam = RoleAssignments.Last().Role.FireTeamString; SensitiveItemBaseClasses = new BindableCollection <SensitiveItemBaseClass>(); SelectedRoleName = RoleAssignments.Last().Role.RoleName; foreach (WeaponAssignments weaponAssignments in AllWeaponAssignments) { if (weaponAssignments.Role == RoleAssignments.Last().Role) { foreach (SensitiveItemBaseClass sensitiveItemBaseClass in weaponAssignments.AssignedSI) { SensitiveItemBaseClasses.Add(sensitiveItemBaseClass); } } } } } }
public bool IsAPlayer(IUser user) { return(RoleAssignments.Count(x => x.Key.Id == user.Id) > 0); }
public void RemovePositionBtn() { RoleAssignments.Remove(SelectedRole); SelectedRoleName = ""; }
private async Task <List <RoleAssignments> > GetRoleAssignments(string userId) { List <RoleAssignments> assignments = new List <RoleAssignments>(); // get the list of applications to consider for roles var appIds = CasConfig.AzureApplicationIds; if (appIds == null || appIds.Count() < 1) { return(assignments); } // get an access token var accessToken = await AccessTokenFetcher.GetAccessToken("https://graph.microsoft.com", "GRAPH"); // lookup all specified applications // NOTE: catch the possible 403 Forbidden because access rights have not been granted List <AppRoles> apps = new List <AppRoles>(); string filter = "$filter=" + string.Join(" or ", appIds.Select(appId => $"appId eq '{appId}'")); string select = "$select=appId,appRoles"; using (var request = new HttpRequestMessage() { RequestUri = new Uri($"https://graph.microsoft.com/beta/applications/?{filter}&{select}"), Method = HttpMethod.Get }) { request.Headers.Add("Authorization", $"Bearer {accessToken}"); using (var response = await this.HttpClient.SendAsync(request)) { var raw = await response.Content.ReadAsStringAsync(); if ((int)response.StatusCode == 403) // Forbidden { throw new Exception("GetRoleAssignments: the auth identity does not have the Directory.Read.All right"); } else if (!response.IsSuccessStatusCode) { throw new Exception($"GetRoleAssignments: HTTP {(int)response.StatusCode} - {raw}"); } dynamic json = JObject.Parse(raw); var values = (JArray)json.value; foreach (dynamic value in values) { var app = new AppRoles() { AppId = (string)value.appId }; apps.Add(app); foreach (dynamic appRole in value.appRoles) { app.Roles.Add((string)appRole.id, (string)appRole.value); } } } }; // get the roles that the user is in using (var request = new HttpRequestMessage() { RequestUri = new Uri($"https://graph.microsoft.com/beta/users/{userId}/appRoleAssignments"), Method = HttpMethod.Get }) { request.Headers.Add("Authorization", $"Bearer {accessToken}"); using (var response = await this.HttpClient.SendAsync(request)) { var raw = await response.Content.ReadAsStringAsync(); if ((int)response.StatusCode == 404) // Not Found { // ignore, the user might not be in the directory return(assignments); } else if (!response.IsSuccessStatusCode) { throw new Exception($"GetRoleAssignments: HTTP {(int)response.StatusCode} - {raw}"); } dynamic json = JObject.Parse(raw); var values = (JArray)json.value; foreach (dynamic value in values) { var appRoleId = (string)value.appRoleId; var app = apps.FirstOrDefault(a => a.Roles.ContainsKey(appRoleId)); if (app != null) { var roleName = app.Roles[appRoleId]; var existingAssignment = assignments.FirstOrDefault(ra => ra.AppId == app.AppId); if (existingAssignment != null) { existingAssignment.Roles.Add(roleName); } else { var assignment = new RoleAssignments() { AppId = (string)app.AppId }; assignment.Roles.Add(roleName); assignments.Add(assignment); } } } } }; return(assignments); }