add code for random strain generation

Adds code to create random strains from letters and userinputs
further improvements needed
This commit is contained in:
Strati 2018-08-07 19:26:57 +02:00
parent 68a77fb78e
commit d45e9d0fbb
2 changed files with 55 additions and 1 deletions

View File

@ -10,7 +10,13 @@
<Grid Width="593" Height="565">
<Label Content="Willkommen" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" FontFamily="Tahoma" FontSize="48" Height="61" Width="272"/>
<TextBlock HorizontalAlignment="Left" Margin="10,124,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="356" Width="573" FontSize="20"><Run Text="Haben Sie die Applikation zum ersten Mal gestartet"/><Run Text="?"/><LineBreak/><Run/><LineBreak/><Run Text="1. Erstellen Sie neue Patienten"/><LineBreak/><Run Text="2. Erfassen Sie neue Bakterienstämme"/><LineBreak/><Run Text="3. Erfassen Sie einen neuen Fall"/><LineBreak/><Run/><LineBreak/><Run/></TextBlock>
<TextBlock HorizontalAlignment="Left" Margin="10,124,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Height="431" Width="573" FontSize="20"><Run Text="Haben Sie die Applikation zum ersten Mal gestartet"/><Run Text="?"/><LineBreak/><Run/><LineBreak/><Run Text="1. Erstellen Sie neue Patienten"/><LineBreak/><Run Text="2. Erfassen Sie neue Bakterienstämme"/><Run Text=" "/><LineBreak/><Run/><LineBreak/><Run Text="("/><Run Text="fancy r"/><Run Text="andom "/><Run Text="s"/><Run Text="train "/><Run Text="g"/><Run Text="enerator)"/><LineBreak/><LineBreak/><Run Text="Enter desired letters"/><Run Text=" per strain"/><Run Text=": "/><Run Text="&#x9;"/><InlineUIContainer>
<TextBox x:Name="txtNumLetters" Height="30" TextWrapping="Wrap" Text="5" Width="120"/>
</InlineUIContainer><LineBreak/><Run Text="Enter desired"/><Run Text=" amount of"/><Run Text=" strains: "/><Run Text="&#x9;"/><InlineUIContainer>
<TextBox x:Name="txtNumStrains" Height="30" TextWrapping="Wrap" Text="100" Width="120"/>
</InlineUIContainer><LineBreak/><LineBreak/><InlineUIContainer>
<Button x:Name="btnRandomStrainGenerator" Content="CREATE RANDOM STRAINS" Width="580" Height="34" Click="btnRandomStrainGenerator_Click"/>
</InlineUIContainer><Run Text="&#x9;"/><LineBreak/><Run Text="3. Erfassen Sie einen neuen Fall"/></TextBlock>
</Grid>
</Page>

View File

@ -24,7 +24,55 @@ namespace WpfWebClient
public Home()
{
InitializeComponent();
}
private void btnRandomStrainGenerator_Click(object sender, RoutedEventArgs e)
{
// create new client connection
WpfWebClient.ServiceReferenceEHEC.ServiceClient client = new WpfWebClient.ServiceReferenceEHEC.ServiceClient();
// Get the number of words and letters per word.
int num_letters = int.Parse(txtNumLetters.Text);
int num_words = int.Parse(txtNumStrains.Text);
// Make an array of the letters we will use.
char[] letters = "AEIOUBRFTDAEIOU".ToCharArray();
// Make a random number generator.
Random rand = new Random();
// Make the words.
for (int i = 1; i <= num_words; i++)
{
// Make a word.
string word = "";
for (int j = 1; j <= num_letters; j++)
{
// Pick a random number between 0 and 25
// to select a letter from the letters array.
int letter_num = rand.Next(0, letters.Length - 1);
// Append the letter.
word += letters[letter_num];
}
// Write the strains into a list
List<string> generatedStrains = new List<string>();
generatedStrains.Add(word);
foreach (var item in generatedStrains)
{
Strain s = new Strain();
s.Name = item;
client.WriteStrain(s);
}
}
client.Close();
}
}
}