Пример #1
0
        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");
            }
        }
Пример #2
0
        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();
                }
            }
        }
Пример #3
0
        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();
                }
            }
        }
Пример #4
0
        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);
        }
Пример #5
0
        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;
                }
            }
        }
Пример #6
0
 public static int ConpareByDate(ELasku a, ELasku b)
 {
     return((int)a.InvoiceDate.Subtract(b.InvoiceDate).TotalSeconds);
 }