public static bool DeletePosFoldersDataAndNewDataIfPosIsDown() { var posProcessName = SettingsData.AlohaIber.Replace(SettingsData.Constants.EXTENSION_EXE, String.Empty); var lstGndDirectories = Directory.GetDirectories(SettingsData.AlohaPath).Select(e => new DirectoryInfo(e).Name).Where(e => e.StartsWith("20") && e.Length == 8).ToList(); if (lstGndDirectories.Any()) { ProcessExt.ForceKillProcess(posProcessName); foreach (var gndDirectory in lstGndDirectories) { DirExt.ForceDeleteFolder(Path.Combine(SettingsData.AlohaPath, gndDirectory)); } } if (ProcessExt.ProcessIsRunning(posProcessName)) { return(false); } var dataFolder = Path.Combine(SettingsData.AlohaPath, SettingsData.Constants.Franchise.DATA_FOLDER); DirExt.ForceDeleteFolder(dataFolder); var newDataFolder = Path.Combine(SettingsData.AlohaPath, SettingsData.Constants.Franchise.NEWDATA_FOLDER); DirExt.ForceDeleteFolder(newDataFolder); return(true); }
private void ReinitPosIfNotCurrentDobOrDifferentFranchise(bool isUpdated, string fileCode, string dataFolder, dynamic dataFolderFranchise, string tmpFolder) { if (isUpdated == false || !File.Exists(fileCode)) { //Kill Iber process if exists ProcessExt.ForceKillProcess(SettingsData.AlohaIber.Replace(SettingsData.Constants.EXTENSION_EXE, String.Empty)); //Delete DATA folders DirExt.ForceDeleteFolder(dataFolder); //Copy directories of franchise DirExt.ForceCopyFolder(Path.Combine(SettingsData.AlohaPath, dataFolderFranchise.ToString()), dataFolder); try { DirExt.ForceToCreateFile(fileCode); } catch (Exception ex) { SharedLogger.LogErrorToFile(ex, fileCode); } //WaitForTopMostToDisable(process); ChangeAlohaIniDate(dataFolder); DeleteTransLog(dataFolder); DeleteTmpFiles(tmpFolder); } }
private async Task <Unit> OnRestartPos() { await Task.Run(() => { ProcessExt.ForceKillProcess(SettingsData.AlohaIber.Replace(SettingsData.Constants.EXTENSION_EXE, String.Empty)); if (!PosService.DeletePosFoldersDataAndNewDataIfPosIsDown()) { ShowPosApp(); return; } ReloadPosAction.SafeExecuteAction(); }); return(new Unit()); }