private void SetObjectProperties(string line, ObjectSection objectSection, ref NavObjectModel navObject) { if (objectSection != ObjectSection.ObjectProperties) { return; } string[] parts = line.Split('='); switch (ObjectHelper.RemoveIllChar(parts[0])) { case "Date": navObject.StringDate = ObjectHelper.RemoveIllChar(parts[1]); break; case "Time": navObject.StringTime = ObjectHelper.RemoveIllChar(parts[1]); break; case "Modified": navObject.Modified = ObjectHelper.GetBool(parts[1]); break; case "Version List": navObject.VersionList = ObjectHelper.GetVersionList(line, parts[0]); break; } }
private bool ObjectIsEqual(NavObjectModel navObject1, NavObjectModel navObject2, ref NavObjectsCompared objectsCompared) { string comment = string.Empty; objectsCompared.ObjectPropertiesEqual = true; objectsCompared.CodeEqual = true; if (!navObject1.IsEqualTo(navObject2)) { objectsCompared.Status = NavObjectsCompared.EqualStatus.Unequal; // Do More Analysis if (!navObject1.IsObjectPropertiesEqual(navObject2)) { objectsCompared.ObjectPropertiesEqual = false; AddToComment(ref comment, "Date, Time or Version"); } if (!navObject1.IsCodeEqual(navObject2)) { objectsCompared.CodeEqual = false; AddToComment(ref comment, "Code"); } objectsCompared.Comment = comment; return(false); } return(true); }
private static void RemoveFile(NavObjectModel navObjectModel, string destinationFolder) { if (File.Exists(navObjectModel.GetFullPath(destinationFolder))) { File.Delete(navObjectModel.GetFullPath(destinationFolder)); } }
private static void CreateDirectoryIfNotExists(string filePath, NavObjectModel navObject) { string folder = navObject.GetDirectoryPath(filePath); if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } }
private static void SetNewValues(NavObjectModel navObjectNew, NavObjectsCompared objectsCompared) { if (navObjectNew != null) { objectsCompared.StringDateNew = navObjectNew.StringDate; objectsCompared.StringTimeNew = navObjectNew.StringTime; objectsCompared.VersionListNew = navObjectNew.VersionList; objectsCompared.NoOfLinesNew = navObjectNew.ObjectLines.Count; } }
private static void SetCurrentValues(NavObjectModel navObjectCurrent, NavObjectsCompared objectsCompared) { if (navObjectCurrent != null) { objectsCompared.StringDateCurrent = navObjectCurrent.StringDate; objectsCompared.StringTimeCurrent = navObjectCurrent.StringTime; objectsCompared.VersionListCurrent = navObjectCurrent.VersionList; objectsCompared.NoOfLinesCurrent = navObjectCurrent.ObjectLines.Count; } }
private NavObjectModel CreateNewObject(string line, ObjectSection objectSection, NavObjectModel navObject) { NavObjectModel newNavObject = NewObject(line, objectSection); if (newNavObject != null) { navObject = newNavObject; _navObjects.Add(newNavObject.InternalId, newNavObject); } return(navObject); }
private bool ObjectExists(NavObjectModel navObject1, NavObjectModel navObject2, ref NavObjectsCompared objectsCompared) { if (!navObject1.IsExisting(navObject2)) { objectsCompared.CodeEqual = false; objectsCompared.ObjectPropertiesEqual = false; objectsCompared.Status = NavObjectsCompared.EqualStatus.Unexisting; objectsCompared.Comment = "Object does not exists"; return(false); } return(true); }
private void GetDifference(NavObjectModel navObject1, NavObjectModel navObject2, NavObjectsCompared objectsCompared) { if (!ObjectExists(navObject1, navObject2, ref objectsCompared)) { return; } if (!ObjectIsEqual(navObject1, navObject2, ref objectsCompared)) { return; } objectsCompared.CodeEqual = true; objectsCompared.ObjectPropertiesEqual = true; objectsCompared.Status = NavObjectsCompared.EqualStatus.Equal; }
private void SetModifiedFiles(List <string> modifiedFiles) { foreach (NavObjectModel navObject in NavObjects) { navObject.IsEdited = false; foreach (string modifiedFile in modifiedFiles) { if (navObject.Type.ToUpper() == NavObjectModel.PathToType(modifiedFile)) { navObject.IsEdited = true; } if (navObject.InternalId.ToUpper() == NavObjectModel.FilePathToInternalId(modifiedFile)) { navObject.IsEdited = true; } } } }
public void FindDifferencesNew(string internalId) { NavObjectModel navObjectNew = GetDictValue(_newNavObjects, internalId); NavObjectModel navObjectCurrent = GetDictValue(_currentNavObjects, internalId); NavObjectsCompared newObjectsCompared = new NavObjectsCompared(internalId) { Id = navObjectNew.Id, Type = navObjectNew.Type, Name = navObjectNew.Name, Edited = (navObjectNew == null ? false : navObjectNew.IsEdited) || (navObjectCurrent == null ? false : navObjectCurrent.IsEdited) }; GetDifference(navObjectNew, navObjectCurrent, newObjectsCompared); SetCurrentValues(navObjectCurrent, newObjectsCompared); SetNewValues(navObjectNew, newObjectsCompared); AddObjectComparedToDictionary(internalId, newObjectsCompared); }
private void ProcessLine(string line, ObjectSection objectSection, ref NavObjectModel navObject) { switch (objectSection) { case ObjectSection.Object: navObject = CreateNewObject(line, objectSection, navObject); break; case ObjectSection.ObjectProperties: SetObjectProperties(line, objectSection, ref navObject); navObject.ObjectProperties.Add(line); break; default: if (navObject != null) { navObject.Code.Add(line); } break; //case ObjectSection.Properties: // navObject.Properties.Add(line); // break; //case ObjectSection.Fields: // navObject.Fields.Add(line); // break; //case ObjectSection.Keys: // navObject.Keys.Add(line); // break; //case ObjectSection.FieldGroups: // navObject.FieldGroups.Add(line); // break; //case ObjectSection.Code: // navObject.Code.Add(line); // break; } if (navObject != null) { navObject.ObjectLines.Add(line); } }
public void RunImportFromObjectFile(string filePath) { if (string.IsNullOrEmpty(filePath)) { return; } if (!File.Exists(filePath)) { return; } if (!IsTxtFile(filePath)) { return; } ObjectSection currObjectSection = ObjectSection.Unknown; NavObjectModel currNavObject = null; var lines = File.ReadAllLines(filePath, Encoding.Default); int totalLineCount = lines.Length; for (int i = 0; i < totalLineCount; i++) { ObjectSection objectSection = ObjectHelper.FindObjectSection(lines[i]); if (objectSection != ObjectSection.Unknown) { currObjectSection = objectSection; } ProcessLine(lines[i], currObjectSection, ref currNavObject); // FireFileReadEvent(i, totalLineCount); } }