小编Erp*_*erp的帖子

DDD 和文件管理

我正在组装一个简单的文档管理系统,我试图遵循可靠的 DDD 原则,一切都在顺利进行。我一直质疑的一个领域是管理文件的最干净的解决方案是什么。

作为背景,许多文档管理将围绕上传文档并将其分配给特定的“工作订单”。这是在制造业中,我们需要跟踪某些文件,并在完成客户的产品后将其发送给客户。

因此,我的有界上下文主要由几个主要实体组成,例如 DocumentPackage、文档、需求等。DocumentPackage 是单个“工作订单”的文档分组。同一文档可以在多个 DocumentPackages 中使用。每个 DocumentPackage 都有一定数量的需求,这是作为包的一部分所需的不同类型的文档。

因此,当涉及到上传和下载文件、操作文件以及更新数据库以反映这些更改时,我最想在哪里处理大部分操作?

这是我拥有的 UploadDocumentCommand 和处理程序的示例。请注意,我决定将上传的文件保存到 API 控制器中的本地文件系统,并将其作为 FileInfo 传递到我的命令中。

public class UploadDocumentCommand : IRequest<AppResponse>
{
    public UploadDocumentCommand(Guid documentId, string workOrderNumber, FileInfo file, Guid? requirementId = null)
    {
        DocumentId = documentId;
        WorkOrderNumber = new WorkOrderNumber(workOrderNumber);
        FileInfo = file;
        RequirementId = requirementId;
    }

    public Guid DocumentId { get; }
    public WorkOrderNumber WorkOrderNumber { get; }
    public Guid? RequirementId { get; }
    public FileInfo FileInfo { get; }
}

public class UploadDocumentCommandHandler : …
Run Code Online (Sandbox Code Playgroud)

c# events domain-driven-design cqrs asp.net-core

8
推荐指数
0
解决办法
2513
查看次数

CSS 中不存在属性“grid-gap”

处理 ASP.NET MVC 项目和 Visual Studio 无法识别网格间隙。是不是因为我在这个项目中的 CSS 版本?没找到设置的地方,有什么推荐的吗?

编辑:grid-row-gap 也无法识别

css asp.net-mvc visual-studio

6
推荐指数
1
解决办法
8509
查看次数

EF Core 非原始类型值对象作为主键?

我一直在尝试使用值对象作为实体框架核心中的唯一 id。我已经到了正确保存到数据库的地步,但是 EF 没有正确查询数据库以找到我的实体。看起来 EF 正在加载整个表,然后在内存中进行映射。当我查看查询时,它不包含 id 的谓词。

我正在处理一个现有的数据库,该数据库使用带有填充零的 10 个字符串 ID,因此我正在查看是否可以将它们作为值对象使用。我接下来要尝试的是使用 Guid 并将“SalesOrderNumber”作为单独的字段。不过,这只是针对这种情况,我真正想弄清楚的是,是否可以将值对象用作实体框架中的主键。

实体:

public class SalesOrder: Entity<SalesOrderNumber>
    {
        private SalesOrder() { }

        public SalesOrder(SalesOrderNumber id, DateTime dueDate)
        {
            Id = id;
            DueDate = dueDate;
            Open = true;
        }

        public override SalesOrderNumber Id { get; protected set; }
        public DateTime DueDate { get; private set; }
        public bool Open { get; private set; }
    }
Run Code Online (Sandbox Code Playgroud)

值对象:

  public class SalesOrderNumber: ValueObject
    {
        private readonly string _salesOrderNumber;

        public SalesOrderNumber(string salesOrderNumber)
        { …
Run Code Online (Sandbox Code Playgroud)

domain-driven-design entity-framework-core

6
推荐指数
1
解决办法
2064
查看次数

如何在wpf中创建多色分段进度条?

我正在尝试创建一个UserControl,它充当一种分段进度条.输入将是对象的集合,每个对象将具有类别,持续时间属性和状态属性.UserControl应该拉伸父控件的宽度和高度.集合中的每个项目应代表进度条的一部分; 段的颜色与状态相关,段的宽度与持续时间相关,并且段上覆盖的文本将与类别或其他内容相关.

示例: 自定义进度条

文本可能是集合项的ID,顶部颜色与状态相关,底部颜色与类别相关,宽度与持续时间相关.

我考虑过的一些选项:

  • 制作一个stackpanel,以某种方式定义每个项目的宽度,并将整个事物包装在一个视图框中,使其拉伸高度和宽度.如何控制文本大小,如何使内容适合高度,如何将堆栈面板绑定到集合?
  • 为网格控件创建附加属性,该属性将动态创建列并将集合项映射到网格.看起来像很多工作,我希望这是一个更简单的解决方案,因为我的要求非常具体.
  • 也许这是一种覆盖均匀网格以使其不均匀的方法?
  • 也许我应该通过迭代我的集合去所有代码隐藏和绘制矩形?

无论哪种方式,我正在交叉我的手指,有人可能知道我的问题的简单解决方案.

c# wpf xaml custom-controls progress-bar

5
推荐指数
1
解决办法
3250
查看次数