@using salesbook.Shared.Core.Dto @using salesbook.Shared.Components.Layout @using salesbook.Shared.Core.Interface @using salesbook.Shared.Components.Layout.Overlay @inject IAttachedService AttachedService @if (RequireNewName) { } else { @if (!SelectTypePicture) {
@if (CanAddPosition) { }
} else {
} }
@if (RequireNewName) { Salva }
@code { [CascadingParameter] private IMudDialogInstance MudDialog { get; set; } [Parameter] public bool CanAddPosition { get; set; } //Overlay for save private bool VisibleOverlay { get; set; } private bool SuccessAnimation { get; set; } private AttachedDTO? Attached { get; set; } private bool RequireNewName { get; set; } private bool SelectTypePicture { get; set; } private string? _newName; private string? NewName { get => _newName; set { _newName = value; StateHasChanged(); } } protected override async Task OnInitializedAsync() { SelectTypePicture = false; RequireNewName = false; Snackbar.Configuration.PositionClass = Defaults.Classes.Position.TopCenter; } private async Task OnImage() { SelectTypePicture = true; StateHasChanged(); } private async Task OnCamera() { Attached = await AttachedService.SelectImageFromCamera(); RequireNewName = true; StateHasChanged(); } private async Task OnGallery() { Attached = await AttachedService.SelectImageFromGallery(); RequireNewName = true; StateHasChanged(); } private async Task OnFile() { Attached = await AttachedService.SelectFile(); MudDialog.Close(Attached); } private async Task OnPosition() { Attached = await AttachedService.SelectPosition(); RequireNewName = true; StateHasChanged(); } private void OnNewName() { switch (Attached.Type) { case AttachedDTO.TypeAttached.Position: { CanAddPosition = false; Attached.Description = NewName!; Attached.Name = NewName!; break; } case AttachedDTO.TypeAttached.Image: { var extension = Path.GetExtension(Attached.Name); Attached.Name = NewName! + extension; break; } case AttachedDTO.TypeAttached.Document: break; default: throw new ArgumentOutOfRangeException(); } MudDialog.Close(Attached); } }