Browse Source

项目更改名称索引

bjmzak
wxd 2 years ago
parent
commit
71a3343b70
  1. 2
      src/Shentun.Peis.Domain/Items/Item.cs
  2. 16
      src/Shentun.Peis.Domain/Items/ItemManager.cs
  3. 13496
      src/Shentun.Peis.EntityFrameworkCore/Migrations/20240418104010_init20240418004.Designer.cs
  4. 35
      src/Shentun.Peis.EntityFrameworkCore/Migrations/20240418104010_init20240418004.cs
  5. 2
      src/Shentun.Peis.EntityFrameworkCore/Migrations/PeisDbContextModelSnapshot.cs

2
src/Shentun.Peis.Domain/Items/Item.cs

@ -13,7 +13,7 @@ namespace Shentun.Peis.Models
/// 项目设置
/// </summary>
[Table("item")]
[Index(nameof(DisplayName), Name = "ix_item", IsUnique = true)]
[Index(nameof(DisplayName), nameof(ItemTypeId), Name = "ix_item", IsUnique = true)]
public class Item : AuditedEntity<Guid>, IDisplayName, IDisplayOrder, IHasConcurrencyStamp
{
public Item()

16
src/Shentun.Peis.Domain/Items/ItemManager.cs

@ -65,7 +65,13 @@ namespace Shentun.Peis.Items
)
{
Verify(entity);
await EntityHelper.CheckSameName<Item, Guid>(_repository, entity.DisplayName);
//await EntityHelper.CheckSameName<Item, Guid>(_repository, entity.DisplayName);
var existEntity = await _repository.CountAsync(o => o.DisplayName == entity.DisplayName
&& o.ItemTypeId == entity.ItemTypeId);
if (existEntity > 0)
{
throw new UserFriendlyException($"名称:'{entity.DisplayName}'在同一科室下已存在");
}
return new Item
{
DisplayName = entity.DisplayName,
@ -108,7 +114,13 @@ namespace Shentun.Peis.Items
Verify(sourceEntity);
if (sourceEntity.DisplayName != targetEntity.DisplayName)
{
await EntityHelper.CheckSameName<Item, Guid>(_repository, sourceEntity.DisplayName, targetEntity);
var existEntity = await _repository.CountAsync(o => o.Id != targetEntity.Id && o.DisplayName == sourceEntity.DisplayName
&& o.ItemTypeId == sourceEntity.ItemTypeId);
if (existEntity > 0)
{
throw new UserFriendlyException($"名称:'{sourceEntity.DisplayName}'在同一科室下已存在");
}
//await EntityHelper.CheckSameName<Item, Guid>(_repository, sourceEntity.DisplayName, targetEntity);
targetEntity.DisplayName = sourceEntity.DisplayName;
targetEntity.SimpleCode = LanguageConverter.GetPYSimpleCode(targetEntity.DisplayName);
}

13496
src/Shentun.Peis.EntityFrameworkCore/Migrations/20240418104010_init20240418004.Designer.cs
File diff suppressed because it is too large
View File

35
src/Shentun.Peis.EntityFrameworkCore/Migrations/20240418104010_init20240418004.cs

@ -0,0 +1,35 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Shentun.Peis.Migrations
{
public partial class init20240418004 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropIndex(
name: "ix_item",
table: "item");
migrationBuilder.CreateIndex(
name: "ix_item",
table: "item",
columns: new[] { "display_name", "item_type_id" },
unique: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropIndex(
name: "ix_item",
table: "item");
migrationBuilder.CreateIndex(
name: "ix_item",
table: "item",
column: "display_name",
unique: true);
}
}
}

2
src/Shentun.Peis.EntityFrameworkCore/Migrations/PeisDbContextModelSnapshot.cs

@ -4303,7 +4303,7 @@ namespace Shentun.Peis.Migrations
b.HasIndex("ItemTypeId");
b.HasIndex(new[] { "DisplayName" }, "ix_item")
b.HasIndex(new[] { "DisplayName", "ItemTypeId" }, "ix_item")
.IsUnique();
b.ToTable("item");

Loading…
Cancel
Save