private Boolean CheckInitialData() { if (ReadChars.Count == 0) { return(UserDialog.ReportAboutEmptyInitialData()); } return(true); }
private static void CheckIfDestinationFileNeedsToBeReplace(String path) { if (UserDialog.AskUserAboutFileReplacement(path)) { CheckAccessRights(FileIOPermissionAccess.Write, path); } else { throw new ArgumentException("Cannot work without destination file."); } }
private String TakePathFromUser(EProgramMode programMode) { PathParser pathParser = new PathParser(programMode); String res; do { res = pathParser.Parse(UserDialog.TakePathFromUser()); } while (res == null && UserDialog.AskUserAboutTryingAgain()); return(res); }
private void UseDecodeMode() { String path = TakePathFromUser(EProgramMode.Decoder); if (!String.IsNullOrEmpty(path)) { Decoder decoder = Decoder.CreateDecoder(path, out EEncodingMode encodingMode); ReadChars = decoder.DecodeDataFromFile(); UserDialog.ReportAboutSuccessReading(path, encodingMode); UserDialog.PrintResult(ReadChars); } }
private Boolean SelectProgramMode() { switch (UserDialog.TakeProgramModeFromUser()) { case EProgramMode.Decoder: UseDecodeMode(); return(true); case EProgramMode.Encoder: UseEncodeMode(); return(true); default: return(false); } }
private void UseEncodeMode() { if (!CheckInitialData()) { return; } String path = TakePathFromUser(EProgramMode.Encoder); if (!String.IsNullOrEmpty(path)) { EEncodingMode encodingMode = UserDialog.TakeEncodingModeFromUser(); Encoder encoder = Encoder.CreateEncoder(path, encodingMode); encoder.WriteDataToFile(ReadChars); UserDialog.ReportAboutSuccessWriting(path, encodingMode); } }