< Summary - Syki

Information
Class: Syki.Front.Features.Academic.UpdateCampus.UpdateCampusDialog
Assembly: Front
File(s): /home/runner/work/syki/syki/Front/Features/Academic/UpdateCampus/UpdateCampusDialog.razor
Tag: 4_16869239191
Line coverage
0%
Covered lines: 0
Uncovered lines: 22
Coverable lines: 22
Total lines: 87
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%
get_Campus()100%210%
Submit()0%4260%
Cancel()100%210%

File(s)

/home/runner/work/syki/syki/Front/Features/Academic/UpdateCampus/UpdateCampusDialog.razor

#LineLine coverage
 1@namespace Syki.Front.Features.Academic.UpdateCampus
 2
 3<MudDialog Class="pb-2" DefaultFocus="DefaultFocus.None">
 4    <TitleContent>
 5        <SykiDialogTitle Icon="@Icons.Material.Outlined.Edit" Text="Editar Campus" />
 6    </TitleContent>
 7    <DialogContent>
 08        <MudForm @ref="@_form" Class="pt-1">
 09            <SykiTextField Label="Nome" AutoFocus="true" @bind-Value="@Campus.Name" />
 010
 011            <MudSelect
 012                Dense="true"
 013                Margin="Margin.Dense"
 14                Variant="Variant.Outlined"
 15                T="BrazilState"
 16                @bind-Value="@Campus.State"
 17                Label="Estado"
 18                Class="pb-2"
 19                Required="true"
 20                RequiredError="Informe!"
 21                AdornmentColor="Color.Primary"
 22            >
 023                @foreach (BrazilState type in Enum.GetValues<BrazilState>())
 24                {
 025                    <MudSelectItem Value="@type">@type.GetDescription()</MudSelectItem>
 26                }
 27            </MudSelect>
 28
 29            <SykiTextField Label="Cidade" @bind-Value="@Campus.City" />
 30
 31            <MudNumericField
 32                MaxLength="5"
 33                HideSpinButtons="true"
 34                Margin="Margin.Dense"
 35                Variant="Variant.Outlined"
 36                @bind-Value="@Campus.Capacity"
 37                Label="Capacidade"
 38                Required="true"
 39                Min="1"
 40                RequiredError="Informe!"
 41            />
 42        </MudForm>
 43    </DialogContent>
 44    <DialogActions>
 45        <DialogCancelButton OnClick="@Cancel" />
 46        <SykiProgressCircular Loading="@_loading" />
 47        <DialogSaveButton OnClick="@Submit" />
 48    </DialogActions>
 49</MudDialog>
 50
 51@inject ISnackbar Snackbar
 52@inject UpdateCampusClient Client
 53
 54@code
 55{
 56    [CascadingParameter]
 057    IMudDialogInstance MudDialog { get; set; }
 58
 59    [Parameter]
 060    public CampusOut Campus { get; set; }
 61
 62    private MudForm _form;
 63    private bool _loading;
 64
 65    async Task Submit()
 66    {
 067        if (_loading) return;
 68
 069        await _form.Validate();
 070        if (!_form.IsValid) return;
 71
 072        _loading = true;
 073        var response = await Client.Update(Campus.Id, Campus.Name, Campus.State, Campus.City, Campus.Capacity);
 074        if (response.IsSuccess)
 75        {
 076            MudDialog.Close(DialogResult.Ok(true));
 077            Snackbar.Add("Campus editado com sucesso!", Severity.Success);
 78        }
 79        else
 80        {
 081            Snackbar.Add(response.Error.Message, Severity.Error);
 82        }
 083        _loading = false;
 084    }
 85
 086    void Cancel() => MudDialog.Cancel();
 87}