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); } }
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); }
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); } }
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); }
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(); } } }
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); }
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; }
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(); }
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(); } }
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(); }