private float GetPodobienstwoOgolne(KontenerCech cechy) { sumaOgolna = 0.0f; sumaKodu = 0.0f; sumaStruktury = 0.0f; foreach (var item in cechy.listaCech) { switch (item.typ) { case "Cecha kodu": sumaKodu += item.podobienstwo * item.waga; break; case "Cecha struktury": sumaStruktury += item.podobienstwo * item.waga; break; } sumaOgolna += item.podobienstwo * item.waga; } return(sumaOgolna / cechy.listaCech.Sum(item => item.waga)); }
private void PobranieIPrzeliczenieCech() { ServiceReference1.ServiceSAClient soap = new ServiceReference1.ServiceSAClient(); string NazwaProjekt1 = ""; string NazwaProjekt2 = ""; string link1Text = ""; string link2Text = ""; System.Windows.Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart) delegate { NazwaProjekt1 = link1.Text.Split('/').Last(); NazwaProjekt2 = link2.Text.Split('/').Last(); link1Text = link1.Text; link2Text = link2.Text; }); try { cechy = new KontenerCech(); PobierzUstawieniaXML(); podmiotNadrzedny = new Podmiot(soap, link1Text); podmiotPodrzedny = new Podmiot(soap, link2Text); cechy.WyliczPodobienstwaCech(ref podmiotNadrzedny, ref podmiotPodrzedny); listaBadan.Add(cechy); System.Windows.Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart) delegate { this.Height = 300; PorownajButton.IsEnabled = true; SzczegolyButton.IsEnabled = true; SzczegolySpinner.Visibility = Visibility.Collapsed; SzczegolyTextBlock.Visibility = Visibility.Visible; SzczegolyInfo.Visibility = Visibility.Visible; PorownajSpinner.Visibility = Visibility.Collapsed; PorownajTextBlock.Visibility = Visibility.Visible; PorownajClone.Visibility = Visibility.Visible; ComboBoxHistoria.Items.Add(NazwaProjekt1 + " ↔ " + NazwaProjekt2); ComboBoxHistoria.Visibility = Visibility.Visible; ComboBoxHistoria.SelectedIndex = ComboBoxHistoria.Items.Count - 1; //labelPodobienstwo.Content = "Podobieństwo ogólne: " + Math.Round(GetPodobienstwoOgolne(listaBadan.ElementAt(ComboBoxHistoria.SelectedIndex)), 2); SzczegolyButton.IsEnabled = true; }); System.Media.SoundPlayer player = new System.Media.SoundPlayer("alert.wav"); //podmiotNadrzedny.PlikExcel(podmiotNadrzedny.NazwaPodmiotu); player.Play(); } catch (System.Exception ex) { Console.WriteLine(ex.ToString()); System.Windows.Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart) delegate { PorownajButton.IsEnabled = true; link1.BorderBrush = System.Windows.Media.Brushes.Red; link2.BorderBrush = System.Windows.Media.Brushes.Red; SzczegolySpinner.Visibility = Visibility.Collapsed; SzczegolyTextBlock.Visibility = Visibility.Visible; SzczegolyInfo.Visibility = Visibility.Visible; PorownajSpinner.Visibility = Visibility.Collapsed; PorownajTextBlock.Visibility = Visibility.Visible; PorownajClone.Visibility = Visibility.Visible; System.Media.SoundPlayer player = new System.Media.SoundPlayer("fail.wav"); player.Play(); }); } }