Ejemplo n.º 1
0
        public bool PhotoRequest(string machineName, string juryNumber, string photoNumber, string score)
        {
            try
            {
                if (!ContainsValidMachine(machineName))
                {
                    return(false);
                }
                var fileName = $"Request_{juryNumber}.txt";
                var file     = Path.Combine(FolderFactory.RequestFolder, fileName);

                PhotomanagerFactory.WaitUnlock(file);
                using (var sw = new StreamWriter(file, false))
                {
                    sw.WriteLine("{0}|{1}|{2}", juryNumber, photoNumber, score);
                }
                return(true);
            }
            catch (Exception ex)
            {
                var logDirectory    = new DirectoryInfo(FolderFactory.LogFolder);
                var activityLogFile = logDirectory.GetFiles()
                                      .OrderByDescending(f => f.LastWriteTime)
                                      .FirstOrDefault(w => w.Name.StartsWith("Activity") && w.Name.Contains(".xml"));

                if (activityLogFile != null)
                {
                    LogFactory.WriteToLog(ex.Message, "Service.PhotoRequest", ActivityLogTypes.Error,
                                          activityLogFile.Name.Replace(activityLogFile.Extension, string.Empty));
                }
                return(false);
            }
        }
Ejemplo n.º 2
0
 public void StartGame()
 {
     if (CanExecuteResumeGame && System.Windows.Forms.MessageBox.Show("OPGEPAST: U staat op het punt om een wedstrijd te starten, hierdoor kan de laatste wedstrijd niet meer hervat worden! Bent u zeker?", "Vraag", MessageBoxButtons.YesNo, MessageBoxIcon.Question).Equals(DialogResult.No))
     {
         return;
     }
     if (MemberModuleActive && ApplicationSettings.Championship)
     {
         if (System.Windows.Forms.MessageBox.Show("OPGEPAST: U staat op het punt om een kampioenschapswedstrijd te starten, de resultaten worden opgenomen in het eindklassement! Bent u zeker?", "Vraag", MessageBoxButtons.YesNo, MessageBoxIcon.Question).Equals(DialogResult.No))
         {
             return;
         }
         if (string.IsNullOrEmpty(Functions.GetCurrentChampionship()))
         {
             System.Windows.Forms.MessageBox.Show(string.Format("De maand {0} valt buiten het seizoen.", DateTime.Now.ToString("MMMM")),
                                                  "Fout",
                                                  MessageBoxButtons.OK, MessageBoxIcon.Error);
             return;
         }
         if (!CanPlayChampionship)
         {
             System.Windows.Forms.MessageBox.Show("Voor een kampioenschapswedstrijd dienen alle foto's gekoppeld te zijn aan een lid. Gelieve dit eerst te doen via de knop 'Foto => Lid'!",
                                                  "Fout",
                                                  MessageBoxButtons.OK, MessageBoxIcon.Error);
             return;
         }
     }
     PhotomanagerFactory.CleanFolders(ApplicationSettings.StartFolder);
     MainWin.Hide();
     Start(DiaTypes.Game, MainWin);
 }
Ejemplo n.º 3
0
        public void Testing()
        {
            try
            {
                // Test 1
                PhotomanagerFactory.CreateStartFile("StreamWriter", App.ActivityLogFileName);

                // Test 2
                var fileWithAllText = Path.Combine(FolderFactory.ResponseFolder, "WriteAllText.pm");
                File.WriteAllText(fileWithAllText, Guid.NewGuid().ToString());

                // Test 3
                var fileWithFileStream = Path.Combine(FolderFactory.ResponseFolder, "FileStream.pm");
                using (var fileStream = new FileStream(fileWithFileStream, FileMode.OpenOrCreate, FileAccess.ReadWrite))
                {
                    using (var streamWriter = new StreamWriter(fileStream))
                    {
                        streamWriter.Write(Guid.NewGuid());
                    }
                }
                MessageBox.Show("De bestanden zijn succesvol weggeschreven.", "Succes", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            catch (IOException ex)
            {
                MessageBox.Show($"Er is een fout opgetreden: {ex.Message}", "Fout", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Ejemplo n.º 4
0
 public void ResetGame()
 {
     if (System.Windows.Forms.MessageBox.Show("OPGEPAST: U staat op het punt om een reset te doen, hierdoor kan de laatste wedstrijd niet meer hervat worden! Bent u zeker?", "Vraag", MessageBoxButtons.YesNo, MessageBoxIcon.Question).Equals(DialogResult.No))
     {
         return;
     }
     PhotomanagerFactory.CleanFolder(FolderFactory.ResponseFolder);
     System.Windows.Forms.MessageBox.Show("De wedstrijd werd succesvol gereset.", "Informatie", MessageBoxButtons.OK, MessageBoxIcon.Information);
 }
Ejemplo n.º 5
0
        protected override void OnStartup(StartupEventArgs e)
        {
            var encMachineName = ConfigurationManager.AppSettings["MachineName"];
            var key            = ConfigurationManager.AppSettings["SecurityKey"];
            var machineName    = SecurityFactory.Decrypt(encMachineName, key);
            var fileName       = $@"{FolderFactory.SettingFolder}\{Environment.MachineName}.ini";

            if (!File.Exists(fileName))
            {
                MessageBox.Show("Photomanager kan niet worden geladen! Gelieve contact op te nemen met de administrator.", "Fout", MessageBoxButton.OK, MessageBoxImage.Error);
                Environment.Exit(0);
            }
            if (string.IsNullOrEmpty(machineName) || !machineName.Equals(Environment.MachineName))
            {
                MessageBox.Show($"Photomanager kan niet worden geladen! => machine: {Environment.MachineName}", "Fout", MessageBoxButton.OK, MessageBoxImage.Error);
                Environment.Exit(0);
            }
            var currentProcess = Process.GetCurrentProcess();

            if (!IsProcessRunning(currentProcess.ProcessName))
            {
                PhotomanagerFactory.CloseBusyLogs();
                ActivityLogFileName = $"Activity_{DateTime.Now:yyyyMMddHHmmss}_B";
                AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

                if (IsAdHoc)
                {
                    var adhocStatusFile = NetworkFactory.GetAdHocFileName(Variables.AdHocStatusFile, ActivityLogFileName);
                    if (!NetworkFactory.IsCorrectSsid(adhocStatusFile, ConfigurationManager.AppSettings["AdHocSSID"]))
                    {
                        NetworkFactory.SetAdHocNetwork(ActivityLogFileName);
                    }
                    if (!NetworkFactory.IsStarted(adhocStatusFile))
                    {
                        NetworkFactory.StartAdHocNetwork(adhocStatusFile, ActivityLogFileName);
                    }
                }
                base.OnStartup(e);
            }
            else
            {
                if (Process.GetProcessesByName(currentProcess.ProcessName).Length > 1)
                {
                    MessageBox.Show("De applicatie is reeds gestart!", "Informatie", MessageBoxButton.OK,
                                    MessageBoxImage.Information);
                    Current.Shutdown();
                }
            }
        }
Ejemplo n.º 6
0
 protected override void OnExit(ExitEventArgs e)
 {
     if (!ProcessIsRunning)
     {
         if (IsAdHoc)
         {
             NetworkFactory.StopAdHocNetwork(Variables.AdHocStatusFile, ActivityLogFileName);
         }
         else
         {
             NetworkFactory.SetCurrentIp(NetworkAdapter, 1, string.Empty, string.Empty, ActivityLogFileName);
         }
         PhotomanagerFactory.CloseBusyLogs();
     }
     base.OnExit(e);
 }
Ejemplo n.º 7
0
        private void SetImage()
        {
            var image = PhotomanagerFactory.ShowImage(ApplicationSettings.StartFolder, PhotoIndex);
            var fi    = new FileInfo(Uri.UnescapeDataString(image.UriSource.AbsolutePath));

            {
                var sMemberId = MemberRepository.GetIdFrom(fi.Name, MemberSeparator, IsMemberIdNumeric);
                if (!string.IsNullOrEmpty(sMemberId))
                {
                    var fileName = fi.Name.Replace($"{sMemberId}_", "");
                    var member   = MemberRepository.GetById(sMemberId, IsMemberIdNumeric);
                    PhotoName      = fileName;
                    SelectedMember = member != null && !member.Delete ? member.MemberId : null;
                }
            }
            ImageToShow = image;
        }
Ejemplo n.º 8
0
        public void Save()
        {
            IsBusy = true;
            var bgWorker = new BackgroundWorker {
                WorkerSupportsCancellation = true
            };

            bgWorker.DoWork += (sender, args) =>
            {
                try
                {
                    var image = PhotomanagerFactory.ShowImage(ApplicationSettings.StartFolder, PhotoIndex);
                    var fi    = new FileInfo(Uri.UnescapeDataString(image.UriSource.AbsolutePath));
                    if (!string.IsNullOrEmpty(SelectedMember))
                    {
                        var fileName  = fi.Name;
                        var sMemberId = Path.GetFileNameWithoutExtension(fi.Name).TrimEnd().Split(MemberSeparator).Length > 1 ? Path.GetFileNameWithoutExtension(fi.Name).TrimEnd().Split(MemberSeparator).Last().Trim() : string.Empty;
                        var isMember  = MemberRepository.GetById(sMemberId, IsMemberIdNumeric);
                        fileName = isMember != null?fileName.Replace(sMemberId, SelectedMember) : $"{(string.IsNullOrEmpty(sMemberId) ? $"{Path.GetFileNameWithoutExtension(fi.Name)}{MemberSeparator}" : Path.GetFileNameWithoutExtension(fi.Name).Replace(sMemberId, string.Empty))}{SelectedMember}{Path.GetExtension(fi.Name)}";

                        File.Move(fi.FullName, Path.Combine(ApplicationSettings.StartFolder, fileName));
                        PhotoName = fileName;
                    }
                    LogFactory.WriteToLog("Foto met succes aan een lid gekoppeld.", "MemberPhotoViewModel.Save",
                                          ActivityLogTypes.Success, App.ActivityLogFileName);
                    IsBusy = false;
                    MessageBox.Show("De gegevens zijn met succes bewaard.", "Informatie",
                                    MessageBoxButton.OK, MessageBoxImage.Information);
                }
                catch (Exception ex)
                {
                    LogFactory.WriteToLog(ex.Message, "MemberPhotoViewModel.Save", ActivityLogTypes.Error,
                                          App.ActivityLogFileName);
                    IsBusy = false;
                    MessageBox.Show("Er is een fout opgetreden.", "Fout",
                                    MessageBoxButton.OK, MessageBoxImage.Error);
                }
            };
            bgWorker.RunWorkerAsync();
        }
Ejemplo n.º 9
0
        protected void ProcessLogFiles()
        {
            var logFile = "";
            var dbError = false;

            try
            {
                var club        = ConfigurationManager.AppSettings["OrganisationName"];
                var securityKey = ConfigurationManager.AppSettings["SecurityKey"];
                var machine     = SecurityFactory.Encrypt(Environment.MachineName, securityKey);
                var logFolder   = FolderFactory.LogFolder;
                var photomanagerCustomerRepository = new PhotomanagerCustomerRepository();
                var fileName = $@"{FolderFactory.SettingFolder}\{Environment.MachineName}.ini";

                var headerRepository = new PhotomanagerLogHeaderRepository();
                var detailRepository = new PhotomanagerLogDetailRepository();

                if (PhotomanagerFactory.IsStarted())
                {
                    dbError = true;
                }
                else
                {
                    try
                    {
                        headerRepository.Get(string.Empty, string.Empty);
                    }
                    catch
                    {
                        dbError = true;
                    }
                }

                if (!dbError)
                {
                    if (photomanagerCustomerRepository.IsValid(club, machine))
                    {
                        if (!File.Exists(fileName))
                        {
                            File.Create(fileName);
                        }
                    }
                    else
                    {
                        if (File.Exists(fileName))
                        {
                            File.Delete(fileName);
                        }
                    }

                    var dataTable = new DataTable();
                    dataTable.Columns.Add("FileName");
                    dataTable.Columns.Add("ClubName");
                    var logDateColumn = new DataColumn("LogDate")
                    {
                        DataType = Type.GetType("System.DateTime")
                    };
                    dataTable.Columns.Add(logDateColumn);
                    dataTable.Columns.Add("LogIp");
                    dataTable.Columns.Add("LogSource");
                    dataTable.Columns.Add("LogType");
                    dataTable.Columns.Add("LogModule");
                    dataTable.Columns.Add("LogRemark");

                    foreach (var f in Directory.GetFiles(logFolder))
                    {
                        logFile = f;
                        var srcFile = new FileInfo(logFile);
                        if (srcFile.Name.ToLower().StartsWith("activity_") && !srcFile.Name.ToLower().EndsWith("_b.xml") &&
                            !srcFile.Name.ToLower().EndsWith("_p.xml") && !srcFile.Name.ToLower().EndsWith("_e.xml"))
                        {
                            var logItems = XmlFactory.ReadXml <ActivityItem>(logFolder, srcFile.Name.Replace(srcFile.Extension, string.Empty));
                            dataTable.Clear();
                            foreach (var logItem in logItems)
                            {
                                var dr = dataTable.NewRow();
                                dr["FileName"]  = srcFile.Name.Replace(".xml", string.Empty);
                                dr["ClubName"]  = logItem.Club;
                                dr["LogDate"]   = logItem.Datum;
                                dr["LogIp"]     = logItem.Ip;
                                dr["LogSource"] = logItem.Source;
                                dr["LogType"]   = logItem.Type;
                                dr["LogModule"] = logItem.Lokatie;
                                dr["LogRemark"] = logItem.Omschrijving;
                                dataTable.Rows.Add(dr);
                            }
                            detailRepository.MassSave(ConfigurationManager.ConnectionStrings["DbConnection"].ConnectionString, dataTable);
                            var destFile = logFile.Replace(".xml", "_P.xml");
                            File.Move(logFile, destFile);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                using (var sw = new StreamWriter(Path.Combine(FolderFactory.LogFolder, "error.log")))
                {
                    sw.Write(ex.Message);
                }
                if (!string.IsNullOrEmpty(logFile) && !logFile.ToLower().EndsWith("_e.xml"))
                {
                    var destFile = logFile.Replace(".xml", "_E.xml");
                    File.Move(logFile, destFile);
                }
            }
            finally
            {
                _timer.Start();
            }
        }
Ejemplo n.º 10
0
        public void Check()
        {
            ProgressValue = Error = Success = 0;
            IsBusy        = true;
            var bgWorker = new BackgroundWorker {
                WorkerSupportsCancellation = true
            };

            bgWorker.DoWork += (sender, args) =>
            {
                try
                {
                    PhotomanagerFactory.CleanFolder(FolderFactory.ErrorFolder);
                    var mainFolder = new DirectoryInfo(FolderFactory.ErrorFolder);
                    foreach (var subFolder in mainFolder.GetDirectories())
                    {
                        PhotomanagerFactory.CleanFolder(subFolder.FullName);
                    }
                    var resolution = ApplicationSettings.ImageResolution.Split('x');
                    int maxWidth;
                    int maxHeight;
                    if (resolution[0].Equals("Andere"))
                    {
                        maxWidth  = ApplicationSettings.OwnResolutionWidth;
                        maxHeight = ApplicationSettings.OwnResolutionHeight;
                    }
                    else
                    {
                        maxWidth  = int.Parse(resolution[0]);
                        maxHeight = int.Parse(resolution[1]);
                    }
                    for (var indx = 0; indx < FileCounter; indx++)
                    {
                        var errMessage = "";
                        try
                        {
                            ProgressValue++;
                            var img = PhotomanagerFactory.ShowImage(ApplicationSettings.StartFolder, indx);
                            var fi  = new FileInfo(Uri.UnescapeDataString(img.UriSource.AbsolutePath));
                            errMessage = PhotomanagerFactory.IsImageCorrect(CheckFileResolution, CheckFileMembers, fi.Name, maxWidth, maxHeight, img.PixelWidth, img.PixelHeight, MemberSeparator, IsMemberIdNumeric);
                            if (!string.IsNullOrEmpty(errMessage))
                            {
                                throw new Exception("Wrong");
                            }
                            Success++;
                        } catch (Exception ex)
                        {
                            // move to error folder
                            var file       = Directory.GetFiles(ApplicationSettings.StartFolder)[indx];
                            var sourceFile = new FileInfo(file);

                            if (ex.Message.Equals("Wrong"))
                            {
                                if (errMessage != null && errMessage.Contains("WrongResolution"))
                                {
                                    var destinationResolutionFolder = Path.Combine(FolderFactory.ErrorFolder, "Resolution");
                                    if (!Directory.Exists(destinationResolutionFolder))
                                    {
                                        Directory.CreateDirectory(destinationResolutionFolder);
                                    }
                                    var destinationResolutionFile = Path.Combine(destinationResolutionFolder, sourceFile.Name);
                                    File.Copy(file, destinationResolutionFile, true);
                                }

                                if (errMessage != null && errMessage.Contains("WrongMemberFilename"))
                                {
                                    var destinationMemberFolder = Path.Combine(FolderFactory.ErrorFolder, "MemberFile");
                                    if (!Directory.Exists(destinationMemberFolder))
                                    {
                                        Directory.CreateDirectory(destinationMemberFolder);
                                    }
                                    var destinationMemberFile = Path.Combine(destinationMemberFolder, sourceFile.Name);
                                    File.Copy(file, destinationMemberFile, true);
                                }
                            }
                            else
                            {
                                var destinationFolder = Path.Combine(FolderFactory.ErrorFolder);
                                if (!Directory.Exists(destinationFolder))
                                {
                                    Directory.CreateDirectory(destinationFolder);
                                }
                                var destinationFile = Path.Combine(destinationFolder, sourceFile.Name);
                                File.Copy(file, destinationFile, true);
                            }

                            Error++;
                        }
                    }

                    LogFactory.WriteToLog(
                        $"Alle wedstrijdfoto's zijn gecontroleerd. Succes: {Success} - Error: {Error}", "ImageCheckerViewModel.Check",
                        ActivityLogTypes.Success, App.ActivityLogFileName);
                    IsBusy = false;
                    MessageBox.Show($"Alle wedstrijdfoto's zijn gecontroleerd. Succes: {Success} - Error: {Error}", "Informatie",
                                    MessageBoxButton.OK, MessageBoxImage.Information);
                }
                catch (Exception ex)
                {
                    LogFactory.WriteToLog(ex.Message, "ImageCheckerViewModel.Check", ActivityLogTypes.Error,
                                          App.ActivityLogFileName);
                    IsBusy = false;
                    MessageBox.Show("Er is een fout opgetreden tijdens het controleren van de fotos.", "Fout",
                                    MessageBoxButton.OK, MessageBoxImage.Error);
                }
            };

            bgWorker.RunWorkerAsync();
        }