내가 만드는 문서를 응용 프로그램에서는 사람들 안에 내 비즈니스에 액세스 설명서에 대한 특정 소프트웨어입니다. 이 페이지가 있는 곳에는 어떤 관리할 수 있는 카테고리를 관리하고 사용자. 이를 위해,나는 관리자를 변경할 수 있도록 주문의 범주에는 그것이 있어야에 표시되는 내 NavigationMenu. 지금 일부는 그것이 제대로 작동해야 하기 위해 카테고리에 따기 위해 내부에 NavigationMenu 작동합니다. 그러나 시도할 때 편집하는 기존의 종류와 순서 번호,주문 업데이트하지 않습니다 따라서,아래 예제를 확인하십시오.
이것은 전에 편집하는 기존의 카테고리,이러한 범주는 신선한 추가/품
이것은 이후 편집,카테고리"반응해야한다"순서 2 곳,API 것 0 기 위해,그리고 테스트하는 것기 위해 1
당신이 볼 수있는,주문이 되지 않습니다 더 이상. 분명이 없이 허용되는 1 개 이상의 어떤 순서입니다.
지금 문제는 대부분에서 나오는 이 코드입니다.
CategoryService.cs
public async Task<List<Category>> InsertCategory(Category category)
{
await GetCategories();
for (int i = 0; i < Categories.Where(c => c.Order >= category.Order).Count(); i++)
{
Categories[i].Order++;
if (Categories[i].Order == category.Order)
{
Categories[i].Order--;
break;
}
}
await categoryRepository.InsertAsync(Categories);
EventHelper.NotifyCategoryListChanged(Categories, EventArgs.Empty);
return Categories;
}
주문 코드의는 다음과 같이 간다:
CategoryDialog.razor
private async void SaveCategory(Category category)
{
if(!string.IsNullOrEmpty(category.Name))
{
await categoryService.SaveCategory(category);
Snackbar.Add("Category " + category.Name + " added", Severity.Success);
MudDialog.Close(DialogResult.Ok(category.Id));
}
else
{
Snackbar.Add("Please enter a category name.", Severity.Warning);
}
}
위의 코드가 호출한 후 버튼을 누릅니다. 이에 따라 통과 범주 특정 주문번호,이 번호를 전달을 따라에서 간단한 드롭다운 메뉴입니다.
이 SaveCategory
함수는 다음과 같습니다:
CategorySerice.cs
public async Task<Category> SaveCategory(Category category)
{
await InsertCategory(category);
if (categoryRepository.GetByIdAsync(category.Id) == null)
{
await categoryRepository.AddAsync(category);
}
else
{
await categoryRepository.SaveAsync(category);
}
EventHelper.NotifyCategoryListChanged(Categories, EventArgs.Empty);
return category;
}
이 함수 호출 문제가 기능 실제로 전에 절약/아무것도 추가 데이터베이스에 있습니다. 그래서 그것은 자리를 차지할 수 있습니다 새로 추가 또는 편집니다.
이 후에는 이벤트가 발생하에게 통지 NavigationMenu 는 변경되어있어,그리고 그것은 다시 렌더링하는 표시이다. 이것은 아무 문제 없습니다.
그러나 나는 방법을 알아낼 수 없습니다 내가 제대로 가면 주문이 나열할 때 나는 변경합니다. 빠른 알림이 기능이 작동하지 않을 편집할 때 기존 범주가 있습니다. 를 추가 하는 경우 새로운 카테고리에서 예를 들어 주문 2. 그것이 제대로 모든 이동과 아무 문제 없습니다.
어떤 도움을 환영합니다!
CategoryService.cs
이것은 단일 원본의 진실 때,GetCategories
라,그것을 잡고 새로운 정보를 데이터베이스에서.