private void executeRemoveQuantity() { if (FocusedRow == null) { _eventAggregator.PublishOnUIThread(new StatusEvent(this, "No asset selected")); return; } var vm = new AssetRemoveQuantityDialogViewModel(FocusedRow); vm.Quantity = Math.Abs(FocusedRow.CalculatedQuantity); if (_windowManager.ShowDialog(vm).GetValueOrDefault() && vm.Quantity > 0) { var newQuantity = FocusedRow.CalculatedQuantity - vm.Quantity; if (newQuantity < 0) { _eventAggregator.PublishOnUIThread(new StatusEvent(this, "New quantity cannot be less than zero")); return; } if (newQuantity <= 0) { newQuantity = 0; FocusedRow.BrokerFees = 0; FocusedRow.MaterialCost = 0; } else { FocusedRow.BrokerFees = (FocusedRow.BrokerFees / FocusedRow.CalculatedQuantity) * newQuantity; FocusedRow.MaterialCost = (FocusedRow.MaterialCost / FocusedRow.CalculatedQuantity) * newQuantity; } FocusedRow.CalculatedQuantity = newQuantity; var mod = new AssetModification(); mod.Quantity = 0 - vm.Quantity; mod.Description = vm.Description; mod.Date = vm.Date; mod.AssetId = FocusedRow.Asset.Id; mod.PostModificationQuantity = newQuantity; _assetManagerService.AddModification(mod); FocusedRow.AssetModifications.Add(mod); } }
private void executeAddQuantity() { if (FocusedRow == null) { _eventAggregator.PublishOnUIThread(new StatusEvent(this, "No asset selected")); return; } var vm = new AssetAddQuantityDialogViewModel(FocusedRow); if (_windowManager.ShowDialog(vm).GetValueOrDefault() && vm.Quantity > 0) { FocusedRow.MaterialCost += vm.TransactionCost; FocusedRow.CalculatedQuantity += vm.Quantity; var mod = new AssetModification(); mod.AssetId = FocusedRow.Asset.Id; mod.Quantity = vm.Quantity; mod.Description = vm.Description; mod.Date = vm.Date; mod.PostModificationQuantity = FocusedRow.CalculatedQuantity; mod.TransactionValue = vm.TransactionCost; _assetManagerService.AddModification(mod); FocusedRow.AssetModifications.Add(mod); } }
public Transaction(string guid, AssetModification state, long timestamp) : this(guid, (int)state, timestamp) { }
public Transaction(string guid, AssetModification state) : this(guid, (int)state) { }
public void AddModification(AssetModification modification) { Db.Context.AssetModifications.Add(modification); }