Remove obsolete dialogs

This commit is contained in:
2025-02-11 19:22:36 -05:00
parent 16a65341e2
commit f63322ef9e
2 changed files with 0 additions and 243 deletions

View File

@@ -1,59 +0,0 @@
<Window x:Class="TradeBlotter.UIUtils.CMTTrendModelClosePositionDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Close Position" Height="260" Width="200"
xmlns:wpfx="http://schemas.xceed.com/wpf/xaml/toolkit"
WindowStartupLocation="CenterScreen"
SizeToContent="WidthAndHeight"
MinWidth="200"
MinHeight="200"
WindowStyle="SingleBorderWindow"
ResizeMode="CanMinimize">
<wpfx:BusyIndicator Name="BusyBar" IsBusy="{Binding Path=BusyIndicator}" BusyContent="{Binding Path=BusyContent}">
<StackPanel Margin="5" Orientation="Vertical">
<Grid DockPanel.Dock="Left" Margin="0,2,4,2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="6" />
<ColumnDefinition Width="75*" />
<ColumnDefinition Width="6" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="20*" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
<RowDefinition Height="25" />
</Grid.RowDefinitions>
<Label Name="lblCompanyName" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3"></Label>
<Label Name="lblSymbol" Grid.Row="2" Grid.Column="0">Symbol</Label>
<TextBox Name="txtSymbol" IsEnabled="False" Grid.Row="2" IsReadOnly="True" Grid.Column="2" MinWidth="75" AcceptsReturn="true">Symbol</TextBox>
<Label Name="lblPurchaseDate" Grid.Row="3" Grid.Column="0" MinWidth="75">Purchase Date</Label>
<DatePicker Name="dpPurchaseDate" IsEnabled="False" Grid.Row="3" Grid.Column="2"></DatePicker>
<Label Name="lblSellDate" Grid.Row="4" Grid.Column="0" MinWidth="75">Sell Date</Label>
<DatePicker Name="dpSellDate" Grid.Row="4" Grid.Column="2" SelectedDateChanged="dpSellDate_SelectionChanged"></DatePicker>
<Label Name="lblSellPrice" Grid.Row="5" Grid.Column="0">Sell Price</Label>
<TextBox Name="txtSellPrice" Grid.Row="5" Grid.Column="2" MinWidth="75" LostFocus="txtSellPrice_OnLostFocusHandler" KeyDown="txtSellPrice_OnKeyDownHandler">100.00</TextBox>
<Label FontWeight="Bold" FontSize="10" Name="lblSellPriceInstructions" Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="3">(enter sell price then hit enter key)</Label>
<CheckBox Name="cbDeleteStop" Grid.Row="7" Grid.Column="0">Delete Stop</CheckBox>
<Label Name="lblMessage" Grid.Row="8" Grid.Column="0" Grid.ColumnSpan="5"></Label>
<Button Content="_Ok" MinWidth="75" IsDefault="False" Margin="2" Name="btnOk" Click="btnOk_Click" Grid.Row="9" Grid.Column="0"/>
<Button Content="_Cancel" MinWidth="75" IsCancel="True" Margin="2" Name="btnCancel" Click="btnCancel_Click" Grid.Row="9" Grid.Column="2"/>
</Grid>
</StackPanel>
</wpfx:BusyIndicator>
</Window>

View File

@@ -1,184 +0,0 @@
using MarketData.DataAccess;
using MarketData.MarketDataModel;
using MarketData.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Media;
using System.Text;
using System.Threading;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Windows.Threading;
using Position=MarketData.Generator.CMTrend.Position;
namespace TradeBlotter.UIUtils
{
/// <summary>
/// Interaction logic for CMTTrendModelClosePositionDialog.xaml
/// </summary>
public partial class CMTTrendModelClosePositionDialog:Window
{
private ManualResetEvent manualResetEvent=new ManualResetEvent(false);
private String Symbol{get;set;}
private DateTime PurchaseDate { get; set; }
private DateTime SellDate{get;set;}
private double SellPrice { get; set; }
private bool DeleteStop{get;set;}
private bool Result { get; set; }
private CMTTrendModelClosePositionDialog(String title,Position position,bool hasStopLimit)
{
this.Background=new SolidColorBrush(Colors.AliceBlue);
this.Owner=Application.Current.MainWindow;
InitializeComponent();
this.Loaded+=new RoutedEventHandler(CMTTrendModelClosePositionDialog_Loaded);
this.Closing+=Window_Closing;
dpPurchaseDate.SelectedDateChanged+=dpPurchaseDate_SelectionChanged;
dpSellDate.SelectedDateChanged+=dpPurchaseDate_SelectionChanged;
cbDeleteStop.Click+=cbDeleteStop_SelectionChanged;
Title=title;
Symbol=position.Symbol;
PurchaseDate=position.PurchaseDate;
SellDate=DateTime.Now.Date;
SellPrice=position.TrailingStopLimit;
DeleteStop=hasStopLimit;
txtSymbol.Text=Symbol;
dpPurchaseDate.SelectedDate=PurchaseDate;
dpSellDate.SelectedDate=SellDate;
cbDeleteStop.IsChecked=DeleteStop;
UpdateSellPrice();
UpdateCompanyName();
}
public ManualResetEvent Event { get { return manualResetEvent; } }
public static Position Prompt(string title,Position position,bool hasStopLimit,ref bool deleteStop)
{
CMTTrendModelClosePositionDialog cmtTrendModelClosePositionDialog=new CMTTrendModelClosePositionDialog(title,position,hasStopLimit);
try { cmtTrendModelClosePositionDialog.ShowDialog(); }
catch(Exception) { return null; }
cmtTrendModelClosePositionDialog.Event.WaitOne();
if( cmtTrendModelClosePositionDialog.Result)
{
position.SellDate=cmtTrendModelClosePositionDialog.SellDate;
position.CurrentPrice=cmtTrendModelClosePositionDialog.SellPrice;
deleteStop=cmtTrendModelClosePositionDialog.DeleteStop;
return position;
}
return null;
}
void CMTTrendModelClosePositionDialog_Loaded(object sender,RoutedEventArgs e)
{
txtSellPrice.Focus();
}
private void btnOk_Click(object sender,RoutedEventArgs e)
{
Result=Validate();
if(!Result)
{
SystemSounds.Beep.Play();
return;
}
Close();
Event.Set();
return;
}
private void cbDeleteStop_SelectionChanged(object sender,RoutedEventArgs e)
{
DeleteStop=cbDeleteStop.IsChecked.Value;
}
private void txtSellPrice_OnLostFocusHandler(Object sender,RoutedEventArgs routedEventArgs)
{
HandleSellPriceEvents();
}
private void txtSellPrice_OnKeyDownHandler(object sender,KeyEventArgs e)
{
if(e.Key==Key.Return)
{
HandleSellPriceEvents();
}
}
private void HandleSellPriceEvents()
{
double value=0.00;
value=Utility.ParseCurrency(txtSellPrice.Text);
if(SellPrice.Equals(value)) return;
SellPrice=value;
UpdateSellPrice();
}
private void dpPurchaseDate_SelectionChanged(object sender,RoutedEventArgs e)
{
if(null==dpPurchaseDate.SelectedDate) return;
PurchaseDate=dpPurchaseDate.SelectedDate.Value;
}
private void dpSellDate_SelectionChanged(object sender,RoutedEventArgs e)
{
if(null==dpSellDate.SelectedDate) return;
SellDate=dpSellDate.SelectedDate.Value;
}
private void Window_Closing(object sender,System.ComponentModel.CancelEventArgs e)
{
Event.Set();
}
private void btnCancel_Click(object sender,RoutedEventArgs e)
{
Result=false;
Close();
Event.Set();
}
private bool Validate()
{
DateGenerator dateGenerator=new DateGenerator();
if(null==Symbol)
{
SetMessage("Invalid Symbol.");
return false;
}
if(Utility.IsEpoch(PurchaseDate))
{
SetMessage("Invalid Purchase Date.");
return false;
}
if(Utility.IsEpoch(SellDate))
{
SetMessage("Invalid Sell Date.");
return false;
}
if(!dateGenerator.IsMarketOpen(SellDate))
{
SetMessage("Market closed on Sell Date.");
return false;
}
if(double.IsNaN(SellPrice))
{
SetMessage("Invalid Sell Price.");
return false;
}
SetMessage("");
return true;
}
private void UpdateSellPrice()
{
txtSellPrice.Text=Utility.FormatCurrency(SellPrice);
}
private void UpdateCompanyName()
{
CompanyProfile companyProfile=CompanyProfileDA.GetCompanyProfile(Symbol);
if(null==companyProfile||null==companyProfile.CompanyName) return;
lblCompanyName.Content=companyProfile.CompanyName.ToUpper();
}
private void SetMessage(String message)
{
lblMessage.Content=message;
}
}
}