Skip to content

Commit

Permalink
Added opening stock in capital gains generator
Browse files Browse the repository at this point in the history
  • Loading branch information
nachiappannk committed May 18, 2017
1 parent b6ea29a commit 89e4f7c
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 15 deletions.
2 changes: 1 addition & 1 deletion Simplify/Simplify/ExcelDataGateway/TradeLogGateway.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public void WriteOpenPositions(IList<TradeStatement> balanceSheet)
writer.ApplyHeadingFormat(headings.Length);
writer.WriteList(index, balanceSheet, (b, rowIndex) => new object[]
{
b.SerialNumber,
rowIndex - 1,
b.Date,
b.ItemType,
b.Name,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,16 @@ namespace Simplify.Facade
{
public class CapitalGainsStatementGenerationFacade
{
public void GenerateStatements(string inputExcelFileName,
string excelSheetName, string outputExcelFile, ILogger logger)
public void GenerateStatements(string openingStockFileName,
string openingStockSheetName, string tradeLogFileName, string tradeLogSheetName,
string outputExcelFile, ILogger logger)
{
TradeLogGateway openStockGateway = new TradeLogGateway(openingStockFileName);
var openingStock = openStockGateway.ReadTradeLog(logger, openingStockSheetName);


TradeLogGateway tradeLogGateway = new TradeLogGateway(inputExcelFileName);
var tradeLogs = tradeLogGateway.ReadTradeLog(logger, excelSheetName);
TradeLogGateway tradeLogGateway = new TradeLogGateway(tradeLogFileName);
var tradeLogs = tradeLogGateway.ReadTradeLog(logger, tradeLogSheetName);
tradeLogs.AddRange(openingStock);

SquaredAndOpenTradeSeparator squaredAndOpenTradeSeparator = new SquaredAndOpenTradeSeparator();
var result = squaredAndOpenTradeSeparator.Separate(tradeLogs);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@
VerticalAlignment="Top" Background="Blue" FontWeight="Bold" FontSize="18" Foreground="White"
VerticalContentAlignment="Center"/>
<common:ExcelSheetSelectorUserControl DockPanel.Dock="Top" Margin="10,10,10,0"
DataContext="{Binding ExcelSheetSelectorViewModel}"/>
DataContext="{Binding OpeningStockSelectorViewModel}"/>
<common:ExcelSheetSelectorUserControl DockPanel.Dock="Top" Margin="10,10,10,0"
DataContext="{Binding TradeLogExcelSheetSelectorViewModel}"/>
<Border Background="LightSkyBlue" Height="40" HorizontalAlignment="Stretch" DockPanel.Dock="Bottom">
<DockPanel LastChildFill="False">
<Button Width="60" Height="30" Content="Generate" DockPanel.Dock="Right" Margin="0,0,10,0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,16 @@ public CapitalGainsInputViewModel(Action<List<string>, Logger> completionCallBac
{
_completionCallBack = completionCallBack;

ExcelSheetSelectorViewModel = new ExcelSheetSelectorViewModel();
ExcelSheetSelectorViewModel.Title = "Please provide trade log";
ExcelSheetSelectorViewModel.ValidityChanged += () =>
OpeningStockSelectorViewModel = new ExcelSheetSelectorViewModel();
OpeningStockSelectorViewModel.Title = "Please provide opening stock";
OpeningStockSelectorViewModel.ValidityChanged += () =>
{
GenerateCommand.RaiseCanExecuteChanged();
};

TradeLogExcelSheetSelectorViewModel = new ExcelSheetSelectorViewModel();
TradeLogExcelSheetSelectorViewModel.Title = "Please provide trade log";
TradeLogExcelSheetSelectorViewModel.ValidityChanged += () =>
{
GenerateCommand.RaiseCanExecuteChanged();
};
Expand All @@ -37,8 +44,11 @@ private void Generate()
try
{
CapitalGainsStatementGenerationFacade facade = new CapitalGainsStatementGenerationFacade();
facade.GenerateStatements(ExcelSheetSelectorViewModel.InputFileName,
ExcelSheetSelectorViewModel.SelectedSheet,
facade.GenerateStatements(
OpeningStockSelectorViewModel.InputFileName,
OpeningStockSelectorViewModel.SelectedSheet,
TradeLogExcelSheetSelectorViewModel.InputFileName,
TradeLogExcelSheetSelectorViewModel.SelectedSheet,
fullPath, logger);
mainMessage.Add("Successfully Generated Capital Gains File");
mainMessage.Add("Output :"+fullPath);
Expand All @@ -57,11 +67,12 @@ private void Generate()

private bool CanGenerate()
{
return ExcelSheetSelectorViewModel.IsValid;
return (OpeningStockSelectorViewModel.IsValid && TradeLogExcelSheetSelectorViewModel.IsValid);
}

public DelegateCommand GenerateCommand { get; set; }
public ExcelSheetSelectorViewModel ExcelSheetSelectorViewModel { get; set; }

public ExcelSheetSelectorViewModel OpeningStockSelectorViewModel { get; set; }
public ExcelSheetSelectorViewModel TradeLogExcelSheetSelectorViewModel { get; set; }

}
}

0 comments on commit 89e4f7c

Please sign in to comment.