@if (step == 2) { } else { } @if (ispdf) {
} @using SeaHavenIndustries.Data.IRepository; @inject IWorkOrderRepository _service; @using Microsoft.JSInterop @using System.Text.Json @using global::Data.SeaHavenIndustries @inject IJSRuntime JSRuntime @inject ChangeStepService StepService @* @inject CacheService _cacheService *@ @implements IDisposable @inject NavigationManager Navigation @using SeaHavenIndustries.Data.Services @inject PdfService pdfService @code { [Parameter] public int? id { get; set; } private WorkOrder order = new(); private string selectedStatus = "Open"; private bool isloading = true; private int step = 0; private bool ispdf = false; private IEnumerable? list { get; set; } public ElementReference htmlContentReference { get; set; } protected override async Task OnParametersSetAsync() { step = 0; isloading = true; StepService.OnStateChange += StateHasChanged; if (id != null) { var result = await _service.GetworkorderById(id.Value); if (result != null) { order = result; selectedStatus = order.Status; // if (order.AssignTo == null) // { // selectedStatus = "UnAssigned"; // } //StepService.SetCurrentstatus(selectedStatus); // StepService.chnageactivemodel(order); } ispdf = true; isloading = false; } //StepService.isloading = false; // isloading = false; } private async Task GeneratePdf() { ispdf = true; var htmlContent = await JSRuntime.InvokeAsync("getHtmlContent", htmlContentReference); var pdfBytes = await pdfService.GeneratePdf(htmlContent); ispdf = false; var pdfBase64 = Convert.ToBase64String(pdfBytes); await JSRuntime.InvokeVoidAsync("downloadFile", pdfBase64, "Workorder.pdf"); } private async Task SendPdf() { ispdf = true; var htmlContent = await JSRuntime.InvokeAsync("getHtmlContent", htmlContentReference); var pdfBytes = await pdfService.GeneratePdf(htmlContent); var result = await _service.SendEmailWorrkorder(pdfBytes, order.Id); if (result == "success") { await ShowSweetAlert("Email send successfully", "success"); } else { await ShowSweetAlert(result, "error"); } ispdf = false; } private int eid = 0; protected async Task Edit(int id) { if (id != 0) { eid = id; StepService.SetValue(1); await OnStepChange.InvokeAsync(1); await InvokeAsync(StateHasChanged); } else { } } private async Task Copy(int id) { eid = id; StepService.SetValue(1); step = 1; StepService.SetValue(1); StepService.SetCopy(true); await OnStepChange.InvokeAsync(1); await InvokeAsync(StateHasChanged); } private async Task Settemplatecreate(int id) { eid = id; StepService.SetValue(1); step = 1; StepService.SetValue(1); StepService.SetTemplatecreate(true); await OnStepChange.InvokeAsync(1); await InvokeAsync(StateHasChanged); } private async Task ChangeStep() { StepService.SetValue(2); await OnStepChange.InvokeAsync(2); // StateHasChanged(); // Consider removing this line } private async Task Changestatus(string status) { // if (selectedStatus == "UnAssigned") // { // await ShowSweetAlert("Please first assign to any user!", "error"); // return; // } var res = await _service.ChangeStatus(id.Value, status); if (res == "success") { selectedStatus = status; await ShowSweetAlert("Sucessfully Saved Data", "success"); // _cacheService.Clear(); StepService.SetValue(0); // StepService.SetCurrentstatus(status); await StepService.GetWorkerList(); //var result2 = StepService._list; //Navigation.NavigateTo(Navigation.Uri, forceLoad: true); } else { await ShowSweetAlert(res, "error"); } } [Parameter] public EventCallback OnStepChange { get; set; } public void Dispose() { StepService.OnStateChange -= StateHasChanged; } private async Task ShowSweetAlert(string title, string icon) { // Display a SweetAlert dialog await JSRuntime.InvokeVoidAsync("Swal.fire", new { toast = true, showConfirmButton = false, timer = 3000, title = title, icon = icon, position = "top-end" }); await JSRuntime.InvokeVoidAsync("closemodal"); } private async Task Delete(int val) { var result = await JSRuntime.InvokeAsync("Swal.fire", new { title = "Are you sure?", text = "You won't be able to revert this!", type = "warning", showCancelButton = true, customClass = new { confirmButton = "btn btn-success m-1", cancelButton = "btn btn-danger m-1" }, buttonsStyling = false, confirmButtonText = "Yes, delete it!" }); if (result.TryGetProperty("isConfirmed", out var isConfirmedProperty) && isConfirmedProperty.GetBoolean()) { // Call your delete API here var response = await _service.Deleteworkorder(val); if (response == "success") { await JSRuntime.InvokeVoidAsync("Swal.fire", new { icon = "success", title = "Deleted!", text = "Data has been deleted.", type = "primary", showCancelButton = false, customClass = new { confirmButton = "btn btn-success", cancelButton = "btn btn-danger" }, buttonsStyling = false, confirmButtonText = "Ok" }); list = await _service.Getworkorder(); // await JSRuntime.InvokeVoidAsync("location.reload"); } else { await JSRuntime.InvokeVoidAsync("Swal.fire", new { title = "Not Deleted!", text = "Unsuccessful! Cannot delete this.", type = "danger" }); } } } }