StaffSelect.razor.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using Microsoft.AspNetCore.Components;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Threading.Tasks;
  6. using wispro.sp.entity;
  7. using wispro.sp.web.Services;
  8. namespace wispro.sp.web.Components
  9. {
  10. public partial class StaffSelect
  11. {
  12. private List<Staff> _Staffs;
  13. private Staff _SelectedItem;
  14. private List<Staff> _ShowStaffs;
  15. [Parameter]
  16. public int? StaffId { get; set; }
  17. [Parameter]
  18. public EventCallback<int?> StaffIdChanged { get; set; }
  19. [Inject] IUserService _UserService { get; set; }
  20. protected override async System.Threading.Tasks.Task OnInitializedAsync()
  21. {
  22. base.OnInitialized();
  23. _Staffs = await _UserService.GetAll();
  24. _ShowStaffs = _Staffs;
  25. }
  26. private void OnSelectedItemChangedHandler(Staff value)
  27. {
  28. _SelectedItem = value;
  29. StaffIdChanged.InvokeAsync(_SelectedItem.Id);
  30. }
  31. private void OnSearch(string value)
  32. {
  33. _ShowStaffs = _Staffs.Where<Staff>(p => p.Name.Contains(value)).ToList();
  34. StateHasChanged();
  35. }
  36. }
  37. }