2020-03-26 17:37:19 +00:00
///
/// Copyright (c) 2020 Sensus Slovensko a.s.
///
using System ;
using System.Text ;
using System.Windows.Forms ;
namespace ResultsBrowser.Forms
{
public partial class CustomQuerySpecificationForm : Form
{
public CQCriteria CQCriteria ;
public string InputList { get { return inputListSB . ToString ( ) ; } }
public int IntParameter { get { return intParameter ; } }
public DateTime From { get { return fromDateTimePicker . Value . Date ; } }
public DateTime To { get { return toDateTimePicker . Value . Date . AddDays ( 1 ) . AddTicks ( - 1 ) ; } }
public string DestinationFile
{
get
{
return String . IsNullOrEmpty ( destinationFileTextBox . Text )
? string . Format ( "vysledky_hladania_{0:ddMMyyyy_HHmm}.csv" , DateTime . Now )
: destinationFileTextBox . Text ;
}
}
StringBuilder inputListSB ;
int intParameter ;
public CustomQuerySpecificationForm ( )
{
InitializeComponent ( ) ;
inputListSB = new StringBuilder ( ) ;
queryTypeComboBox . Items . Add ( new CQSelectionItem ( CQCriteria . ListOfOrders , "Všetky vodomery s číslami objednávok podľa zadaného zoznamu" ) ) ;
queryTypeComboBox . Items . Add ( new CQSelectionItem ( CQCriteria . ListOfPcbNumbers , "Všetky vodomery s číslami PCB podľa zadaného zoznamu" ) ) ;
//queryTypeComboBox.Items.Add(new CQSelectionItem(CQCriteria.RangeOfSerialNumbers, "Všetky vodomery so sériovými číslami v zadanom rozsahu"));
//queryTypeComboBox.Items.Add(new CQSelectionItem(CQCriteria.ListOfSerialNumbers, "Všetky vodomery so sériovými číslami podľa zadaného zoznamu"));
queryTypeComboBox . Items . Add ( new CQSelectionItem ( CQCriteria . WZTypeIdAndTimePeriod , "Všetky vodomery so zadaným WZTypeID vyrobené v zadanom časovom období" ) ) ;
queryTypeComboBox . Items . Add ( new CQSelectionItem ( CQCriteria . ProducedWithinTimePeriod , "Všetky vodomery vyrobené v zadanom časovom období" ) ) ;
2020-06-18 08:50:44 +00:00
queryTypeComboBox . Items . Add ( new CQSelectionItem ( CQCriteria . BenchAndBatchNr , "Stanica a číslo dávky" ) ) ;
2020-03-26 17:37:19 +00:00
queryTypeComboBox . Text = "Všetky vodomery vyrobené v zadanom časovom období" ;
destinationFileTextBox . Text = string . Format ( "vysledky_hladania_{0:ddMMyyyy_HHmm}.csv" , DateTime . Now ) ;
}
private void queryTypeComboBox_SelectedIndexChanged ( object sender , EventArgs e )
{
CQCriteria = CQCriteria . Undefined ;
/// Determine selected criteria
foreach ( var item in queryTypeComboBox . Items )
{
if ( item . ToString ( ) = = queryTypeComboBox . Text )
{
CQCriteria = ( item as CQSelectionItem ) . CQCriteria ;
break ;
}
}
if ( CQCriteria = = CQCriteria . Undefined )
{
/// No criteria selected
inputListGroupBox . Enabled = false ;
return ;
}
/// Update UI elements visibility
inputListGroupBox . Enabled = ( CQCriteria = = CQCriteria . ListOfOrders ) | |
( CQCriteria = = CQCriteria . ListOfPcbNumbers ) | |
2020-06-18 08:50:44 +00:00
( CQCriteria = = CQCriteria . ListOfSerialNumbers ) | |
( CQCriteria = = CQCriteria . BenchAndBatchNr ) ;
2020-03-26 17:37:19 +00:00
timePeriodGroupBox . Enabled = ( CQCriteria = = CQCriteria . WZTypeIdAndTimePeriod ) | |
( CQCriteria = = CQCriteria . ProducedWithinTimePeriod ) ;
if ( CQCriteria = = CQCriteria . WZTypeIdAndTimePeriod )
{
parameterGroupBox . Enabled = true ;
parameterNameLabel . Text = "WZ Type ID" ;
}
2020-06-18 08:50:44 +00:00
else if ( CQCriteria = = CQCriteria . BenchAndBatchNr )
{
parameterGroupBox . Enabled = true ;
parameterNameLabel . Text = "Test bench number (e.g. 10 for WR10)" ;
}
2020-03-26 17:37:19 +00:00
else
{
parameterGroupBox . Enabled = false ;
parameterNameLabel . Text = string . Empty ;
}
}
private void addToListButton_Click ( object sender , EventArgs e )
{
AddItemForm dlg = new AddItemForm ( ) ;
if ( dlg . ShowDialog ( ) = = DialogResult . OK )
{
if ( inputListSB . Length ! = 0 )
{
inputListSB . Append ( "," ) ;
}
inputListSB . Append ( dlg . ItemText ) ;
inputListTextBox . Text = inputListSB . ToString ( ) ;
}
}
private void importFromFileButton_Click ( object sender , EventArgs e )
{
MessageBox . Show ( "Zatiaľ nie je naimplementované" ) ;
}
private void clearListButton_Click ( object sender , EventArgs e )
{
inputListSB . Clear ( ) ;
inputListTextBox . Text = String . Empty ;
}
private void okButton_Click ( object sender , EventArgs e )
{
if ( parameterGroupBox . Enabled & & ! int . TryParse ( parameterValueTextBox . Text , out intParameter ) )
{
MessageBox . Show ( "Parameter je neplatný!" ) ;
return ;
}
DialogResult = DialogResult . OK ;
Close ( ) ;
}
private void cancelButton_Click ( object sender , EventArgs e )
{
DialogResult = DialogResult . Cancel ;
Close ( ) ;
}
private void destinationFileButton_Click ( object sender , EventArgs e )
{
SaveFileDialog dlg = new SaveFileDialog { FileName = destinationFileTextBox . Text } ;
if ( dlg . ShowDialog ( ) = = DialogResult . OK )
{
destinationFileTextBox . Text = dlg . FileName ;
}
}
}
}