Skip to content

Commit fc5811e

Browse files
committed
first stab at a model [domain_model_1]
1 parent 5be7bcf commit fc5811e

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

model.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from __future__ import annotations
2+
from dataclasses import dataclass
3+
from datetime import date
4+
from typing import Optional
5+
6+
7+
@dataclass(frozen=True)
8+
class OrderLine:
9+
orderid: str
10+
sku: str
11+
qty: int
12+
13+
14+
class Batch:
15+
def __init__(self, ref: str, sku: str, qty: int, eta: Optional[date]):
16+
self.reference = ref
17+
self.sku = sku
18+
self.eta = eta
19+
self.available_quantity = qty
20+
21+
def allocate(self, line: OrderLine):
22+
self.available_quantity -= line.qty

0 commit comments

Comments
 (0)