< Summary

Class:MUNity.BlazorServer.Components.Conference.CreateTeamRoleGroupModal
Assembly:MUNity.BlazorServer
File(s):C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNity.BlazorServer\Components\Conference\CreateTeamRoleGroupModal.razor
Covered lines:0
Uncovered lines:46
Coverable lines:46
Total lines:136
Line coverage:0% (0 of 46)
Covered branches:0
Total branches:12
Branch coverage:0% (0 of 12)
Covered methods:0
Total methods:10
Method coverage:0% (0 of 10)

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
BuildRenderTree(...)0%60%
.ctor()100%10%
get_ConferenceId()100%10%
get_authStateTask()100%10%
get_GroupCreated()100%10%
OnInitialized()100%10%
Show()100%10%
Hide()100%10%
CreateRoleGroup()0%60%
Reset()100%10%

File(s)

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

#LineLine coverage
 1<!-- Create Project Modal -->
 2@inject Services.ConferenceRoleService _conferenceRoleService
 3
 04@if (isVisible)
 05{
 6    <div class="modal fade show" style="display: block;" role="dialog">
 7        <div class="modal-dialog">
 8            <div class="modal-content">
 9                <div class="modal-header">
 10                    <h4 class="modal-title">Neue Teamrollengruppe</h4>
 011                    <button type="button" class="btn-close" @onclick="() => Hide()"></button>
 12                </div>
 013                @if (response == null)
 014                {
 15                    <EditForm Model="request" OnValidSubmit="CreateRoleGroup">
 16                        <DataAnnotationsValidator />
 17                        <ValidationSummary />
 18                        <div class="modal-body">
 19                            <h3>Über Gruppen</h3>
 20                            <p>Die Rollen für das Team eine Konferenz werden in Gruppen zusammengefasst. Diese Gruppen k
 21                            <p>Diesen Gruppen sind dann einzelne Rollen zugeordnet, wie die Projektleitung, Generalserek
 22
 23                            <div class="row mb-15px">
 24                                <label class="form-label col-form-label col-md-3">Gruppenname</label>
 25                                <div class="col-md-9">
 26                                    <InputText type="text" class="form-control mb-5px" placeholder="Projektleitung" @bin
 27                                    <small class="fs-12px text-gray-500-darker">Der Name der Gruppe. Zum Beispiel (erwei
 28                                </div>
 29                            </div>
 30
 31                            <div class="row mb-15px">
 32                                <label class="form-label col-form-label col-md-3">Vollständiger Gruppenname</label>
 33                                <div class="col-md-9">
 34                                    <InputText type="text" class="form-control mb-5px" placeholder="Projektleitung MUN..
 35                                    <small class="fs-12px text-gray-500-darker">Ein erweiterter Name für die Gruppe. Zum
 36                                </div>
 37                            </div>
 38
 39                            <div class="row mb-15px">
 40                                <label class="form-label col-form-label col-md-3">Gruppenkürzel</label>
 41                                <div class="col-md-9">
 42                                    <InputText type="text" class="form-control mb-5px" placeholder="PL" @bind-Value="@re
 43                                    <small class="fs-12px text-gray-500-darker">Eine Kurzform für die Gruppe zum Beispie
 44                                </div>
 45                            </div>
 46
 47                            <div class="row mb-15px">
 48                                <label class="form-label col-form-label col-md-3">Hierarchielevel</label>
 49                                <div class="col-md-9">
 50                                    <InputNumber class="form-control mb-5px" @bind-Value="@request.GroupLevel" />
 51                                    <small class="fs-12px text-gray-500-darker">Eine Einschätzung auf welcher Stufe dies
 52                                </div>
 53                            </div>
 54                        </div>
 55                        <div class="modal-footer">
 056                            <button class="btn btn-white" @onclick="() => Hide()">Abbrechen</button>
 57                            <button class="btn btn-success" type="submit">Gruppe erstellen</button>
 58                        </div>
 59                    </EditForm>
 060                }
 61                else
 062                {
 63                    <div class="modal-body">
 64                        <div class="col-12">
 065                            @if (!response.HasError)
 066                            {
 067                                <div class="alert alert-success">Die Gruppe wurde erfolgreich erstellt <button class="bt
 068                            }
 69                        </div>
 70
 71                    </div>
 72                    <div class="modal-footer">
 073                        <button class="btn btn-white" @onclick="() => Hide()">Schließen</button>
 74                    </div>
 075                }
 76
 77            </div>
 78        </div>
 79    </div>
 80    <div class="modal-backdrop fade show"></div>
 081}
 82
 83
 84@code {
 085    private bool isVisible = false;
 86
 087    [Parameter] public string ConferenceId { get; set; }
 88
 089    [CascadingParameter] public Task<AuthenticationState> authStateTask { get; set; }
 90
 091    [Parameter] public EventCallback GroupCreated { get; set; }
 92
 93
 94    private Schema.Conference.CreateTeamRoleGroupRequest request;
 95
 96    private Schema.Conference.CreateTeamRoleGroupResponse response;
 97
 98
 99    protected override void OnInitialized()
 0100    {
 0101        this.request = new Schema.Conference.CreateTeamRoleGroupRequest();
 0102        request.ConferenceId = ConferenceId;
 0103    }
 104
 105    public void Show()
 0106    {
 0107        isVisible = true;
 0108        StateHasChanged();
 0109    }
 110
 111    public void Hide()
 0112    {
 0113        isVisible = false;
 0114    }
 115
 116    public async Task CreateRoleGroup()
 0117    {
 0118        var claim = (await authStateTask)?.User;
 0119        if (claim != null)
 0120        {
 0121            this.response = await _conferenceRoleService.CreateTeamRoleGroupAsync(request, claim);
 0122            if (!response.HasError)
 0123                await GroupCreated.InvokeAsync();
 0124        }
 125
 0126    }
 127
 128    private void Reset()
 0129    {
 0130        request.GroupFullName = null;
 0131        request.GroupName = null;
 0132        request.GroupShort = null;
 0133        request.GroupLevel = request.GroupLevel + 1;
 0134        response = null;
 0135    }
 136}