Beispiel #1
0
        private List <FileInfo> Compare(bool compareWithTargetFolder)
        {
            List <FileInfo> sdCardFiles    = Synchronisation.GetAllSdCardFiles(pathSdCard);
            List <FileInfo> allFilesToCopy = new List <FileInfo>();

            if (!compareWithTargetFolder)
            {
                List <String> oldCopies = Synchronisation.GetAllOldCopyies();
                foreach (FileInfo file in sdCardFiles)
                {
                    String fileString = String.Format("{0}%{1}", file.GetFileName(), file.date);
                    if (oldCopies.Contains(fileString))
                    {
                        String date = oldCopies[oldCopies.IndexOf(fileString)].Split('%')[1];
                        if (date == file.date)
                        {
                            continue;
                        }
                    }
                    Console.WriteLine("New file to Copy: " + file.path + " (" + file.date + ")");
                    allFilesToCopy.Add(file);
                }
            }
            else
            {
                List <FileInfo> compareFiles     = Synchronisation.GetAllFiles(pathTargetFolder);
                List <String>   compareFileNames = new List <String>();
                foreach (FileInfo file in compareFiles)
                {
                    compareFileNames.Add(file.GetFileName());
                }
                foreach (FileInfo file in sdCardFiles)
                {
                    if (compareFileNames.Contains(file.GetFileName()))
                    {
                        if (compareFiles[compareFileNames.IndexOf(file.GetFileName())].date == file.date)
                        {
                            continue;
                        }
                    }
                    Console.WriteLine("New file to Copy: " + file.path + " (" + file.date + ")");
                    allFilesToCopy.Add(file);
                }
            }

            if (!day.Equals("all"))
            {
                for (int i = allFilesToCopy.Count - 1; i >= 0; i--)
                {
                    FileInfo file = allFilesToCopy[i];
                    if (!file.date.Equals(day))
                    {
                        allFilesToCopy.RemoveAt(i);
                    }
                }
            }

            return(allFilesToCopy);
        }
Beispiel #2
0
        private void CB_onlyOneDay_CheckedChanged(object sender, EventArgs e)
        {
            if (this.CB_onlyOneDay.Checked)
            {
                String pathSdCard = Path_SdCard.SelectedItem.ToString();

                // Check if the given paths exsist...
                if (!Directory.Exists(pathSdCard))
                {
                    this.CB_onlyOneDay.Checked = false;
                    string message = String.Format("Der angegebene Pfad \"{0}\" konnte nicht gefunden werden!", pathSdCard);
                    string caption = "Pfad exsitiert nicht!";
                    MessageBox.Show(message, caption, MessageBoxButtons.OK);
                    return;
                }

                new Thread(
                    new ThreadStart(() =>
                {
                    List <FileInfo> files    = Synchronisation.GetAllSdCardFiles(pathSdCard);
                    List <String> addedDates = new List <String>();

                    foreach (FileInfo file in files)
                    {
                        if (!addedDates.Contains(file.date))
                        {
                            addedDates.Add(file.date);
                            CoB_selectDay.BeginInvoke(new Action(() =>
                                                                 { CoB_selectDay.Items.Add(file.date); }
                                                                 ));
                        }
                    }

                    CoB_selectDay.BeginInvoke(new Action(() =>
                                                         { CoB_selectDay.SelectedIndex = 0; }
                                                         ));
                }

                                    )).Start();
            }

            this.CoB_selectDay.Visible = this.CB_onlyOneDay.Checked;
        }