Пример #1
0
        internal static void MakeReferenceToObjectIdFromOpResult(List <Object> listObjectIds)
        {
            IEnumerator <Object> iterator = listObjectIds.GetEnumerator();

            while (iterator.MoveNext())
            {
                Object tempEntity = iterator.MoveNext();

                if (tempEntity is OpResult)
                {
                    throw new ArgumentException(ExceptionMessage.OP_RESULT_FROM_THIS_OPERATION_NOT_SUPPORT_IN_THIS_PLACE);
                }

                if (tempEntity is OpResultValueReference)
                {
                    OpResultValueReference reference = (OpResultValueReference)tempEntity;

                    if (IsCreatedUpdatedObjectId(reference) || IsCreatedBulkResultIndex(reference) || IsFoundPropNameResultIndex(reference))
                    {
                        tempEntity = reference.MakeReference();
                    }
                    else
                    {
                        throw new ArgumentException(ExceptionMessage.OP_RESULT_FROM_THIS_OPERATION_NOT_SUPPORT_IN_THIS_PLACE);
                    }
                }
            }
        }
Пример #2
0
        internal static void MakeReferenceToValueFromOpResult(Dictionary <String, Object> map)
        {
            foreach (KeyValuePair <String, Object> kvp in map)
            {
                Dictionary <String, Object> entry = new Dictionary <String, Object>(map);

                if (entry[kvp.Key] is OpResult)
                {
                    if (OperationTypeUtil.supportIntResultType.Contains(((OpResult)kvp.Value).OperationType))
                    {
                        entry[kvp.Key] = ((OpResult)kvp.Value).MakeReference();
                    }
                    else
                    {
                        throw new ArgumentException(ExceptionMessage.OP_RESULT_FROM_THIS_OPERATION_NOT_SUPPORT_IN_THIS_PLACE);
                    }
                }

                if (entry[kvp.Key] is OpResultValueReference)
                {
                    OpResultValueReference reference = (OpResultValueReference)kvp.Value;

                    if (IsCreatedUpdatedPropName(reference) || IsCreatedBulkResultIndex(reference) || IsFoundPropNameResultIndex(reference))
                    {
                        entry[kvp.Key] = reference.MakeReference();
                    }
                    else
                    {
                        throw new ArgumentException(ExceptionMessage.OP_RESULT_FROM_THIS_OPERATION_NOT_SUPPORT_IN_THIS_PLACE);
                    }
                }
            }
        }
Пример #3
0
        public OpResult Update(OpResultValueReference result, Dictionary <String, Object> changes)
        {
            if (result == null)
            {
                throw new ArgumentException(ExceptionMessage.NULL_OP_RESULT);
            }

            if (result.ResultIndex == null || result.PropName != null)
            {
                throw new ArgumentException(ExceptionMessage.OP_RESULT_INDEX_YES_PROP_NAME_NOT);
            }

            if (OperationTypeUtil.supportCollectionEntityDescriptionType.Contains(result.OpResult.OperationType))
            {
                changes["objectId"] = result.ResolveTo("objectId").MakeReference();
            }
            else if (OperationTypeUtil.supportListIdsResultType.Contains(result.OpResult.OperationType))
            {
                changes["objectId"] = result.MakeReference();
            }
            else
            {
                throw new ArgumentException(ExceptionMessage.REF_TYPE_NOT_SUPPORT);
            }

            return(Update(result.OpResult.TableName, changes));
        }
Пример #4
0
        internal static Dictionary <String, Object> ConvertCreateBulkOrFindResultIndexToObjectId(OpResultValueReference parentObject)
        {
            Dictionary <String, Object> referenceToObjectId;

            if (OperationTypeUtil.supportCollectionEntityDescriptionType.Contains(parentObject.OpResult.OperationType))
            {
                referenceToObjectId = parentObject.ResolveTo("objectId").MakeReference();
            }
            else if (OperationTypeUtil.supportListIdsResultType.Contains(parentObject.OpResult.OperationType))
            {
                referenceToObjectId = parentObject.MakeReference();
            }
            else
            {
                throw new ArgumentException(ExceptionMessage.REF_TYPE_NOT_SUPPORT);
            }

            return(referenceToObjectId);
        }