예제 #1
0
        public static string GetMessageFromPassportPDFError(Error error, Operation.OperationType failingOperation, string fileName)
        {
            StringBuilder errorMessage = new StringBuilder();

            errorMessage.Append("(" + failingOperation.ToString());
            errorMessage.Append(") ");
            errorMessage.Append(PassportPDFErrorUtilities.GetMessageFromResultCode(error.ResultCode));
            errorMessage.Append(": ");
            errorMessage.Append(fileName);

            if (!string.IsNullOrEmpty(error.ExtResultMessage))
            {
                errorMessage.Append(" - ");
                errorMessage.Append(error.ExtResultMessage);
            }
            else if (error.ExtResultStatus != null && error.ExtResultStatus != "OK")
            {
                errorMessage.Append(" - " + FrameworkGlobals.MessagesLocalizer.GetString("status", FrameworkGlobals.ApplicationLanguage) + error.ExtResultStatus);
            }

            if (error.InternalErrorId != null && !string.IsNullOrEmpty(error.InternalErrorId))
            {
                errorMessage.Append(" - " + FrameworkGlobals.MessagesLocalizer.GetString("internal_error_id_message", FrameworkGlobals.ApplicationLanguage) + (" ") + error.InternalErrorId);
            }

            return(errorMessage.ToString());
        }
예제 #2
0
파일: Parser.cs 프로젝트: vasilescur/dcc
        private Expression RestOfExpr(Expression soFar)
        {
            if (Peek().type == Token.TokenType.Comma)
            {
                // Means we're parsing some function params. Done with this one!
                return(soFar);
            }

            if (EndOfExpr())     // End of expression
            {
                return(null);    // The expression was just an int literal
            }

            if (Token.IsExpressionOperator(Peek()))     // +, -, ==, >>, etc
            {
                Token opToken = Consume();

                Operation.OperationType opType = Operation.ParseType(opToken);

                bool twoParam = Operation.IsTwoParam(opType);

                if (!twoParam)
                {
                    //TODO: Allow prefix operators
                    // Currently, all ops must be infix or posfix.

                    SingleParamOperation operation = new SingleParamOperation()
                    {
                        operationType = opType,
                        operand       = soFar
                    };

                    return(operation);
                }
                else
                {
                    // Two parameter.

                    // Parse the second parameter
                    Expression secondParam = ParseExpression();

                    return(new TwoParamOperation()
                    {
                        operationType = opType,
                        operands = new List <Expression>()
                        {
                            soFar, secondParam
                        }
                    });
                }
            }
            else
            {
                // Well..... An Expression has to be (Expression) or (Expression OP) or (Expression OP Expression)
                // So if we're here... it's a syntax error I think
                System.Console.WriteLine("Error: Expected operator or end of expression. Found token");
                throw new UnexpectedTokenException(Consume());
            }

            // Can't ever get here
            throw new Exception("This is impossible");
        }