19
19
<div class =" mat-layout-grid-inner" >
20
20
<div class =" mat-layout-grid-cell mat-layout-grid-cell-span-2" ></div >
21
21
<div class =" mat-layout-grid-cell mat-layout-grid-cell-span-8" >
22
- <MatButton Outlined =" true" Icon =" keyboard_arrow_left" Style =" margin-bottom: 1rem;" OnClick =' () => { NavigationManager.NavigateTo($"/entries/{ActiveEntry .Id}"); }' >Back</MatButton >
22
+ <MatButton Outlined =" true" Icon =" keyboard_arrow_left" Style =" margin-bottom: 1rem;" OnClick =' () => { NavigationManager.NavigateTo($"/entries/{_activeEntry .Id}"); }' >Back</MatButton >
23
23
<MatCard >
24
24
<MatCardContent class =" demo-mat-card-content" >
25
25
<h2 >Edit a market order</h2 >
26
- <OrderForm Edit =" true" FormModel =" @InitialOrderModel " Currency =" @ActivePortfolio .Currency" Symbol =" @ActiveEntry .Symbol" OnSubmitEventHandler =" @OnCreateOrderFormSubmit" ></OrderForm >
26
+ <OrderForm Edit =" true" FormModel =" @_initialOrderModel " Currency =" @_activePortfolio .Currency" Symbol =" @_activeEntry .Symbol" OnSubmitEventHandler =" @OnCreateOrderFormSubmit" ></OrderForm >
27
27
</MatCardContent >
28
28
</MatCard >
29
29
</div >
34
34
35
35
@code
36
36
{
37
+ // ID of the order to be edited
37
38
[Parameter ]
38
39
public int OrderId { get ; set ; }
39
40
40
- protected OrderForm .NewOrderModel InitialOrderModel ;
41
- protected Portfolio ActivePortfolio ;
42
- protected PortfolioEntry ActiveEntry ;
43
- protected MarketOrder ActiveMarketOrder ;
41
+ // order form model
42
+ private OrderForm .NewOrderModel _initialOrderModel ;
43
+
44
+ // portfolio the order will belong to
45
+ private Portfolio _activePortfolio ;
46
+
47
+ // portfolio entry the order will belong to
48
+ private PortfolioEntry _activeEntry ;
49
+
50
+ // edited order
51
+ private MarketOrder _activeMarketOrder ;
44
52
45
53
protected override void OnInitialized ()
46
54
{
47
- ActiveMarketOrder = MarketOrderService .GetMarketOrder (OrderId );
48
- ActiveEntry = PortfolioEntrySerivce .GetPortfolioEntry (ActiveMarketOrder .PortfolioEntryId );
49
- ActivePortfolio = PortfolioService .GetPortfolio (ActiveEntry .PortfolioId );
50
- InitialOrderModel = new ();
51
- InitialOrderModel .Fee = ActiveMarketOrder .Fee ;
52
- InitialOrderModel .Size = ActiveMarketOrder .Size ;
53
- InitialOrderModel .FilledPrice = ActiveMarketOrder .FilledPrice ;
54
- InitialOrderModel .OrderDate = ActiveMarketOrder .Date ;
55
- InitialOrderModel .SellOrder = ! ActiveMarketOrder .Buy ;
55
+ // fetch the order to be edited
56
+ _activeMarketOrder = MarketOrderService .GetMarketOrder (OrderId );
57
+ _activeEntry = PortfolioEntrySerivce .GetPortfolioEntry (_activeMarketOrder .PortfolioEntryId );
58
+ _activePortfolio = PortfolioService .GetPortfolio (_activeEntry .PortfolioId );
59
+
60
+ // initialize the order form model
61
+ _initialOrderModel = new ();
62
+ _initialOrderModel .Fee = _activeMarketOrder .Fee ;
63
+ _initialOrderModel .Size = _activeMarketOrder .Size ;
64
+ _initialOrderModel .FilledPrice = _activeMarketOrder .FilledPrice ;
65
+ _initialOrderModel .OrderDate = _activeMarketOrder .Date ;
66
+ _initialOrderModel .SellOrder = ! _activeMarketOrder .Buy ;
56
67
}
57
68
58
69
private void OnCreateOrderFormSubmit (OrderForm .NewOrderModel formModel )
59
70
{
60
- MarketOrderService .UpdateMarketOrder (ActiveMarketOrder with {
71
+ // update the order
72
+ MarketOrderService .UpdateMarketOrder (_activeMarketOrder with {
61
73
FilledPrice = formModel .FilledPrice ,
62
74
Fee = formModel .Fee ,
63
75
Size = formModel .Size ,
64
76
Date = formModel .OrderDate ,
65
77
Buy = ! formModel .SellOrder
66
78
});
67
79
Toaster .Add (" Order successfully edited" , MatToastType .Success , " " , " " );
68
- NavigationManager .NavigateTo ($" /entries/{ActiveEntry .Id }" );
80
+
81
+ // navigate back to the portfolio entry detail
82
+ NavigationManager .NavigateTo ($" /entries/{_activeEntry .Id }" );
69
83
}
70
84
}
0 commit comments