For the below provided Solution: Organization Units
Location A Location A-a Location A-b
Location B Location A-a Location A-b
Category A Category A-a
if we have one Entity such as Book that should has Location and Category and both will be implemented by Organization Unit as above , how we could add the property in the Book Entity
That is not what we meant, we need to create the code for Example with 3 digit such as 000.000.000 not with the default 5-digits 00000.00000.00000
For Question Number 1: 1- For Example, if we need to change the CodeUnitLength, as it is a static class, we can't Override, so what is the right way to do it?
namespace Volo.Abp.Identity;
public static class OrganizationUnitConsts
{
/// <summary>
/// Length of a code unit between dots.
/// </summary>
** public const int CodeUnitLength = 5;**
}
2- For Question 2 , will check the option and revert back to you.
Thanks, Mina.
moreover, all the blazer side are not generated? is it a bug in 7.4.2
the Dynamics Proxy is solved but for the Static proxy, we are getting the below error, is that normal?
Value cannot be null. (Parameter 'source')
System.ArgumentNullException: Value cannot be null. (Parameter 'source')
at Volo.Abp.Check.NotNull[T](T value, String parameterName) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Core\Volo\Abp\Check.cs:line 18
at System.Collections.Generic.AbpCollectionExtensions.AddIfNotContains[T](ICollection1 source, T item) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Core\System\Collections\Generic\AbpCollectionExtensions.cs:line 30 at Volo.Abp.Cli.ServiceProxying.CSharp.CSharpServiceProxyGenerator.AddGenericTypeUsingNamespace(String typeFullName, List
1 usingNamespaceList) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ServiceProxying\CSharp\CSharpServiceProxyGenerator.cs:line 577
at Volo.Abp.Cli.ServiceProxying.CSharp.CSharpServiceProxyGenerator.AddGenericTypeUsingNamespace(String typeFullName, List1 usingNamespaceList) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ServiceProxying\CSharp\CSharpServiceProxyGenerator.cs:line 585 at Volo.Abp.Cli.ServiceProxying.CSharp.CSharpServiceProxyGenerator.GetRealTypeName(String typeName, List
1 usingNamespaceList) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ServiceProxying\CSharp\CSharpServiceProxyGenerator.cs:line 542
at Volo.Abp.Cli.ServiceProxying.CSharp.CSharpServiceProxyGenerator.GenerateAsyncClassMethod(ActionApiDescriptionModel action, String returnTypeName, StringBuilder methodBuilder, List1 usingNamespaceList) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ServiceProxying\CSharp\CSharpServiceProxyGenerator.cs:line 334 at Volo.Abp.Cli.ServiceProxying.CSharp.CSharpServiceProxyGenerator.GenerateClassMethod(ActionApiDescriptionModel action, StringBuilder clientProxyBuilder, List
1 usingNamespaceList) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ServiceProxying\CSharp\CSharpServiceProxyGenerator.cs:line 274
at Volo.Abp.Cli.ServiceProxying.CSharp.CSharpServiceProxyGenerator.GenerateClassFileAsync(GenerateProxyArgs args, ControllerApiDescriptionModel controllerApiDescription) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ServiceProxying\CSharp\CSharpServiceProxyGenerator.cs:line 219
at Volo.Abp.Cli.ServiceProxying.CSharp.CSharpServiceProxyGenerator.GenerateProxyAsync(GenerateProxyArgs args) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\ServiceProxying\CSharp\CSharpServiceProxyGenerator.cs:line 146
at Volo.Abp.Cli.Commands.ProxyCommandBase`1.ExecuteAsync(CommandLineArgs commandLineArgs) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\Commands\ProxyCommandBase.cs:line 57
at Volo.Abp.Cli.CliService.RunInternalAsync(CommandLineArgs commandLineArgs) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\CliService.cs:line 169
at Volo.Abp.Cli.CliService.RunAsync(String[] args) in D:\ci\Jenkins\workspace\abp-volo-release\abp\framework\src\Volo.Abp.Cli.Core\Volo\Abp\Cli\CliService.cs:line 77
D:\Business data2\Project\UtilityBillingSystemBW\src\UtilityBillingSystemBW.HttpApi.Client>
Hello liangshiwei,
I noticed that we changed the proxy setting to Static, it worked normally so I think it is an issue within the dynamic proxies, can you check this and advise the solution?
also, we have a question regarding the ABP auto controller API, does it implement the service interface automatically in the controller or we should implement it ourselves?
Thanks, Mina.
done
sent GitHub Link by email
Hello, please find below the exact error we are getting in the browser console, in addition to the code
{"error":{"code":null,"message":"طلبك غير صحيح!","details":"تم الكشف عن الأخطاء التالية أثناء التحقق .\r\n - The value 'layer-to-billing-item' is not valid.\r\n","data":{},"validationErrors":[{"message":"The value 'layer-to-billing-item' is not valid.","members":["id"]}]}}
private async Task CreateLayerToBillingItemAsync(List<TieredLayerCreateOrUpdateDto> tieredLayerCreateOrUpdateDtos) {
try
{
if (await NewTieredLayerValidations.ValidateAll() == false)
{
return;
}
await TieredLayersAppService.CreateLayerToBillingItemAsync(tieredLayerCreateOrUpdateDtos);
await CloseCreateTieredLayerModalAsync();
}
catch (Exception ex)
{
await HandleErrorAsync(ex);
}
}
public virtual async Task<List<TieredLayerDto>> CreateLayerToBillingItemAsync(List<TieredLayerCreateOrUpdateDto> tieredLayerCreateOrUpdateDtos) {
if (tieredLayerCreateOrUpdateDtos != null && tieredLayerCreateOrUpdateDtos.Count > 0)
{
var tieredLayerDtosList = new List<TieredLayerDto>();
foreach (var tieredLayerCreateOrUpdateDto in tieredLayerCreateOrUpdateDtos)
{
if (tieredLayerCreateOrUpdateDto.Id == 0)
{
var tieredLayer = ObjectMapper.Map<TieredLayerCreateOrUpdateDto, TieredLayer>(tieredLayerCreateOrUpdateDto);
try
{
var tieredLayerReturn = await _tieredLayerManager.CreateAsync(
tieredLayerCreateOrUpdateDto.BillingItemId, tieredLayerCreateOrUpdateDto.TieredLevelName, tieredLayerCreateOrUpdateDto.LowerLimit, tieredLayerCreateOrUpdateDto.Rate, tieredLayerCreateOrUpdateDto.UpperLimit
);
var tieredLayerDto = ObjectMapper.Map<TieredLayer, TieredLayerDto>(tieredLayerReturn);
tieredLayerDtosList.Add(tieredLayerDto);
}
catch (Exception ex)
{
return new List<TieredLayerDto>();
}
}
else
{
var tieredLayer = ObjectMapper.Map<TieredLayerCreateOrUpdateDto, TieredLayer>(tieredLayerCreateOrUpdateDto);
var tieredLayerUpdated = await _tieredLayerManager.UpdateAsync(tieredLayer.Id, tieredLayer.BillingItemId, tieredLayer.TieredLevelName, tieredLayer.LowerLimit, tieredLayer.Rate, tieredLayer.UpperLimit);
//var tieredLayerUpdated = await _tieredLayerRepository.UpdateAsync(tieredLayer);
var tieredLayerDto = ObjectMapper.Map<TieredLayer, TieredLayerDto>(tieredLayerUpdated);
tieredLayerDtosList.Add(tieredLayerDto);
}
}
return tieredLayerDtosList;
}
return new List<TieredLayerDto>();
it is solved by separating the UpdateDto and the CreateDto, however, the use case is that we need to send a list of CreateOrUpdateDto to the Appservice and the decision should be taken there based on the Id value.
in the browser is mentioned invalid value
log is below
2023-10-25 15:14:10.123 -04:00 [WRN] ---------- RemoteServiceErrorInfo ---------- { "code": null, "message": "Your request is not valid!", "details": "The following errors were detected during validation.\r\n - The tieredLayerCreateOrUpdateDto field is required.\r\n - '0x0A' is invalid within a JSON string. The string should be correctly escaped. Path: $[0] | LineNumber: 8 | BytePositionInLine: 5.\r\n", "data": {}, "validationErrors": [ { "message": "The tieredLayerCreateOrUpdateDto field is required.", "members": [ "tieredLayerCreateOrUpdateDto" ] }, { "message": "'0x0A' is invalid within a JSON string. The string should be correctly escaped. Path: $[0] | LineNumber: 8 | BytePositionInLine: 5.", "members": [ "$[0]" ] }