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); } }
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); } }