Public Order entity ve ListForm Seederlar

This commit is contained in:
Sedat ÖZTÜRK 2025-10-08 15:56:59 +03:00
parent 7770227b4c
commit b358a907c4
10 changed files with 110 additions and 97 deletions

View file

@ -15,9 +15,8 @@ public class OrderDto : EntityDto<Guid>
public decimal Commission { get; set; }
public decimal Total { get; set; }
public string PaymentMethod { get; set; }
public int? Installments { get; set; }
public string? InstallmentName { get; set; }
public Guid PaymentMethodId { get; set; }
public int? Installment { get; set; }
public Dictionary<string, object> PaymentData { get; set; }
}

View file

@ -247,9 +247,8 @@ public class PublicAppService : PlatformAppService
Subtotal = input.Subtotal,
Commission = input.Commission,
Total = input.Total,
PaymentMethod = input.PaymentMethod,
Installments = input.Installments,
InstallmentName = input.InstallmentName,
PaymentMethodId = input.PaymentMethodId,
Installment = input.Installment,
PaymentDataJson = JsonSerializer.Serialize(input.PaymentData),
};
@ -273,7 +272,7 @@ public class PublicAppService : PlatformAppService
{
Id = entity.Id,
Total = entity.Total,
PaymentMethod = entity.PaymentMethod
PaymentMethodId = entity.PaymentMethodId
};
}

View file

@ -155,6 +155,20 @@ public class PlatformListFormsSeeder : IDataSeedContributor, ITransientDependenc
$"(\"{SelectCommandByTableName("ClassType", Prefix.DbTableDefinition)}\".\"BranchId\" = @param0 OR @param0 IS NULL) " +
$"ORDER BY \"{SelectCommandByTableName("ClassType", Prefix.DbTableDefinition)}\".\"Name\";";
var lookupQueryPaymentMethodValues =
$"SELECT " +
$"\"{SelectCommandByTableName("PaymentMethod", Prefix.DbTableWeb)}\".\"Id\" AS \"Key\", " +
$"\"{SelectCommandByTableName("PaymentMethod", Prefix.DbTableWeb)}\".\"Name\" AS \"Name\" " +
$"FROM \"{SelectCommandByTableName("PaymentMethod", Prefix.DbTableWeb)}\" " +
$"ORDER BY \"{SelectCommandByTableName("PaymentMethod", Prefix.DbTableWeb)}\".\"Name\";";
var lookupQueryInstallmentValues =
$"SELECT " +
$"\"{SelectCommandByTableName("InstallmentOption", Prefix.DbTableWeb)}\".\"Installment\" AS \"Key\", " +
$"\"{SelectCommandByTableName("InstallmentOption", Prefix.DbTableWeb)}\".\"Name\" AS \"Name\" " +
$"FROM \"{SelectCommandByTableName("InstallmentOption", Prefix.DbTableWeb)}\" " +
$"ORDER BY \"{SelectCommandByTableName("InstallmentOption", Prefix.DbTableWeb)}\".\"Installment\";";
var htmlEditorOptions = "{\"toolbar\": {\"multiline\": true, \"items\": [{\"name\": \"undo\"},{\"name\": \"redo\"},{\"name\": \"separator\"},{\"name\": \"size\",\"acceptedValues\": [\"8pt\",\"10pt\",\"12pt\",\"14pt\",\"18pt\",\"24pt\",\"36pt\"],\"options\": {\"inputAttr\": {\"aria-label\": \"Font size\"}}},{\"name\": \"font\",\"acceptedValues\": [\"Arial\",\"Courier New\",\"Georgia\",\"Impact\",\"Lucida Console\",\"Tahoma\",\"Times New Roman\",\"Verdana\"],\"options\": {\"inputAttr\": {\"aria-label\": \"Font family\"}}},{\"name\": \"separator\"},{\"name\": \"bold\"},{\"name\": \"italic\"},{\"name\": \"strike\"},{\"name\": \"underline\"},{\"name\": \"separator\"},{\"name\": \"alignLeft\"},{\"name\": \"alignCenter\"},{\"name\": \"alignRight\"},{\"name\": \"alignJustify\"},{\"name\": \"separator\"},{\"name\": \"orderedList\"},{\"name\": \"bulletList\"},{\"name\": \"separator\"},{\"name\": \"header\",\"acceptedValues\": [false,1,2,3,4,5],\"options\": {\"inputAttr\": {\"aria-label\": \"Font family\"}}},{\"name\": \"separator\"},{\"name\": \"color\"},{\"name\": \"background\"},{\"name\": \"separator\"},{\"name\": \"link\"},{\"name\": \"image\"},{\"name\": \"separator\"},{\"name\": \"clear\"},{\"name\": \"codeBlock\"},{\"name\": \"blockquote\"},{\"name\": \"separator\"},{\"name\": \"insertTable\"},{\"name\": \"deleteTable\"},{\"name\": \"insertRowAbove\"},{\"name\": \"insertRowBelow\"},{\"name\": \"deleteRow\"},{\"name\": \"insertColumnLeft\"},{\"name\": \"insertColumnRight\"},{\"name\": \"deleteColumn\"}]}}";
var showClearButton = "{ \"showClearButton\" : true }";
@ -12149,10 +12163,9 @@ public class PlatformListFormsSeeder : IDataSeedContributor, ITransientDependenc
ItemType = "group",
Items =
[
new EditingFormItemDto { Order = 1, DataField = "Id", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 2, DataField = "Name", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 3, DataField = "Commission", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 4, DataField = "Logo", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 1, DataField = "Name", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 2, DataField = "Commission", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 3, DataField = "Logo", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
]
}
}),
@ -12593,8 +12606,8 @@ public class PlatformListFormsSeeder : IDataSeedContributor, ITransientDependenc
Popup = new GridEditingPopupDto
{
Title = "Purchase Order Form",
Width = 500,
Height = 800
Width = 1000,
Height = 500
},
AllowDeleting = true,
AllowAdding = true,
@ -12606,32 +12619,31 @@ public class PlatformListFormsSeeder : IDataSeedContributor, ITransientDependenc
new()
{
Order = 1,
ColCount = 1,
ColCount = 2,
ColSpan = 2,
ItemType = "group",
Items =
[
new EditingFormItemDto { Order = 1, DataField = "OrganizationName", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 2, DataField = "Founder", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 3, DataField = "VknTckn", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 4, DataField = "TaxOffice", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 5, DataField = "Address", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 6, DataField = "Address2", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 7, DataField = "Country", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=showClearButton },
new EditingFormItemDto { Order = 8, DataField = "City", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 9, DataField = "District", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 10, DataField = "PostalCode", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 11, DataField = "Phone", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 12, DataField = "Mobile", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 13, DataField = "Fax", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 14, DataField = "Email", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 15, DataField = "Website", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 16, DataField = "Subtotal", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 17, DataField = "Commission", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 18, DataField = "Total", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 19, DataField = "PaymentMethod", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 20, DataField = "Installments", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 21, DataField = "InstallmentName", ColSpan = 2, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 1, DataField = "OrganizationName", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 2, DataField = "Founder", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 3, DataField = "VknTckn", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 4, DataField = "TaxOffice", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 7, DataField = "Country", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=showClearButton },
new EditingFormItemDto { Order = 8, DataField = "City", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=showClearButton },
new EditingFormItemDto { Order = 9, DataField = "District", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=showClearButton },
new EditingFormItemDto { Order = 5, DataField = "Address", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 6, DataField = "Address2", ColSpan = 1, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 10, DataField = "PostalCode", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 11, DataField = "Phone", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 12, DataField = "Mobile", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 13, DataField = "Fax", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 14, DataField = "Email", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 15, DataField = "Website", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 16, DataField = "Subtotal", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 17, DataField = "Commission", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 18, DataField = "Total", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 19, DataField = "PaymentMethodId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=showClearButton },
new EditingFormItemDto { Order = 20, DataField = "Installment", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=showClearButton },
]
}
}),
@ -12840,6 +12852,14 @@ public class PlatformListFormsSeeder : IDataSeedContributor, ITransientDependenc
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = JsonSerializer.Serialize(new LookupDto
{
DataSourceType = UiLookupDataSourceTypeEnum.Query,
DisplayExpr = "Name",
ValueExpr = "Key",
LookupQuery = lookupQueryCountryValues,
CascadeEmptyFields = "City,District"
}),
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.Orders.PurchaseOrders + ".Create",
@ -12862,6 +12882,17 @@ public class PlatformListFormsSeeder : IDataSeedContributor, ITransientDependenc
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = JsonSerializer.Serialize(new LookupDto
{
DataSourceType = UiLookupDataSourceTypeEnum.Query,
DisplayExpr = "Name",
ValueExpr = "Key",
LookupQuery = lookupQueryCityValues,
CascadeRelationField = "Country",
CascadeFilterOperator="=",
CascadeParentFields = "Country",
CascadeEmptyFields = "District"
}),
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.Orders.PurchaseOrders + ".Create",
@ -12884,6 +12915,16 @@ public class PlatformListFormsSeeder : IDataSeedContributor, ITransientDependenc
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = JsonSerializer.Serialize(new LookupDto
{
DataSourceType = UiLookupDataSourceTypeEnum.Query,
DisplayExpr = "Name",
ValueExpr = "Key",
LookupQuery = lookupQueryDistrictValues,
CascadeRelationField = "City",
CascadeFilterOperator="=",
CascadeParentFields = "Country,City",
}),
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.Orders.PurchaseOrders + ".Create",
@ -13052,14 +13093,21 @@ public class PlatformListFormsSeeder : IDataSeedContributor, ITransientDependenc
{
ListFormCode = listFormPurchaseOrder.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "PaymentMethod",
SourceDbType = DbType.Guid,
FieldName = "PaymentMethodId",
Width = 100,
ListOrderNo = 18,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = JsonSerializer.Serialize(new LookupDto
{
DataSourceType = UiLookupDataSourceTypeEnum.Query,
DisplayExpr = "Name",
ValueExpr = "Key",
LookupQuery = lookupQueryPaymentMethodValues
}),
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.Orders.PurchaseOrders + ".Create",
@ -13075,13 +13123,20 @@ public class PlatformListFormsSeeder : IDataSeedContributor, ITransientDependenc
ListFormCode = listFormPurchaseOrder.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Int32,
FieldName = "Installments",
FieldName = "Installment",
Width = 100,
ListOrderNo = 19,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = JsonSerializer.Serialize(new LookupDto
{
DataSourceType = UiLookupDataSourceTypeEnum.Query,
DisplayExpr = "Name",
ValueExpr = "Key",
LookupQuery = lookupQueryInstallmentValues
}),
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.Orders.PurchaseOrders + ".Create",
@ -13091,29 +13146,7 @@ public class PlatformListFormsSeeder : IDataSeedContributor, ITransientDependenc
I = true,
Deny = false
})
},
new()
{
ListFormCode = listFormPurchaseOrder.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "InstallmentName",
Width = 100,
ListOrderNo = 20,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.Orders.PurchaseOrders + ".Create",
R = AppCodes.Orders.PurchaseOrders,
U = AppCodes.Orders.PurchaseOrders + ".Update",
E = true,
I = true,
Deny = false
})
},
}
]);
#endregion
}
@ -13542,7 +13575,7 @@ public class PlatformListFormsSeeder : IDataSeedContributor, ITransientDependenc
Popup = new GridEditingPopupDto
{
Title = "Blog Post Form",
Width = 600,
Width = 1000,
Height = 600
},
AllowDeleting = true,

View file

@ -30,9 +30,8 @@ public class Order : FullAuditedEntity<Guid>, IMultiTenant
public decimal Commission { get; set; }
public decimal Total { get; set; }
public string PaymentMethod { get; set; }
public int? Installments { get; set; }
public string? InstallmentName { get; set; }
public Guid PaymentMethodId { get; set; }
public int? Installment { get; set; }
public string PaymentDataJson { get; set; } // JSON olarak saklanacak

View file

@ -1395,8 +1395,6 @@ public class PlatformDbContext :
b.Property(o => o.Commission).IsRequired().HasPrecision(18, 2);
b.Property(o => o.Total).IsRequired().HasPrecision(18, 2);
b.Property(o => o.PaymentMethod).IsRequired().HasMaxLength(64);
b.Property(o => o.InstallmentName).HasMaxLength(128);
b.Property(o => o.PaymentDataJson).HasMaxLength(4000);
b.HasMany(o => o.Items)

View file

@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace Kurs.Platform.Migrations
{
[DbContext(typeof(PlatformDbContext))]
[Migration("20251008104142_Initial")]
[Migration("20251008124621_Initial")]
partial class Initial
{
/// <inheritdoc />
@ -4625,11 +4625,7 @@ namespace Kurs.Platform.Migrations
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<string>("InstallmentName")
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<int?>("Installments")
b.Property<int?>("Installment")
.HasColumnType("int");
b.Property<bool>("IsDeleted")
@ -4657,10 +4653,8 @@ namespace Kurs.Platform.Migrations
.HasMaxLength(4000)
.HasColumnType("nvarchar(4000)");
b.Property<string>("PaymentMethod")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("nvarchar(64)");
b.Property<Guid>("PaymentMethodId")
.HasColumnType("uniqueidentifier");
b.Property<long>("Phone")
.HasColumnType("bigint");

View file

@ -1932,9 +1932,8 @@ namespace Kurs.Platform.Migrations
Subtotal = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
Commission = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
Total = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
PaymentMethod = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
Installments = table.Column<int>(type: "int", nullable: true),
InstallmentName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
PaymentMethodId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
Installment = table.Column<int>(type: "int", nullable: true),
PaymentDataJson = table.Column<string>(type: "nvarchar(4000)", maxLength: 4000, nullable: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),

View file

@ -4622,11 +4622,7 @@ namespace Kurs.Platform.Migrations
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<string>("InstallmentName")
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<int?>("Installments")
b.Property<int?>("Installment")
.HasColumnType("int");
b.Property<bool>("IsDeleted")
@ -4654,10 +4650,8 @@ namespace Kurs.Platform.Migrations
.HasMaxLength(4000)
.HasColumnType("nvarchar(4000)");
b.Property<string>("PaymentMethod")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("nvarchar(64)");
b.Property<Guid>("PaymentMethodId")
.HasColumnType("uniqueidentifier");
b.Property<long>("Phone")
.HasColumnType("bigint");

View file

@ -1,4 +1,4 @@
import { CustomTenantDto } from "../config/models"
import { CustomTenantDto } from '../config/models'
export type BillingCycle = 'monthly' | 'yearly'
@ -62,8 +62,7 @@ export interface OrderDto {
subtotal: number
commission: number
total: number
paymentMethod: string
installments?: number
installmentName?: string
paymentMethodId: string
installment: number
paymentData: Record<string, unknown>
}
}

View file

@ -47,9 +47,8 @@ export class OrderService {
subtotal: orderData.subtotal,
commission: orderData.commission,
total: orderData.total,
paymentMethod: orderData.paymentMethod,
installments: orderData.installments,
installmentName: orderData.installmentName,
paymentMethodId: orderData.paymentMethodId,
installment: orderData.installment,
paymentData: orderData.paymentData,
},
},