public static MenuSpecification FromFileSpecification ( [NotNull] FileSpecification specification ) { Sure.NotNull(specification, nameof(specification)); MenuSpecification result = new MenuSpecification { Database = specification.Database, Path = specification.Path, FileName = specification.FileName }; return(result); }
public static MenuSpecification Parse ( [CanBeNull] string text ) { MenuSpecification result = new MenuSpecification { Path = IrbisPath.MasterFile }; if (!ReferenceEquals(text, null) && text.Length != 0) { TextNavigator navigator = new TextNavigator(text); result.FileName = navigator.ReadUntil('\\'); if (navigator.PeekChar() == '\\') { navigator.ReadChar(); } if (!navigator.IsEOF) { string db = navigator.ReadUntil('\\'); if (navigator.PeekChar() == '\\') { navigator.ReadChar(); } result.Database = db; if (!navigator.IsEOF) { string sortText = navigator.GetRemainingText(); NumericUtility.TryParseInt32(sortText, out int sortMode); result.SortMode = sortMode; } } } return(result); }