Beispiel #1
0
        public static string GetEnumDescription(ConsoleDisplayType consoleDisplayType)
        {
            var fileInfo   = consoleDisplayType.GetType().GetField(consoleDisplayType.ToString());
            var attributes = (DescriptionAttribute[])fileInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);

            return(attributes != null && attributes.Length > 0
                ? attributes[0].Description
                : consoleDisplayType.ToString());
        }
Beispiel #2
0
        private static void PrintConsoleLog(string logText, ConsoleDisplayType consoleDisplayType)
        {
            Console.ForegroundColor = ConsoleDisplayHelper.ReturnConsoleTextColor(consoleDisplayType);
            var logDescription   = ConsoleDisplayHelper.GetEnumDescription(consoleDisplayType);
            var logFormattedText = $"> {DateTime.Now} {logDescription} {logText}";

            Console.WriteLine(logFormattedText);
            Console.ForegroundColor = ConsoleColor.Gray;
        }
Beispiel #3
0
        public static ConsoleColor ReturnConsoleTextColor(ConsoleDisplayType consoleDisplayType)
        {
            switch (consoleDisplayType)
            {
            case ConsoleDisplayType.Success:
                return(ConsoleColor.Green);

            case ConsoleDisplayType.Exit:
                return(ConsoleColor.DarkGray);

            case ConsoleDisplayType.Information:
                return(ConsoleColor.Gray);

            case ConsoleDisplayType.Initialization:
                return(ConsoleColor.Gray);

            case ConsoleDisplayType.Instruction:
                return(ConsoleColor.White);

            case ConsoleDisplayType.InternalError:
                return(ConsoleColor.Red);

            case ConsoleDisplayType.Missing:
                return(ConsoleColor.Magenta);

            case ConsoleDisplayType.Option:
                return(ConsoleColor.White);

            case ConsoleDisplayType.Preparing:
                return(ConsoleColor.Gray);

            case ConsoleDisplayType.ValidationError:
                return(ConsoleColor.Red);

            case ConsoleDisplayType.Notification:
                return(ConsoleColor.DarkYellow);


            default:
                return(ConsoleColor.Gray);
            }
        }
Beispiel #4
0
        private static void PrepareMessageRequest(out string returnMessage, out ConsoleDisplayType consoleDisplayType)
        {
            PrintConsoleLog("Następuje przygotowanie serwisu", ConsoleDisplayType.Initialization);
            var messageService = _container.Resolve <IMessageService>();

            PrintConsoleLog("Wiadomość będzie teraz opracowywana", ConsoleDisplayType.Preparing);
            var messageRequest = new MessageRequest();

            string legalForm;
            bool   isInvalid          = true;
            var    legalFormEnumCount = Enum.GetNames(typeof(LegalForm)).Length;

            do
            {
                PrintConsoleLog("Wprowadź rodzaj kontaktu", ConsoleDisplayType.Instruction);
                PrintConsoleLog("Dostępne rodzaje to:\r\n\t\t\t\t1 - osoba\r\n\t\t\t\t2 - firma", ConsoleDisplayType.Option);
                legalForm = AskForInput();

                isInvalid = !int.TryParse(legalForm, out int legalFormVerified) ||
                            Convert.ToInt32(legalForm) > legalFormEnumCount ||
                            Convert.ToInt32(legalForm) < 1;

                if (isInvalid)
                {
                    PrintConsoleLog("Niepoprawna wartość!", ConsoleDisplayType.Missing);
                }
            } while (isInvalid);
            var legalFormNumber = Convert.ToInt32(legalForm);
            var legalFormEnum   = (LegalForm)Enum.ToObject(typeof(LegalForm), legalFormNumber);

            messageRequest.LegalForm = legalFormEnum;

            string firstName;

            if (legalFormEnum == LegalForm.Person)
            {
                PrintConsoleLog("Wprowadź imię kontaktu", ConsoleDisplayType.Instruction);
                firstName = AskForInput();
                messageRequest.FirstName = firstName;
            }

            string lastName;

            PrintConsoleLog(legalFormEnum == LegalForm.Person
                ? "Wprowadź nazwisko kontaktu:"
                : "Wprowadź nazwę firmy", ConsoleDisplayType.Instruction);
            lastName = AskForInput();
            messageRequest.LastName = lastName;

            AskForContacts(messageRequest);


            PrintConsoleLog("Następuje próba wysłania wiadomości", ConsoleDisplayType.Information);
            var message = messageService.Send(messageRequest);

            PrintConsoleLog("Oczekiwanie na odpowiedź serwisu", ConsoleDisplayType.Information);
            returnMessage = string.Empty;

            switch (message.ReturnCode)
            {
            case ReturnCode.InternalError:
                returnMessage      = message.ErrorMessage;
                consoleDisplayType = ConsoleDisplayType.InternalError;
                break;

            case ReturnCode.ValidationError:
                returnMessage      = message.ErrorMessage;
                consoleDisplayType = ConsoleDisplayType.ValidationError;
                break;

            case ReturnCode.Success:
                returnMessage      = null;
                consoleDisplayType = ConsoleDisplayType.Success;
                break;

            default:
                returnMessage      = "Nieznany błąd";
                consoleDisplayType = ConsoleDisplayType.InternalError;
                break;
            }
        }
Beispiel #5
0
 private static void DisplayResponseWithFooter(string returnMessage, ConsoleDisplayType consoleDisplayType)
 {
     PrintConsoleLog(returnMessage, consoleDisplayType);
     PrintConsoleLog("Kończenie pracy serwisu", ConsoleDisplayType.Exit);
     PrintConsoleLog($"Wciśnij dowolny przycisk inny od ESC,\r\n\t\t\tby wznowić działanie aplikacji...", ConsoleDisplayType.Option);
 }