Beispiel #1
0
 private Boolean CheckInitialData()
 {
     if (ReadChars.Count == 0)
     {
         return(UserDialog.ReportAboutEmptyInitialData());
     }
     return(true);
 }
Beispiel #2
0
 private static void CheckIfDestinationFileNeedsToBeReplace(String path)
 {
     if (UserDialog.AskUserAboutFileReplacement(path))
     {
         CheckAccessRights(FileIOPermissionAccess.Write, path);
     }
     else
     {
         throw new ArgumentException("Cannot work without destination file.");
     }
 }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
            }
        }
Beispiel #5
0
        private Boolean SelectProgramMode()
        {
            switch (UserDialog.TakeProgramModeFromUser())
            {
            case EProgramMode.Decoder:
                UseDecodeMode();
                return(true);

            case EProgramMode.Encoder:
                UseEncodeMode();
                return(true);

            default: return(false);
            }
        }
Beispiel #6
0
        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);
            }
        }