Thanks, For your fast response,
Your code run without any errors, then update my code to your code.
but,
Unfortunately, The same error 500 in child grid ,why the return child grid data not a list of my model although the parent grid view return correct date format with correct model.
My updated Code:
In Controller:-
public IActionResult Index()
{
var Departmnets = GetAllDepartmentDTOs().ToList();
ViewBag.FromDepartmentList = Departmnets.ToList();
ViewBag.TargetDepartmentList = Departmnets.ToList();
var Positions = GetAllPositionDTOs().ToList();
ViewBag.FromPositionList = Positions.ToList();
ViewBag.TargetPositionList = Positions.ToList();
ViewBag.DepartmentList = Departmnets.ToList();
ViewBag.PositionList = Positions.ToList();
ViewBag.TicketTypeList = GetAllTicketTypeDTOs().ToList();
return View();
}
public IActionResult UrlDatasource([FromBody] DataManagerRequest dm)
{
IEnumerable Paths = AssembleAPIHandler.GetList<TicketPathReferenceDTO>("TicketPathReference/GetTicketPathReferencesOnlyNotDeleted").Result;
var DataSource = _mapper.Map<IEnumerable<TicketPathReferenceViewModel>>(Paths);
DataOperations operation = new DataOperations();
if (dm.Search != null && dm.Search.Count > 0)
{
DataSource = operation.PerformSearching(DataSource, dm.Search); //Search
}
if (dm.Sorted != null && dm.Sorted.Count > 0) //Sorting
{
DataSource = operation.PerformSorting(DataSource, dm.Sorted);
}
if (dm.Where != null && dm.Where.Count > 0) //Filtering
{
DataSource = operation.PerformFiltering(DataSource, dm.Where, dm.Where[0].Operator);
}
int count = DataSource.Cast<TicketPathReferenceViewModel>().Count();
if (dm.Skip != 0)
{
DataSource = operation.PerformSkip(DataSource, dm.Skip); //Paging
}
if (dm.Take != 0)
{
DataSource = operation.PerformTake(DataSource, dm.Take);
}
return dm.RequiresCounts ? Json(new { result = DataSource, count = count }) : Json(DataSource);
}
public IActionResult UrlDatasourceChild([FromBody] DataManagerRequest dm)
{
IEnumerable Paths = AssembleAPIHandler.GetList<TicketConfigurationPathDTO>("TicketConfigurationPath/GetTicketConfigurationPathsNotDeleted").Result;
var DataSource = _mapper.Map<IEnumerable<TicketConfigurationPathViewModel>>(Paths);
DataOperations operation = new DataOperations();
if (dm.Search != null && dm.Search.Count > 0)
{
DataSource = operation.PerformSearching(DataSource, dm.Search); //Search
}
if (dm.Sorted != null && dm.Sorted.Count > 0) //Sorting
{
DataSource = operation.PerformSorting(DataSource, dm.Sorted);
}
if (dm.Where != null && dm.Where.Count > 0) //Filtering
{
DataSource = operation.PerformFiltering(DataSource, dm.Where, dm.Where[0].Operator);
}
int count = DataSource.ToList<TicketConfigurationPathViewModel>().Count();
if (dm.Skip != 0)
{
DataSource = operation.PerformSkip(DataSource, dm.Skip); //Paging
}
if (dm.Take != 0)
{
DataSource = operation.PerformTake(DataSource, dm.Take);
}
return dm.RequiresCounts ? Json(new { result = DataSource, count = count }) : Json(DataSource);
}
public IActionResult BatchUpdate([FromBody] CRUDModel batchmodel)
{
IEnumerable<TicketPathReferenceDTO> Paths = AssembleAPIHandler.GetList<TicketPathReferenceDTO>("TicketPathReference/GetTicketPathReferencesOnlyNotDeleted").Result;
var DataSource = _mapper.Map<IEnumerable<TicketPathReferenceViewModel>>(Paths);
if (batchmodel.Changed != null)
{
for (var i = 0; i < batchmodel.Changed.Count(); i++)
{
//Code
}
}
if (batchmodel.Deleted != null)
{
for (var i = 0; i < batchmodel.Deleted.Count(); i++)
{
//Code
}
}
if (batchmodel.Added != null)
{
for (var i = 0; i < batchmodel.Added.Count(); i++)
{
//Code
}
}
var data = DataSource.ToList();
return Json(data);
}
public IActionResult BatchUpdateChild([FromBody] CRUDModelChild batchmodel)
{
IEnumerable Paths = AssembleAPIHandler.GetList<TicketConfigurationPathDTO>("TicketConfigurationPath/GetTicketConfigurationPathsNotDeleted").Result;
var childData = _mapper.Map<IEnumerable<TicketConfigurationPathViewModel>>(Paths);
if (batchmodel.Changed != null)
{
for (var i = 0; i < batchmodel.Changed.Count(); i++)
{
//Code
}
}
if (batchmodel.Deleted != null)
{
for (var i = 0; i < batchmodel.Deleted.Count(); i++)
{
//Code
}
}
if (batchmodel.Added != null)
{
for (var i = 0; i < batchmodel.Added.Count(); i++)
{
//Code
}
}
var data = childData.ToList();
return Json(data);
}
In Index.cshtml
In Pictures below