< Summary - Syki

Information
Class: Syki.Front.Features.Academic.CreateClassroom.CreateClassroomDialog
Assembly: Front
File(s): /home/runner/work/syki/syki/Front/Features/Academic/CreateClassroom/CreateClassroomDialog.razor
Tag: 4_16869239191
Line coverage
0%
Covered lines: 0
Uncovered lines: 25
Coverable lines: 25
Total lines: 107
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 8
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_MudDialog()100%210%
.ctor()100%210%
OnInitializedAsync()100%210%
Submit()0%4260%
Cancel()100%210%

File(s)

/home/runner/work/syki/syki/Front/Features/Academic/CreateClassroom/CreateClassroomDialog.razor

#LineLine coverage
 1@namespace Syki.Front.Features.Academic.CreateClassroom
 2
 3<MudDialog Class="pb-2" DefaultFocus="DefaultFocus.None">
 4    <TitleContent>
 5        <MudText Typo="Typo.h6">
 6            <MudIcon Icon="@Icons.Material.Filled.Add" Class="mr-1 mb-n1" />
 7            Nova Sala
 8        </MudText>
 9    </TitleContent>
 10    <DialogContent>
 011        <MudForm @ref="@_form" Class="pt-1">
 012            <MudSelect
 013                Dense="true"
 014                Margin="Margin.Dense"
 015                Variant="Variant.Outlined"
 016                Class="pb-2"
 17                AutoFocus="true"
 18                @bind-Value="@_campus"
 19                Label="Campus"
 20                Required="true"
 21                RequiredError="Informe!"
 22                AdornmentColor="Color.Primary"
 23            >
 024                @foreach (CampusOut? item in _campi)
 25                {
 026                    <MudSelectItem Value="@item">@item.Name</MudSelectItem>
 27                }
 28            </MudSelect>
 29
 30            <MudTextField
 31                OnlyValidateIfDirty="true"
 32                Immediate="true"
 33                Margin="Margin.Dense"
 34                Variant="Variant.Outlined"
 35                Class="pb-2"
 36                AutoFocus="true"
 37                @bind-Value="@_name"
 38                T="String"
 39                Label="Nome"
 40                Required="true"
 41                RequiredError="Informe!"
 42            />
 43
 44            <MudNumericField
 45                MaxLength="5"
 46                HideSpinButtons="true"
 47                Margin="Margin.Dense"
 48                Variant="Variant.Outlined"
 49                @bind-Value="@_capacity"
 50                Label="Capacidade"
 51                Required="true"
 52                RequiredError="Informe!"
 53            />
 54        </MudForm>
 55    </DialogContent>
 56    <DialogActions>
 57        <DialogCancelButton OnClick="@Cancel" />
 58        <SykiProgressCircular Loading="@_loading" />
 59        <DialogSaveButton OnClick="@Submit" />
 60    </DialogActions>
 61</MudDialog>
 62
 63@inject ISnackbar Snackbar
 64@inject CreateClassroomClient Client
 65@inject GetCampiClient GetCampiClient
 66
 67@code
 68{
 69    [CascadingParameter]
 070    IMudDialogInstance MudDialog { get; set; }
 71
 72    private MudForm _form;
 73    private bool _loading;
 74
 75    private CampusOut? _campus;
 076    private List<CampusOut> _campi = [];
 77    private string _name;
 078    private int _capacity = 25;
 79
 80    protected override async Task OnInitializedAsync()
 81    {
 082        _campi = await GetCampiClient.Get();
 083    }
 84
 85    async Task Submit()
 86    {
 087        if (_loading) return;
 88
 089        await _form.Validate();
 090        if (!_form.IsValid) return;
 91
 092        _loading = true;
 093        var response = await Client.Create(_campus.Id, _name, _capacity);
 094        if (response.IsSuccess)
 95        {
 096            MudDialog.Close(DialogResult.Ok(true));
 097            Snackbar.Add("Sala cadastrada com sucesso!", Severity.Success);
 98        }
 99        else
 100        {
 0101            Snackbar.Add(response.Error.Message, Severity.Error);
 102        }
 0103        _loading = false;
 0104    }
 105
 0106    void Cancel() => MudDialog.Cancel();
 107}