< Summary

Class:MUNity.BlazorServer.Components.Conference.ManageCommitteeRolesPanel
Assembly:MUNity.BlazorServer
File(s):C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNity.BlazorServer\Components\Conference\ManageCommitteeRolesPanel.razor
Covered lines:0
Uncovered lines:91
Coverable lines:91
Total lines:211
Line coverage:0% (0 of 91)
Covered branches:0
Total branches:42
Branch coverage:0% (0 of 42)
Covered methods:0
Total methods:11
Method coverage:0% (0 of 11)

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
BuildRenderTree(...)0%100%
get_Roles()100%10%
get_AuthStateTask()100%10%
get_committeeRolesNameOrderStyle()0%40%
get_committeeRolesCommitteeOrderStyle()0%40%
get_committeeRolesDelegationOrderStyle()0%40%
GetCommitteeRolesWithOrder()0%80%
SetCommitteeRolesOrderModeName()0%20%
SetCommitteeRolesOrderModeCommittee()0%20%
SetCommitteeRolesOrderModeDelegation()0%20%
ChangeApplicationMode()0%60%

File(s)

C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNity.BlazorServer\Components\Conference\ManageCommitteeRolesPanel.razor

#LineLine coverage
 1@using MUNity.Schema.Conference
 2@inject Services.ConferenceRoleService conferenceRoleService
 3@inject NotificationService NotificationService
 4
 5<div class="panel panel-inverse">
 6    <div class="panel-heading">
 7        <h4 class="panel-title">Rollen in Gremien</h4>
 8        <div class="panel-heading-btn">
 09            <a href="javascript:;" @onclick="() => showCommitteeRoles = !showCommitteeRoles" class="btn btn-xs btn-icon 
 10        </div>
 11    </div>
 12
 013    @if (showCommitteeRoles)
 014    {
 15        <div class="alert alert-warning rounded-0 mb-0 fade show">
 16            An dieser Stelle können alle Rollen für Gremien eingesehen werden.
 17        </div>
 18
 19        <div class="panel-body">
 20            <div class="dataTables_wrapper dt-bootstrap4 no-footer">
 21                <table class="table table-striped table-bordered align-middle dataTable no-footer dtr-inline" role="grid
 22                    <thead>
 23                        <tr>
 24                            <th>#</th>
 25                            <th class="@committeeRolesNameOrderStyle" @onclick="SetCommitteeRolesOrderModeName">Name</th
 26                            <th class="@committeeRolesCommitteeOrderStyle" @onclick="SetCommitteeRolesOrderModeCommittee
 27                            <th class="@committeeRolesDelegationOrderStyle" @onclick="SetCommitteeRolesOrderModeDelegati
 28                            <th>Bewerbungstyp</th>
 29                            <th>Ist belegt</th>
 30                        </tr>
 31                    </thead>
 32                    <tbody>
 033                        @if (Roles != null && Roles.Any())
 034                        {
 035                            foreach (var role in GetCommitteeRolesWithOrder())
 036                            {
 37                                <tr>
 038                                    <td>@role.RoleId</td>
 039                                    <td>@role.RoleName</td>
 040                                    <td>@role.RoleCommitteeName</td>
 041                                    <td>@role.DelegationName</td>
 42                                    <td>
 043                                        <select class="form-select" value="@role.ApplicationState" @onchange="(args) => 
 44                                            <option value="@EApplicationStates.Closed">Anmeldung geschlossen</option>
 45                                            <option value="@EApplicationStates.DelegationApplication">Anmeldung auf Dele
 46                                            <option value="@EApplicationStates.DirectApplication">Anmeldung auf Rolle (d
 47                                        </select>
 48                                    </td>
 049                                    <td>@((role.HasParicipant) ? "Ja" : "Nein")</td>
 50                                </tr>
 051                            }
 052                        }
 53                    </tbody>
 54                </table>
 55
 56            </div>
 57        </div>
 058    }
 59
 60
 61</div>
 62
 63@code {
 064    [Parameter] public IEnumerable<ManageDelegationRoleInfo> Roles { get; set; }
 65
 066    [CascadingParameter] public Task<AuthenticationState> AuthStateTask { get; set; }
 67
 68    private bool showCommitteeRoles;
 69
 70    private string committeeRolesNameOrderStyle
 71    {
 72        get
 073        {
 074            if (committeeRolesOrderMode == CommitteeRolesOrderModes.ByNameAscending)
 075            {
 076                return "text-nowrap sorting sorting_asc";
 77            }
 078            else if (committeeRolesOrderMode == CommitteeRolesOrderModes.ByNameDescending)
 079            {
 080                return "text-nowrap sorting sorting_desc";
 81            }
 82            else
 083            {
 084                return "text-nowrap sorting";
 85
 86            }
 087        }
 88    }
 89
 90    private string committeeRolesCommitteeOrderStyle
 91    {
 92        get
 093        {
 094            if (committeeRolesOrderMode == CommitteeRolesOrderModes.ByCommitteeAscending)
 095            {
 096                return "text-nowrap sorting sorting_asc";
 97            }
 098            else if (committeeRolesOrderMode == CommitteeRolesOrderModes.ByCommitteeDescending)
 099            {
 0100                return "text-nowrap sorting sorting_desc";
 101            }
 102            else
 0103            {
 0104                return "text-nowrap sorting";
 105
 106            }
 0107        }
 108    }
 109
 110    private string committeeRolesDelegationOrderStyle
 111    {
 112        get
 0113        {
 0114            if (committeeRolesOrderMode == CommitteeRolesOrderModes.ByCommitteeAscending)
 0115            {
 0116                return "text-nowrap sorting sorting_asc";
 117            }
 0118            else if (committeeRolesOrderMode == CommitteeRolesOrderModes.ByCommitteeDescending)
 0119            {
 0120                return "text-nowrap sorting sorting_desc";
 121            }
 122            else
 0123            {
 0124                return "text-nowrap sorting";
 125
 126            }
 0127        }
 128    }
 129
 130    private enum CommitteeRolesOrderModes
 131    {
 132        Default,
 133        ByNameAscending,
 134        ByNameDescending,
 135        ByCommitteeAscending,
 136        ByCommitteeDescending,
 137        ByDelegationAscending,
 138        ByDelegationDescending
 139    }
 140
 141    private CommitteeRolesOrderModes committeeRolesOrderMode;
 142
 143    private IEnumerable<ManageDelegationRoleInfo> GetCommitteeRolesWithOrder()
 0144    {
 0145        switch (committeeRolesOrderMode)
 146        {
 147            case CommitteeRolesOrderModes.Default:
 0148                return Roles.Where(n => !string.IsNullOrEmpty(n.RoleCommitteeId));
 149            case CommitteeRolesOrderModes.ByNameAscending:
 0150                return Roles.Where(n => !string.IsNullOrEmpty(n.RoleCommitteeId)).OrderBy(n => n.RoleName);
 151            case CommitteeRolesOrderModes.ByNameDescending:
 0152                return Roles.Where(n => !string.IsNullOrEmpty(n.RoleCommitteeId)).OrderByDescending(n => n.RoleName);
 153            case CommitteeRolesOrderModes.ByCommitteeAscending:
 0154                return Roles.Where(n => !string.IsNullOrEmpty(n.RoleCommitteeId)).OrderBy(n => n.RoleCommitteeName);
 155            case CommitteeRolesOrderModes.ByCommitteeDescending:
 0156                return Roles.Where(n => !string.IsNullOrEmpty(n.RoleCommitteeId)).OrderByDescending(n => n.RoleCommittee
 157            case CommitteeRolesOrderModes.ByDelegationAscending:
 0158                return Roles.Where(n => !string.IsNullOrEmpty(n.RoleCommitteeId)).OrderBy(n => n.DelegationName);
 159            case CommitteeRolesOrderModes.ByDelegationDescending:
 0160                return Roles.Where(n => !string.IsNullOrEmpty(n.RoleCommitteeId)).OrderByDescending(n => n.DelegationNam
 161            default:
 0162                return Roles.Where(n => !string.IsNullOrEmpty(n.RoleCommitteeId));
 163        }
 0164    }
 165
 166
 167
 168    private void SetCommitteeRolesOrderModeName()
 0169    {
 0170        if (committeeRolesOrderMode == CommitteeRolesOrderModes.ByNameAscending)
 0171            committeeRolesOrderMode = CommitteeRolesOrderModes.ByNameDescending;
 172        else
 0173            committeeRolesOrderMode = CommitteeRolesOrderModes.ByNameAscending;
 0174    }
 175
 176    private void SetCommitteeRolesOrderModeCommittee()
 0177    {
 0178        if (committeeRolesOrderMode == CommitteeRolesOrderModes.ByCommitteeAscending)
 0179            committeeRolesOrderMode = CommitteeRolesOrderModes.ByCommitteeDescending;
 180        else
 0181            committeeRolesOrderMode = CommitteeRolesOrderModes.ByCommitteeAscending;
 0182    }
 183
 184    private void SetCommitteeRolesOrderModeDelegation()
 0185    {
 0186        if (committeeRolesOrderMode == CommitteeRolesOrderModes.ByDelegationAscending)
 0187            committeeRolesOrderMode = CommitteeRolesOrderModes.ByDelegationDescending;
 188        else
 0189            committeeRolesOrderMode = CommitteeRolesOrderModes.ByDelegationAscending;
 0190    }
 191
 192    private async Task ChangeApplicationMode(ChangeEventArgs args, ManageDelegationRoleInfo role)
 0193    {
 0194        var claim = (await AuthStateTask)?.User;
 0195        if (claim == null)
 0196            return;
 197
 0198        var result = await conferenceRoleService.SetDelegateRoleApplicationState(role.RoleId, args.Value.ToString(), cla
 0199        @if (!result)
 0200        {
 0201            var message = new NotificationMessage()
 0202            {
 0203                Detail = "Die Änderung konnte nicht übernommen werden.",
 0204                Duration = 5,
 0205                Severity = NotificationSeverity.Error,
 0206                Summary = "Fehler"
 0207            };
 0208            NotificationService.Notify(message);
 0209        }
 0210    }
 211}