Quotations düzenlemesi
This commit is contained in:
parent
d1157953a8
commit
4c95b52ea8
18 changed files with 1303 additions and 665 deletions
|
|
@ -9325,12 +9325,6 @@
|
||||||
"tr": "Teklif Durumları",
|
"tr": "Teklif Durumları",
|
||||||
"en": "Quotation Status"
|
"en": "Quotation Status"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"resourceName": "Platform",
|
|
||||||
"key": "App.SupplyChain.Quotation",
|
|
||||||
"tr": "Teklifler",
|
|
||||||
"en": "Quotations"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"resourceName": "Platform",
|
"resourceName": "Platform",
|
||||||
"key": "App.SupplyChain.MaterialType",
|
"key": "App.SupplyChain.MaterialType",
|
||||||
|
|
@ -9409,6 +9403,12 @@
|
||||||
"tr": "Teklifler",
|
"tr": "Teklifler",
|
||||||
"en": "Quotations"
|
"en": "Quotations"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"resourceName": "Platform",
|
||||||
|
"key": "App.SupplyChain.QuotationItem",
|
||||||
|
"tr": "Teklif Ürünleri",
|
||||||
|
"en": "Quotation Items"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"resourceName": "Platform",
|
"resourceName": "Platform",
|
||||||
"key": "App.SupplyChain.Approval",
|
"key": "App.SupplyChain.Approval",
|
||||||
|
|
|
||||||
|
|
@ -107,7 +107,7 @@ public class ListFormSeeder_Accounting : IDataSeedContributor, ITransientDepende
|
||||||
Text ="Manage",
|
Text ="Manage",
|
||||||
UrlTarget="_blank",
|
UrlTarget="_blank",
|
||||||
AuthName = AppCodes.Accounting.BankAccount,
|
AuthName = AppCodes.Accounting.BankAccount,
|
||||||
Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(AppCodes.Accounting.Bank)}/@Id",
|
Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(listFormName)}/@Id",
|
||||||
IsVisible = true
|
IsVisible = true
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -394,7 +394,7 @@ public class ListFormSeeder_Crm : IDataSeedContributor, ITransientDependency
|
||||||
Text ="Manage",
|
Text ="Manage",
|
||||||
UrlTarget="_blank",
|
UrlTarget="_blank",
|
||||||
AuthName = listFormName,
|
AuthName = listFormName,
|
||||||
Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(AppCodes.Crm.Customer)}/@Id",
|
Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(listFormName)}/@Id",
|
||||||
IsVisible = true,
|
IsVisible = true,
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -889,7 +889,7 @@ public class ListFormSeeder_Mrp : IDataSeedContributor, ITransientDependency
|
||||||
Text ="Manage",
|
Text ="Manage",
|
||||||
UrlTarget="_blank",
|
UrlTarget="_blank",
|
||||||
AuthName = AppCodes.Mrp.Bom,
|
AuthName = AppCodes.Mrp.Bom,
|
||||||
Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(AppCodes.Mrp.Bom)}/@Id",
|
Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(listFormName)}/@Id",
|
||||||
IsVisible = true
|
IsVisible = true
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
|
|
@ -3649,5 +3649,713 @@ public class ListFormSeeder_SupplyChain : IDataSeedContributor, ITransientDepend
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Quatation
|
||||||
|
listFormName = AppCodes.SupplyChain.Quotation;
|
||||||
|
if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
|
||||||
|
{
|
||||||
|
var listForm = await _listFormRepository.InsertAsync(
|
||||||
|
new ListForm()
|
||||||
|
{
|
||||||
|
ListFormType = ListFormTypeEnum.List,
|
||||||
|
ExportJson = DefaultExportJson,
|
||||||
|
IsSubForm = false,
|
||||||
|
ShowNote = true,
|
||||||
|
LayoutJson = DefaultLayoutJson,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
ListFormCode = listFormName,
|
||||||
|
Name = listFormName,
|
||||||
|
Title = listFormName,
|
||||||
|
DataSourceCode = SeedConsts.DataSources.DefaultCode,
|
||||||
|
IsTenant = true,
|
||||||
|
IsBranch = false,
|
||||||
|
IsOrganizationUnit = false,
|
||||||
|
Description = listFormName,
|
||||||
|
SelectCommandType = SelectCommandTypeEnum.Table,
|
||||||
|
SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.Quotation)),
|
||||||
|
KeyFieldName = "Id",
|
||||||
|
KeyFieldDbSourceType = DbType.Guid,
|
||||||
|
DefaultFilter = DefaultFilterJson,
|
||||||
|
SortMode = GridOptions.SortModeSingle,
|
||||||
|
FilterRowJson = DefaultFilterRowJson,
|
||||||
|
HeaderFilterJson = DefaultHeaderFilterJson,
|
||||||
|
SearchPanelJson = DefaultSearchPanelJson,
|
||||||
|
GroupPanelJson = DefaultGroupPanelJson,
|
||||||
|
SelectionJson = JsonSerializer.Serialize(new SelectionDto
|
||||||
|
{
|
||||||
|
Mode = GridOptions.SelectionModeMultiple,
|
||||||
|
AllowSelectAll = true,
|
||||||
|
ShowCheckBoxesMode = GridOptions.ShowCheckBoxesModeAlways
|
||||||
|
}),
|
||||||
|
ColumnOptionJson = DefaultColumnOptionJson,
|
||||||
|
PermissionJson = DefaultPermissionJson(listFormName),
|
||||||
|
DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.Quotation)),
|
||||||
|
DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson,
|
||||||
|
PagerOptionJson = DefaultPagerOptionJson,
|
||||||
|
EditingOptionJson = DefaultEditingOptionJson(listFormName, 800, 700, true, true, true, true, false),
|
||||||
|
InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson,
|
||||||
|
EditingFormJson = JsonSerializer.Serialize(new List<EditingFormDto>()
|
||||||
|
{
|
||||||
|
new() {
|
||||||
|
Order=1, ColCount=2, Caption="General", ColSpan=1, ItemType="group", Items =[
|
||||||
|
new EditingFormItemDto { Order = 1, DataField="QuotationNumber", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxTextBox, EditorOptions = EditorOptionValues.Disabled },
|
||||||
|
new EditingFormItemDto { Order = 2, DataField="RequestId", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox },
|
||||||
|
new EditingFormItemDto { Order = 3, DataField="RequestTitle", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
|
||||||
|
new EditingFormItemDto { Order = 4, DataField="RequestTypeId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox },
|
||||||
|
new EditingFormItemDto { Order = 5, DataField="SupplierId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox },
|
||||||
|
new EditingFormItemDto { Order = 6, DataField="QuotationDate", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxDateBox },
|
||||||
|
new EditingFormItemDto { Order = 7, DataField="ValidUntil", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxDateBox },
|
||||||
|
new EditingFormItemDto { Order = 8, DataField="StatusId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox },
|
||||||
|
new EditingFormItemDto { Order = 9, DataField="Notes", ColSpan = 2, EditorType2 = EditorTypes.dxTextArea },
|
||||||
|
]},
|
||||||
|
new() {
|
||||||
|
Order=1, ColCount=2, Caption="Financial", ColSpan=1, ItemType="group", Items =[
|
||||||
|
new EditingFormItemDto { Order = 1, DataField="TotalAmount", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat },
|
||||||
|
new EditingFormItemDto { Order = 2, DataField="Currency", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox },
|
||||||
|
new EditingFormItemDto { Order = 3, DataField="PaymentTermId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox },
|
||||||
|
new EditingFormItemDto { Order = 4, DataField="DeliveryTermId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox },
|
||||||
|
new EditingFormItemDto { Order = 5, DataField="DeliveryTime", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox },
|
||||||
|
new EditingFormItemDto { Order = 6, DataField="SubmittedBy", ColSpan = 1, EditorType2 = EditorTypes.dxTextBox },
|
||||||
|
new EditingFormItemDto { Order = 7, DataField="SubmittedAt", ColSpan = 1, EditorType2 = EditorTypes.dxDateBox },
|
||||||
|
]},
|
||||||
|
new() {
|
||||||
|
Order=1, ColCount=2, Caption="Evaluation", ColSpan=1, ItemType="group", Items =[
|
||||||
|
new EditingFormItemDto { Order = 1, DataField="EvaluationComments", ColSpan = 2, EditorType2 = EditorTypes.dxTextArea },
|
||||||
|
new EditingFormItemDto { Order = 2, DataField="EvaluationNotes", ColSpan = 2, EditorType2 = EditorTypes.dxTextArea },
|
||||||
|
new EditingFormItemDto { Order = 3, DataField="EvaluationScore", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox },
|
||||||
|
new EditingFormItemDto { Order = 4, DataField="EmployeeId", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox },
|
||||||
|
new EditingFormItemDto { Order = 5, DataField="EvaluatedAt", ColSpan = 1, EditorType2 = EditorTypes.dxDateBox },
|
||||||
|
]}
|
||||||
|
}),
|
||||||
|
FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
|
||||||
|
new() { FieldName = "QuotationNumber", FieldDbType = DbType.String, Value = "@AUTONUMBER", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
|
||||||
|
new() { FieldName = "QuotationDate", FieldDbType = DbType.Date, Value = "@DATE", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
|
||||||
|
new() { FieldName = "TotalAmount", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
|
||||||
|
new() { FieldName = "Currency", FieldDbType = DbType.String, Value = "TRY", CustomValueType = FieldCustomValueTypeEnum.Value },
|
||||||
|
new() { FieldName = "DeliveryTime", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
|
||||||
|
new() { FieldName = "EvaluationScore", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
|
||||||
|
}),
|
||||||
|
CommandColumnJson = JsonSerializer.Serialize(new CommandColumnDto[] {
|
||||||
|
new() {
|
||||||
|
Hint = "Manage",
|
||||||
|
Text ="Manage",
|
||||||
|
UrlTarget="_blank",
|
||||||
|
AuthName = listFormName,
|
||||||
|
Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(listFormName)}/@Id",
|
||||||
|
IsVisible = true
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ButtonPosition = UiCommandButtonPositionTypeEnum.Toolbar,
|
||||||
|
Hint = "Toplu Teklif",
|
||||||
|
Text = "Toplu Teklif",
|
||||||
|
AuthName = listFormName,
|
||||||
|
Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(listFormName)}/@Id",
|
||||||
|
IsVisible = true
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ButtonPosition = UiCommandButtonPositionTypeEnum.Toolbar,
|
||||||
|
Hint = "Teklif Karşılaştır",
|
||||||
|
Text = "Teklif Karşılaştır",
|
||||||
|
AuthName = listFormName,
|
||||||
|
Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(listFormName)}/@Id",
|
||||||
|
IsVisible = true
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
}, autoSave: true
|
||||||
|
);
|
||||||
|
|
||||||
|
#region Quatation Fields
|
||||||
|
await _listFormFieldRepository.InsertManyAsync([
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Guid,
|
||||||
|
FieldName = "Id",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 1,
|
||||||
|
Visible = false,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
SortIndex = 0,
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.String,
|
||||||
|
FieldName = "QuotationNumber",
|
||||||
|
Width = 150,
|
||||||
|
ListOrderNo = 2,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Guid,
|
||||||
|
FieldName = "RequestId",
|
||||||
|
Width = 200,
|
||||||
|
ListOrderNo = 3,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Request), "Id", "RequestNumber"),
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.String,
|
||||||
|
FieldName = "RequestTitle",
|
||||||
|
Width = 200,
|
||||||
|
ListOrderNo = 4,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Guid,
|
||||||
|
FieldName = "RequestTypeId",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 5,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.RequestType), "Id", "Name"),
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Guid,
|
||||||
|
FieldName = "SupplierId",
|
||||||
|
Width = 200,
|
||||||
|
ListOrderNo = 6,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
LookupJson = JsonSerializer.Serialize(new LookupDto
|
||||||
|
{
|
||||||
|
DataSourceType = UiLookupDataSourceTypeEnum.Query,
|
||||||
|
DisplayExpr = "Name",
|
||||||
|
ValueExpr = "Key",
|
||||||
|
LookupQuery = LookupQueryValues.SupplierValues
|
||||||
|
}),
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Date,
|
||||||
|
FieldName = "QuotationDate",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 7,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Date,
|
||||||
|
FieldName = "ValidUntil",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 8,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Guid,
|
||||||
|
FieldName = "StatusId",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 9,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.QuotationStatus), "Id", "Name"),
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.String,
|
||||||
|
FieldName = "Notes",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 10,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Decimal,
|
||||||
|
FieldName = "TotalAmount",
|
||||||
|
Format = "fixedPoint",
|
||||||
|
Alignment = "right",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 11,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.String,
|
||||||
|
FieldName = "Currency",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 12,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Code", "Name"),
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Guid,
|
||||||
|
FieldName = "PaymentTermId",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 13,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.PaymentTerm), "Id", "Name"),
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Guid,
|
||||||
|
FieldName = "DeliveryTermId",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 14,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.DeliveryTerm), "Id", "Name"),
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Int32,
|
||||||
|
FieldName = "DeliveryTime",
|
||||||
|
Format = "fixedPoint",
|
||||||
|
Alignment = "right",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 15,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Int32,
|
||||||
|
FieldName = "EvaluationScore",
|
||||||
|
Format = "fixedPoint",
|
||||||
|
Alignment = "right",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 16,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.String,
|
||||||
|
FieldName = "EvaluationComments",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 17,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.String,
|
||||||
|
FieldName = "EvaluationNotes",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 18,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.String,
|
||||||
|
FieldName = "SubmittedBy",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 19,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Date,
|
||||||
|
FieldName = "SubmittedAt",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 20,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Guid,
|
||||||
|
FieldName = "EmployeeId",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 21,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Employee), "Id", "FullName"),
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Date,
|
||||||
|
FieldName = "EvaluatedAt",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 22,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
], autoSave: true);
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Quatation Items
|
||||||
|
listFormName = AppCodes.SupplyChain.QuotationItem;
|
||||||
|
if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
|
||||||
|
{
|
||||||
|
var listForm = await _listFormRepository.InsertAsync(
|
||||||
|
new ListForm()
|
||||||
|
{
|
||||||
|
ListFormType = ListFormTypeEnum.List,
|
||||||
|
ExportJson = DefaultExportJson,
|
||||||
|
IsSubForm = false,
|
||||||
|
ShowNote = true,
|
||||||
|
LayoutJson = DefaultLayoutJson,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
ListFormCode = listFormName,
|
||||||
|
Name = listFormName,
|
||||||
|
Title = listFormName,
|
||||||
|
DataSourceCode = SeedConsts.DataSources.DefaultCode,
|
||||||
|
IsTenant = true,
|
||||||
|
IsBranch = false,
|
||||||
|
IsOrganizationUnit = false,
|
||||||
|
Description = listFormName,
|
||||||
|
SelectCommandType = SelectCommandTypeEnum.Table,
|
||||||
|
SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.QuotationItem)),
|
||||||
|
KeyFieldName = "Id",
|
||||||
|
KeyFieldDbSourceType = DbType.Guid,
|
||||||
|
DefaultFilter = DefaultFilterJson,
|
||||||
|
SortMode = GridOptions.SortModeSingle,
|
||||||
|
FilterRowJson = DefaultFilterRowJson,
|
||||||
|
HeaderFilterJson = DefaultHeaderFilterJson,
|
||||||
|
SearchPanelJson = DefaultSearchPanelJson,
|
||||||
|
GroupPanelJson = DefaultGroupPanelJson,
|
||||||
|
SelectionJson = DefaultSelectionSingleJson,
|
||||||
|
ColumnOptionJson = DefaultColumnOptionJson,
|
||||||
|
PermissionJson = DefaultPermissionJson(listFormName),
|
||||||
|
DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.QuotationItem)),
|
||||||
|
DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson,
|
||||||
|
PagerOptionJson = DefaultPagerOptionJson,
|
||||||
|
EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 400, true, true, true, true, false),
|
||||||
|
InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson,
|
||||||
|
EditingFormJson = JsonSerializer.Serialize(new List<EditingFormDto>()
|
||||||
|
{
|
||||||
|
new() {
|
||||||
|
Order=1, ColCount=1, ColSpan=1, ItemType="group", Items =[
|
||||||
|
new EditingFormItemDto { Order = 1, DataField="MaterialId", ColSpan = 1, IsRequired =true, EditorType2 = EditorTypes.dxSelectBox },
|
||||||
|
new EditingFormItemDto { Order = 2, DataField="Quantity", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat },
|
||||||
|
new EditingFormItemDto { Order = 3, DataField="Uom", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox },
|
||||||
|
new EditingFormItemDto { Order = 4, DataField="UnitPrice", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat },
|
||||||
|
new EditingFormItemDto { Order = 5, DataField="TotalPrice", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat },
|
||||||
|
new EditingFormItemDto { Order = 6, DataField="LeadTime", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat },
|
||||||
|
new EditingFormItemDto { Order = 7, DataField="Description", ColSpan = 1, EditorType2 = EditorTypes.dxTextArea },
|
||||||
|
]}
|
||||||
|
}),
|
||||||
|
FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
|
||||||
|
new() { FieldName = "Quantity", FieldDbType = DbType.Int32, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
|
||||||
|
new() { FieldName = "Uom", FieldDbType = DbType.String, Value = "Adet", CustomValueType = FieldCustomValueTypeEnum.Value },
|
||||||
|
new() { FieldName = "UnitPrice", FieldDbType = DbType.Int32, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
|
||||||
|
new() { FieldName = "TotalPrice", FieldDbType = DbType.Int32, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
|
||||||
|
new() { FieldName = "LeadTime", FieldDbType = DbType.Int32, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value }
|
||||||
|
}),
|
||||||
|
}, autoSave: true
|
||||||
|
);
|
||||||
|
|
||||||
|
#region Quatation Items Fields
|
||||||
|
await _listFormFieldRepository.InsertManyAsync([
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Guid,
|
||||||
|
FieldName = "Id",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 1,
|
||||||
|
Visible = false,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
SortIndex = 0,
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Guid,
|
||||||
|
FieldName = "MaterialId",
|
||||||
|
Width = 300,
|
||||||
|
ListOrderNo = 2,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Material), "Id", "Name"),
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Decimal,
|
||||||
|
FieldName = "Quantity",
|
||||||
|
Format = "fixedPoint",
|
||||||
|
Alignment = "right",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 3,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.String,
|
||||||
|
FieldName = "Uom",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 4,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Uom), "Name", "Name"),
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Decimal,
|
||||||
|
FieldName = "UnitPrice",
|
||||||
|
Format = "fixedPoint",
|
||||||
|
Alignment = "right",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 5,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Decimal,
|
||||||
|
FieldName = "TotalPrice",
|
||||||
|
Format = "fixedPoint",
|
||||||
|
Alignment = "right",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 6,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.Decimal,
|
||||||
|
FieldName = "LeadTime",
|
||||||
|
Format = "fixedPoint",
|
||||||
|
Alignment = "right",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 7,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ValidationRuleJson = DefaultValidationRuleRequiredJson,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
new() {
|
||||||
|
ListFormCode = listForm.ListFormCode,
|
||||||
|
CultureName = LanguageCodes.En,
|
||||||
|
SourceDbType = DbType.String,
|
||||||
|
FieldName = "Description",
|
||||||
|
Width = 100,
|
||||||
|
ListOrderNo = 8,
|
||||||
|
Visible = true,
|
||||||
|
IsActive = true,
|
||||||
|
IsDeleted = false,
|
||||||
|
AllowSearch = true,
|
||||||
|
ColumnCustomizationJson = DefaultColumnCustomizationJson,
|
||||||
|
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
|
||||||
|
PivotSettingsJson = DefaultPivotSettingsJson
|
||||||
|
},
|
||||||
|
], autoSave: true);
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
// Quatation ve Quatation Item arasında SubForm ilişki kurulması
|
||||||
|
await utils.CloneFormLayoutAsync(
|
||||||
|
AppCodes.SupplyChain.Quotation,
|
||||||
|
JsonSerializer.Serialize(new List<dynamic>() {
|
||||||
|
new {
|
||||||
|
TabType = ListFormTabTypeEnum.List,
|
||||||
|
TabTitle = AppCodes.SupplyChain.QuotationItem,
|
||||||
|
Code = AppCodes.SupplyChain.QuotationItem,
|
||||||
|
Relation = new List<dynamic>() {
|
||||||
|
new {
|
||||||
|
ParentFieldName = "Id",
|
||||||
|
DbType = DbType.Guid,
|
||||||
|
ChildFieldName = "QuotationId"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2383,7 +2383,7 @@
|
||||||
"Code": "App.SupplyChain.Quotation",
|
"Code": "App.SupplyChain.Quotation",
|
||||||
"DisplayName": "App.SupplyChain.Quotation",
|
"DisplayName": "App.SupplyChain.Quotation",
|
||||||
"Order": 3,
|
"Order": 3,
|
||||||
"Url": "/admin/supplychain/quotations",
|
"Url": "/admin/list/App.SupplyChain.Quotation",
|
||||||
"Icon": "FcSurvey",
|
"Icon": "FcSurvey",
|
||||||
"RequiredPermissionName": "App.SupplyChain.Quotation",
|
"RequiredPermissionName": "App.SupplyChain.Quotation",
|
||||||
"IsDisabled": false
|
"IsDisabled": false
|
||||||
|
|
|
||||||
|
|
@ -6045,89 +6045,6 @@
|
||||||
"MultiTenancySide": 3,
|
"MultiTenancySide": 3,
|
||||||
"MenuGroup": "Erp"
|
"MenuGroup": "Erp"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"GroupName": "App.SupplyChain",
|
|
||||||
"Name": "App.SupplyChain.QuotationStatus.Import",
|
|
||||||
"ParentName": "App.SupplyChain.QuotationStatus",
|
|
||||||
"DisplayName": "Import",
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"MenuGroup": "Erp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"GroupName": "App.SupplyChain",
|
|
||||||
"Name": "App.SupplyChain.QuotationStatus.Note",
|
|
||||||
"ParentName": "App.SupplyChain.QuotationStatus",
|
|
||||||
"DisplayName": "Note",
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"MenuGroup": "Erp"
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"GroupName": "App.SupplyChain",
|
|
||||||
"Name": "App.SupplyChain.Quotation",
|
|
||||||
"ParentName": null,
|
|
||||||
"DisplayName": "App.SupplyChain.Quotation",
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"MenuGroup": "Erp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"GroupName": "App.SupplyChain",
|
|
||||||
"Name": "App.SupplyChain.Quotation.Create",
|
|
||||||
"ParentName": "App.SupplyChain.Quotation",
|
|
||||||
"DisplayName": "Create",
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"MenuGroup": "Erp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"GroupName": "App.SupplyChain",
|
|
||||||
"Name": "App.SupplyChain.Quotation.Update",
|
|
||||||
"ParentName": "App.SupplyChain.Quotation",
|
|
||||||
"DisplayName": "Update",
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"MenuGroup": "Erp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"GroupName": "App.SupplyChain",
|
|
||||||
"Name": "App.SupplyChain.Quotation.Delete",
|
|
||||||
"ParentName": "App.SupplyChain.Quotation",
|
|
||||||
"DisplayName": "Delete",
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"MenuGroup": "Erp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"GroupName": "App.SupplyChain",
|
|
||||||
"Name": "App.SupplyChain.Quotation.Export",
|
|
||||||
"ParentName": "App.SupplyChain.Quotation",
|
|
||||||
"DisplayName": "Export",
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"MenuGroup": "Erp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"GroupName": "App.SupplyChain",
|
|
||||||
"Name": "App.SupplyChain.Quotation.Import",
|
|
||||||
"ParentName": "App.SupplyChain.Quotation",
|
|
||||||
"DisplayName": "Import",
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"MenuGroup": "Erp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"GroupName": "App.SupplyChain",
|
|
||||||
"Name": "App.SupplyChain.Quotation.Note",
|
|
||||||
"ParentName": "App.SupplyChain.Quotation",
|
|
||||||
"DisplayName": "Note",
|
|
||||||
"IsEnabled": true,
|
|
||||||
"MultiTenancySide": 3,
|
|
||||||
"MenuGroup": "Erp"
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"GroupName": "App.SupplyChain",
|
"GroupName": "App.SupplyChain",
|
||||||
"Name": "App.SupplyChain.Material",
|
"Name": "App.SupplyChain.Material",
|
||||||
|
|
@ -6506,6 +6423,71 @@
|
||||||
"MultiTenancySide": 3,
|
"MultiTenancySide": 3,
|
||||||
"MenuGroup": "Erp"
|
"MenuGroup": "Erp"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"GroupName": "App.SupplyChain",
|
||||||
|
"Name": "App.SupplyChain.QuotationItem",
|
||||||
|
"ParentName": null,
|
||||||
|
"DisplayName": "App.SupplyChain.QuotationItem",
|
||||||
|
"IsEnabled": true,
|
||||||
|
"MultiTenancySide": 3,
|
||||||
|
"MenuGroup": "Erp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"GroupName": "App.SupplyChain",
|
||||||
|
"Name": "App.SupplyChain.QuotationItem.Create",
|
||||||
|
"ParentName": "App.SupplyChain.QuotationItem",
|
||||||
|
"DisplayName": "Create",
|
||||||
|
"IsEnabled": true,
|
||||||
|
"MultiTenancySide": 3,
|
||||||
|
"MenuGroup": "Erp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"GroupName": "App.SupplyChain",
|
||||||
|
"Name": "App.SupplyChain.QuotationItem.Update",
|
||||||
|
"ParentName": "App.SupplyChain.QuotationItem",
|
||||||
|
"DisplayName": "Update",
|
||||||
|
"IsEnabled": true,
|
||||||
|
"MultiTenancySide": 3,
|
||||||
|
"MenuGroup": "Erp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"GroupName": "App.SupplyChain",
|
||||||
|
"Name": "App.SupplyChain.QuotationItem.Delete",
|
||||||
|
"ParentName": "App.SupplyChain.QuotationItem",
|
||||||
|
"DisplayName": "Delete",
|
||||||
|
"IsEnabled": true,
|
||||||
|
"MultiTenancySide": 3,
|
||||||
|
"MenuGroup": "Erp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"GroupName": "App.SupplyChain",
|
||||||
|
"Name": "App.SupplyChain.QuotationItem.Export",
|
||||||
|
"ParentName": "App.SupplyChain.QuotationItem",
|
||||||
|
"DisplayName": "Export",
|
||||||
|
"IsEnabled": true,
|
||||||
|
"MultiTenancySide": 3,
|
||||||
|
"MenuGroup": "Erp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"GroupName": "App.SupplyChain",
|
||||||
|
"Name": "App.SupplyChain.QuotationItem.Import",
|
||||||
|
"ParentName": "App.SupplyChain.QuotationItem",
|
||||||
|
"DisplayName": "Import",
|
||||||
|
"IsEnabled": true,
|
||||||
|
"MultiTenancySide": 3,
|
||||||
|
"MenuGroup": "Erp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"GroupName": "App.SupplyChain",
|
||||||
|
"Name": "App.SupplyChain.QuotationItem.Note",
|
||||||
|
"ParentName": "App.SupplyChain.QuotationItem",
|
||||||
|
"DisplayName": "Note",
|
||||||
|
"IsEnabled": true,
|
||||||
|
"MultiTenancySide": 3,
|
||||||
|
"MenuGroup": "Erp"
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"GroupName": "App.SupplyChain",
|
"GroupName": "App.SupplyChain",
|
||||||
"Name": "App.SupplyChain.Approval",
|
"Name": "App.SupplyChain.Approval",
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ public static class SeederDefaults
|
||||||
public static readonly string DefaultGroupPanelJson = JsonSerializer.Serialize(new { Visible = true });
|
public static readonly string DefaultGroupPanelJson = JsonSerializer.Serialize(new { Visible = true });
|
||||||
public static readonly string DefaultColumnOptionJson = JsonSerializer.Serialize(new
|
public static readonly string DefaultColumnOptionJson = JsonSerializer.Serialize(new
|
||||||
{
|
{
|
||||||
ColumnFixingEnabled = false,
|
ColumnFixingEnabled = true,
|
||||||
ColumnAutoWidth = true,
|
ColumnAutoWidth = true,
|
||||||
ColumnChooserEnabled = true,
|
ColumnChooserEnabled = true,
|
||||||
AllowColumnResizing = true,
|
AllowColumnResizing = true,
|
||||||
|
|
|
||||||
|
|
@ -78,6 +78,6 @@ public class Employee : FullAuditedEntity<Guid>, IMultiTenant
|
||||||
public ICollection<BlogPost> BlogPosts { get; set; }
|
public ICollection<BlogPost> BlogPosts { get; set; }
|
||||||
public ICollection<Opportunity> Opportunities { get; set; }
|
public ICollection<Opportunity> Opportunities { get; set; }
|
||||||
public ICollection<Warehouse> Warehouses { get; set; }
|
public ICollection<Warehouse> Warehouses { get; set; }
|
||||||
|
public ICollection<Quotation> Quotations { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,9 +43,10 @@ public class Quotation : FullAuditedEntity<Guid>, IMultiTenant
|
||||||
public string Notes { get; set; } //Notlar
|
public string Notes { get; set; } //Notlar
|
||||||
|
|
||||||
public string SubmittedBy { get; set; } //Teklif Veren
|
public string SubmittedBy { get; set; } //Teklif Veren
|
||||||
public DateTime SubmittedAt { get; set; } //Teklif Tarihi
|
public DateTime? SubmittedAt { get; set; } //Teklif Tarihi
|
||||||
|
|
||||||
public string EvaluatedBy { get; set; } //Değerlendiren
|
public Guid? EmployeeId { get; set; } //Değerlendiren
|
||||||
|
public Employee Employee { get; set; }
|
||||||
public DateTime? EvaluatedAt { get; set; } //Değerlendirme Tarihi
|
public DateTime? EvaluatedAt { get; set; } //Değerlendirme Tarihi
|
||||||
|
|
||||||
public ICollection<QuotationItem> Items { get; set; }
|
public ICollection<QuotationItem> Items { get; set; }
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,7 @@ public class QuotationItem : FullAuditedEntity<Guid>, IMultiTenant
|
||||||
public Material Material { get; set; }
|
public Material Material { get; set; }
|
||||||
|
|
||||||
public decimal Quantity { get; set; }
|
public decimal Quantity { get; set; }
|
||||||
public Guid UomId { get; set; }
|
public string Uom { get; set; }
|
||||||
public Uom Uom { get; set; }
|
|
||||||
|
|
||||||
public decimal UnitPrice { get; set; }
|
public decimal UnitPrice { get; set; }
|
||||||
public decimal TotalPrice { get; set; }
|
public decimal TotalPrice { get; set; }
|
||||||
|
|
|
||||||
|
|
@ -3457,33 +3457,25 @@ public class PlatformDbContext :
|
||||||
b.ConfigureByConvention();
|
b.ConfigureByConvention();
|
||||||
|
|
||||||
b.Property(x => x.QuotationNumber).IsRequired().HasMaxLength(50);
|
b.Property(x => x.QuotationNumber).IsRequired().HasMaxLength(50);
|
||||||
b.Property(x => x.RequestId).IsRequired().HasMaxLength(50);
|
|
||||||
b.Property(x => x.RequestTitle).IsRequired().HasMaxLength(200);
|
b.Property(x => x.RequestTitle).IsRequired().HasMaxLength(200);
|
||||||
|
|
||||||
b.Property(x => x.RequestTypeId).IsRequired();
|
b.Property(x => x.RequestTypeId).IsRequired();
|
||||||
b.Property(x => x.SupplierId).IsRequired();
|
b.Property(x => x.SupplierId).IsRequired();
|
||||||
|
|
||||||
b.Property(x => x.QuotationDate).IsRequired();
|
b.Property(x => x.QuotationDate).IsRequired();
|
||||||
b.Property(x => x.ValidUntil).IsRequired();
|
b.Property(x => x.ValidUntil).IsRequired();
|
||||||
|
|
||||||
b.Property(x => x.StatusId).IsRequired();
|
b.Property(x => x.StatusId).IsRequired();
|
||||||
|
b.Property(x => x.Notes).HasMaxLength(1000);
|
||||||
|
|
||||||
b.Property(x => x.TotalAmount).HasPrecision(18, 2).IsRequired();
|
b.Property(x => x.TotalAmount).HasPrecision(18, 2).IsRequired();
|
||||||
b.Property(x => x.Currency).IsRequired().HasMaxLength(10);
|
b.Property(x => x.Currency).IsRequired().HasMaxLength(10);
|
||||||
|
|
||||||
b.Property(x => x.PaymentTermId).IsRequired();
|
b.Property(x => x.PaymentTermId).IsRequired();
|
||||||
b.Property(x => x.DeliveryTermId).IsRequired();
|
b.Property(x => x.DeliveryTermId).IsRequired();
|
||||||
|
|
||||||
b.Property(x => x.DeliveryTime).HasDefaultValue(0);
|
b.Property(x => x.DeliveryTime).HasDefaultValue(0);
|
||||||
|
b.Property(x => x.SubmittedBy).HasMaxLength(100);
|
||||||
|
b.Property(x => x.SubmittedAt).IsRequired(false);
|
||||||
|
|
||||||
b.Property(x => x.EvaluationScore).HasDefaultValue(0);
|
b.Property(x => x.EvaluationScore).HasDefaultValue(0);
|
||||||
b.Property(x => x.EvaluationComments).HasMaxLength(1000);
|
b.Property(x => x.EvaluationComments).HasMaxLength(1000);
|
||||||
b.Property(x => x.EvaluationNotes).HasMaxLength(1000);
|
b.Property(x => x.EvaluationNotes).HasMaxLength(1000);
|
||||||
b.Property(x => x.SubmittedBy).IsRequired().HasMaxLength(100);
|
|
||||||
b.Property(x => x.SubmittedAt).IsRequired();
|
|
||||||
|
|
||||||
b.Property(x => x.EvaluatedBy).HasMaxLength(100);
|
|
||||||
b.Property(x => x.EvaluatedAt);
|
|
||||||
|
|
||||||
b.HasOne(x => x.Status)
|
b.HasOne(x => x.Status)
|
||||||
.WithMany(x => x.Quotations)
|
.WithMany(x => x.Quotations)
|
||||||
|
|
@ -3499,6 +3491,11 @@ public class PlatformDbContext :
|
||||||
.WithMany(x => x.Quotations)
|
.WithMany(x => x.Quotations)
|
||||||
.HasForeignKey(x => x.PaymentTermId)
|
.HasForeignKey(x => x.PaymentTermId)
|
||||||
.OnDelete(DeleteBehavior.Restrict);
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
|
b.HasOne(x => x.Employee)
|
||||||
|
.WithMany(x => x.Quotations)
|
||||||
|
.HasForeignKey(x => x.EmployeeId)
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
});
|
});
|
||||||
|
|
||||||
builder.Entity<QuotationItem>(b =>
|
builder.Entity<QuotationItem>(b =>
|
||||||
|
|
@ -3508,14 +3505,12 @@ public class PlatformDbContext :
|
||||||
|
|
||||||
b.Property(x => x.QuotationId).IsRequired();
|
b.Property(x => x.QuotationId).IsRequired();
|
||||||
b.Property(x => x.MaterialId).IsRequired();
|
b.Property(x => x.MaterialId).IsRequired();
|
||||||
b.Property(x => x.Description).HasMaxLength(500);
|
|
||||||
|
|
||||||
b.Property(x => x.Quantity).HasPrecision(18, 2).IsRequired();
|
b.Property(x => x.Quantity).HasPrecision(18, 2).IsRequired();
|
||||||
b.Property(x => x.UomId).IsRequired();
|
b.Property(x => x.Uom).IsRequired().HasMaxLength(128);
|
||||||
|
|
||||||
b.Property(x => x.UnitPrice).HasPrecision(18, 2).IsRequired();
|
b.Property(x => x.UnitPrice).HasPrecision(18, 2).IsRequired();
|
||||||
b.Property(x => x.TotalPrice).HasPrecision(18, 2).IsRequired();
|
b.Property(x => x.TotalPrice).HasPrecision(18, 2).IsRequired();
|
||||||
b.Property(x => x.LeadTime).HasDefaultValue(0);
|
b.Property(x => x.LeadTime).HasDefaultValue(0);
|
||||||
|
b.Property(x => x.Description).HasMaxLength(500);
|
||||||
|
|
||||||
b.HasOne(x => x.Quotation)
|
b.HasOne(x => x.Quotation)
|
||||||
.WithMany(x => x.Items)
|
.WithMany(x => x.Items)
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore;
|
||||||
namespace Erp.Platform.Migrations
|
namespace Erp.Platform.Migrations
|
||||||
{
|
{
|
||||||
[DbContext(typeof(PlatformDbContext))]
|
[DbContext(typeof(PlatformDbContext))]
|
||||||
[Migration("20251201070744_Initial")]
|
[Migration("20251201104936_Initial")]
|
||||||
partial class Initial
|
partial class Initial
|
||||||
{
|
{
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
|
|
@ -10941,13 +10941,12 @@ namespace Erp.Platform.Migrations
|
||||||
.HasColumnType("int")
|
.HasColumnType("int")
|
||||||
.HasDefaultValue(0);
|
.HasDefaultValue(0);
|
||||||
|
|
||||||
|
b.Property<Guid?>("EmployeeId")
|
||||||
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
b.Property<DateTime?>("EvaluatedAt")
|
b.Property<DateTime?>("EvaluatedAt")
|
||||||
.HasColumnType("datetime2");
|
.HasColumnType("datetime2");
|
||||||
|
|
||||||
b.Property<string>("EvaluatedBy")
|
|
||||||
.HasMaxLength(100)
|
|
||||||
.HasColumnType("nvarchar(100)");
|
|
||||||
|
|
||||||
b.Property<string>("EvaluationComments")
|
b.Property<string>("EvaluationComments")
|
||||||
.HasMaxLength(1000)
|
.HasMaxLength(1000)
|
||||||
.HasColumnType("nvarchar(1000)");
|
.HasColumnType("nvarchar(1000)");
|
||||||
|
|
@ -10994,9 +10993,7 @@ namespace Erp.Platform.Migrations
|
||||||
.HasColumnType("nvarchar(50)");
|
.HasColumnType("nvarchar(50)");
|
||||||
|
|
||||||
b.Property<string>("RequestId")
|
b.Property<string>("RequestId")
|
||||||
.IsRequired()
|
.HasColumnType("nvarchar(max)");
|
||||||
.HasMaxLength(50)
|
|
||||||
.HasColumnType("nvarchar(50)");
|
|
||||||
|
|
||||||
b.Property<string>("RequestTitle")
|
b.Property<string>("RequestTitle")
|
||||||
.IsRequired()
|
.IsRequired()
|
||||||
|
|
@ -11009,11 +11006,10 @@ namespace Erp.Platform.Migrations
|
||||||
b.Property<Guid>("StatusId")
|
b.Property<Guid>("StatusId")
|
||||||
.HasColumnType("uniqueidentifier");
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
b.Property<DateTime>("SubmittedAt")
|
b.Property<DateTime?>("SubmittedAt")
|
||||||
.HasColumnType("datetime2");
|
.HasColumnType("datetime2");
|
||||||
|
|
||||||
b.Property<string>("SubmittedBy")
|
b.Property<string>("SubmittedBy")
|
||||||
.IsRequired()
|
|
||||||
.HasMaxLength(100)
|
.HasMaxLength(100)
|
||||||
.HasColumnType("nvarchar(100)");
|
.HasColumnType("nvarchar(100)");
|
||||||
|
|
||||||
|
|
@ -11035,6 +11031,8 @@ namespace Erp.Platform.Migrations
|
||||||
|
|
||||||
b.HasIndex("DeliveryTermId");
|
b.HasIndex("DeliveryTermId");
|
||||||
|
|
||||||
|
b.HasIndex("EmployeeId");
|
||||||
|
|
||||||
b.HasIndex("PaymentMethodId");
|
b.HasIndex("PaymentMethodId");
|
||||||
|
|
||||||
b.HasIndex("PaymentTermId");
|
b.HasIndex("PaymentTermId");
|
||||||
|
|
@ -11114,8 +11112,10 @@ namespace Erp.Platform.Migrations
|
||||||
.HasPrecision(18, 2)
|
.HasPrecision(18, 2)
|
||||||
.HasColumnType("decimal(18,2)");
|
.HasColumnType("decimal(18,2)");
|
||||||
|
|
||||||
b.Property<Guid>("UomId")
|
b.Property<string>("Uom")
|
||||||
.HasColumnType("uniqueidentifier");
|
.IsRequired()
|
||||||
|
.HasMaxLength(128)
|
||||||
|
.HasColumnType("nvarchar(128)");
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
|
@ -11123,8 +11123,6 @@ namespace Erp.Platform.Migrations
|
||||||
|
|
||||||
b.HasIndex("QuotationId");
|
b.HasIndex("QuotationId");
|
||||||
|
|
||||||
b.HasIndex("UomId");
|
|
||||||
|
|
||||||
b.ToTable("Scp_T_QuotationItem", (string)null);
|
b.ToTable("Scp_T_QuotationItem", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -18340,6 +18338,11 @@ namespace Erp.Platform.Migrations
|
||||||
.OnDelete(DeleteBehavior.Restrict)
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Erp.Platform.Entities.Employee", "Employee")
|
||||||
|
.WithMany("Quotations")
|
||||||
|
.HasForeignKey("EmployeeId")
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
b.HasOne("Erp.Platform.Entities.PaymentMethod", null)
|
b.HasOne("Erp.Platform.Entities.PaymentMethod", null)
|
||||||
.WithMany("Quotations")
|
.WithMany("Quotations")
|
||||||
.HasForeignKey("PaymentMethodId");
|
.HasForeignKey("PaymentMethodId");
|
||||||
|
|
@ -18370,6 +18373,8 @@ namespace Erp.Platform.Migrations
|
||||||
|
|
||||||
b.Navigation("DeliveryTerm");
|
b.Navigation("DeliveryTerm");
|
||||||
|
|
||||||
|
b.Navigation("Employee");
|
||||||
|
|
||||||
b.Navigation("PaymentTerm");
|
b.Navigation("PaymentTerm");
|
||||||
|
|
||||||
b.Navigation("RequestType");
|
b.Navigation("RequestType");
|
||||||
|
|
@ -18393,17 +18398,9 @@ namespace Erp.Platform.Migrations
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("Erp.Platform.Entities.Uom", "Uom")
|
|
||||||
.WithMany()
|
|
||||||
.HasForeignKey("UomId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Material");
|
b.Navigation("Material");
|
||||||
|
|
||||||
b.Navigation("Quotation");
|
b.Navigation("Quotation");
|
||||||
|
|
||||||
b.Navigation("Uom");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Erp.Platform.Entities.RegistrationMethod", b =>
|
modelBuilder.Entity("Erp.Platform.Entities.RegistrationMethod", b =>
|
||||||
|
|
@ -19124,6 +19121,8 @@ namespace Erp.Platform.Migrations
|
||||||
|
|
||||||
b.Navigation("Partners");
|
b.Navigation("Partners");
|
||||||
|
|
||||||
|
b.Navigation("Quotations");
|
||||||
|
|
||||||
b.Navigation("Reservations");
|
b.Navigation("Reservations");
|
||||||
|
|
||||||
b.Navigation("SurveyResponses");
|
b.Navigation("SurveyResponses");
|
||||||
|
|
@ -5082,127 +5082,6 @@ namespace Erp.Platform.Migrations
|
||||||
onDelete: ReferentialAction.Restrict);
|
onDelete: ReferentialAction.Restrict);
|
||||||
});
|
});
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "Scp_T_Quotation",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
QuotationNumber = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
|
|
||||||
RequestId = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
|
|
||||||
RequestTitle = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false),
|
|
||||||
RequestTypeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
SupplierId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
QuotationDate = table.Column<DateTime>(type: "datetime2", nullable: false),
|
|
||||||
ValidUntil = table.Column<DateTime>(type: "datetime2", nullable: false),
|
|
||||||
StatusId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
TotalAmount = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
|
|
||||||
Currency = table.Column<string>(type: "nvarchar(10)", maxLength: 10, nullable: false),
|
|
||||||
PaymentTermId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
DeliveryTermId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
DeliveryTime = table.Column<int>(type: "int", nullable: true, defaultValue: 0),
|
|
||||||
EvaluationScore = table.Column<int>(type: "int", nullable: true, defaultValue: 0),
|
|
||||||
EvaluationComments = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true),
|
|
||||||
EvaluationNotes = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true),
|
|
||||||
Notes = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true),
|
|
||||||
SubmittedBy = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: false),
|
|
||||||
SubmittedAt = table.Column<DateTime>(type: "datetime2", nullable: false),
|
|
||||||
EvaluatedBy = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true),
|
|
||||||
EvaluatedAt = table.Column<DateTime>(type: "datetime2", nullable: true),
|
|
||||||
PaymentMethodId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
|
||||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
|
||||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
|
||||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
|
||||||
},
|
|
||||||
constraints: table =>
|
|
||||||
{
|
|
||||||
table.PrimaryKey("PK_Scp_T_Quotation", x => x.Id);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Scp_T_Quotation_Adm_T_Partner_SupplierId",
|
|
||||||
column: x => x.SupplierId,
|
|
||||||
principalTable: "Adm_T_Partner",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Scp_T_Quotation_Adm_T_PaymentMethod_PaymentMethodId",
|
|
||||||
column: x => x.PaymentMethodId,
|
|
||||||
principalTable: "Adm_T_PaymentMethod",
|
|
||||||
principalColumn: "Id");
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Scp_T_Quotation_Scp_T_DeliveryTerm_DeliveryTermId",
|
|
||||||
column: x => x.DeliveryTermId,
|
|
||||||
principalTable: "Scp_T_DeliveryTerm",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Restrict);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Scp_T_Quotation_Scp_T_PaymentTerm_PaymentTermId",
|
|
||||||
column: x => x.PaymentTermId,
|
|
||||||
principalTable: "Scp_T_PaymentTerm",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Restrict);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Scp_T_Quotation_Scp_T_QuotationStatus_StatusId",
|
|
||||||
column: x => x.StatusId,
|
|
||||||
principalTable: "Scp_T_QuotationStatus",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Restrict);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Scp_T_Quotation_Scp_T_RequestType_RequestTypeId",
|
|
||||||
column: x => x.RequestTypeId,
|
|
||||||
principalTable: "Scp_T_RequestType",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "Scp_T_QuotationItem",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
QuotationId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
MaterialId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
Quantity = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
|
|
||||||
UomId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
|
||||||
UnitPrice = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
|
|
||||||
TotalPrice = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
|
|
||||||
LeadTime = table.Column<int>(type: "int", nullable: true, defaultValue: 0),
|
|
||||||
Description = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
|
|
||||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
|
||||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
|
||||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
|
||||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
|
||||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
|
||||||
},
|
|
||||||
constraints: table =>
|
|
||||||
{
|
|
||||||
table.PrimaryKey("PK_Scp_T_QuotationItem", x => x.Id);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Scp_T_QuotationItem_Adm_T_Uom_UomId",
|
|
||||||
column: x => x.UomId,
|
|
||||||
principalTable: "Adm_T_Uom",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Scp_T_QuotationItem_Scp_T_Material_MaterialId",
|
|
||||||
column: x => x.MaterialId,
|
|
||||||
principalTable: "Scp_T_Material",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
table.ForeignKey(
|
|
||||||
name: "FK_Scp_T_QuotationItem_Scp_T_Quotation_QuotationId",
|
|
||||||
column: x => x.QuotationId,
|
|
||||||
principalTable: "Scp_T_Quotation",
|
|
||||||
principalColumn: "Id",
|
|
||||||
onDelete: ReferentialAction.Cascade);
|
|
||||||
});
|
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
migrationBuilder.CreateTable(
|
||||||
name: "Crm_T_Activity",
|
name: "Crm_T_Activity",
|
||||||
columns: table => new
|
columns: table => new
|
||||||
|
|
@ -6201,6 +6080,88 @@ namespace Erp.Platform.Migrations
|
||||||
onDelete: ReferentialAction.Restrict);
|
onDelete: ReferentialAction.Restrict);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Scp_T_Quotation",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||||
|
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
QuotationNumber = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
|
||||||
|
RequestId = table.Column<string>(type: "nvarchar(max)", nullable: true),
|
||||||
|
RequestTitle = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false),
|
||||||
|
RequestTypeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||||
|
SupplierId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||||
|
QuotationDate = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||||
|
ValidUntil = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||||
|
StatusId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||||
|
TotalAmount = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
|
||||||
|
Currency = table.Column<string>(type: "nvarchar(10)", maxLength: 10, nullable: false),
|
||||||
|
PaymentTermId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||||
|
DeliveryTermId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||||
|
DeliveryTime = table.Column<int>(type: "int", nullable: true, defaultValue: 0),
|
||||||
|
EvaluationScore = table.Column<int>(type: "int", nullable: true, defaultValue: 0),
|
||||||
|
EvaluationComments = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true),
|
||||||
|
EvaluationNotes = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true),
|
||||||
|
Notes = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true),
|
||||||
|
SubmittedBy = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true),
|
||||||
|
SubmittedAt = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||||
|
EmployeeId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
EvaluatedAt = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||||
|
PaymentMethodId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||||
|
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||||
|
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||||
|
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Scp_T_Quotation", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Scp_T_Quotation_Adm_T_Partner_SupplierId",
|
||||||
|
column: x => x.SupplierId,
|
||||||
|
principalTable: "Adm_T_Partner",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Scp_T_Quotation_Adm_T_PaymentMethod_PaymentMethodId",
|
||||||
|
column: x => x.PaymentMethodId,
|
||||||
|
principalTable: "Adm_T_PaymentMethod",
|
||||||
|
principalColumn: "Id");
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Scp_T_Quotation_Hr_T_Employee_EmployeeId",
|
||||||
|
column: x => x.EmployeeId,
|
||||||
|
principalTable: "Hr_T_Employee",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Scp_T_Quotation_Scp_T_DeliveryTerm_DeliveryTermId",
|
||||||
|
column: x => x.DeliveryTermId,
|
||||||
|
principalTable: "Scp_T_DeliveryTerm",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Scp_T_Quotation_Scp_T_PaymentTerm_PaymentTermId",
|
||||||
|
column: x => x.PaymentTermId,
|
||||||
|
principalTable: "Scp_T_PaymentTerm",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Scp_T_Quotation_Scp_T_QuotationStatus_StatusId",
|
||||||
|
column: x => x.StatusId,
|
||||||
|
principalTable: "Scp_T_QuotationStatus",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Scp_T_Quotation_Scp_T_RequestType_RequestTypeId",
|
||||||
|
column: x => x.RequestTypeId,
|
||||||
|
principalTable: "Scp_T_RequestType",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
migrationBuilder.CreateTable(
|
||||||
name: "Scp_T_Request",
|
name: "Scp_T_Request",
|
||||||
columns: table => new
|
columns: table => new
|
||||||
|
|
@ -6727,6 +6688,45 @@ namespace Erp.Platform.Migrations
|
||||||
onDelete: ReferentialAction.Cascade);
|
onDelete: ReferentialAction.Cascade);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Scp_T_QuotationItem",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||||
|
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
QuotationId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||||
|
MaterialId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||||
|
Quantity = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
|
||||||
|
Uom = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
|
||||||
|
UnitPrice = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
|
||||||
|
TotalPrice = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
|
||||||
|
LeadTime = table.Column<int>(type: "int", nullable: true, defaultValue: 0),
|
||||||
|
Description = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
|
||||||
|
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||||
|
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||||
|
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||||
|
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||||
|
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Scp_T_QuotationItem", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Scp_T_QuotationItem_Scp_T_Material_MaterialId",
|
||||||
|
column: x => x.MaterialId,
|
||||||
|
principalTable: "Scp_T_Material",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Scp_T_QuotationItem_Scp_T_Quotation_QuotationId",
|
||||||
|
column: x => x.QuotationId,
|
||||||
|
principalTable: "Scp_T_Quotation",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
migrationBuilder.CreateTable(
|
||||||
name: "Scp_T_RequestItem",
|
name: "Scp_T_RequestItem",
|
||||||
columns: table => new
|
columns: table => new
|
||||||
|
|
@ -8464,6 +8464,11 @@ namespace Erp.Platform.Migrations
|
||||||
table: "Scp_T_Quotation",
|
table: "Scp_T_Quotation",
|
||||||
column: "DeliveryTermId");
|
column: "DeliveryTermId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Scp_T_Quotation_EmployeeId",
|
||||||
|
table: "Scp_T_Quotation",
|
||||||
|
column: "EmployeeId");
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_Scp_T_Quotation_PaymentMethodId",
|
name: "IX_Scp_T_Quotation_PaymentMethodId",
|
||||||
table: "Scp_T_Quotation",
|
table: "Scp_T_Quotation",
|
||||||
|
|
@ -8499,11 +8504,6 @@ namespace Erp.Platform.Migrations
|
||||||
table: "Scp_T_QuotationItem",
|
table: "Scp_T_QuotationItem",
|
||||||
column: "QuotationId");
|
column: "QuotationId");
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
|
||||||
name: "IX_Scp_T_QuotationItem_UomId",
|
|
||||||
table: "Scp_T_QuotationItem",
|
|
||||||
column: "UomId");
|
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_Scp_T_Request_DepartmentId",
|
name: "IX_Scp_T_Request_DepartmentId",
|
||||||
table: "Scp_T_Request",
|
table: "Scp_T_Request",
|
||||||
|
|
@ -10938,13 +10938,12 @@ namespace Erp.Platform.Migrations
|
||||||
.HasColumnType("int")
|
.HasColumnType("int")
|
||||||
.HasDefaultValue(0);
|
.HasDefaultValue(0);
|
||||||
|
|
||||||
|
b.Property<Guid?>("EmployeeId")
|
||||||
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
b.Property<DateTime?>("EvaluatedAt")
|
b.Property<DateTime?>("EvaluatedAt")
|
||||||
.HasColumnType("datetime2");
|
.HasColumnType("datetime2");
|
||||||
|
|
||||||
b.Property<string>("EvaluatedBy")
|
|
||||||
.HasMaxLength(100)
|
|
||||||
.HasColumnType("nvarchar(100)");
|
|
||||||
|
|
||||||
b.Property<string>("EvaluationComments")
|
b.Property<string>("EvaluationComments")
|
||||||
.HasMaxLength(1000)
|
.HasMaxLength(1000)
|
||||||
.HasColumnType("nvarchar(1000)");
|
.HasColumnType("nvarchar(1000)");
|
||||||
|
|
@ -10991,9 +10990,7 @@ namespace Erp.Platform.Migrations
|
||||||
.HasColumnType("nvarchar(50)");
|
.HasColumnType("nvarchar(50)");
|
||||||
|
|
||||||
b.Property<string>("RequestId")
|
b.Property<string>("RequestId")
|
||||||
.IsRequired()
|
.HasColumnType("nvarchar(max)");
|
||||||
.HasMaxLength(50)
|
|
||||||
.HasColumnType("nvarchar(50)");
|
|
||||||
|
|
||||||
b.Property<string>("RequestTitle")
|
b.Property<string>("RequestTitle")
|
||||||
.IsRequired()
|
.IsRequired()
|
||||||
|
|
@ -11006,11 +11003,10 @@ namespace Erp.Platform.Migrations
|
||||||
b.Property<Guid>("StatusId")
|
b.Property<Guid>("StatusId")
|
||||||
.HasColumnType("uniqueidentifier");
|
.HasColumnType("uniqueidentifier");
|
||||||
|
|
||||||
b.Property<DateTime>("SubmittedAt")
|
b.Property<DateTime?>("SubmittedAt")
|
||||||
.HasColumnType("datetime2");
|
.HasColumnType("datetime2");
|
||||||
|
|
||||||
b.Property<string>("SubmittedBy")
|
b.Property<string>("SubmittedBy")
|
||||||
.IsRequired()
|
|
||||||
.HasMaxLength(100)
|
.HasMaxLength(100)
|
||||||
.HasColumnType("nvarchar(100)");
|
.HasColumnType("nvarchar(100)");
|
||||||
|
|
||||||
|
|
@ -11032,6 +11028,8 @@ namespace Erp.Platform.Migrations
|
||||||
|
|
||||||
b.HasIndex("DeliveryTermId");
|
b.HasIndex("DeliveryTermId");
|
||||||
|
|
||||||
|
b.HasIndex("EmployeeId");
|
||||||
|
|
||||||
b.HasIndex("PaymentMethodId");
|
b.HasIndex("PaymentMethodId");
|
||||||
|
|
||||||
b.HasIndex("PaymentTermId");
|
b.HasIndex("PaymentTermId");
|
||||||
|
|
@ -11111,8 +11109,10 @@ namespace Erp.Platform.Migrations
|
||||||
.HasPrecision(18, 2)
|
.HasPrecision(18, 2)
|
||||||
.HasColumnType("decimal(18,2)");
|
.HasColumnType("decimal(18,2)");
|
||||||
|
|
||||||
b.Property<Guid>("UomId")
|
b.Property<string>("Uom")
|
||||||
.HasColumnType("uniqueidentifier");
|
.IsRequired()
|
||||||
|
.HasMaxLength(128)
|
||||||
|
.HasColumnType("nvarchar(128)");
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
|
@ -11120,8 +11120,6 @@ namespace Erp.Platform.Migrations
|
||||||
|
|
||||||
b.HasIndex("QuotationId");
|
b.HasIndex("QuotationId");
|
||||||
|
|
||||||
b.HasIndex("UomId");
|
|
||||||
|
|
||||||
b.ToTable("Scp_T_QuotationItem", (string)null);
|
b.ToTable("Scp_T_QuotationItem", (string)null);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -18337,6 +18335,11 @@ namespace Erp.Platform.Migrations
|
||||||
.OnDelete(DeleteBehavior.Restrict)
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("Erp.Platform.Entities.Employee", "Employee")
|
||||||
|
.WithMany("Quotations")
|
||||||
|
.HasForeignKey("EmployeeId")
|
||||||
|
.OnDelete(DeleteBehavior.Restrict);
|
||||||
|
|
||||||
b.HasOne("Erp.Platform.Entities.PaymentMethod", null)
|
b.HasOne("Erp.Platform.Entities.PaymentMethod", null)
|
||||||
.WithMany("Quotations")
|
.WithMany("Quotations")
|
||||||
.HasForeignKey("PaymentMethodId");
|
.HasForeignKey("PaymentMethodId");
|
||||||
|
|
@ -18367,6 +18370,8 @@ namespace Erp.Platform.Migrations
|
||||||
|
|
||||||
b.Navigation("DeliveryTerm");
|
b.Navigation("DeliveryTerm");
|
||||||
|
|
||||||
|
b.Navigation("Employee");
|
||||||
|
|
||||||
b.Navigation("PaymentTerm");
|
b.Navigation("PaymentTerm");
|
||||||
|
|
||||||
b.Navigation("RequestType");
|
b.Navigation("RequestType");
|
||||||
|
|
@ -18390,17 +18395,9 @@ namespace Erp.Platform.Migrations
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("Erp.Platform.Entities.Uom", "Uom")
|
|
||||||
.WithMany()
|
|
||||||
.HasForeignKey("UomId")
|
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
|
||||||
.IsRequired();
|
|
||||||
|
|
||||||
b.Navigation("Material");
|
b.Navigation("Material");
|
||||||
|
|
||||||
b.Navigation("Quotation");
|
b.Navigation("Quotation");
|
||||||
|
|
||||||
b.Navigation("Uom");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Erp.Platform.Entities.RegistrationMethod", b =>
|
modelBuilder.Entity("Erp.Platform.Entities.RegistrationMethod", b =>
|
||||||
|
|
@ -19121,6 +19118,8 @@ namespace Erp.Platform.Migrations
|
||||||
|
|
||||||
b.Navigation("Partners");
|
b.Navigation("Partners");
|
||||||
|
|
||||||
|
b.Navigation("Quotations");
|
||||||
|
|
||||||
b.Navigation("Reservations");
|
b.Navigation("Reservations");
|
||||||
|
|
||||||
b.Navigation("SurveyResponses");
|
b.Navigation("SurveyResponses");
|
||||||
|
|
|
||||||
|
|
@ -98,40 +98,3 @@ div.dialog-after-open > div.dialog-content.maximized {
|
||||||
position: absolute !important;
|
position: absolute !important;
|
||||||
left: -9999px !important;
|
left: -9999px !important;
|
||||||
}
|
}
|
||||||
/* Grid accessibility status mesajını gizle */
|
|
||||||
|
|
||||||
/* Grid Focused Row - Light Mode */
|
|
||||||
.dx-datagrid .dx-row-focused.dx-data-row > td:not(.dx-focused),
|
|
||||||
.dx-datagrid .dx-row-focused.dx-data-row > tr > td:not(.dx-focused) {
|
|
||||||
background-color: rgba(59, 130, 246, 0.15) !important;
|
|
||||||
color: inherit !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dx-datagrid .dx-row-focused.dx-data-row .dx-link {
|
|
||||||
background-color: rgba(255, 255, 255, 0.5) !important;
|
|
||||||
border-radius: 4px !important;
|
|
||||||
color: #1e40af !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dx-datagrid .dx-row-focused.dx-data-row .dx-link:hover {
|
|
||||||
background-color: rgba(255, 255, 255, 0.8) !important;
|
|
||||||
color: #1e3a8a !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Grid Focused Row - Dark Mode */
|
|
||||||
.dark .dx-datagrid .dx-row-focused.dx-data-row > td:not(.dx-focused),
|
|
||||||
.dark .dx-datagrid .dx-row-focused.dx-data-row > tr > td:not(.dx-focused) {
|
|
||||||
background-color: rgba(59, 130, 246, 0.25) !important;
|
|
||||||
color: #e5e7eb !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark .dx-datagrid .dx-row-focused.dx-data-row .dx-link {
|
|
||||||
background-color: rgba(0, 0, 0, 0.3) !important;
|
|
||||||
color: #93c5fd !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark .dx-datagrid .dx-row-focused.dx-data-row .dx-link:hover {
|
|
||||||
background-color: rgba(0, 0, 0, 0.5) !important;
|
|
||||||
color: #dbeafe !important;
|
|
||||||
}
|
|
||||||
/* Grid Focused Row */
|
|
||||||
|
|
@ -41,7 +41,6 @@ function FormTabEdit(props: FormEditProps & { listFormCode: string }) {
|
||||||
{({ touched, errors, values, isSubmitting }) => (
|
{({ touched, errors, values, isSubmitting }) => (
|
||||||
<Form>
|
<Form>
|
||||||
<FormContainer size="sm">
|
<FormContainer size="sm">
|
||||||
<Card className="my-2">
|
|
||||||
<FormItem
|
<FormItem
|
||||||
label={translate('::ListForms.ListFormEdit.EditingAllowAdding')}
|
label={translate('::ListForms.ListFormEdit.EditingAllowAdding')}
|
||||||
invalid={
|
invalid={
|
||||||
|
|
@ -58,8 +57,7 @@ function FormTabEdit(props: FormEditProps & { listFormCode: string }) {
|
||||||
<FormItem
|
<FormItem
|
||||||
label={translate('::ListForms.ListFormEdit.EditingAllowUpdating')}
|
label={translate('::ListForms.ListFormEdit.EditingAllowUpdating')}
|
||||||
invalid={
|
invalid={
|
||||||
errors.editingOptionDto?.allowUpdating &&
|
errors.editingOptionDto?.allowUpdating && touched.editingOptionDto?.allowUpdating
|
||||||
touched.editingOptionDto?.allowUpdating
|
|
||||||
}
|
}
|
||||||
errorMessage={errors.editingOptionDto?.allowUpdating}
|
errorMessage={errors.editingOptionDto?.allowUpdating}
|
||||||
>
|
>
|
||||||
|
|
@ -72,8 +70,7 @@ function FormTabEdit(props: FormEditProps & { listFormCode: string }) {
|
||||||
<FormItem
|
<FormItem
|
||||||
label={translate('::ListForms.ListFormEdit.EditingAllowDeleting')}
|
label={translate('::ListForms.ListFormEdit.EditingAllowDeleting')}
|
||||||
invalid={
|
invalid={
|
||||||
errors.editingOptionDto?.allowDeleting &&
|
errors.editingOptionDto?.allowDeleting && touched.editingOptionDto?.allowDeleting
|
||||||
touched.editingOptionDto?.allowDeleting
|
|
||||||
}
|
}
|
||||||
errorMessage={errors.editingOptionDto?.allowDeleting}
|
errorMessage={errors.editingOptionDto?.allowDeleting}
|
||||||
>
|
>
|
||||||
|
|
@ -100,8 +97,7 @@ function FormTabEdit(props: FormEditProps & { listFormCode: string }) {
|
||||||
<FormItem
|
<FormItem
|
||||||
label={translate('::ListForms.ListFormEdit.EditingConfirmDelete')}
|
label={translate('::ListForms.ListFormEdit.EditingConfirmDelete')}
|
||||||
invalid={
|
invalid={
|
||||||
errors.editingOptionDto?.confirmDelete &&
|
errors.editingOptionDto?.confirmDelete && touched.editingOptionDto?.confirmDelete
|
||||||
touched.editingOptionDto?.confirmDelete
|
|
||||||
}
|
}
|
||||||
errorMessage={errors.editingOptionDto?.confirmDelete}
|
errorMessage={errors.editingOptionDto?.confirmDelete}
|
||||||
>
|
>
|
||||||
|
|
@ -364,9 +360,7 @@ function FormTabEdit(props: FormEditProps & { listFormCode: string }) {
|
||||||
>
|
>
|
||||||
<Field
|
<Field
|
||||||
name="editingOptionDto.popup.hideOnOutsideClick"
|
name="editingOptionDto.popup.hideOnOutsideClick"
|
||||||
placeholder={translate(
|
placeholder={translate('::ListForms.ListFormEdit.EditingHideOnOutsideClick')}
|
||||||
'::ListForms.ListFormEdit.EditingHideOnOutsideClick',
|
|
||||||
)}
|
|
||||||
component={Checkbox}
|
component={Checkbox}
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|
@ -391,7 +385,6 @@ function FormTabEdit(props: FormEditProps & { listFormCode: string }) {
|
||||||
<Button block variant="solid" loading={isSubmitting}>
|
<Button block variant="solid" loading={isSubmitting}>
|
||||||
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
{isSubmitting ? translate('::SavingWithThreeDot') : translate('::Save')}
|
||||||
</Button>
|
</Button>
|
||||||
</Card>
|
|
||||||
</FormContainer>
|
</FormContainer>
|
||||||
</Form>
|
</Form>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
|
|
@ -385,7 +385,6 @@ const useListFormColumns = ({
|
||||||
width: calculatedWidth,
|
width: calculatedWidth,
|
||||||
minWidth: calculatedWidth,
|
minWidth: calculatedWidth,
|
||||||
buttons,
|
buttons,
|
||||||
cssClass: '[&_.dx-link]:mx-1',
|
|
||||||
allowResizing: true,
|
allowResizing: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue