ACR_CollectionLib.ACR_CollectionLib.HandleFloatList C# (CSharp) Метод

HandleFloatList() приватный Метод

private HandleFloatList ( string sCollectionName, METHOD_CODE nMethodCode, float fParam1, int nParam1, int nParam2 ) : Int32
sCollectionName string
nMethodCode METHOD_CODE
fParam1 float
nParam1 int
nParam2 int
Результат System.Int32
        private Int32 HandleFloatList(string sCollectionName, METHOD_CODE nMethodCode, float fParam1, int nParam1, int nParam2)
        {
            Int32 nReturnValue = (int)RETURN_CODE.SUCCESS;

            // Make sure the collection does (or does not) exist.
            if (nMethodCode == METHOD_CODE.CREATE && m_FloatList.ContainsKey(sCollectionName))
            {
                // This collection already exists.
                return (int)RETURN_CODE.ERROR_COLLECTION_EXISTS;
            }
            else if (nMethodCode == METHOD_CODE.CREATE_IF_NOT_EXISTS && m_FloatList.ContainsKey(sCollectionName))
            {
                return (int)RETURN_CODE.SUCCESS;
            }
            else if (nMethodCode == METHOD_CODE.DELETE_IF_EXISTS && !m_FloatList.ContainsKey(sCollectionName))
            {
                return (int)RETURN_CODE.SUCCESS;
            }
            else if (nMethodCode == METHOD_CODE.EXISTS)
            {
                SetReturnInt(Convert.ToInt32(m_FloatList.ContainsKey(sCollectionName)));
                return (int)RETURN_CODE.SUCCESS;
            }

            // Switch out the DELETE_IF and CREATE_IF functions.
            if (nMethodCode == METHOD_CODE.CREATE_IF_NOT_EXISTS) nMethodCode = METHOD_CODE.CREATE;
            else if (nMethodCode == METHOD_CODE.DELETE_IF_EXISTS) nMethodCode = METHOD_CODE.DELETE;

            // Unless we're creating the collection, make sure it exists.
            if (nMethodCode != METHOD_CODE.CREATE && !m_FloatList.ContainsKey(sCollectionName))
            {
                // Collection does not exist, cannot be accessed.
                return (int)RETURN_CODE.ERROR_COLLECTION_DOES_NOT_EXIST;
            }

            // Handle the request.
            switch (nMethodCode)
            {
                case METHOD_CODE.CREATE:
                    m_FloatList.Add(sCollectionName, new List<float>());
                    break;
                case METHOD_CODE.DELETE:
                    m_FloatList.Remove(sCollectionName);
                    break;
                case METHOD_CODE.ADD:
                    m_FloatList[sCollectionName].Add(fParam1);
                    break;
                case METHOD_CODE.CLEAR:
                    m_FloatList[sCollectionName].Clear();
                    break;
                case METHOD_CODE.CONTAINS:
                    SetReturnInt(Convert.ToInt32(m_FloatList[sCollectionName].Contains(fParam1)));
                    break;
                case METHOD_CODE.COUNT:
                    SetReturnInt(m_FloatList[sCollectionName].Count());
                    break;
                case METHOD_CODE.ELEMENT_AT:
                    SetReturnFloat(m_FloatList[sCollectionName].ElementAt(nParam1));
                    break;
                case METHOD_CODE.FIRST:
                    SetReturnFloat(m_FloatList[sCollectionName].First());
                    break;
                case METHOD_CODE.INDEX_OF:
                    SetReturnInt(m_FloatList[sCollectionName].IndexOf(fParam1));
                    break;
                case METHOD_CODE.INSERT:
                    m_FloatList[sCollectionName].Insert(nParam1, fParam1);
                    break;
                case METHOD_CODE.MAX:
                    SetReturnFloat(m_FloatList[sCollectionName].Max());
                    break;
                case METHOD_CODE.MIN:
                    SetReturnFloat(m_FloatList[sCollectionName].Min());
                    break;
                case METHOD_CODE.REMOVE:
                    m_FloatList[sCollectionName].Remove(fParam1);
                    break;
                case METHOD_CODE.REMOVE_AT:
                    m_FloatList[sCollectionName].RemoveAt(nParam1);
                    break;
                case METHOD_CODE.REMOVE_RANGE:
                    m_FloatList[sCollectionName].RemoveRange(nParam1, nParam2);
                    break;
                case METHOD_CODE.REVERSE:
                    m_FloatList[sCollectionName].Reverse();
                    break;
                case METHOD_CODE.SORT:
                    m_FloatList[sCollectionName].Sort();
                    break;
                case METHOD_CODE.SUM:
                    SetReturnFloat(m_FloatList[sCollectionName].Sum());
                    break;
                default:
                    nReturnValue = (int)RETURN_CODE.ERROR_COLLECTION_NO_METHOD;
                    break;
            }

            return nReturnValue;
        }