Как просмотреть встроенную сетку редактирования для моих данных "Test Cases" от DevExtreme? - PullRequest
0 голосов
/ 07 апреля 2019

Я использую встроенную сетку редактирования DevExtreme:

https://js.devexpress.com/Demos/WidgetsGallery/Demo/DataGrid/CollaborativeEditing/NetCore/Light/

Я использую CollaborativeEditing для реализации своей таблицы «Тестовые случаи», чтобы просмотреть ее как сетку редактируемых данных.

Это показывает сообщение об ошибке «Bad Gateway 503», я пытался удалить (объявление IHubContext из конструктора контроллера, ошибка исчезла, а сетка данных не была показана, она показывает нам «Данные <>», что-то вроде этого Как я могу показать сетку, что я должен добавить, чтобы увидеть вид сетки?

TestCases Контроллер:

[Route("api/[controller]")]

public class IHubContext : Controller
{

    private readonly ApplicationDbContext _context;
    private static readonly Random random = new Random();
    public IHubContext( ApplicationDbContext context, IHubContext<DataGridCollaborativeEditingHub> hubcontext)
    {

        hubContext = hubcontext;
        _context = context;
    }

  //  private IHubContext<DataGridCollaborativeEditingHub> hubContext;
    List<TestsExeResults> list = new List<TestsExeResults>();

    public async Task<IActionResult> Index(int? id, int? id2)
    {

        ViewBag.id2 = id2;
        ViewBag.id = id;
        var applicationDbContext = new object();


        if (id > 0)
        {
            applicationDbContext = _context.TestsExeResults
                .Include(n => n.ProjectTests)
                .Include(n => n.TestExcutions)
                .Include(n => n.TestCases)
                .Where(n => n.TestExcutionsTEId == id)
                .OrderBy(n => n.PPublicationDate);


        }
        else
        {
            applicationDbContext = _context.TestsExeResults.Include(p => p.TestExcutions);
        }


        list = await ((IQueryable<TestsExeResults>)applicationDbContext).ToListAsync();
        return View(await ((IQueryable<TestsExeResults>)applicationDbContext).ToListAsync());


    }





    [HttpGet]
    public object Get(DataSourceLoadOptions loadOptions) {

        return DataSourceLoader.Load(list, loadOptions);
    }

    [HttpPost]
    public IActionResult Post(string values, string sessionId) {
        var newTest = new TestsExeResults();
        newTest.TERId2 = random.Next(list.Count, int.MaxValue);

        JsonConvert.PopulateObject(values, newTest);

        if(!TryValidateModel(newTest))
            return BadRequest(ModelState.GetFullErrorMessage()); 

        // db.Employees.Add(newEmployee);
        // db.SaveChanges()

        hubContext.Clients.All.SendAsync("insert", newTest, sessionId);

        return Ok(newTest);
    }

    [HttpPut]
    public IActionResult Put(int key, string values, string sessionId) {
        var Test = new TestsExeResults();

        JsonConvert.PopulateObject(values, Test);
        Test.TERId2 = key;
        if(!TryValidateModel(Test))
            return BadRequest(ModelState.GetFullErrorMessage());

        // db.SaveChanges();

        hubContext.Clients.All.SendAsync("update", key, Test, sessionId);

        return Ok(Test);
    }

    [HttpDelete]
    public void Delete(int key, string sessionId) {
        // db.Employees.Remove(employee);
        // db.SaveChanges();

        hubContext.Clients.All.SendAsync("remove", key, sessionId);
    }
}

DataGridCollaborativeEditingHub.cs:

using Microsoft.AspNetCore.SignalR;
...


    namespace DevExtreme.NETCore.Demos.Hubs
    {

public class DataGridCollaborativeEditingHub : Hub
{
}


    }
...