Example #1
0
        public static string GetStateValueStr(string stateValue, EnumLibrary.Business business)
        {
            //为了兼容老程序,如果为Null或"",则初始化状态码。
            if (stateValue == null || stateValue == string.Empty)
            {
                stateValue = StateInitialize();
            }

            int state = 0;

            Type enumType = business.GetType();
            int  position = 0;

            foreach (int enumItem in Enum.GetValues(enumType))
            {
                if ((int)business == enumItem)
                {
                    position = EnumLibrary.Position[enumItem];
                    break;
                }
            }

            state = Convert.ToInt16(stateValue.Substring(position, EnumLibrary.PlaceLenth));
            return(state.ToString().PadLeft(EnumLibrary.PlaceLenth, '0'));
        }
Example #2
0
        public static object GetStateValueEnum(string stateValue, EnumLibrary.Business business)
        {
            //为了兼容老程序,如果为Null或"",则初始化状态码。
            if (stateValue == null || stateValue == string.Empty)
            {
                stateValue = StateInitialize();
            }

            int state = 0;

            Type enumType = business.GetType();
            int  position = 0;

            foreach (int enumItem in Enum.GetValues(enumType))
            {
                if ((int)business == enumItem)
                {
                    position = EnumLibrary.Position[enumItem];
                    break;
                }
            }

            state = Convert.ToInt16(stateValue.Substring(position, EnumLibrary.PlaceLenth));

            Type t = typeof(EnumLibrary);

            enumType = t.GetNestedType(business.ToString());

            //foreach (string enumItem in Enum.GetNames(enumType))
            //{
            //    if (enumItem ==Enum.Parse(enumType, state)
            //    {
            //stateName = enumItem;
            //Enum.GetName(enumType, state);
            //}
            //}

            return(Enum.Parse(enumType, state.ToString()));
        }
Example #3
0
        public static string StateProcess(string oldState, EnumLibrary.Business business, int state)
        {
            //为了兼容老程序,如果为Null或"",则初始化状态码。
            if (oldState == string.Empty || oldState == null)
            {
                oldState = "".PadLeft(EnumLibrary.StateLength, '0');
            }

            Type enumType = business.GetType();
            int  position = 0;

            foreach (int enumItem in Enum.GetValues(enumType))
            {
                if ((int)business == enumItem)
                {
                    position = EnumLibrary.Position[enumItem];
                    break;
                }
            }

            oldState = ReplaceAt(oldState, position, state.ToString().PadLeft(EnumLibrary.PlaceLenth, '0'));

            return(oldState);
        }