private void lvLaskut_SelectionChanged(object sender, SelectionChangedEventArgs e) { ELasku lasku = lvLaskut.SelectedItem as ELasku; if (lasku != null) { browser.Navigate(new Uri(lasku.FileName)); } else { browser.Navigate("about:blank"); } }
private void MenuItemDelete_Click(object sender, RoutedEventArgs e) { if (MessageBox.Show("Poista?", "Poista tiedosto", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { ELasku lasku = lvLaskut.SelectedItem as ELasku; if (lasku != null) { File.Delete(lasku.FileName); ReloadLaskut(); } } }
private void MenuItemRename_Click(object sender, RoutedEventArgs e) { ELasku lasku = lvLaskut.SelectedItem as ELasku; if (lasku != null) { Rename ren = new Rename(); ren.FileName = lasku.FileName; if (ren.ShowDialog() == true) { File.Move(lasku.FileName, ren.FileName); ReloadLaskut(); } } }
public static List <ELasku> ReadFolder(string pathAndMask) { List <ELasku> retval = new List <ELasku>(); string dir = Path.GetDirectoryName(pathAndMask); string mask = Path.GetFileName(pathAndMask); string[] files = Directory.GetFiles(dir, mask, SearchOption.TopDirectoryOnly); foreach (string file in files) { ELasku e = new ELasku(file); if (retval.Count(i => i.EpiReference == e.EpiReference && i.InvoiceDueDate == e.InvoiceDueDate && i.SellerOrganisationName == e.SellerOrganisationName) > 0) { File.Delete(file); continue; } retval.Add(e); } retval.Sort(ConpareByDate); return(retval); }
void ReloadLaskut() { ELasku lasku = lvLaskut.SelectedItem as ELasku; ELasku select = null; Laskut.Clear(); List <ELasku> laskut = ELasku.ReadFolder(Folder + "*.xml"); foreach (var i in laskut) { Laskut.Add(i); if (lasku != null && i.SellerOrganisationName == lasku.SellerOrganisationName && i.InvoiceNumber == lasku.InvoiceNumber) { select = i; } } if (select != null) { lvLaskut.SelectedItem = select; } var xx = laskut.GroupBy(l => l.EpiReference + l.EpiReference.ToString()).Where(g => g.Count() > 1).Select(i => new { EpiReference = i.Key, File = i.First().FileName }).ToArray(); var files = Directory.GetFiles(Folder, "tiliote*.csv"); if (files.Length > 0) { List <Tilirivi> rivit = Tilirivi.ReadFile(files[0]); rivit = rivit.Where(i => i.MaksupalveluID != null).ToList(); foreach (var l in laskut) { if (l.InvoiceDueDate == DateTime.Parse("9.12.2015")) { System.Threading.Thread.Sleep(1); } bool found = false; for (int i = 0; i < rivit.Count; i++) { if (l.Tiliotteella == false && (l.EpiNameAddressDetails.Truncate(30) == rivit[i].Saaja.Replace("Ö", "O").Truncate(30) || rivit[i].Saaja.ToUpper().Contains(l.EpiNameAddressDetails.ToUpper())) && Math.Abs(l.InvoiceDueDate.Subtract(rivit[i].SuoritePaiva).TotalDays) < 2) { rivit.RemoveAt(i); l.Tiliotteella = true; found = true; break; } } if (!found) { System.Threading.Thread.Sleep(1); } } string notFound = ""; rivit.ForEach(i => notFound += i.SuoritePaiva + " " + i.Saaja + " " + i.Summa.ToString() + Environment.NewLine); if (notFound.Length > 0) { MessageBox.Show(notFound); } } else { foreach (var l in laskut) { l.Tiliotteella = true; } } }
public static int ConpareByDate(ELasku a, ELasku b) { return((int)a.InvoiceDate.Subtract(b.InvoiceDate).TotalSeconds); }