ฉันสร้างเอกสารคู่มือโปรแกรมซึ่งผมอนุญาตให้คนที่อยู่ข้างในธุรกิจของฉันเพื่อเข้าใช้งานเอกสารเรื่องซอฟต์แวร์ กับเรื่องนี้ฉันมีหน้าที่ไหนมีแอดมิสามารถจัดการหมวดหมู่และผู้ใช้. สำหรับเรื่องนี้ฉันต้องการแอดมิสามารถเปลี่ยนคำสั่งของหมวดหมู่อยู่ซึ่งมันควรจะถูกแสดงบนของฉัน NavigationMenu. ตอนนี้คนส่วนหนึ่งที่มันควรจะเหมาะสมเป็นคนสั่งให้หมวดหมู่จากพื้นฐานสั่งใน NavigationMenu นทำงานได้ แต่ตอนที่ฉันพยายามจะแก้ไขที่มีอยู่หมวดหมู่และพวกเขาสั่งของตัวเลขออกคำสั่งไม่ปรับปรุงได้ตามคาดเห็นตัวอย่าง:
นี่คือก่อนที่ทำการแก้ไขที่มีอยู่หมวดหมู่พวกนี้หมวดหมู่พ freshly ถูกเพิ่ม/ทำ
นี่คือหลังจากทำการแก้ไขหมวดหมู่,"ตอบโต้"ควรจะเป็นคำสั่ง 2 อยู่ที่ไหนรูปแบบ api จะเป็นเพื่อ 0 และทดสอบจะเป็นลำดับ 1
อย่างที่คุณสามารถเห็นคำสั่งไม่สมเหตุสมผลเลยอีกต่อไปแล้ว เห็นได้ชัดว่ามันไม่ควรได้รับอนุญาตให้มากกว่า 1 ของคำสั่ง
ตอนนี้ปัญหาคือส่วนใหญ่มาจากนรหัสมอส
CategoryService.à™àà§à•à£àà™
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.มีดโกนหนวดดีๆสักอั
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);
}
}
ทั้งรหัสคือชื่อหลังจากปุ่มแถลงข่าว มันจะผ่านไปด้วยผู้หมวดหมู่กับบางอย่างเพื่อเบอร์นี้เบอร์เข้าไปจากง่ายอย่าง dropdown เมนู
คน SaveCategory
ฟังก์ชันดูเหมือนนี้:
CategorySerice.à™àà§à•à£àà™
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;
}
ฟังก์ชันนี้โทรหากร problematic ฟังก์ชันก่อนที่จริงการช่วย/ปิดบังอะไรจากฐานข้อมูลเหมือนกัน ดังนั้นมันจะได้ดูสถานที่สำหรับคนที่เพิ่งถูกเพิ่มหรือลบหมวดหมู่.
หลังจากนี้เป็นเหตุการณ์ถูกไล่ออกเพื่อแจ้งให้ทราบของฉัน NavigationMenu ที่มีเปลี่ยนแปลงที่ได้ทำไว้และมันควรจะกลัจัดการพาต้องแสดงเรื่องนี้ มันไม่มีปัญหาหรอก
แต่ฉันไม่สามารถคิดออกว่าฉันจะเหมาะสมก็มีคำสั่งถูกแสดงไว้ในรายการตอนที่ฉันเปลี่ยนแปลงพวกเขาได้ เตือนหน่อ,ฟังก์ชันนี้ไม่ได้ทำงานเมื่อทำการแก้ไขที่มีอยู่หมวดหมู่. ถ้าฉันจะเพิ่มใหม่หมวดหมู่ตัวอย่างเช่นที่สั่ง 2 ต่อได้. มันเหมาะสมกะทุกอย่างกับไม่มีปัญหา
มีความช่วยเหลือขอต้อนรั!
CategoryService.cs
นี่คือนัดเดียวแหล่งข่าวของความจริงตอนที่GetCategories
จะเรียกมันยิงใหม่ข้อมูลจากฐานข้อมูล