Beispiel #1
0
        static internal CodePrefix FromExpression(string expression, IUnitOfWork unitOfWork, Guid userLoginID, Sys_CodeObject codeObject)
        {
            expression = expression.Trim();
            try
            {
                CodePrefix result = new CodePrefix(userLoginID, codeObject);
                result.unitOfWork       = unitOfWork;
                result.isResetByDate    = codeObject.IsResetByDate != null ? codeObject.IsResetByDate.Value : false;
                result.isResetByMonth   = codeObject.IsResetByMonth != null ? codeObject.IsResetByMonth.Value : false;
                result.isResetByYear    = codeObject.IsResetByYear != null ? codeObject.IsResetByYear.Value : false;
                result.isResetByUser    = codeObject.IsResetByUser != null ? codeObject.IsResetByUser.Value : false;
                result.isResetByObject  = codeObject.IsResetByObject != null ? codeObject.IsResetByObject.Value : false;
                result.resetObjectName  = result.isResetByObject ? codeObject.ResetObjectName : string.Empty;
                result.resetFieldName   = result.isResetByObject ? codeObject.ResetFieldName : string.Empty;
                result.resetObjectName1 = result.isResetByObject ? codeObject.ResetObjectName1 : string.Empty;
                result.resetFieldName1  = result.isResetByObject ? codeObject.ResetFieldName1 : string.Empty;

                if (result.resetFieldName == null || string.IsNullOrEmpty(result.resetFieldName.Trim()))
                {
                    if (!string.IsNullOrWhiteSpace(codeObject.ResetObjectName))
                    {
                        result.resetFieldName = Constant.ID;
                    }
                }

                if (result.resetFieldName1 == null || string.IsNullOrEmpty(result.resetFieldName1.Trim()))
                {
                    if (!string.IsNullOrWhiteSpace(codeObject.ResetObjectName1))
                    {
                        result.resetFieldName1 = Constant.ID;
                    }
                }

                string function = GetFunction(expression);

                try
                {
                    result.functionType = Common.GetEnumValue <FunctionTypes>(function.Trim().ToUpper());
                }
                catch
                {
                }

                switch (result.functionType)
                {
                case FunctionTypes.DATE:
                    result.GetDateFormat(expression);
                    break;

                case FunctionTypes.ORDINAL:
                case FunctionTypes.OBJECT:
                    result.GetNumber(expression);
                    break;

                case FunctionTypes.TEXT:
                default:
                    result.strText = function;
                    break;
                }
                return(result);
            }
            catch (Exception e)
            {
                throw new VNRException(ExceptionType.FRAMEWORK, "Wrong expression syntax!", e);
            }
        }
Beispiel #2
0
        static internal CodePrefix FromExpression(string expression, IUnitOfWork unitOfWork, Guid userLoginID, Sys_CodeObject codeObject)
        {
            expression = expression.Trim();
            try
            {
                CodePrefix result = new CodePrefix(userLoginID, codeObject);
                result.unitOfWork = unitOfWork;
                result.isResetByDate = codeObject.IsResetByDate != null ? codeObject.IsResetByDate.Value : false;
                result.isResetByMonth = codeObject.IsResetByMonth != null ? codeObject.IsResetByMonth.Value : false;
                result.isResetByYear = codeObject.IsResetByYear != null ? codeObject.IsResetByYear.Value : false;
                result.isResetByUser = codeObject.IsResetByUser != null ? codeObject.IsResetByUser.Value : false;
                result.isResetByObject = codeObject.IsResetByObject != null ? codeObject.IsResetByObject.Value : false;
                result.resetObjectName = result.isResetByObject ? codeObject.ResetObjectName : string.Empty;
                result.resetFieldName = result.isResetByObject ? codeObject.ResetFieldName : string.Empty;
                result.resetObjectName1 = result.isResetByObject ? codeObject.ResetObjectName1 : string.Empty;
                result.resetFieldName1 = result.isResetByObject ? codeObject.ResetFieldName1 : string.Empty;

                if (result.resetFieldName == null || string.IsNullOrEmpty(result.resetFieldName.Trim()))
                {
                    if (!string.IsNullOrWhiteSpace(codeObject.ResetObjectName))
                    {
                        result.resetFieldName = Constant.ID;
                    }
                }

                if (result.resetFieldName1 == null || string.IsNullOrEmpty(result.resetFieldName1.Trim()))
                {
                    if (!string.IsNullOrWhiteSpace(codeObject.ResetObjectName1))
                    {
                        result.resetFieldName1 = Constant.ID;
                    }
                }

                string function = GetFunction(expression);

                try
                {
                    result.functionType = Common.GetEnumValue<FunctionTypes>(function.Trim().ToUpper());
                }
                catch
                {
                }

                switch (result.functionType)
                {
                    case FunctionTypes.DATE:
                        result.GetDateFormat(expression);
                        break;
                    case FunctionTypes.ORDINAL:
                    case FunctionTypes.OBJECT:
                        result.GetNumber(expression);
                        break;
                    case FunctionTypes.TEXT:
                    default:
                        result.strText = function;
                        break;
                }
                return result;
            }
            catch (Exception e)
            {
                throw new VNRException(ExceptionType.FRAMEWORK, "Wrong expression syntax!", e);
            }
        }