Exemple #1
0
        private void ReplaceExistingDialog(ConvertResult result)
        {
            var regEx = FindExistingDialog(result.NewResourceValue);

            if (regEx != null)
            {
                _fileContent = regEx.Replace(_fileContent, result.DialogContent);
            }
        }
Exemple #2
0
 public ConvertResult Convert()
 {
     _stringBuilder.Clear();
     _controls.Clear();
     _commandIdMap.Clear();
     _result       = new ConvertResult();
     _formInstance = (Form)Activator.CreateInstance(_formType);
     ProcessControl(_formInstance);
     _controls = _controls.OrderBy(x => x.Item1.TabIndex).ToList();
     _result.NewControlValues = _result.NewControlValues.OrderBy(x => x.TabIndex).ToList();
     foreach (var control in _controls)
     {
         _stringBuilder.Append(control.Item2);
     }
     _stringBuilder.AppendLine("END");
     _result.DialogContent = _stringBuilder.ToString().Trim();
     return(_result);
 }
Exemple #3
0
        public void Patch(ConvertResult result)
        {
            if (Replace && _oldDialogFound)
            {
                SimpleLogger.GetLogger().WriteLog("Dialog replaced");
                PatchReplace(result);
                return;
            }
            //patch header file
            _resourceHeaderFile.AddResource(result.NewResourceValue);
            foreach (var newControlValue in result.NewControlValues)
            {
                var controlId = _resourceHeaderFile.AddControl(newControlValue.ControlId);
                SimpleLogger.GetLogger().WriteLog($"Added control '{newControlValue.ControlId}' with id {controlId}");
            }
            if (!_embedded)
            {
                var backupFileHeader = CreateBackup(_resourceHeaderFile.FileName);
                SimpleLogger.GetLogger().WriteLog($"Created Backup file '{backupFileHeader}'");
            }
            _resourceHeaderFile.Write();

            //patch resource file
            var index = FindInserIndex();

            if (index > -1)
            {
                _fileContent = _fileContent.Insert(index, Environment.NewLine + Environment.NewLine + result.DialogContent);
            }
            else
            {
                _fileContent = CreateNewDialogSection(result.DialogContent);
            }
            if (!_embedded)
            {
                var backupFile = CreateBackup(FileName);
                SimpleLogger.GetLogger().WriteLog($"Created Backup file '{backupFile}'");
            }
            Write();
        }
Exemple #4
0
        private void PatchReplace(ConvertResult result)
        {
            //patch header file
            var resourceHaderChanged = false;

            foreach (var newControlValue in result.NewControlValues)
            {
                if (_replaceOldControlIds.Contains(newControlValue.ControlId))
                {
                    _replaceOldControlIds.Remove(newControlValue.ControlId);
                    continue;
                }
                var controlId = _resourceHeaderFile.AddControl(newControlValue.ControlId);
                SimpleLogger.GetLogger().WriteLog($"Added control '{newControlValue.ControlId}' with id {controlId}");
                resourceHaderChanged = true;
            }
            foreach (var removedOldControlId in _replaceOldControlIds)
            {
                _resourceHeaderFile.RemoveEntry(removedOldControlId);
                SimpleLogger.GetLogger().WriteLog($"Removed control '{removedOldControlId}'");
                resourceHaderChanged = true;
            }

            if (resourceHaderChanged)
            {
                var backupFileHeader = CreateBackup(_resourceHeaderFile.FileName);
                SimpleLogger.GetLogger().WriteLog($"Created Backup file '{backupFileHeader}'");
                _resourceHeaderFile.Write();
            }

            //patch resource file
            ReplaceExistingDialog(result);

            var backupFile = CreateBackup(FileName);

            SimpleLogger.GetLogger().WriteLog($"Created Backup file '{backupFile}'");
            Write();
        }