Skip to content

Instantly share code, notes, and snippets.

module Medhavi.Domain.Material.BillOfMaterials
open System
open Medhavi.Domain.Ids
open Medhavi.Domain
open Medhavi.Domain.Validation
open Medhavi.Common.ResultCE
type BomItem =
{
namespace Medhavi.Domain.Calendar
open System
open System.Text.Json.Serialization
open Medhavi.Domain.Ids
[<JsonFSharpConverter>]
type CalendarType =
| ResourceCalendar
| PlantCalendar
module Medhavi.Domain.Customer
open System
open Medhavi.Domain.Ids
open Medhavi.Domain
open Medhavi.Domain.Validation
open Medhavi.Common.ResultCE
type Customer =
{
module Medhavi.Domain.Validation
open System
open Medhavi.Domain
/// Reusable validation helpers for command/input checks
let required (field: string) (value: string) =
if String.IsNullOrWhiteSpace value then
Error(DomainError.Validation(DomainErrorCodes.ValidationFailed, $"{field} is required", Map.empty))
else
module Orders.Service
open Orders.Domain
open Akka.Actor
type OrderCommand =
| CreateOrder of customerId: string * orderId: string
| UpdateOrder of order: Order * status: OrderStatus
| CancelOrder of order: Order
| ConfirmOrder of id: OrderId