Activities of "regent-dev-backup@egitech.vn"

[maliming] said: hi

The DTO classes for requests and responses need to use primitive objects/types; otherwise, you'll have to add a JSON converter for serialization and deserialization.

Can you share the returned JSON? You can call the API in Swagger to see the returned JSON.

Of course. You can also share a minimal project to reproduce the error.

liming.ma@volosoft.com

Thanks.

Hi . In the swagger when I test , the response also response with the error 500

can't parse JSON. Raw result:

can't parse JSON.  Raw result:

{"data":[{"aggregates":{},"hasSubgroups":false,"member":"TripStatusId","itemCount":8,"subgroups":[],"items":[{"jobOrderId":"3a1b1e4a-e9aa-0a70-a357-690cf92c459d","assignedTo":"3a1ae0ad-9f93-fbb4-6037-7ca3c304c6ac","employmentType":0,"tripStatusId":"0a61a9f2-99e7-43ad-82de-86c01f2c3dd5","serviceType":0,"scheduleDate":"2025-07-16T10:25:50.981104","driverAssignedOn":"2025-07-15T10:27:19.076021","completionDate":null,"tripNumber":"IM-TP25070006-TR001","isProgress":false,"isCustomerBillable":true,"customerChargeAmount":null,"isDriverPayable":true,"driverPaymentAmount":null,"sortOrder":1,"releasedBy":null,"releaseOn":null,"tripGroupId":"b85521aa-3f38-4dc0-a375-a7ddba6277fc","remarks":null,"assignedToNavigation":{"identityUserId":"3a1ae0ad-9dfb-40d9-0255-ee6d0968aabd","lastMileSchemeId":null,"serviceProviderId":null,"bankId":"3a1ae0ad-9f97-10b1-b493-b9d5f5969d01","alias":null,"firstName":"Test","lastName":"Driver","email":"test@gmail.com","countryOfBirth":null,"nationality":"Vietnam","birthDate":"2001-10-10T00:00:00","startDate":"2025-07-10T00:00:00","endDate":"2040-01-05T00:00:00","licenseNumber":"212312312","licenseExpiryDate":"2025-07-18T00:00:00","driverType":"3a18e44e-ba9b-d186-5f06-e9b97c8d8598","fixedSalary":null,"phoneNumber":"22222222222","identityNumber":"oLQf/Dc4pv0gnuGqGlaoNw==","uniformType":null,"uniformSize":null,"coverallSize":null,"levy":null,"cpf":null,"cpfer":null,"cpfee":null,"baseSalary":null,"employmentType":2,"gender":0,"licenseClass":0,"driverPlatform":1,"status":0,"deletedBy":null,"isAvailable":true,"bank":null,"driverTypeNavigation":null,"lastMileScheme":null,"damageRepairs":[],"driverTokenPins":[],"fuelingRecords":[],"incidentDrivers":[],"lastmileSchemeDrivers":[],"payslips":[],"postalCodeSettingDetails":[],"summonFines":[],"vehicleDriverAssigns":[],"tripDriverHistories":[],"tripVas":[],"trips":[{"jobOrderId":"3a1b1e4a-e9aa-0a70-a357-690cf92c459d","assignedTo":"3a1ae0ad-9f93-fbb4-6037-7ca3c304c6ac","employmentType":0,"tripStatusId":"0a61a9f2-99e7-43ad-82de-86c01f2c3dd5","serviceType":0,"scheduleDate":"2025-07-16T10:25:50.981104","driverAssignedOn":"2025-07-15T10:27:19.076021","completionDate":null,"tripNumber":"IM-TP25070006-TR001","isProgress":false,"isCustomerBillable":true,"customerChargeAmount":null,"isDriverPayable":true,"driverPaymentAmount":null,"sortOrder":1,"releasedBy":null,"releaseOn":null,"tripGroupId":"b85521aa-3f38-4dc0-a375-a7ddba6277fc","remarks":null,"assignedToNavigation":{"identityUserId":"3a1ae0ad-9dfb-40d9-0255-ee6d0968aabd","lastMileSchemeId":null,"serviceProviderId":null,"bankId":"3a1ae0ad-9f97-10b1-b493-b9d5f5969d01","alias":null,"firstName":"Test","lastName":"Driver","email":"test@gmail.com","countryOfBirth":null,"nationality":"Vietnam","birthDate":"2001-10-10T00:00:00","startDate":"2025-07-10T00:00:00","endDate":"2040-01-05T00:00:00","licenseNumber":"212312312","licenseExpiryDate":"2025-07-18T00:00:00","driverType":"3a18e44e-ba9b-d186-5f06-e9b97c8d8598","fixedSalary":null,"phoneNumber":"22222222222","identityNumber":"oLQf/Dc4pv0gnuGqGlaoNw==","uniformType":null,"uniformSize":null,"coverallSize":null,"levy":null,"cpf":null,"cpfer":null,"cpfee":null,"baseSalary":null,"employmentType":2,"gender":0,"licenseClass":0,"driverPlatform":1,"status":0,"deletedBy":null,"isAvailable":true,"bank":null,"driverTypeNavigation":null,"lastMileScheme":null,"damageRepairs":[],"driverTokenPins":[],"fuelingRecords":[],"incidentDrivers":[],"lastmileSchemeDrivers":[],"payslips":[],"postalCodeSettingDetails":[],"summonFines":[],"vehicleDriverAssigns":[],"tripDriverHistories":[],"tripVas":[],"trips":[{"jobOrderId":"3a1b1e4a-e9aa-0a70-a357-690cf92c459d","assignedTo":"3a1ae0ad-9f93-fbb4-6037-7ca3c304c6ac","employmentType":0,"tripStatusId":"0a61a9f2-99e7-43ad-82de-86c01f2c3dd5","serviceType":0,"scheduleDate":"2025-07-16T10:25:50.981104","driverAssignedOn":"2025-07-15T10:27:19.076021","completionDate":null,"tripNumber":"IM-TP25070006-TR001","isProgress":false,"isCustomerBillable":true,"customerChargeAmount":null,"isDriverPayable":true,"driverPaymentAmount":null,"sortOrder":1,"releasedBy":null,"releaseOn":null,"tripGroupId":"b85521aa-3f38-4dc0-a375-a7ddba6277fc","remarks":null,"assignedToNavigation":{"identityUserId":"3a1ae0ad-9dfb-40d9-0255-ee6d0968aabd","lastMileSchemeId":null,"serviceProviderId":null,"bankId":"3a1ae0ad-9f97-10b1-b493-b9d5f5969d01","alias":null,"firstName":"Test","lastName":"Driver","email":"test@gmail.com","countryOfBirth":null,"nationality":"Vietnam","birthDate":"2001-10-10T00:00:00","startDate":"2025-07-10T00:00:00","endDate":"2040-01-05T00:00:00","licenseNumber":"212312312","licenseExpiryDate":"2025-07-18T00:00:00","driverType":"3a18e44e-ba9b-d186-5f06-e9b97c8d8598","fixedSalary":null,"phoneNumber":"22222222222","identityNumber":"oLQf/Dc4pv0gnuGqGlaoNw==","uniformType":null,"uniformSize":null,"coverallSize":null,"levy":null,"cpf":null,"cpfer":null,"cpfee":null,"baseSalary":null,"employmentType":2,"gender":0,"licenseClass":0,"driverPlatform":1,"status":0,"deletedBy":null,"isAvailable":true,"bank":null,"driverTypeNavigation":null,"lastMileScheme":null,"damageRepairs":[],"driverTokenPins":[],"fuelingRecords":[],"incidentDrivers":[],"lastmileSchemeDrivers":[],"payslips":[],"postalCodeSettingDetails":[],"summonFines":[],"vehicleDriverAssigns":[],"tripDriverHistories":[],"tripVas":[],"trips":[{"jobOrderId":"3a1b1e4a-e9aa-0a70-a357-690cf92c459d","assignedTo":"3a1ae0ad-9f93-fbb4-6037-7ca3c304c6ac","employmentType":0,"tripStatusId":"0a61a9f2-99e7-43ad-82de-86c01f2c3dd5","serviceType":0,"scheduleDate":"2025-07-16T10:25:50.981104","driverAssignedOn":"2025-07-15T10:27:19.076021","completionDate":null,"tripNumber":"IM-TP25070006-TR001","isProgress":false,"isCustomerBillable":true,"customerChargeAmount":null,"isDriverPayable":true,"driverPaymentAmount":null,"sortOrder":1,"releasedBy":null,"releaseOn":null,"tripGroupId":"b85521aa-3f38-4dc0-a375-a7ddba6277fc","remarks":null,"assignedToNavigation":{"identityUserId":"3a1ae0ad-9dfb-40d9-0255-ee6d0968aabd","lastMileSchemeId":null,"serviceProviderId":null,"bankId":"3a1ae0ad-9f97-10b1-b493-b9d5f5969d01","alias":null,"firstName":"Test","lastName":"Driver","email":"test@gmail.com","countryOfBirth":null,"nationality":"Vietnam","birthDate":"2001-10-10T00:00:00","startDate":"2025-07-10T00:00:00","endDate":"2040-01-05T00:00:00","licenseNumber":"212312312","licenseExpiryDate":"2025-07-18T00:00:00","driverType":"3a18e44e-ba9b-d186-5f06-e9b97c8d8598","fixedSalary":null,"phoneNumber":"22222222222","identityNumber":"oLQf/Dc4pv0gnuGqGlaoNw==","uniformType":null,"uniformSize":null,"coverallSize":null,"levy":null,"cpf":null,"cpfer":null,"cpfee":null,"baseSalary":null,"employmentType":2,"gender":0,"licenseClass":0,"driverPlatform":1,"status":0,"deletedBy":null,"isAvailable":true,"bank":null,"driverTypeNavigation":null,"lastMileScheme":null,"damageRepairs":[],"driverTokenPins":[],"fuelingRecords":[],"incidentDrivers":[],"lastmileSchemeDrivers":[],"payslips":[],"postalCodeSettingDetails":[],"summonFines":[],"vehicleDriverAssigns":[],"tripDriverHistories":[],"tripVas":[],"trips":[{"jobOrderId":"3a1b1e4a-e9aa-0a70-a357-690cf92c459d","assignedTo":"3a1ae0ad-9f93-fbb4-6037-7ca3c304c6ac","employmentType":0,"tripStatusId":"0a61a9f2-99e7-43ad-82de-86c01f2c3dd5","serviceType":0,"scheduleDate":"2025-07-16T10:25:50.981104","driverAssignedOn":"2025-07-15T10:27:19.076021","completionDate":null,"tripNumber":"IM-TP25070006-TR001","isProgress":false,"isCustomerBillable":true,"customerChargeAmount":null,"isDriverPayable":true,"driverPaymentAmount":null,"sortOrder":1,"releasedBy":null,"releaseOn":null,"tripGroupId":"b85521aa-3f38-4dc0-a375-a7ddba6277fc","remarks":null,"assignedToNavigation":{"identityUserId":"3a1ae0ad-9dfb-40d9-0255-ee6d0968aabd","lastMileSchemeId":null,"serviceProviderId":null,"bankId":"3a1ae0ad-9f97-10b1-b493-b9d5f5969d01","alias":null,"firstName":"Test","lastName":"Driver","email":"test@gmail.com","countryOfBirth":null,"nationality":"Vietnam","birthDate":"2001-10-10T00:00:00","startDate":"2025-07-10T00:00:00","endDate":"2040-01-05T00:00:00","licenseNumber":"212312312","licenseExpiryDate":"2025-07-18T00:00:00","driverType":"3a18e44e-ba9b-d186-5f06-e9b97c8d8598","fixedSalary":null,"phoneNumber":"22222222222","identityNumber":"oLQf/Dc4pv0gnuGqGlaoNw==","uniformType":null,"uniformSize":null,"coverallSize":null,"levy":null,"cpf":null,"cpfer":null,"cpfee":null,"baseSalary":null,"employmentType":2,"gender":0,"licenseClass":0,"driverPlatform":1,"status":0,"deletedBy":null,"isAvailable":true,"bank":null,"driverTypeNavigation":null,"lastMileScheme":null,"damageRepairs":[],"driverTokenPins":[],"fuelingRecords":[],"incidentDrivers":[],"lastmileSchemeDrivers":[],"payslips":[],"postalCodeSettingDetails":[],"summonFines":[],"vehicleDriverAssigns":[],"tripDriverHistories":[],"tripVas":[],"trips":[{"jobOrderId":"3a1b1e4a-e9aa-0a70-a357-690cf92c459d","assignedTo":"3a1ae0ad-9f93-fbb4-6037-7ca3c304c6ac","employmentType":0,"tripStatusId":"0a61a9f2-99e7-43ad-82de-86c01f2c3dd5","serviceType":0,"scheduleDate":"2025-07-16T10:25:50.981104","driverAssignedOn":"2025-07-15T10:27:19.076021","completionDate":null,"tripNumber":"IM-TP25070006-TR001","isProgress":false,"isCustomerBillable":true,"customerChargeAmount":null,"isDriverPayable":true,"driverPaymentAmount":null,"sortOrder":1,"releasedBy":null,"releaseOn":null,"tripGroupId":"b85521aa-3f38-4dc0-a375-a7ddba6277fc","remarks":null,"assignedToNavigation":{"identityUserId":"3a1ae0ad-9dfb-40d9-0255-ee6d0968aabd","lastMileSchemeId":null,"serviceProviderId":null,"bankId":"3a1ae0ad-9f97-10b1-b493-b9d5f5969d01","alias":null,"firstName":"Test","lastName":"Driver","email":"test@gmail.com","countryOfBirth":null,"nationality":"Vietnam","birthDate":"2001-10-10T00:00:00","startDate":"2025-07-10T00:00:00","endDate":"2040-01-05T00:00:00","licenseNumber":"212312312","licenseExpiryDate":"2025-07-18T00:00:00","driverType":"3a18e44e-ba9b-d186-5f06-e9b97c8d8598","fixedSalary":null,"phoneNumber":"22222222222","identityNumber":"oLQf/Dc4pv0gnuGqGlaoNw==","uniformType":null,"uniformSize":null,"coverallSize":null,"levy":null,"cpf":null,"cpfer":null,"cpfee":null,"baseSalary":null,"employmentType":2,"gender":0,"licenseClass":0,"driverPlatform":1,"status":0,"deletedBy":null,"isAvailable":true,"bank":null,"driverTypeNavigation":null,"lastMileScheme":null,"damageRepairs":[],"driverTokenPins":[],"fuelingRecords":[],"incidentDrivers":[],"lastmileSchemeDrivers":[],"payslips":[],"postalCodeSettingDetails":[],"summonFines":[],"vehicleDriverAssigns":[],"tripDriverHistories":[],"tripVas":[],"trips":[{"jobOrderId":"3a1b1e4a-e9aa-0a70-a357-690cf92c459d","assignedTo":"3a1ae0ad-9f93-fbb4-6037-7ca3c304c6ac","employmentType":0,"tripStatusId":"0a61a9f2-99e7-43ad-82de-86c01f2c3dd5","serviceType":0,"scheduleDate":"2025-07-16T10:25:50.981104","driverAssignedOn":"2025-07-15T10:27:19.076021","completionDate":null,"tripNumber":"IM-TP25070006-TR001","isProgress":false,"isCustomerBillable":true,"customerChargeAmount":null,"isDriverPayable":true,"driverPaymentAmount":null,"sortOrder":1,"releasedBy":null,"releaseOn":null,"tripGroupId":"b85521aa-3f38-4dc0-a375-a7ddba6277fc","remarks":null,"assignedToNavigation":{"identityUserId":"3a1ae0ad-9dfb-40d9-0255-ee6d0968aabd","lastMileSchemeId":null,"serviceProviderId":null,"bankId":"3a1ae0ad-9f97-10b1-b493-b9d5f5969d01","alias":null,"firstName":"Test","lastName":"Driver","email":"test@gmail.com","countryOfBirth":null,"nationality":"Vietnam","birthDate":"2001-10-10T00:00:00","startDate":"2025-07-10T00:00:00","endDate":"2040-01-05T00:00:00","licenseNumber":"212312312","licenseExpiryDate":"2025-07-18T00:00:00","driverType":"3a18e44e-ba9b-d186-5f06-e9b97c8d8598","fixedSalary":null,"phoneNumber":"22222222222","identityNumber":"oLQf/Dc4pv0gnuGqGlaoNw==","uniformType":null,"uniformSize":null,"coverallSize":null,"levy":null,"cpf":null,"cpfer":null,"cpfee":null,"baseSalary":null,"employmentType":2,"gender":0,"licenseClass":0,"driverPlatform":1,"status":0,"deletedBy":null,"isAvailable":true,"bank":null,"driverTypeNavigation":null,"lastMileScheme":null,"damageRepairs":[],"driverTokenPins":[],"fuelingRecords":[],"incidentDrivers":[],"lastmileSchemeDrivers":[],"payslips":[],"postalCodeSettingDetails":[],"summonFines":[],"vehicleDriverAssigns":[],"tripDriverHistories":[],"tripVas":[],"trips":[{"jobOrderId":"3a1b1e4a-e9aa-0a70-a357-690cf92c459d","assignedTo":"3a1ae0ad-9f93-fbb4-6037-7ca3c304c6ac","employmentType":0,"tripStatusId":"0a61a9f2-99e7-43ad-82de-86c01f2c3dd5","serviceType":0,"scheduleDate":"2025-07-16T10:25:50.981104","driverAssignedOn":"2025-07-15T10:27:19.076021","completionDate":null,"tripNumber":"IM-TP25070006-TR001","isProgress":false,"isCustomerBillable":true,"customerChargeAmount":null,"isDriverPayable":true,"driverPaymentAmount":null,"sortOrder":1,"releasedBy":null,"releaseOn":null,"tripGroupId":"b85521aa-3f38-4dc0-a375-a7ddba6277fc","remarks":null,"assignedToNavigation":{"identityUserId":"3a1ae0ad-9dfb-40d9-0255-ee6d0968aabd","lastMileSchemeId":null,"serviceProviderId":null,"bankId":"3a1ae0ad-9f97-10b1-b493-b9d5f5969d01","alias":null,"firstName":"Test","lastName":"Driver","email":"test@gmail.com","countryOfBirth":null,"nationality":"Vietnam","birthDate":"2001-10-10T00:00:00","startDate":"2025-07-10T00:00:00","endDate":"2040-01-05T00:00:00","licenseNumber":"212312312","licenseExpiryDate":"2025-07-18T00:00:00","driverType":"3a18e44e-ba9b-d186-5f06-e9b97c8d8598","fixedSalary":null,"phoneNumber":"22222222222","identityNumber":"oLQf/Dc4pv0gnuGqGlaoNw==","uniformType":null,"uniformSize":null,"coverallSize":null,"levy":null,"cpf":null,"cpfer":null,"cpfee":null,"baseSalary":null,"employmentType":2,"gender":0,"licenseClass":0,"driverPlatform":1,"status":0,"deletedBy":null,"isAvailable":true,"bank":null,"driverTypeNavigation":null,"lastMileScheme":null,"damageRepairs":[],"driverTokenPins":[],"fuelingRecords":[],"incidentDrivers":[],"lastmileSchemeDrivers":[],"payslips":[],"postalCodeSettingDetails":[],"summonFines":[],"vehicleDriverAssigns":[],"tripDriverHistories":[],"tripVas":[],"trips":[{"jobOrderId":"3a1b1e4a-e9aa-0a70-a357-690cf92c459d","assignedTo":"3a1ae0ad-9f93-fbb4-6037-7ca3c304c6ac","employmentType":0,"tripStatusId":"0a61a9f2-99e7-43ad-82de-86c01f2c3dd5","serviceType":0,"scheduleDate":"2025-07-16T10:25:50.981104","driverAssignedOn":"2025-07-15T10:27:19.076021","completionDate":null,"tripNumber":"IM-TP25070006-TR001","isProgress":false,"isCustomerBillable":true,"customerChargeAmount":null,"isDriverPayable":true,"driverPaymentAmount":null,"sortOrder":1,"releasedBy":null,"releaseOn":null,"tripGroupId":"b85521aa-3f38-4dc0-a375-a7ddba6277fc","remarks":null,"assignedToNavigation":{"identityUserId":"3a1ae0ad-9dfb-40d9-0255-ee6d0968aabd","lastMileSchemeId":null,"serviceProviderId":null,"bankId":"3a1ae0ad-9f97-10b1-b493-b9d5f5969d01","alias":null,"firstName":"Test","lastName":"Driver","email":"test@gmail.com","countryOfBirth":null,"nationality":"Vietnam","birthDate":"2001-10-10T00:00:00","startDate":"2025-07-10T00:00:00","endDate":"2040-01-05T00:00:00","licenseNumber":"212312312","licenseExpiryDate":"2025-07-18T00:00:00","driverType":"3a18e44e-ba9b-d186-5f06-e9b97c8d8598","fixedSalary":null,"phoneNumber":"22222222222","identityNumber":"oLQf/Dc4pv0gnuGqGlaoNw==","uniformType":null,"uniformSize":null,"coverallSize":null,"levy":null,"cpf":null,"cpfer":null,"cpfee":null,"baseSalary":null,"employmentType":2,"gender":0,"licenseClass":0,"driverPlatform":1,"status":0,"deletedBy":null,"isAvailable":true,"bank":null,"driverTypeNavigation":null,"lastMileScheme":null,"damageRepairs":[],"driverTokenPins":[],"fuelingRecords":[],"incidentDrivers":[],"lastmileSchemeDrivers":[],"payslips":[],"postalCodeSettingDetails":[],"summonFines":[],"vehicleDriverAssigns":[],"tripDriverHistories":[],"tripVas":[],"trips":[{"jobOrderId":{
  

[maliming] said: Hi

Please share your DTO(input/output) class code.

Thank

Hi this is the class of telerik datasourcerequest

public class DataSourceResult
{
  /// <summary>
  /// The actual data that will be displayed in the control. Often it is only the current page of data.
  /// </summary>
  public IEnumerable Data { get; set; }

  /// <summary>
  /// The total number of records in the original data source. Used for calculating a pager, for example.
  /// </summary>
  public int Total { get; set; }

  /// <summary>Information for aggregates.</summary>
  public IEnumerable<AggregateResult> AggregateResults { get; set; }

  /// <summary>
  /// Information for errors that occured during the data source operation.
  /// </summary>
  public object Errors { get; set; }
}

// Decompiled with JetBrains decompiler
// Type: Telerik.DataSource.AggregateResult
// Assembly: Telerik.DataSource, Version=3.0.3.0, Culture=neutral, PublicKeyToken=20b4b0547069c4f8
// MVID: 56FFCD7A-3247-443F-9129-0844EB752B0C
// Assembly location: /Users/thinhnguyen/.nuget/packages/telerik.datasource/3.0.3/lib/net6.0/Telerik.DataSource.dll
// XML documentation location: /Users/thinhnguyen/.nuget/packages/telerik.datasource/3.0.3/lib/net6.0/Telerik.DataSource.xml

using System;
using System.Globalization;

#nullable disable
namespace Telerik.DataSource;

/// <summary>Information for aggregates on the data.</summary>
public class AggregateResult
{
  private object aggregateValue;
  private int itemCount;
  private readonly AggregateFunction function;

  /// <summary>
  /// Initializes a new instance of the <see cref="T:Telerik.DataSource.AggregateResult" /> class.
  /// </summary>
  /// <param name="value">The value of the result.</param>
  /// <param name="count">The number of arguments used for the calculation of the result.</param>
  /// <param name="function">Function that generated the result.</param>
  /// <exception cref="T:System.ArgumentNullException"><c>function</c> is null.</exception>
  public AggregateResult(object value, int count, AggregateFunction function)
  {
    if (function == null)
      throw new ArgumentNullException(nameof (function));
    this.aggregateValue = value;
    this.itemCount = count;
    this.function = function;
  }

  /// <summary>
  /// Initializes a new instance of the <see cref="T:Telerik.DataSource.AggregateResult" /> class.
  /// </summary>
  /// <param name="function"><see cref="T:Telerik.DataSource.AggregateFunction" /> that generated the result.</param>
  /// <exception cref="T:System.ArgumentNullException"><c>function</c> is null.</exception>
  public AggregateResult(AggregateFunction function)
    : this((object) null, function)
  {
  }

  /// <summary>
  /// Initializes a new instance of the <see cref="T:Telerik.DataSource.AggregateResult" /> class.
  /// </summary>
  /// <param name="value">The value of the result.</param>
  /// <param name="function"><see cref="T:Telerik.DataSource.AggregateFunction" /> that generated the result.</param>
  public AggregateResult(object value, AggregateFunction function)
    : this(value, 0, function)
  {
  }

  /// <summary>Gets or sets the value of the result.</summary>
  /// <value>The value of the result.</value>
  public object Value
  {
    get => this.aggregateValue;
    internal set => this.aggregateValue = value;
  }

  /// <summary>
  /// The name of the field over which aggregation is performed.
  /// </summary>
  public string Member => this.function.SourceField;

  /// <summary>Gets the formatted value of the result.</summary>
  /// <value>The formatted value of the result.</value>
  public object FormattedValue
  {
    get
    {
      return string.IsNullOrEmpty(this.function.ResultFormatString) ? this.aggregateValue : (object) string.Format((IFormatProvider) CultureInfo.CurrentCulture, this.function.ResultFormatString, this.aggregateValue);
    }
  }

  /// <summary>
  /// Gets or sets the number of arguments used for the calulation of the result.
  /// </summary>
  /// <value>The number of arguments used for the calulation of the result.</value>
  public int ItemCount
  {
    get => this.itemCount;
    set => this.itemCount = value;
  }

  /// <summary>
  /// Gets or sets the text which serves as a caption for the result in a user interface.
  /// </summary>
  /// <value>The text which serves as a caption for the result in a user interface.</value>
  public string Caption => this.function.Caption;

  /// <summary>Gets the name of the function.</summary>
  /// <value>The name of the function.</value>
  public string FunctionName => this.function.FunctionName;

  /// <summary>The name of the aggregation method that is used.</summary>
  public string AggregateMethodName => this.function.AggregateMethodName;

  /// <summary>
  /// Returns a <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
  /// </summary>
  /// <returns>
  /// A <see cref="T:System.String" /> that represents the current <see cref="T:System.Object" />.
  /// </returns>
  public override string ToString() => this.Value != null ? this.Value.ToString() : base.ToString();

  /// <summary>
  /// Returns a formatted string based on the passed format and the current result value.
  /// </summary>
  /// <param name="format"></param>
  /// <returns></returns>
  public string Format(string format)
  {
    return this.Value != null ? string.Format(format, this.Value) : this.ToString();
  }
}

I think the problem is from the nested depth or can't serilize the result .

public async Task&lt;DataSourceResult&gt; GetTripGridGroupedAsync(DataSourceRequest request)

Volo.Abp.Http.Client.AbpRemoteCallException: Internal Server Error ---> System.Text.Json.JsonException: Expected depth to be zero at the end of the JSON payload. There is an open JSON object or array that should be closed. Path: $.data | LineNumber: 8 | BytePositionInLine: 1. ---> System.Text.Json.JsonReaderException: Expected depth to be zero at the end of the JSON payload. There is an open JSON object or array that should be closed. LineNumber: 8 | BytePositionInLine: 1. at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan1 bytes) at System.Text.Json.Utf8JsonReader.ReadSingleSegment() at System.Text.Json.Utf8JsonReader.Read() at System.Text.Json.Utf8JsonReader.TrySkipPartial(Int32 targetDepth) at System.Text.Json.Serialization.Converters.ObjectWithParameterizedConstructorConverter1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.JsonConverter1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue) at System.Text.Json.Serialization.JsonConverter1.ReadCore(Utf8JsonReader& reader, T& value, JsonSerializerOptions options, ReadStack& state) --- End of inner exception stack trace --- at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& state, JsonReaderException ex) at System.Text.Json.Serialization.JsonConverter1.ReadCore(Utf8JsonReader& reader, T& value, JsonSerializerOptions options, ReadStack& state) at System.Text.Json.Serialization.Metadata.JsonTypeInfo1.Deserialize(Utf8JsonReader& reader, ReadStack& state) at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan1 utf8Json, JsonTypeInfo1 jsonTypeInfo, Nullable1 actualByteCount) at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan1 json, JsonTypeInfo1 jsonTypeInfo) at Volo.Abp.Json.SystemTextJson.AbpSystemTextJsonSerializer.Deserialize[T](String jsonString, Boolean camelCase) at Volo.Abp.Http.Client.ClientProxying.ClientProxyBase1.ThrowExceptionForResponseAsync(HttpResponseMessage response) --- End of inner exception stack trace --- at Volo.Abp.Http.Client.ClientProxying.ClientProxyBase1.ThrowExceptionForResponseAsync(HttpResponseMessage response) at Volo.Abp.Http.Client.ClientProxying.ClientProxyBase1.RequestAsync(ClientProxyRequestContext requestContext) at Volo.Abp.Http.Client.ClientProxying.ClientProxyBase1.RequestAsync[T](ClientProxyRequestContext requestContext) at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptorClientProxy1.CallRequestAsync[T](ClientProxyRequestContext requestContext) at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor1.CallRequestAsync[T](ClientProxyRequestContext context) at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor1.GetResultAsync(Task task, Type resultType) at Volo.Abp.Http.Client.DynamicProxying.DynamicHttpProxyInterceptor1.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo) at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.ProceedAsync() at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation) at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func3 proceed) at TmsSolution.Blazor.Client.Pages.Trips.List.Index.OnReadEvents(GridReadEventArgs args) in /Users/thinhnguyen/Documents/Regent/tmssolution/src/TmsSolution.Blazor.Client/Pages/Trips/List/Index.razor.cs:line 222

This is the request { "skip": 0, "page": 1, "pageSize": 20, "sorts": [ { "member": "CreationTime", "sortDirection": 1 } ], "filters": [ { "logicalOperator": 0, "filterDescriptors": [ { "member": "group", "operator": 8, "value": "TripStatusId" } ] } ], "groups": [ { "displayContent": "TripStatusId", "aggregateFunctions": [], "member": "TripStatusId", "sortDirection": 0 } ], "aggregates": [], "groupPaging": false }

This causes a 500 Internal Server Error on the client side and breaks the data flow, specifically in the OnReadEvents method in blazor Page.

Can you please give me way to fix this problem in abp framework

Hi, thank you for your support!

The issue has been resolved successfully.

Hi . The error dialog still showing after editing code like you suggested.

<TelerikSwitch Value="@item.IsActive"
                                               OnLabel=" "
                                               OffLabel=" "
                                               Size="@ThemeConstants.Switch.Size.Small"
                                               OnChange="@(async () => await ToggleStatus(item))"/>
                                </span>

private async Task ToggleStatus(ChassisTypeDto item)
    {
        try
        {
            throw new UserFriendlyException("Test exception");
        }
        catch (UserFriendlyException ex)
        {
            Logger.LogError(ex, "Handled UserFriendlyException");
            await Notify.Error(string.IsNullOrEmpty(ex.Message) ? L["Messages:Error"] : ex.Message);
        }
        catch (Exception e)
        {
            Logger.LogError(e, "Error change status container type with id id :{SelectedChassisTypeId}",
                SelectedChassisTypeId);

            await Notify.Error(string.IsNullOrEmpty(e.Message) ? L["Messages:Error"] : e.Message);
        }
        finally
        {
            LoaderVisible = false;
        }
    }

Hi, thanks for the detailed explanation!

I've followed your suggestion and updated the OnChange handler to use an async lambda as shown:

However, I'm still seeing the default error dialog (from ABP) even though the exception is caught and I’m manually showing a toast notification.

And can i ask are there any supported way to disable this dialog globally or override the error handling mechanism or correctly to handle this?

Thanks again for your support!

<TelerikSwitch Value="@item.IsActive"
               OnLabel=" "
               OffLabel=" "
               Size="@ThemeConstants.Switch.Size.Small"
               OnChange="@(async () => await ToggleStatus(item))" />


private async Task ToggleStatus(TIem item)
{
    try
    {
       
        
    }
    catch (Exception e)
    {
        await Notify.Error(string.IsNullOrEmpty(e.Message) ? L["Messages:Error"] : e.Message);
    }
    finally
    {
        LoaderVisible = false;
    }
}

Summary

I want to disable or override the default message dialog that appears during unhandled exceptions inside a try-catch block. Instead, I would like to handle the error manually and show notify only or logs.

Context

Currently, when an exception occurs—even though it's wrapped in a try-catch—a system-generated dialog still appears. This is not the desired behavior because:

  • I already catch and handle the error.
  • I want full control over the user experience.
  • The default dialog might confuse users or duplicate my custom error messages.

Expected Behavior

When an exception is caught in a try-catch, only my custom error-handling logic should be executed. No default or automatic dialogs should be shown.

Questions

  1. How can I disable the automatic error dialog triggered by the framework or component?
  2. Is there a global setting or configuration in Blazor ABP that forces only manual error display?
  3. If this behavior is baked in, what's the recommended way to override or suppress it?

Images

Example Scenario

try
{
    // Some operation that might throw
}
catch (Exception ex)
{
    Logger.LogError(e, "Error change status container type with id id :{SelectedContainerTypeId}",
                SelectedContainerTypeId);
     await Notify.Error(string.IsNullOrEmpty(e.Message) ? L["Messages:Error"] : e.Message);
}
Showing 1 to 7 of 7 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.1.0-preview. Updated on December 17, 2025, 07:08
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.