CurrencyId kaldırıldı yerine Currency eklendi

This commit is contained in:
Sedat Öztürk 2025-11-24 22:04:43 +03:00
parent cd896e2e9f
commit 6cf82fa913
30 changed files with 497 additions and 576 deletions

View file

@ -10,9 +10,8 @@ public class BankAccountDto : AuditedEntityDto<Guid>
public string BankName { get; set; }
public string AccountOwner { get; set; }
public Guid? CurrencyId { get; set; }
public string CurrencyCode { get; set; }
public string Currency { get; set; }
public bool CanTransferMoney { get; set; }

View file

@ -50,7 +50,7 @@ public class EmployeeDto : FullAuditedEntityDto<Guid>
public EmployeeDto Manager { get; set; }
public decimal BaseSalary { get; set; }
public Guid? CurrencyId { get; set; }
public string Currency { get; set; }
public string PayrollGroup { get; set; } // e.g., Monthly, Biweekly, Weekly
public Guid? BankAccountId { get; set; }

View file

@ -13,8 +13,7 @@ public class ExpenseDto : FullAuditedEntityDto<Guid>
public string Category { get; set; }
public decimal Amount { get; set; }
public Guid? CurrencyId { get; set; }
public string CurrencyCode { get; set; }
public string Currency { get; set; }
public DateTime RequestDate { get; set; }
public string Description { get; set; }

View file

@ -14,8 +14,7 @@ public class JobPositionDto : FullAuditedEntityDto<Guid>
public string Level { get; set; }
public decimal MinSalary { get; set; }
public decimal MaxSalary { get; set; }
public Guid? CurrencyId { get; set; }
public string CurrencyName { get; set; }
public string Currency { get; set; }
public string RequiredSkills { get; set; }
public string Responsibilities { get; set; }
public string Qualifications { get; set; }

View file

@ -9,7 +9,7 @@ public class CountryDto : AuditedEntityDto<Guid>
public string Code { get; set; }
public string Name { get; set; }
public string GroupName { get; set; }
public string CurrencyCode { get; set; }
public string Currency { get; set; }
public int PhoneCode { get; set; }
public string TaxLabel { get; set; }
public bool ZipRequired { get; set; }

File diff suppressed because it is too large Load diff

View file

@ -285,14 +285,12 @@ public class HostDataSeeder : IDataSeedContributor, ITransientDependency
if (!seenCodes.Add(item.Code) || existingCodes.Contains(item.Code))
continue;
var currency = await _currencyRepository.FirstOrDefaultAsync(c => c.Code == item.CurrencyCode);
buffer.Add(new Country(
Guid.NewGuid(),
item.Code,
item.Name,
item.GroupName,
currency != null ? currency.Id : null,
item.Currency,
item.PhoneCode,
item.TaxLabel
));

View file

@ -390,12 +390,13 @@ public class ListFormSeeder_Accounting : IDataSeedContributor, ITransientDepende
[
new EditingFormItemDto { Order = 1, DataField = "AccountNumber", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 2, DataField = "AccountOwner", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 3, DataField = "CurrencyId", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 3, DataField = "Currency", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 4, DataField = "CanTransferMoney", ColSpan = 1, EditorType2=EditorTypes.dxCheckBox },
]}
}),
FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
new() { FieldName = "CanTransferMoney", FieldDbType = DbType.Boolean, Value = "false", CustomValueType = FieldCustomValueTypeEnum.Value }
new() { FieldName = "CanTransferMoney", FieldDbType = DbType.Boolean, Value = "false", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "Currency", FieldDbType = DbType.String, Value = "TRY", CustomValueType = FieldCustomValueTypeEnum.Value }
}),
}, autoSave: true
);
@ -456,15 +457,15 @@ public class ListFormSeeder_Accounting : IDataSeedContributor, ITransientDepende
new() {
ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "CurrencyId",
SourceDbType = DbType.String,
FieldName = "Currency",
Width = 150,
ListOrderNo = 4,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Id", "Name"),
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Code", "Name"),
ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
PivotSettingsJson = DefaultPivotSettingsJson

View file

@ -338,7 +338,7 @@ public class ListFormSeeder_Crm : IDataSeedContributor, ITransientDependency
new EditingFormItemDto { Order = 4, DataField = "SectorId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 5, DataField = "TaxNumber", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 6, DataField = "TaxOffice", ColSpan = 1, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 7, DataField = "CurrencyId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 7, DataField = "Currency", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 8, DataField = "PaymentTermId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 9, DataField = "CreditLimit", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
]
@ -385,6 +385,7 @@ public class ListFormSeeder_Crm : IDataSeedContributor, ITransientDependency
new() { FieldName = "LifetimeValue", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "Status", FieldDbType = DbType.String, Value = "Aktif", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "Country", FieldDbType = DbType.String, Value = "TR", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "Currency", FieldDbType = DbType.String, Value = "TRY", CustomValueType = FieldCustomValueTypeEnum.Value },
}),
CommandColumnJson = JsonSerializer.Serialize(new CommandColumnDto[] {
new() {
@ -530,14 +531,14 @@ public class ListFormSeeder_Crm : IDataSeedContributor, ITransientDependency
{
ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "CurrencyId",
SourceDbType = DbType.String,
FieldName = "Currency",
Width = 100,
ListOrderNo = 8,
Visible = true,
IsActive = true,
IsDeleted = false,
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Id", "Name"),
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Code", "Name"),
ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
PivotSettingsJson = DefaultPivotSettingsJson
@ -1163,7 +1164,7 @@ public class ListFormSeeder_Crm : IDataSeedContributor, ITransientDependency
new EditingFormItemDto { Order = 5, DataField="Stage", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 6, DataField="Probability", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 7, DataField="EstimatedValue", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat },
new EditingFormItemDto { Order = 8, DataField="CurrencyId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 8, DataField="Currency", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 9, DataField="ExpectedCloseDate", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxDateBox },
new EditingFormItemDto { Order = 10, DataField="ActualCloseDate", ColSpan = 1, EditorType2 = EditorTypes.dxDateBox },
new EditingFormItemDto { Order = 11, DataField="EmployeeId", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
@ -1178,7 +1179,8 @@ public class ListFormSeeder_Crm : IDataSeedContributor, ITransientDependency
new() { FieldName = "EstimatedValue", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "ExpectedCloseDate", FieldDbType = DbType.Date, Value = "@NOW", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
new() { FieldName = "Status", FieldDbType = DbType.String, Value = "Aktif", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "Stage", FieldDbType = DbType.String, Value = "Qualification", CustomValueType = FieldCustomValueTypeEnum.Value }
new() { FieldName = "Stage", FieldDbType = DbType.String, Value = "Qualification", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "Currency", FieldDbType = DbType.String, Value = "TRY", CustomValueType = FieldCustomValueTypeEnum.Value }
}),
CommandColumnJson = JsonSerializer.Serialize(new CommandColumnDto[] {
new() {
@ -1216,7 +1218,7 @@ public class ListFormSeeder_Crm : IDataSeedContributor, ITransientDependency
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "Title",
Width = 100,
Width = 150,
ListOrderNo = 2,
Visible = true,
IsActive = true,
@ -1356,15 +1358,15 @@ public class ListFormSeeder_Crm : IDataSeedContributor, ITransientDependency
new() {
ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "CurrencyId",
SourceDbType = DbType.String,
FieldName = "Currency",
Width = 100,
ListOrderNo = 9,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Id", "Code"),
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Code", "Name"),
ValidationRuleJson = DefaultValidationRuleRequiredJson,
ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
@ -1476,7 +1478,7 @@ public class ListFormSeeder_Crm : IDataSeedContributor, ITransientDependency
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "Status",
Width = 100,
Width = 150,
ListOrderNo = 16,
Visible = true,
IsActive = true,

View file

@ -186,7 +186,7 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency
new EditingFormItemDto { Order = 5, DataField="Level", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 6, DataField="MinSalary", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions=EditorOptionValues.NumberStandartFormat },
new EditingFormItemDto { Order = 7, DataField="MaxSalary", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions=EditorOptionValues.NumberStandartFormat },
new EditingFormItemDto { Order = 8, DataField="CurrencyId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 8, DataField="Currency", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 9, DataField="RequiredSkills", ColSpan = 1, EditorType2 = EditorTypes.dxTextArea },
new EditingFormItemDto { Order = 10, DataField="Responsibilities", ColSpan = 1, EditorType2 = EditorTypes.dxTextArea },
new EditingFormItemDto { Order = 11, DataField="Qualifications", ColSpan = 1, EditorType2 = EditorTypes.dxTextArea },
@ -348,15 +348,15 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency
new() {
ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "CurrencyId",
SourceDbType = DbType.String,
FieldName = "Currency",
Width = 100,
ListOrderNo = 9,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Id", "Name"),
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Code", "Name"),
ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
PivotSettingsJson = DefaultPivotSettingsJson
@ -995,13 +995,14 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency
new EditingFormItemDto { Order = 7, DataField="CostCenterType", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 8, DataField="BudgetedAmount", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions=EditorOptionValues.NumberStandartFormat },
new EditingFormItemDto { Order = 9, DataField="ActualAmount", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions=EditorOptionValues.NumberStandartFormat },
new EditingFormItemDto { Order = 10, DataField="CurrencyId", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 10, DataField="Currency", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 11, DataField="FiscalYear", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 12, DataField="IsActive", ColSpan = 1, EditorType2 = EditorTypes.dxCheckBox}
]}
}),
FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
new() { FieldName = "IsActive", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value }
new() { FieldName = "IsActive", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "Currency", FieldDbType = DbType.String, Value = "TRY", CustomValueType = FieldCustomValueTypeEnum.Value }
}),
}
);
@ -1188,15 +1189,15 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency
new() {
ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "CurrencyId",
SourceDbType = DbType.String,
FieldName = "Currency",
Width = 100,
ListOrderNo = 11,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Id", "Name"),
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Code", "Name"),
ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
PivotSettingsJson = DefaultPivotSettingsJson
@ -1313,7 +1314,7 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency
new EditingFormItemDto { Order = 6, DataField = "WorkLocation", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 7, DataField = "ManagerId", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 8, DataField = "BaseSalary", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat },
new EditingFormItemDto { Order = 9, DataField = "CurrencyId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 9, DataField = "Currency", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 10, DataField = "PayrollGroup", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 11, DataField = "BankAccountId", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 12, DataField = "BadgeId", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
@ -1327,7 +1328,8 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency
}),
FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
new() { FieldName = "Country", FieldDbType = DbType.String, Value = "TR", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "IsActive", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value }
new() { FieldName = "IsActive", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "Currency", FieldDbType = DbType.String, Value = "TRY", CustomValueType = FieldCustomValueTypeEnum.Value },
}),
}
);
@ -1890,15 +1892,15 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency
new() {
ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "CurrencyId",
SourceDbType = DbType.String,
FieldName = "Currency",
Width = 100,
ListOrderNo = 31,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Id", "Name"),
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Code", "Name"),
ValidationRuleJson = DefaultValidationRuleRequiredJson,
ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
@ -2671,7 +2673,7 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency
new EditingFormItemDto { Order = 1, DataField = "EmployeeId", ColSpan=1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 2, DataField = "Category", ColSpan=1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 3, DataField = "Amount", ColSpan=1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox, EditorOptions=EditorOptionValues.NumberStandartFormat },
new EditingFormItemDto { Order = 4, DataField = "CurrencyId", ColSpan=1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 4, DataField = "Currency", ColSpan=1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 5, DataField = "RequestDate", ColSpan=1, IsRequired = true, EditorType2 = EditorTypes.dxDateBox },
new EditingFormItemDto { Order = 6, DataField = "Description", ColSpan=1, EditorType2 = EditorTypes.dxTextArea },
new EditingFormItemDto { Order = 7, DataField = "Project", ColSpan=1, EditorType2 = EditorTypes.dxTextBox },
@ -2682,7 +2684,8 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency
FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[]
{
new() { FieldName = "Status", FieldDbType = DbType.String, Value = "Askıda", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "RequestDate", FieldDbType = DbType.Date, Value = "@NOW", CustomValueType = FieldCustomValueTypeEnum.CustomKey }
new() { FieldName = "RequestDate", FieldDbType = DbType.Date, Value = "@NOW", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
new() { FieldName = "Currency", FieldDbType = DbType.String, Value = "TRY", CustomValueType = FieldCustomValueTypeEnum.Value }
}),
CommandColumnJson = JsonSerializer.Serialize(new CommandColumnDto[] {
new() {
@ -2790,15 +2793,15 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency
new() {
ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "CurrencyId",
SourceDbType = DbType.String,
FieldName = "Currency",
Width = 100,
ListOrderNo = 5,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Id", "Name"),
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Code", "Name"),
ValidationRuleJson = DefaultValidationRuleRequiredJson,
ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name),

View file

@ -4047,7 +4047,7 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency
new EditingFormItemDto { Order = 1, DataField = "Code", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 2, DataField = "Name", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 3, DataField = "GroupName", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 4, DataField = "CurrencyId", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 4, DataField = "Currency", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 5, DataField = "PhoneCode", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 6, DataField = "TaxLabel", ColSpan = 1, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 7, DataField = "ZipRequired", ColSpan = 1, EditorType2 = EditorTypes.dxCheckBox },
@ -4056,6 +4056,9 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency
}
}),
InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson,
FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
new() { FieldName = "Currency", FieldDbType = DbType.String, Value = "TRY", CustomValueType = FieldCustomValueTypeEnum.Value }
})
});
#region Country Fields
@ -4126,15 +4129,15 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency
{
ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "CurrencyId",
SourceDbType = DbType.String,
FieldName = "Currency",
Width = 200,
ListOrderNo = 5,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = false,
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Id", "Name"),
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Code", "Name"),
ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
},

View file

@ -404,7 +404,7 @@ public class ListFormSeeder_SupplyChain : IDataSeedContributor, ITransientDepend
new EditingFormItemDto { Order = 4, DataField = "CostPrice", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 5, DataField = "SalesPrice", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 6, DataField = "CurrencyId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 6, DataField = "Currency", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 7, DataField = "MaterialTypeId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 8, DataField = "MaterialGroupId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 9, DataField = "TrackingType", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
@ -421,7 +421,8 @@ public class ListFormSeeder_SupplyChain : IDataSeedContributor, ITransientDepend
{
new() { FieldName = "CostPrice", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "SalesPrice", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "IsActive", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value }
new() { FieldName = "IsActive", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "Currency", FieldDbType = DbType.String, Value = "TRY", CustomValueType = FieldCustomValueTypeEnum.Value }
}),
});
@ -532,14 +533,14 @@ public class ListFormSeeder_SupplyChain : IDataSeedContributor, ITransientDepend
{
ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "CurrencyId",
SourceDbType = DbType.String,
FieldName = "Currency",
Width = 120,
ListOrderNo = 5,
Visible = true,
IsActive = true,
IsDeleted = false,
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Id", "Name"),
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Code", "Name"),
ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
PivotSettingsJson = DefaultPivotSettingsJson
@ -1091,7 +1092,7 @@ public class ListFormSeeder_SupplyChain : IDataSeedContributor, ITransientDepend
new EditingFormItemDto { Order = 4, DataField = "SectorId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 5, DataField = "TaxNumber", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 6, DataField = "TaxOffice", ColSpan = 1, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 7, DataField = "CurrencyId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 7, DataField = "Currency", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 8, DataField = "PaymentTermId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 9, DataField = "CreditLimit", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxNumberBox },
]
@ -1138,6 +1139,7 @@ public class ListFormSeeder_SupplyChain : IDataSeedContributor, ITransientDepend
new() { FieldName = "DiscountRate", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "Status", FieldDbType = DbType.String, Value = "Aktif", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "Country", FieldDbType = DbType.String, Value = "TR", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "Currency", FieldDbType = DbType.String, Value = "TRY", CustomValueType = FieldCustomValueTypeEnum.Value },
}),
CommandColumnJson = JsonSerializer.Serialize(new CommandColumnDto[] {
new() {
@ -1283,14 +1285,14 @@ public class ListFormSeeder_SupplyChain : IDataSeedContributor, ITransientDepend
{
ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "CurrencyId",
SourceDbType = DbType.String,
FieldName = "Currency",
Width = 100,
ListOrderNo = 8,
Visible = true,
IsActive = true,
IsDeleted = false,
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Id", "Name"),
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Code", "Name"),
ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
PivotSettingsJson = DefaultPivotSettingsJson
@ -1743,7 +1745,7 @@ public class ListFormSeeder_SupplyChain : IDataSeedContributor, ITransientDepend
new EditingFormItemDto { Order = 5, DataField="AccountOwner", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 6, DataField="BranchName", ColSpan = 1, EditorType2 = EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 7, DataField="AccountType", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 8, DataField="CurrencyId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 8, DataField="Currency", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox, EditorOptions=EditorOptionValues.ShowClearButton },
new EditingFormItemDto { Order = 9, DataField="Balance", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 10, DataField="OverdraftLimit", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 11, DataField="DailyTransferLimit", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox },
@ -1756,7 +1758,8 @@ public class ListFormSeeder_SupplyChain : IDataSeedContributor, ITransientDepend
new() { FieldName = "OverdraftLimit", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "DailyTransferLimit", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "IsDefault", FieldDbType = DbType.Boolean, Value = "false", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "IsActive", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value }
new() { FieldName = "IsActive", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "Currency", FieldDbType = DbType.String, Value = "TRY", CustomValueType = FieldCustomValueTypeEnum.Value }
}),
}, autoSave: true
);
@ -1903,15 +1906,15 @@ public class ListFormSeeder_SupplyChain : IDataSeedContributor, ITransientDepend
new() {
ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "CurrencyId",
SourceDbType = DbType.String,
FieldName = "Currency",
Width = 100,
ListOrderNo = 9,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Id", "Name"),
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Code", "Name"),
ValidationRuleJson = DefaultValidationRuleRequiredJson,
ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name),

View file

@ -12,7 +12,7 @@ public class BankAccount : FullAuditedEntity<Guid>, IMultiTenant
public Guid BankId { get; set; }
public Bank Bank { get; set; }
public string AccountOwner { get; set; }
public Guid? CurrencyId { get; set; } // Currency entity'sine referans
public string Currency { get; set; }
public bool CanTransferMoney { get; set; }
public string Company { get; set; }

View file

@ -9,7 +9,7 @@ public class Country : FullAuditedEntity<Guid>
public string Code { get; set; } // TR, US
public string Name { get; set; }
public string GroupName { get; set; }
public Guid? CurrencyId { get; set; }
public string Currency { get; set; }
public int PhoneCode { get; set; }
public string TaxLabel { get; set; }
public bool ZipRequired { get; set; }
@ -24,7 +24,7 @@ public class Country : FullAuditedEntity<Guid>
string code,
string name,
string groupName,
Guid? currencyId,
string currency,
int phoneCode,
string taxLabel,
bool zipRequired = false,
@ -34,7 +34,7 @@ public class Country : FullAuditedEntity<Guid>
Code = code;
Name = name;
GroupName = groupName;
CurrencyId = currencyId;
Currency = currency;
PhoneCode = phoneCode;
TaxLabel = taxLabel;
ZipRequired = zipRequired;

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using Volo.Abp.Domain.Entities.Auditing;
namespace Erp.Platform.Entities;
@ -12,7 +11,5 @@ public class Currency : FullAuditedEntity<Guid>
public decimal Rate { get; set; } // TRY başına değer
public bool IsActive { get; set; }
public DateTime? LastUpdated { get; set; }
public ICollection<Opportunity> Opportunities { get; set; }
}

View file

@ -21,8 +21,7 @@ public class Opportunity : FullAuditedEntity<Guid>, IMultiTenant
public int Probability { get; set; } // Başarı Olasılığı Yüzdesi
public decimal EstimatedValue { get; set; } // Tahmini Değer
public Guid? CurrencyId { get; set; }
public Currency? Currency { get; set; }
public string Currency { get; set; }
public DateTime ExpectedCloseDate { get; set; } // Beklenen Kapanış Tarihi
public DateTime? ActualCloseDate { get; set; } // Gerçekleşen Kapanış Tarihi

View file

@ -26,7 +26,7 @@ public class CostCenter : FullAuditedEntity<Guid>, IMultiTenant
public string CostCenterType { get; set; }
public decimal BudgetedAmount { get; set; }
public decimal ActualAmount { get; set; }
public Guid? CurrencyId { get; set; }
public string Currency { get; set; }
public string FiscalYear { get; set; }
public bool IsActive { get; set; }
}

View file

@ -52,7 +52,7 @@ public class Employee : FullAuditedEntity<Guid>, IMultiTenant
public Employee Manager { get; set; }
public decimal BaseSalary { get; set; }
public Guid? CurrencyId { get; set; }
public string Currency { get; set; }
public string PayrollGroup { get; set; } // e.g., Monthly, Biweekly, Weekly

View file

@ -13,7 +13,7 @@ public class Expense : FullAuditedEntity<Guid>, IMultiTenant
public string Category { get; set; }
public decimal Amount { get; set; }
public Guid? CurrencyId { get; set; }
public string Currency { get; set; }
public DateTime RequestDate { get; set; }
public string Description { get; set; }

View file

@ -16,7 +16,7 @@ public class JobPosition : FullAuditedEntity<Guid>, IMultiTenant
public string Level { get; set; }
public decimal MinSalary { get; set; }
public decimal MaxSalary { get; set; }
public Guid? CurrencyId { get; set; }
public string Currency { get; set; }
public string RequiredSkills { get; set; }
public string Responsibilities { get; set; }
public string Qualifications { get; set; }

View file

@ -21,8 +21,7 @@ public class Material : FullAuditedEntity<Guid>, IMultiTenant
public Uom? Uom { get; set; }
public decimal CostPrice { get; set; }
public decimal SalesPrice { get; set; }
public Guid? CurrencyId { get; set; }
public Currency? Currency { get; set; }
public string Currency { get; set; }
public bool IsActive { get; set; }
public decimal TotalStock { get; set; }
public string TrackingType { get; set; } //'Quantity' | 'Lot' | 'Serial'

View file

@ -35,8 +35,7 @@ public class Partner : FullAuditedEntity<Guid>, IMultiTenant
public string Email { get; set; }
public string Website { get; set; }
public Guid? CurrencyId { get; set; }
public Currency? Currency { get; set; }
public string Currency { get; set; }
public Guid? PaymentTermId { get; set; }
public PaymentTerm? PaymentTerm { get; set; }

View file

@ -18,8 +18,7 @@ public class PartnerBank : FullAuditedEntity<Guid>, IMultiTenant
public string BranchName { get; set; } //Şube Adı
public string AccountType { get; set; } //Hesap Türü
public Guid? CurrencyId { get; set; }
public Currency? Currency { get; set; }
public string Currency { get; set; }
public decimal Balance { get; set; }
public decimal OverdraftLimit { get; set; }

View file

@ -872,6 +872,7 @@ public class PlatformDbContext :
b.Property(x => x.Name).IsRequired().HasMaxLength(128);
b.Property(x => x.GroupName).HasMaxLength(128);
b.Property(x => x.TaxLabel).HasMaxLength(64);
b.Property(x => x.Currency).IsRequired().HasMaxLength(8);
b.HasIndex(x => x.Code).IsUnique();
b.HasIndex(x => x.GroupName);
@ -1726,6 +1727,7 @@ public class PlatformDbContext :
b.Property(x => x.AccountNumber).IsRequired().HasMaxLength(64);
b.Property(x => x.AccountOwner).IsRequired().HasMaxLength(256);
b.Property(x => x.Company).HasMaxLength(256);
b.Property(x => x.Currency).IsRequired().HasMaxLength(8);
b.Property(x => x.BankId).IsRequired();
@ -1759,6 +1761,7 @@ public class PlatformDbContext :
b.Property(x => x.IsActive).HasDefaultValue(true);
b.Property(x => x.MinSalary).HasPrecision(18, 2);
b.Property(x => x.MaxSalary).HasPrecision(18, 2);
b.Property(x => x.Currency).IsRequired().HasMaxLength(8);
});
builder.Entity<Badge>(b =>
@ -1818,6 +1821,7 @@ public class PlatformDbContext :
b.Property(x => x.IsActive).HasDefaultValue(true);
b.Property(x => x.ActualAmount).HasPrecision(18, 4);
b.Property(x => x.BudgetedAmount).HasPrecision(18, 4);
b.Property(x => x.Currency).IsRequired().HasMaxLength(8);
b.HasOne(x => x.ParentCostCenter)
.WithMany(x => x.SubCostCenters)
@ -1848,6 +1852,7 @@ public class PlatformDbContext :
b.Property(x => x.WorkLocation).HasMaxLength(150);
b.Property(x => x.IsActive).HasDefaultValue(true);
b.Property(x => x.BaseSalary).HasPrecision(18, 2);
b.Property(x => x.Currency).IsRequired().HasMaxLength(8);
b.HasOne(x => x.JobPosition)
.WithMany()
@ -2110,6 +2115,7 @@ public class PlatformDbContext :
b.Property(x => x.Status).IsRequired().HasMaxLength(20);
b.Property(x => x.RejectionReason).HasMaxLength(300);
b.Property(x => x.Notes).HasMaxLength(1000);
b.Property(x => x.Currency).IsRequired().HasMaxLength(8);
b.HasOne(x => x.Employee)
.WithMany(e => e.ExpenseRequests)
@ -2386,6 +2392,7 @@ public class PlatformDbContext :
b.Property(p => p.Website).HasMaxLength(128);
b.Property(p => p.CreditLimit).HasPrecision(18, 2).HasDefaultValue(0);
b.Property(p => p.Status).IsRequired().HasMaxLength(10);
b.Property(x => x.Currency).IsRequired().HasMaxLength(8);
//Supplier configuration
b.Property(x => x.CardNumber).HasMaxLength(64);
@ -2443,6 +2450,7 @@ public class PlatformDbContext :
b.Property(pb => pb.DailyTransferLimit).HasPrecision(18, 2).HasDefaultValue(0);
b.Property(pb => pb.IsDefault).HasDefaultValue(false);
b.Property(pb => pb.IsActive).HasDefaultValue(true);
b.Property(x => x.Currency).IsRequired().HasMaxLength(8);
b.HasOne(pb => pb.Partner)
.WithMany(x => x.Banks)
@ -2523,6 +2531,7 @@ public class PlatformDbContext :
b.Property(x => x.SalesPrice).HasPrecision(18, 2).HasDefaultValue(0);
b.Property(x => x.TotalStock).HasPrecision(18, 2).HasDefaultValue(0);
b.Property(x => x.IsActive).HasDefaultValue(true);
b.Property(x => x.Currency).IsRequired().HasMaxLength(8);
b.HasOne(x => x.MaterialType)
.WithMany(x => x.Materials)
@ -2614,9 +2623,10 @@ public class PlatformDbContext :
b.Property(x => x.Probability).HasDefaultValue(0);
b.Property(x => x.EstimatedValue).HasPrecision(18, 2).HasDefaultValue(0);
b.Property(x => x.ExpectedCloseDate).IsRequired();
b.Property(x => x.CurrencyId).IsRequired();
b.Property(x => x.Currency).IsRequired();
b.Property(x => x.SourceId).IsRequired();
b.Property(x => x.Status).IsRequired().HasMaxLength(50);
b.Property(x => x.Currency).IsRequired().HasMaxLength(8);
});
builder.Entity<Entities.Activity>(b =>

View file

@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace Erp.Platform.Migrations
{
[DbContext(typeof(PlatformDbContext))]
[Migration("20251123181533_Initial")]
[Migration("20251124190041_Initial")]
partial class Initial
{
/// <inheritdoc />
@ -1245,8 +1245,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -2580,8 +2582,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -2665,8 +2669,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -3972,8 +3978,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -4475,8 +4483,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -4998,8 +5008,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -6758,8 +6770,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -6828,8 +6842,6 @@ namespace Erp.Platform.Migrations
b.HasKey("Id");
b.HasIndex("CurrencyId");
b.HasIndex("MaterialGroupId");
b.HasIndex("MaterialTypeId");
@ -7450,8 +7462,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -7529,8 +7543,6 @@ namespace Erp.Platform.Migrations
b.HasKey("Id");
b.HasIndex("CurrencyId");
b.HasIndex("EmployeeId");
b.HasIndex("LossReasonId");
@ -7882,8 +7894,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("decimal(18,2)")
.HasDefaultValue(0m);
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<decimal>("CurrentBalance")
.ValueGeneratedOnAdd()
@ -8033,8 +8047,6 @@ namespace Erp.Platform.Migrations
b.HasKey("Id");
b.HasIndex("CurrencyId");
b.HasIndex("CustomerSegmentId");
b.HasIndex("CustomerTypeId");
@ -8096,8 +8108,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<decimal>("DailyTransferLimit")
.ValueGeneratedOnAdd()
@ -8161,8 +8175,6 @@ namespace Erp.Platform.Migrations
b.HasKey("Id");
b.HasIndex("CurrencyId");
b.HasIndex("PartnerId");
b.ToTable("Adm_T_PartnerBank", (string)null);
@ -15079,10 +15091,6 @@ namespace Erp.Platform.Migrations
modelBuilder.Entity("Erp.Platform.Entities.Material", b =>
{
b.HasOne("Erp.Platform.Entities.Currency", "Currency")
.WithMany()
.HasForeignKey("CurrencyId");
b.HasOne("Erp.Platform.Entities.MaterialGroup", "MaterialGroup")
.WithMany("Materials")
.HasForeignKey("MaterialGroupId")
@ -15098,8 +15106,6 @@ namespace Erp.Platform.Migrations
.HasForeignKey("UomId")
.OnDelete(DeleteBehavior.Restrict);
b.Navigation("Currency");
b.Navigation("MaterialGroup");
b.Navigation("MaterialType");
@ -15148,12 +15154,6 @@ namespace Erp.Platform.Migrations
modelBuilder.Entity("Erp.Platform.Entities.Opportunity", b =>
{
b.HasOne("Erp.Platform.Entities.Currency", "Currency")
.WithMany("Opportunities")
.HasForeignKey("CurrencyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Erp.Platform.Entities.Employee", "Employee")
.WithMany("Opportunities")
.HasForeignKey("EmployeeId");
@ -15168,8 +15168,6 @@ namespace Erp.Platform.Migrations
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Currency");
b.Navigation("Employee");
b.Navigation("LossReason");
@ -15201,10 +15199,6 @@ namespace Erp.Platform.Migrations
modelBuilder.Entity("Erp.Platform.Entities.Partner", b =>
{
b.HasOne("Erp.Platform.Entities.Currency", "Currency")
.WithMany()
.HasForeignKey("CurrencyId");
b.HasOne("Erp.Platform.Entities.CustomerSegment", "CustomerSegment")
.WithMany("Partners")
.HasForeignKey("CustomerSegmentId")
@ -15246,8 +15240,6 @@ namespace Erp.Platform.Migrations
.HasForeignKey("SupplyCardTypeId")
.OnDelete(DeleteBehavior.Restrict);
b.Navigation("Currency");
b.Navigation("CustomerSegment");
b.Navigation("CustomerType");
@ -15265,18 +15257,12 @@ namespace Erp.Platform.Migrations
modelBuilder.Entity("Erp.Platform.Entities.PartnerBank", b =>
{
b.HasOne("Erp.Platform.Entities.Currency", "Currency")
.WithMany()
.HasForeignKey("CurrencyId");
b.HasOne("Erp.Platform.Entities.Partner", "Partner")
.WithMany("Banks")
.HasForeignKey("PartnerId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.Navigation("Currency");
b.Navigation("Partner");
});
@ -15975,11 +15961,6 @@ namespace Erp.Platform.Migrations
b.Navigation("Cities");
});
modelBuilder.Entity("Erp.Platform.Entities.Currency", b =>
{
b.Navigation("Opportunities");
});
modelBuilder.Entity("Erp.Platform.Entities.CustomEntity", b =>
{
b.Navigation("Fields");

View file

@ -2810,7 +2810,7 @@ namespace Erp.Platform.Migrations
AccountNumber = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
BankId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
AccountOwner = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: false),
CurrencyId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
Currency = table.Column<string>(type: "nvarchar(8)", maxLength: 8, nullable: false),
CanTransferMoney = table.Column<bool>(type: "bit", nullable: false),
Company = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
@ -3256,7 +3256,7 @@ namespace Erp.Platform.Migrations
Code = table.Column<string>(type: "nvarchar(8)", maxLength: 8, nullable: false),
Name = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
GroupName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
CurrencyId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
Currency = table.Column<string>(type: "nvarchar(8)", maxLength: 8, nullable: false),
PhoneCode = table.Column<int>(type: "int", nullable: false),
TaxLabel = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
ZipRequired = table.Column<bool>(type: "bit", nullable: false),
@ -4285,7 +4285,7 @@ namespace Erp.Platform.Migrations
FaxNumber = table.Column<string>(type: "nvarchar(20)", maxLength: 20, nullable: true),
Email = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
Website = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
CurrencyId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
Currency = table.Column<string>(type: "nvarchar(8)", maxLength: 8, nullable: false),
PaymentTermId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
CreditLimit = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false, defaultValue: 0m),
LastOrderDate = table.Column<DateTime>(type: "datetime2", nullable: true),
@ -4329,11 +4329,6 @@ namespace Erp.Platform.Migrations
principalTable: "Crm_T_CustomerType",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_Adm_T_Partner_Sas_H_Currency_CurrencyId",
column: x => x.CurrencyId,
principalTable: "Sas_H_Currency",
principalColumn: "Id");
table.ForeignKey(
name: "FK_Adm_T_Partner_Sas_T_Sector_SectorId",
column: x => x.SectorId,
@ -4374,7 +4369,7 @@ namespace Erp.Platform.Migrations
AccountOwner = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
BranchName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
AccountType = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
CurrencyId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
Currency = table.Column<string>(type: "nvarchar(8)", maxLength: 8, nullable: false),
Balance = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false, defaultValue: 0m),
OverdraftLimit = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false, defaultValue: 0m),
DailyTransferLimit = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false, defaultValue: 0m),
@ -4397,11 +4392,6 @@ namespace Erp.Platform.Migrations
principalTable: "Adm_T_Partner",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_Adm_T_PartnerBank_Sas_H_Currency_CurrencyId",
column: x => x.CurrencyId,
principalTable: "Sas_H_Currency",
principalColumn: "Id");
});
migrationBuilder.CreateTable(
@ -4515,7 +4505,7 @@ namespace Erp.Platform.Migrations
UomId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
CostPrice = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false, defaultValue: 0m),
SalesPrice = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false, defaultValue: 0m),
CurrencyId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
Currency = table.Column<string>(type: "nvarchar(8)", maxLength: 8, nullable: false),
IsActive = table.Column<bool>(type: "bit", nullable: false, defaultValue: true),
TotalStock = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false, defaultValue: 0m),
TrackingType = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
@ -4536,11 +4526,6 @@ namespace Erp.Platform.Migrations
principalTable: "Adm_T_Uom",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
table.ForeignKey(
name: "FK_Scp_T_Material_Sas_H_Currency_CurrencyId",
column: x => x.CurrencyId,
principalTable: "Sas_H_Currency",
principalColumn: "Id");
table.ForeignKey(
name: "FK_Scp_T_Material_Scp_T_MaterialGroup_MaterialGroupId",
column: x => x.MaterialGroupId,
@ -4661,7 +4646,7 @@ namespace Erp.Platform.Migrations
Stage = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
Probability = table.Column<int>(type: "int", nullable: false, defaultValue: 0),
EstimatedValue = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false, defaultValue: 0m),
CurrencyId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
Currency = table.Column<string>(type: "nvarchar(8)", maxLength: 8, nullable: false),
ExpectedCloseDate = table.Column<DateTime>(type: "datetime2", nullable: false),
ActualCloseDate = table.Column<DateTime>(type: "datetime2", nullable: true),
EmployeeId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
@ -4691,12 +4676,6 @@ namespace Erp.Platform.Migrations
principalTable: "Prt_T_Source",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Crm_T_Opportunity_Sas_H_Currency_CurrencyId",
column: x => x.CurrencyId,
principalTable: "Sas_H_Currency",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
@ -4714,7 +4693,7 @@ namespace Erp.Platform.Migrations
CostCenterType = table.Column<string>(type: "nvarchar(max)", nullable: true),
BudgetedAmount = table.Column<decimal>(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false),
ActualAmount = table.Column<decimal>(type: "decimal(18,4)", precision: 18, scale: 4, nullable: false),
CurrencyId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
Currency = table.Column<string>(type: "nvarchar(8)", maxLength: 8, nullable: false),
FiscalYear = table.Column<string>(type: "nvarchar(10)", maxLength: 10, nullable: true),
IsActive = table.Column<bool>(type: "bit", nullable: false, defaultValue: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
@ -4787,7 +4766,7 @@ namespace Erp.Platform.Migrations
Level = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
MinSalary = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
MaxSalary = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
CurrencyId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
Currency = table.Column<string>(type: "nvarchar(8)", maxLength: 8, nullable: false),
RequiredSkills = table.Column<string>(type: "text", nullable: true),
Responsibilities = table.Column<string>(type: "text", nullable: true),
Qualifications = table.Column<string>(type: "text", nullable: true),
@ -4973,7 +4952,7 @@ namespace Erp.Platform.Migrations
WorkLocation = table.Column<string>(type: "nvarchar(150)", maxLength: 150, nullable: true),
ManagerId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
BaseSalary = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
CurrencyId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
Currency = table.Column<string>(type: "nvarchar(8)", maxLength: 8, nullable: false),
PayrollGroup = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
BankAccountId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
BadgeId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
@ -5192,7 +5171,7 @@ namespace Erp.Platform.Migrations
EmployeeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
Category = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
Amount = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
CurrencyId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
Currency = table.Column<string>(type: "nvarchar(8)", maxLength: 8, nullable: false),
RequestDate = table.Column<DateTime>(type: "datetime2", nullable: false),
Description = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true),
Project = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true),
@ -6338,11 +6317,6 @@ namespace Erp.Platform.Migrations
table: "Adm_T_OrderItem",
column: "OrderId");
migrationBuilder.CreateIndex(
name: "IX_Adm_T_Partner_CurrencyId",
table: "Adm_T_Partner",
column: "CurrencyId");
migrationBuilder.CreateIndex(
name: "IX_Adm_T_Partner_CustomerSegmentId",
table: "Adm_T_Partner",
@ -6383,11 +6357,6 @@ namespace Erp.Platform.Migrations
table: "Adm_T_Partner",
column: "SupplyCardTypeId");
migrationBuilder.CreateIndex(
name: "IX_Adm_T_PartnerBank_CurrencyId",
table: "Adm_T_PartnerBank",
column: "CurrencyId");
migrationBuilder.CreateIndex(
name: "IX_Adm_T_PartnerBank_PartnerId",
table: "Adm_T_PartnerBank",
@ -6560,11 +6529,6 @@ namespace Erp.Platform.Migrations
table: "Crm_T_Competitor",
column: "OpportunityId");
migrationBuilder.CreateIndex(
name: "IX_Crm_T_Opportunity_CurrencyId",
table: "Crm_T_Opportunity",
column: "CurrencyId");
migrationBuilder.CreateIndex(
name: "IX_Crm_T_Opportunity_EmployeeId",
table: "Crm_T_Opportunity",
@ -7091,11 +7055,6 @@ namespace Erp.Platform.Migrations
table: "Scp_T_ApprovalStep",
column: "ApprovalId");
migrationBuilder.CreateIndex(
name: "IX_Scp_T_Material_CurrencyId",
table: "Scp_T_Material",
column: "CurrencyId");
migrationBuilder.CreateIndex(
name: "IX_Scp_T_Material_MaterialGroupId",
table: "Scp_T_Material",
@ -7267,10 +7226,6 @@ namespace Erp.Platform.Migrations
name: "FK_Hr_T_Department_Hr_T_Employee_ManagerId",
table: "Hr_T_Department");
migrationBuilder.DropForeignKey(
name: "FK_Scp_T_Material_Sas_H_Currency_CurrencyId",
table: "Scp_T_Material");
migrationBuilder.DropForeignKey(
name: "FK_Adm_T_Uom_Scp_T_Material_MaterialId",
table: "Adm_T_Uom");
@ -7585,6 +7540,9 @@ namespace Erp.Platform.Migrations
migrationBuilder.DropTable(
name: "Sas_H_ContactTitle");
migrationBuilder.DropTable(
name: "Sas_H_Currency");
migrationBuilder.DropTable(
name: "Sas_H_DataSource");
@ -7870,9 +7828,6 @@ namespace Erp.Platform.Migrations
migrationBuilder.DropTable(
name: "Hr_T_JobPosition");
migrationBuilder.DropTable(
name: "Sas_H_Currency");
migrationBuilder.DropTable(
name: "Scp_T_Material");

View file

@ -1242,8 +1242,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -2577,8 +2579,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -2662,8 +2666,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -3969,8 +3975,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -4472,8 +4480,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -4995,8 +5005,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -6755,8 +6767,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -6825,8 +6839,6 @@ namespace Erp.Platform.Migrations
b.HasKey("Id");
b.HasIndex("CurrencyId");
b.HasIndex("MaterialGroupId");
b.HasIndex("MaterialTypeId");
@ -7447,8 +7459,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
@ -7526,8 +7540,6 @@ namespace Erp.Platform.Migrations
b.HasKey("Id");
b.HasIndex("CurrencyId");
b.HasIndex("EmployeeId");
b.HasIndex("LossReasonId");
@ -7879,8 +7891,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("decimal(18,2)")
.HasDefaultValue(0m);
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<decimal>("CurrentBalance")
.ValueGeneratedOnAdd()
@ -8030,8 +8044,6 @@ namespace Erp.Platform.Migrations
b.HasKey("Id");
b.HasIndex("CurrencyId");
b.HasIndex("CustomerSegmentId");
b.HasIndex("CustomerTypeId");
@ -8093,8 +8105,10 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("CurrencyId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(8)
.HasColumnType("nvarchar(8)");
b.Property<decimal>("DailyTransferLimit")
.ValueGeneratedOnAdd()
@ -8158,8 +8172,6 @@ namespace Erp.Platform.Migrations
b.HasKey("Id");
b.HasIndex("CurrencyId");
b.HasIndex("PartnerId");
b.ToTable("Adm_T_PartnerBank", (string)null);
@ -15076,10 +15088,6 @@ namespace Erp.Platform.Migrations
modelBuilder.Entity("Erp.Platform.Entities.Material", b =>
{
b.HasOne("Erp.Platform.Entities.Currency", "Currency")
.WithMany()
.HasForeignKey("CurrencyId");
b.HasOne("Erp.Platform.Entities.MaterialGroup", "MaterialGroup")
.WithMany("Materials")
.HasForeignKey("MaterialGroupId")
@ -15095,8 +15103,6 @@ namespace Erp.Platform.Migrations
.HasForeignKey("UomId")
.OnDelete(DeleteBehavior.Restrict);
b.Navigation("Currency");
b.Navigation("MaterialGroup");
b.Navigation("MaterialType");
@ -15145,12 +15151,6 @@ namespace Erp.Platform.Migrations
modelBuilder.Entity("Erp.Platform.Entities.Opportunity", b =>
{
b.HasOne("Erp.Platform.Entities.Currency", "Currency")
.WithMany("Opportunities")
.HasForeignKey("CurrencyId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Erp.Platform.Entities.Employee", "Employee")
.WithMany("Opportunities")
.HasForeignKey("EmployeeId");
@ -15165,8 +15165,6 @@ namespace Erp.Platform.Migrations
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Currency");
b.Navigation("Employee");
b.Navigation("LossReason");
@ -15198,10 +15196,6 @@ namespace Erp.Platform.Migrations
modelBuilder.Entity("Erp.Platform.Entities.Partner", b =>
{
b.HasOne("Erp.Platform.Entities.Currency", "Currency")
.WithMany()
.HasForeignKey("CurrencyId");
b.HasOne("Erp.Platform.Entities.CustomerSegment", "CustomerSegment")
.WithMany("Partners")
.HasForeignKey("CustomerSegmentId")
@ -15243,8 +15237,6 @@ namespace Erp.Platform.Migrations
.HasForeignKey("SupplyCardTypeId")
.OnDelete(DeleteBehavior.Restrict);
b.Navigation("Currency");
b.Navigation("CustomerSegment");
b.Navigation("CustomerType");
@ -15262,18 +15254,12 @@ namespace Erp.Platform.Migrations
modelBuilder.Entity("Erp.Platform.Entities.PartnerBank", b =>
{
b.HasOne("Erp.Platform.Entities.Currency", "Currency")
.WithMany()
.HasForeignKey("CurrencyId");
b.HasOne("Erp.Platform.Entities.Partner", "Partner")
.WithMany("Banks")
.HasForeignKey("PartnerId")
.OnDelete(DeleteBehavior.Restrict)
.IsRequired();
b.Navigation("Currency");
b.Navigation("Partner");
});
@ -15972,11 +15958,6 @@ namespace Erp.Platform.Migrations
b.Navigation("Cities");
});
modelBuilder.Entity("Erp.Platform.Entities.Currency", b =>
{
b.Navigation("Opportunities");
});
modelBuilder.Entity("Erp.Platform.Entities.CustomEntity", b =>
{
b.Navigation("Fields");

View file

@ -2430,7 +2430,7 @@
"level": "Mid",
"minSalary": 80000,
"maxSalary": 120000,
"currencyCode": "USD",
"currency": "USD",
"requiredSkills": [
"JavaScript",
"TypeScript",
@ -2458,7 +2458,7 @@
"level": "Manager",
"minSalary": 100000,
"maxSalary": 150000,
"currencyCode": "USD",
"currency": "USD",
"requiredSkills": [
"Project Management",
"Agile",
@ -2486,7 +2486,7 @@
"level": "Mid",
"minSalary": 70000,
"maxSalary": 100000,
"currencyCode": "USD",
"currency": "USD",
"requiredSkills": [
"Testing",
"Automation",
@ -2514,7 +2514,7 @@
"level": "Mid",
"minSalary": 75000,
"maxSalary": 110000,
"currencyCode": "USD",
"currency": "USD",
"requiredSkills": [
"Figma",
"Adobe Creative Suite",
@ -2542,7 +2542,7 @@
"level": "Mid",
"minSalary": 85000,
"maxSalary": 125000,
"currencyCode": "USD",
"currency": "USD",
"requiredSkills": [
"SQL",
"Python",
@ -2571,7 +2571,7 @@
"level": "Mid",
"minSalary": 60000,
"maxSalary": 85000,
"currencyCode": "USD",
"currency": "USD",
"requiredSkills": [
"HR Management",
"Recruitment",
@ -2599,7 +2599,7 @@
"level": "Junior",
"minSalary": 45000,
"maxSalary": 70000,
"currencyCode": "USD",
"currency": "USD",
"requiredSkills": [
"Sales",
"CRM",
@ -2627,7 +2627,7 @@
"level": "Mid",
"minSalary": 55000,
"maxSalary": 80000,
"currencyCode": "USD",
"currency": "USD",
"requiredSkills": [
"Accounting",
"Excel",
@ -2656,7 +2656,7 @@
"level": "Entry",
"minSalary": 35000,
"maxSalary": 50000,
"currencyCode": "USD",
"currency": "USD",
"requiredSkills": [
"Customer Service",
"Communication",
@ -2684,7 +2684,7 @@
"level": "Junior",
"minSalary": 50000,
"maxSalary": 75000,
"currencyCode": "USD",
"currency": "USD",
"requiredSkills": [
"Windows",
"Network Administration",
@ -2716,7 +2716,7 @@
"departmentCode": "HR",
"budgetedAmount": 2500000,
"actualAmount": 2350000,
"currencyCode": "TRY",
"currency": "TRY",
"fiscalYear": "2025",
"isActive": true
},
@ -2730,7 +2730,7 @@
"departmentCode": "HR",
"budgetedAmount": 1800000,
"actualAmount": 1650000,
"currencyCode": "TRY",
"currency": "TRY",
"fiscalYear": "2025",
"isActive": true
},
@ -2744,7 +2744,7 @@
"departmentCode": "HR",
"budgetedAmount": 1500000,
"actualAmount": 1420000,
"currencyCode": "TRY",
"currency": "TRY",
"fiscalYear": "2025",
"isActive": true
},
@ -2758,7 +2758,7 @@
"departmentCode": "HR",
"budgetedAmount": 3200000,
"actualAmount": 3100000,
"currencyCode": "TRY",
"currency": "TRY",
"fiscalYear": "2025",
"isActive": true
},
@ -2772,7 +2772,7 @@
"departmentCode": "HR",
"budgetedAmount": 8500000,
"actualAmount": 8200000,
"currencyCode": "TRY",
"currency": "TRY",
"fiscalYear": "2025",
"isActive": true
},
@ -2786,7 +2786,7 @@
"departmentCode": "DEP",
"budgetedAmount": 4200000,
"actualAmount": 4050000,
"currencyCode": "TRY",
"currency": "TRY",
"fiscalYear": "2025",
"isActive": true
},
@ -2800,7 +2800,7 @@
"departmentCode": "HR",
"budgetedAmount": 1200000,
"actualAmount": 1150000,
"currencyCode": "TRY",
"currency": "TRY",
"fiscalYear": "2025",
"isActive": true
},
@ -2814,7 +2814,7 @@
"departmentCode": "BAK",
"budgetedAmount": 2800000,
"actualAmount": 2650000,
"currencyCode": "TRY",
"currency": "TRY",
"fiscalYear": "2025",
"isActive": true
},
@ -2828,7 +2828,7 @@
"departmentCode": "KAL",
"budgetedAmount": 3500000,
"actualAmount": 3300000,
"currencyCode": "TRY",
"currency": "TRY",
"fiscalYear": "2025",
"isActive": true
},
@ -2842,7 +2842,7 @@
"departmentCode": "HR",
"budgetedAmount": 1600000,
"actualAmount": 1520000,
"currencyCode": "TRY",
"currency": "TRY",
"fiscalYear": "2025",
"isActive": true
},
@ -2856,7 +2856,7 @@
"departmentCode": "KAL",
"budgetedAmount": 2200000,
"actualAmount": 2100000,
"currencyCode": "TRY",
"currency": "TRY",
"fiscalYear": "2025",
"isActive": true
},
@ -2870,7 +2870,7 @@
"departmentCode": "IDR",
"budgetedAmount": 1000000,
"actualAmount": 950000,
"currencyCode": "TRY",
"currency": "TRY",
"fiscalYear": "2025",
"isActive": true
}
@ -2905,7 +2905,7 @@
"workLocation": "Ankara Merkez",
"baseSalary": 65000,
"managerCode": null,
"currencyCode": "TRY",
"currency": "TRY",
"payrollGroup": "Monthly",
"bankAccountNumber": "1",
"badgeCode": "B001",
@ -2945,7 +2945,7 @@
"workLocation": "Ankara Şube",
"baseSalary": 72000,
"managerCode": "EMP-001",
"currencyCode": "TRY",
"currency": "TRY",
"payrollGroup": "Monthly",
"bankAccountNumber": "2",
"badgeCode": "B002",
@ -2985,7 +2985,7 @@
"workLocation": "İstanbul HQ",
"baseSalary": 85000,
"managerCode": "EMP-001",
"currencyCode": "TRY",
"currency": "TRY",
"payrollGroup": "Monthly",
"bankAccountNumber": "2",
"badgeCode": "B003",
@ -3025,7 +3025,7 @@
"workLocation": "Ankara Şube",
"baseSalary": 60000,
"managerCode": "EMP-003",
"currencyCode": "TRY",
"currency": "TRY",
"payrollGroup": "Monthly",
"bankAccountNumber": "3",
"badgeCode": "B004",
@ -3065,7 +3065,7 @@
"workLocation": "İstanbul HQ",
"baseSalary": 95000,
"managerCode": "EMP-001",
"currencyCode": "TRY",
"currency": "TRY",
"payrollGroup": "Monthly",
"bankAccountNumber": "4",
"badgeCode": "B005",
@ -3105,7 +3105,7 @@
"workLocation": "İzmir Ofis",
"baseSalary": 15000,
"managerCode": "EMP-003",
"currencyCode": "TRY",
"currency": "TRY",
"payrollGroup": "Monthly",
"bankAccountNumber": "1",
"badgeCode": "B006",
@ -3145,7 +3145,7 @@
"workLocation": "Bursa Depo",
"baseSalary": 75000,
"managerCode": "EMP-001",
"currencyCode": "TRY",
"currency": "TRY",
"payrollGroup": "Monthly",
"bankAccountNumber": "3",
"badgeCode": "B007",
@ -3185,7 +3185,7 @@
"workLocation": "İzmir Bölge Ofisi",
"baseSalary": 130000,
"managerCode": "EMP-001",
"currencyCode": "TRY",
"currency": "TRY",
"payrollGroup": "Monthly",
"bankAccountNumber": "2",
"badgeCode": "B008",
@ -3225,7 +3225,7 @@
"workLocation": "Ankara Çağrı Merkezi",
"baseSalary": 50000,
"managerCode": "EMP-003",
"currencyCode": "TRY",
"currency": "TRY",
"payrollGroup": "Monthly",
"bankAccountNumber": "1",
"badgeCode": "B009",
@ -3265,7 +3265,7 @@
"workLocation": "İstanbul Genel Merkez",
"baseSalary": 250000,
"managerCode": "EMP-001",
"currencyCode": "TRY",
"currency": "TRY",
"payrollGroup": "Monthly",
"bankAccountNumber": "4",
"badgeCode": "B010",
@ -3843,7 +3843,7 @@
"employeeCode": "EMP-001",
"category": "travel",
"amount": 850,
"currencyCode": "TRY",
"currency": "TRY",
"requestDate": "2025-10-04",
"description": "Ankara ofis ziyareti - uçak bileti",
"project": "Intranet v2",
@ -3855,7 +3855,7 @@
"employeeCode": "EMP-002",
"category": "meal",
"amount": 320,
"currencyCode": "TRY",
"currency": "TRY",
"requestDate": "2025-10-07",
"description": "Müşteri toplantısı - öğle yemeği",
"project": null,
@ -3867,7 +3867,7 @@
"employeeCode": "EMP-003",
"category": "accommodation",
"amount": 1200,
"currencyCode": "TRY",
"currency": "TRY",
"requestDate": "2025-10-04",
"description": "İzmir workshop - otel konaklaması (2 gece)",
"project": "UX Workshop",
@ -4300,7 +4300,7 @@
"uomName": "Adet",
"costPrice": 15.5,
"salesPrice": 18.75,
"currencyCode": "TRY",
"currency": "TRY",
"isActive": true,
"totalStock": 2500.0,
"trackingType": "Quantity"
@ -4315,7 +4315,7 @@
"uomName": "kg",
"costPrice": 45.0,
"salesPrice": 55.0,
"currencyCode": "TRY",
"currency": "TRY",
"isActive": true,
"totalStock": 1200.0,
"trackingType": "Lot"
@ -4330,7 +4330,7 @@
"uomName": "Adet",
"costPrice": 850.0,
"salesPrice": 1200.0,
"currencyCode": "TRY",
"currency": "TRY",
"isActive": true,
"totalStock": 45.0,
"trackingType": "Lot"
@ -4345,7 +4345,7 @@
"uomName": "Adet",
"costPrice": 25.0,
"salesPrice": 35.0,
"currencyCode": "TRY",
"currency": "TRY",
"isActive": true,
"totalStock": 150.0,
"trackingType": "Quantity"
@ -4360,7 +4360,7 @@
"uomName": "Adet",
"costPrice": 8.5,
"salesPrice": 15.0,
"currencyCode": "TRY",
"currency": "TRY",
"isActive": true,
"totalStock": 850.0,
"trackingType": "Serial"
@ -4538,7 +4538,7 @@
"FaxNumber": null,
"Email": "aliveli@gmail.com",
"Website": "www.abcmalzeme.com",
"CurrencyCode": "TRY",
"Currency": "TRY",
"PaymentTermName": "Net30",
"CreditLimit": 500000,
"Status": "Aktif",
@ -4576,7 +4576,7 @@
"FaxNumber": null,
"Email": "aysedemir@gmail.com",
"Website": null,
"CurrencyCode": "TRY",
"Currency": "TRY",
"PaymentTermName": "Net15",
"CreditLimit": 250000,
"Status": "Aktif",
@ -4614,7 +4614,7 @@
"FaxNumber": null,
"Email": "mehmetyilmaz@gmail.com",
"Website": null,
"CurrencyCode": "TRY",
"Currency": "TRY",
"PaymentTermName": "Net45",
"CreditLimit": 150000,
"Status": "Aktif",
@ -4652,7 +4652,7 @@
"FaxNumber": null,
"Email": "fatmacelik@gmail.com",
"Website": null,
"CurrencyCode": "TRY",
"Currency": "TRY",
"PaymentTermName": "Net30",
"CreditLimit": 100000,
"Status": "Pasif",
@ -4690,7 +4690,7 @@
"FaxNumber": null,
"Email": null,
"Website": "www.uretim.com",
"CurrencyCode": "TRY",
"Currency": "TRY",
"PaymentTermName": "Net60",
"CreditLimit": 500000,
"Status": "Aktif",
@ -4728,7 +4728,7 @@
"FaxNumber": null,
"Email": null,
"Website": "www.teknoloji.com",
"CurrencyCode": "TRY",
"Currency": "TRY",
"PaymentTermName": "Net30",
"CreditLimit": 1000000,
"Status": "Aktif",

View file

@ -985,7 +985,6 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
if (string.IsNullOrWhiteSpace(item.Code) || string.IsNullOrWhiteSpace(item.Name))
continue;
var currency = await _currencyRepository.FirstOrDefaultAsync(x => x.Code == item.CurrencyCode);
var parentCostCenter = await _costCenterRepository.FirstOrDefaultAsync(x => x.Code == item.ParentCostCenterCode);
var responsibleEmployee = await _employeeRepository.FirstOrDefaultAsync(x => x.Code == item.ResponsibleEmployeeCode);
var department = await _departmentRepository.FirstOrDefaultAsync(x => x.Code == item.DepartmentCode);
@ -1005,7 +1004,7 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
CostCenterType = item.CostCenterType,
BudgetedAmount = item.BudgetedAmount,
ActualAmount = item.ActualAmount,
CurrencyId = currency != null ? currency.Id : null,
Currency = item.Currency,
FiscalYear = item.FiscalYear,
IsActive = item.IsActive
}, autoSave: true);
@ -1020,7 +1019,6 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
if (exists)
continue;
var currency = await _currencyRepository.FirstOrDefaultAsync(x => x.Code == item.CurrencyCode);
var department = await _departmentRepository.FirstOrDefaultAsync(x => x.Code == item.DepartmentCode);
await _jobPositionRepository.InsertAsync(new JobPosition
@ -1032,7 +1030,7 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
Level = item.Level,
MinSalary = item.MinSalary,
MaxSalary = item.MaxSalary,
CurrencyId = currency != null ? currency.Id : null,
Currency = item.Currency,
RequiredSkills = item.RequiredSkills != null ? string.Join(",", item.RequiredSkills) : null,
Responsibilities = item.Responsibilities != null ? string.Join(",", item.Responsibilities) : null,
Qualifications = item.Qualifications != null ? string.Join(",", item.Qualifications) : null,
@ -1049,7 +1047,6 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
var employmentType = await _employeeTypeRepository.FirstOrDefaultAsync(x => x.Name == item.EmploymentTypeName);
var department = await _departmentRepository.FirstOrDefaultAsync(x => x.Code == item.DepartmentCode);
var jobPosition = await _jobPositionRepository.FirstOrDefaultAsync(x => x.Code == item.JobPositionCode);
var currency = await _currencyRepository.FirstOrDefaultAsync(x => x.Code == item.CurrencyCode);
var manager = await _employeeRepository.FirstOrDefaultAsync(x => x.Code == item.ManagerCode);
var bankAccount = await _bankAccountRepository.FirstOrDefaultAsync(x => x.AccountNumber == item.BankAccountNumber);
var badge = await _badgeRepository.FirstOrDefaultAsync(x => x.Code == item.BadgeCode);
@ -1087,7 +1084,7 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
WorkLocation = item.WorkLocation,
BaseSalary = item.BaseSalary,
ManagerId = manager != null ? manager.Id : null,
CurrencyId = currency != null ? currency.Id : null,
Currency = item.Currency,
PayrollGroup = item.PayrollGroup,
BankAccountId = bankAccount != null ? bankAccount.Id : null,
@ -1381,14 +1378,13 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
if (exists)
continue;
var approver = await _employeeRepository.FirstOrDefaultAsync(x => x.Code == item.ApproverCode);
var currency = await _currencyRepository.FirstOrDefaultAsync(x => x.Code == item.CurrencyCode);
await _expenseRepository.InsertAsync(new Expense
{
EmployeeId = employee != null ? employee.Id : null,
Category = item.Category,
Amount = item.Amount,
CurrencyId = currency != null ? currency.Id : null,
Currency = item.Currency,
RequestDate = item.RequestDate,
Description = item.Description,
Project = item.Project,
@ -1716,7 +1712,6 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
var type = await _materialTypeRepository.FirstOrDefaultAsync(x => x.Code == item.MaterialTypeCode);
var group = await _materialGroupRepository.FirstOrDefaultAsync(x => x.Code == item.MaterialGroupCode);
var currency = await _currencyRepository.FirstOrDefaultAsync(x => x.Code == item.CurrencyCode);
var uom = await _uomRepository.FirstOrDefaultAsync(x => x.Name == item.UomName);
await _materialRepository.InsertAsync(new Material
@ -1727,7 +1722,7 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
UomId = uom?.Id,
CostPrice = item.CostPrice,
SalesPrice = item.SalesPrice,
CurrencyId = currency?.Id,
Currency = item.Currency,
IsActive = item.IsActive,
TotalStock = item.TotalStock,
MaterialTypeId = type?.Id,
@ -1843,7 +1838,6 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
if (exists)
continue;
var currency = await _currencyRepository.FirstOrDefaultAsync(x => x.Code == item.CurrencyCode);
var sector = await _sectorRepository.FirstOrDefaultAsync(x => x.Name == item.SectorName);
var paymentTerm = await _paymentTermRepository.FirstOrDefaultAsync(x => x.Name == item.PaymentTermName);
var customerType = await _customerTypeRepository.FirstOrDefaultAsync(x => x.Name == item.CustomerTypeName);
@ -1871,7 +1865,7 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
FaxNumber = item.FaxNumber,
Email = item.Email,
Website = item.Website,
CurrencyId = currency?.Id,
Currency = item.Currency,
PaymentTermId = paymentTerm?.Id,
CreditLimit = item.CreditLimit,
Status = item.Status,

View file

@ -251,7 +251,7 @@ public class PartnerSeedDto
public string FaxNumber { get; set; }
public string Email { get; set; }
public string Website { get; set; }
public string CurrencyCode { get; set; }
public string Currency { get; set; }
public string PaymentTermName { get; set; }
public decimal CreditLimit { get; set; }
public string Status { get; set; }
@ -330,7 +330,7 @@ public class MaterialSeedDto
public string UomName { get; set; }
public decimal CostPrice { get; set; }
public decimal SalesPrice { get; set; }
public string CurrencyCode { get; set; }
public string Currency { get; set; }
public bool IsActive { get; set; }
public decimal TotalStock { get; set; }
public string TrackingType { get; set; }
@ -452,7 +452,7 @@ public class ExpenseRequestSeedDto
public string EmployeeCode { get; set; }
public string Category { get; set; }
public decimal Amount { get; set; }
public string CurrencyCode { get; set; }
public string Currency { get; set; }
public DateTime RequestDate { get; set; }
public string Description { get; set; }
public string Project { get; set; }
@ -625,7 +625,7 @@ public class EmployeeSeedDto
public decimal BaseSalary { get; set; }
public string ManagerCode { get; set; }
public string CurrencyCode { get; set; }
public string Currency { get; set; }
public string PayrollGroup { get; set; }
public string BankAccountNumber { get; set; }
@ -660,7 +660,7 @@ public class CostCenterSeedDto
public string CostCenterType { get; set; }
public decimal BudgetedAmount { get; set; }
public decimal ActualAmount { get; set; }
public string CurrencyCode { get; set; }
public string Currency { get; set; }
public string FiscalYear { get; set; }
public bool IsActive { get; set; }
}
@ -687,7 +687,7 @@ public class JobPositionSeedDto
public string Level { get; set; }
public decimal MinSalary { get; set; }
public decimal MaxSalary { get; set; }
public string CurrencyCode { get; set; }
public string Currency { get; set; }
public List<string> RequiredSkills { get; set; }
public List<string> Responsibilities { get; set; }
public List<string> Qualifications { get; set; }