public ReturnFilesViewModel(ReturnPackage returnPackage) { _messageBoxService = new MessageBoxService(); _returnPackage = returnPackage; _title = "Please select files for the return package"; if (returnPackage?.TargetFiles != null && returnPackage.TargetFiles.Count > 0) { var xliffFiles = returnPackage.TargetFiles.Where(file => file.Name.EndsWith(".sdlxliff")).ToList(); if (xliffFiles.Count() != 0) { foreach (var project in xliffFiles) { var item = new CellViewModel { Id = project.Id, Name = project.Name, Checked = false }; _listView.Add(item); } ProjectFiles = xliffFiles; } else { ProjectFiles = new List <ProjectFile>(); } Title = _title; } else { _messageBoxService.ShowWarningMessage("Please select a StarTransit project!", "Warning"); } }
/// <summary> /// Creates an archive in the Return Package folder and add project files to it /// For the moment we add the files without runing any task on them /// </summary> /// <param name="package"></param> private void CreateArchive(ReturnPackage package) { ChangeMetadataFile(package.PathToPrjFile); var prjFileName = Path.GetFileNameWithoutExtension(package.PathToPrjFile); var archivePath = Path.Combine(package.FolderLocation, prjFileName + ".tpf"); foreach (var targetFile in package.TargetFiles) { var pathToTargetFileFolder = targetFile.LocalFilePath.Substring(0, targetFile.LocalFilePath.LastIndexOf(@"\", StringComparison.Ordinal)); if (!File.Exists(archivePath)) { //create the archive, and add files to it using (var archive = ZipFile.Open(archivePath, ZipArchiveMode.Create)) { archive.CreateEntryFromFile(package.PathToPrjFile, string.Concat(prjFileName, ".PRJ"), CompressionLevel.Optimal); foreach (var file in package.TargetFiles) { pathToTargetFileFolder = file.LocalFilePath.Substring(0, file.LocalFilePath.LastIndexOf(@"\", StringComparison.Ordinal)); var fileName = Path.GetFileNameWithoutExtension(file.LocalFilePath); archive.CreateEntryFromFile(Path.Combine(pathToTargetFileFolder, fileName), fileName, CompressionLevel.Optimal); } } } else { UpdateArchive(archivePath, prjFileName, package, pathToTargetFileFolder); } } }
public ReturnFilesViewModel(ReturnPackage returnPackage, ReturnPackageMainWindow window) { _returnPackage = returnPackage; _window = window; _title = "Please select files for the return package"; if (returnPackage != null || returnPackage.TargetFiles.Count > 0) { var xliffFiles = returnPackage.TargetFiles.Where(file => file.Name.EndsWith(".sdlxliff")).ToList(); if (xliffFiles.Count() != 0) { foreach (var project in xliffFiles) { var item = new CellViewModel { Id = project.Id, Name = project.Name, Checked = false }; _listView.Add(item); } ProjectFiles = xliffFiles; } else { ProjectFiles = new List <ProjectFile>(); } Title = _title; } else { MessageBox.Show("Please select target files!", "Informative message", MessageBoxButton.OK, MessageBoxImage.Warning); } }
public ReturnFilesViewModel(ReturnPackage returnPackage, ReturnPackageMainWindow window) { _returnPackage = returnPackage; _window = window; _title = "Please select files for the return package"; var xliffFiles = returnPackage.TargetFiles.Where(file => file.Name.EndsWith(".sdlxliff")).ToList(); if (xliffFiles.Count() != 0) { foreach (var project in xliffFiles) { var item = new CellViewModel { Id = project.Id, Name = project.Name, Checked = false }; _listView.Add(item); } ProjectFiles = xliffFiles; } else { ProjectFiles = new List <ProjectFile>(); } Title = _title; }
public ReturnPackageService() { _isTransitProject = new List <bool>(); _returnPackage = new ReturnPackage(); var helpers = new Helpers(); _projectsController = helpers.GetProjectsController(); }
public ReturnPackageService(IProjectsControllerService projectsControllerService) { _projectsControllerService = projectsControllerService; _returnPackage = new ReturnPackage { SelectedTargetFilesForImport = new List <ProjectFile>(), ReturnFilesDetails = new List <ReturnFileDetails>() }; }
public void ExportFiles(ReturnPackage package) { var taskSequence = package.FileBasedProject.RunAutomaticTasks(package.TargetFiles.GetIds(), new string[] { AutomaticTaskTemplateIds.GenerateTargetTranslations }); var outputFiles = taskSequence.OutputFiles.ToList(); CreateArchive(package); }
public static bool IsValidOCCRP(ReturnPackage rp) { var Result = ((rp != null) && (rp.Data != null) && (rp.Data.Tables.Count > 0) && (rp.Data.Tables[0].Rows != null) && (rp.Data.Tables[0].Rows.Count > 0)); return(Result); }
private async void CreatePackage() { try { _returnPackage = _returnFilesViewModel.GetReturnPackage(); if (_returnPackage.TargetFiles.Count == 0) { var dialog = new MetroDialogSettings { AffirmativeButtonText = "OK" }; var result = await _window.ShowMessageAsync("No files selected!", "Please select at least one file.", MessageDialogStyle.Affirmative, dialog); } else { Active = true; string returnPackageFolderPath; if (_returnPackage.FolderLocation == null) { var projectPath = _returnPackage.ProjectLocation.Substring(0, _returnPackage.ProjectLocation.LastIndexOf(@"\", StringComparison.Ordinal)); returnPackageFolderPath = CreateReturnPackageFolder(projectPath); } else { returnPackageFolderPath = CreateReturnPackageFolder(_returnPackage.FolderLocation); } //location of return package folder _returnPackage.FolderLocation = returnPackageFolderPath; await System.Threading.Tasks.Task.Run(() => _returnService.ExportFiles(_returnPackage)); Active = false; _cellViewModel.ClearSelectedProjectsList(); var dialog = new MetroDialogSettings { AffirmativeButtonText = "OK" }; var result = await _window.ShowMessageAsync("Informative message", "The target file(s) was successfully returned", MessageDialogStyle.Affirmative, dialog); if (result == MessageDialogResult.Affirmative) { CloseAction(); } } } catch (Exception ex) { Log.Logger.Error($"CreatePackage method: {ex.Message}\n {ex.StackTrace}"); } }
private void UpdateArchive(string archivePath, string prjFileName, ReturnPackage returnPackagePackage, string pathToTargetFileFolder) { try { //open the archive and delete old files // archvie in update mode not overrides existing files using (var archive = ZipFile.Open(archivePath, ZipArchiveMode.Update)) { var entriesColection = new ObservableCollection <ZipArchiveEntry>(archive.Entries); foreach (var entry in entriesColection) { if (entry.Name.Equals(string.Concat(prjFileName, ".PRJ"))) { entry.Delete(); } foreach (var project in returnPackagePackage.TargetFiles) { var projectFromArchiveToBeDeleted = archive.Entries.FirstOrDefault(n => n.Name.Equals(Path.GetFileNameWithoutExtension(project.Name))); if (projectFromArchiveToBeDeleted != null) { projectFromArchiveToBeDeleted.Delete(); } } } } //add files to archive using (var archive = ZipFile.Open(archivePath, ZipArchiveMode.Update)) { archive.CreateEntryFromFile(returnPackagePackage.PathToPrjFile, string.Concat(prjFileName, ".PRJ"), CompressionLevel.Optimal); foreach (var file in returnPackagePackage.TargetFiles) { var fileName = Path.GetFileNameWithoutExtension(file.LocalFilePath); pathToTargetFileFolder = file.LocalFilePath.Substring(0, file.LocalFilePath.LastIndexOf(@"\", StringComparison.Ordinal)); archive.CreateEntryFromFile(Path.Combine(pathToTargetFileFolder, fileName), fileName, CompressionLevel.Optimal); } } } catch (Exception ex) { Log.Logger.Error($"UpdateArchive method: {ex.Message}\n {ex.StackTrace}"); } }
public void ExportFiles(ReturnPackage package) { try { var taskSequence = package.FileBasedProject.RunAutomaticTasks(package.TargetFiles.GetIds(), new string[] { AutomaticTaskTemplateIds.GenerateTargetTranslations }); var outputFiles = taskSequence.OutputFiles.ToList(); CreateArchive(package); } catch (Exception ex) { Log.Logger.Error($"ExportFiles method: {ex.Message}\n {ex.StackTrace}"); } }
/// <summary> /// Returns a list of StarTransit return package and true if the projects selected are a StarTransit projects /// </summary> /// <returns></returns> public Tuple <ReturnPackage, string> GetReturnPackage() { try { var projects = Controller.SelectedProjects.ToList(); var message = string.Empty; if (projects.Count > 1) { message = @"Please select only one project."; return(new Tuple <ReturnPackage, string>(null, message)); } var isTransitProject = new List <bool>(); var returnPackage = new ReturnPackage(); foreach (var project in projects) { var targetFiles = project.GetTargetLanguageFiles().ToList(); var isTransit = IsTransitProject(targetFiles); if (isTransit) { returnPackage.FileBasedProject = project; returnPackage.ProjectLocation = project.FilePath; returnPackage.TargetFiles = targetFiles; //we take only the first file location, because the other files are in the same location returnPackage.LocalFilePath = targetFiles[0].LocalFilePath; isTransitProject.Add(true); } else { isTransitProject.Add(false); } } if (isTransitProject.Contains(false)) { message = @"Please select a StarTransit project!"; return(new Tuple <ReturnPackage, string>(returnPackage, message)); } return(new Tuple <ReturnPackage, string>(returnPackage, message)); } catch (Exception ex) { Log.Logger.Error($"GetReturnPackage method: {ex.Message}\n {ex.StackTrace}"); } return(null); }
static bool GetAlias(out ReturnPackage rp) { bool result = false; ReturnPackage rpTemp = null; try { rpTemp = (Parameters.occ.ExecSP("def.sp_SelAlias")); result = true; } catch (Exception ex) { result = false; log.Error("LogTypes.Error.ToString() : " + ex.ToString()); } rp = rpTemp; return(result); }
public ReturnPackageMainWindow(ReturnPackage returnPackage) { InitializeComponent(); var returnFilesViewModel = new ReturnFilesViewModel(returnPackage, this); _returnPackageFiles = new ReturnFiles(returnFilesViewModel); _cellViewModel = new CellViewModel(); var returnPackageMainWindowViewModel = new ReturnPackageMainWindowViewModel(returnFilesViewModel, _cellViewModel, this); DataContext = returnPackageMainWindowViewModel; if (returnPackageMainWindowViewModel.CloseAction == null) { returnPackageMainWindowViewModel.CloseAction = Close; } }
private static bool InsQRCodeTicketOcc(out ReturnPackage rp, DataTable dt, long transactionId) { bool result = false; ReturnPackage rpTemp = null; try { log.Debug("unitID =" + Parameters.TVMDynamic.GetParameter("unitId") + "InsTicketTransactionOcc 46."); rpTemp = Parameters.occ.InsQRCodeTicket(dt, "0", Convert.ToInt32(Parameters.TVMDynamic.GetParameter("stationId")), Convert.ToInt32(Parameters.TVMDynamic.GetParameter("unitId").ToString()), (int)transactionId, 0, 0); result = true; } catch (Exception ex) { result = false; log.Error("LogTypes.Error.ToString() " + ex.ToString()); } rp = rpTemp; return(result); }
private async void CreatePackage() { _returnPackage = _returnFilesViewModel.GetReturnPackage(); if (_returnPackage.TargetFiles.Count == 0) { var dialog = new MetroDialogSettings { AffirmativeButtonText = "OK" }; MessageDialogResult result = await _window.ShowMessageAsync("No files selected!", "Please select at least one file.", MessageDialogStyle.Affirmative, dialog); } else { Active = true; string returnPackageFolderPath; if (_returnPackage.FolderLocation == null) { var projectPath = _returnPackage.ProjectLocation.Substring(0, _returnPackage.ProjectLocation.LastIndexOf(@"\", StringComparison.Ordinal)); returnPackageFolderPath = CreateReturnPackageFolder(projectPath); } else { returnPackageFolderPath = CreateReturnPackageFolder(_returnPackage.FolderLocation); } //location of return package folder _returnPackage.FolderLocation = returnPackageFolderPath; await System.Threading.Tasks.Task.Run(() => _returnService.ExportFiles(_returnPackage)); Active = false; _cellViewModel.ClearSelectedProjectsList(); CloseAction(); } }
public ReturnPackageMainWindow(ReturnPackage returnPackage) { InitializeComponent(); IMessageBoxService messageBoxService = new MessageBoxService(); var returnFilesViewModel = new ReturnFilesViewModel(returnPackage, messageBoxService); if (returnFilesViewModel?.ProjectFiles == null) { Close(); return; } _returnPackageFiles = new ReturnFiles(returnFilesViewModel); _cellViewModel = new CellViewModel(); var returnPackageMainWindowViewModel = new ReturnPackageMainWindowViewModel(returnFilesViewModel, _cellViewModel, messageBoxService); DataContext = returnPackageMainWindowViewModel; if (returnPackageMainWindowViewModel.CloseAction == null) { returnPackageMainWindowViewModel.CloseAction = Close; } }
private static bool InsTicketTransactionOcc(out ReturnPackage rpSub) { bool result = false; ReturnPackage rpTemp = null; try { log.Debug("unitID =" + Parameters.TVMDynamic.GetParameter("unitId") + "InsTicketTransactionOcc 22."); int stationId = Convert.ToInt32(Parameters.TVMDynamic.GetParameter("stationId")); int unitId = Convert.ToInt32(Parameters.TVMDynamic.GetParameter("unitId").ToString()); rpTemp = Parameters.occ.InsTicketTransaction(0, 0, Ticket.totalPrice, Convert.ToInt16(TransactionType.TT_QR), (short)PaymentType.cash, Ticket.totalPrice, 0, Ticket.totalPrice, 0, Constants.Change, 0, unitId, stationId); result = true; } catch (Exception ex) { result = false; log.Error("LogTypes.Error.ToString() " + ex.ToString()); } rpSub = rpTemp; return(result); }
private static bool InsOcc(out long transactionId, out DataTable dt) { bool result = false; long transactionIdTemp = 0; DataTable dtTemp = null; log.Debug("LogTypes.Info.ToString() Start InsOcc"); try { result = InsTicketTransactionOcc(out ReturnPackage rpSub); if (result) { log.Debug("LogTypes.Info.ToString() InsTicketTransactionOcc return true "); result = Validation.IsValidOCCRP(rpSub) && (rpSub.Result == 0); if (result) { log.Debug("LogTypes.Info.ToString() InsTicketTransactionOcc return valid data"); transactionIdTemp = Convert.ToInt64(rpSub.Data.Tables[0].Rows[0]["recId"]); if (transactionIdTemp > 0) { log.Debug("LogTypes.Info.ToString() InsTicketTransactionOcc return transactionId >0 "); result = GetTicketTable(out dtTemp); if (result) { log.Debug("LogTypes.Info.ToString() GetTicketTable return true"); ReturnPackage rp = null; result = InsQRCodeTicketOcc(out rp, dtTemp, transactionIdTemp); if (result) { log.Debug("LogTypes.Info.ToString() InsQRCodeTicketOcc return true "); result = (Validation.IsValidOCCRP(rp) && (rp.Result == 0)); if (result) { log.Debug("LogTypes.Info.ToString() InsQRCodeTicketOcc return valid data"); Ticket.ticketActivateDts = Convert.ToDateTime(rp.Data.Tables[0].Rows[0]["qrCreateDate"]); Ticket.dayCount = Convert.ToInt32(rp.Data.Tables[0].Rows[0]["dayCount"]); } else { result = false; log.Debug("LogTypes.Warning.ToString() InsQRCodeTicketOcc return invalid data"); } } else { result = false; log.Debug("LogTypes.Warning.ToString() InsQRCodeTicketOcc return false"); } } else { result = false; log.Debug("LogTypes.Warning.ToString() GetTicketTable return false"); } } else { result = false; log.Debug("LogTypes.Warning.ToString() InsTicketTransactionOcc return transactionId=0"); } } else { result = false; log.Debug("LogTypes.Warning.ToString() InsTicketTransactionOcc return invalid data"); } } else { result = false; log.Debug("LogTypes.Warning.ToString() InsTicketTransactionOcc return false"); } } catch (Exception ex) { result = false; log.Error("LogTypes.Error.ToString() " + ex.ToString()); log.Error("Error:: row position...."); } transactionId = transactionIdTemp; dt = dtTemp; return(result); }