private void AddRoleToUser(ResponseRoleClass obj) { if (obj == null) { return; } TransactionService.AddRoleToUser(new Transaction(new ServerLib.JTypes.Client.RequestUserRoleAddClass() { RoleID = obj.ID, UserID = SelectedUserClass.ID, Token = DataStorage.Instance.Login.Token }, new Action(() => { Application.Current.Dispatcher.Invoke(() => { UserUnusedRoles.Remove(obj); UserUsedRoles.Add(obj); Notify("UserUnusedRoles"); Notify("UserUsedRoles"); AddRoleToUserButtonEnable = UserUnusedRoles.Count > 0; Notify("AddRoleToUserButtonEnable"); RemoveRoleToUserButtonEnable = UserUsedRoles.Count > 0; Notify("RemoveRoleToUserButtonEnable"); }); }), new Action(() => { })));; }
public AddRolesViewModel(ResponseRoleClass roleClass) { roleID = roleClass.ID; EditAddButton = "Редактировать"; RoleName = roleClass.Name; RoleDescription = roleClass.Description; AddRoleCommand = new SimpleCommand(EditRole); CancelCommand = new SimpleCommand(Cancel); }
//Функции для работы с ролями private void RolesListHandler(string InputMessage) { if (DataStorage.Instance.RoleList.Count == 0) { DataStorage.Instance.RoleList.Clear(); DataStorage.Instance.RoleList = JsonConvert.DeserializeObject <ResponseRolesClass>(InputMessage).Items; } else { foreach (ResponseRoleClass role in JsonConvert.DeserializeObject <ResponseRolesClass>(InputMessage).Items) { if (role.Command == ServerLib.JTypes.Enums.ItemCommands.add) { var roltmp = DataStorage.Instance.RoleList.FirstOrDefault(x => x.ID == role.ID); if (roltmp == null) { DataStorage.Instance.RoleList.Add(role); } else { roltmp.Builder.From(role).Update(); } } if (role.Command == ServerLib.JTypes.Enums.ItemCommands.delete) { DataStorage.Instance.RoleList.Remove(role); } if (role.Command == ServerLib.JTypes.Enums.ItemCommands.edit) { ResponseRoleClass jobtmp = DataStorage.Instance.RoleList.FirstOrDefault(x => x.ID == role.ID); jobtmp.Builder.From(role).Update(); } } } UpdateRoles?.Invoke(this, ""); }