示例#1
0
        public OpResult AddOperation(OperationType operationType, OpResult parentObject, String columnName,
                                     String whereClauseForChildren)
        {
            CheckOpResultForParent(parentObject);

            return(AddOperation(operationType, parentObject.TableName,
                                parentObject.ResolveTo("objectId").MakeReference(),
                                columnName, whereClauseForChildren, null));
        }
示例#2
0
        public OpResult AddOperation(OperationType operationType, OpResult parentObject, String columnName,
                                     List <Dictionary <String, Object> > childrenMaps)
        {
            CheckOpResultForParent(parentObject);
            List <Object> childrenIds = GetChildrenFromListMap(childrenMaps);

            return(AddOperation(operationType, parentObject.TableName,
                                parentObject.ResolveTo("objectId").MakeReference(),
                                columnName, null, childrenIds));
        }
示例#3
0
        public OpResult AddOperation(OperationType operationType, OpResult parentObject, String columnName, String[] childrenObjectIds)
        {
            if (childrenObjectIds == null || childrenObjectIds.Length == 0)
            {
                throw new ArgumentException(ExceptionMessage.NULL_BULK);
            }

            return(AddOperation(operationType, parentObject.TableName,
                                parentObject.ResolveTo("objectId").MakeReference(),
                                columnName, null, childrenObjectIds));
        }
示例#4
0
        public OpResult AddOperation <E>(OperationType operationType, OpResult parentObject, String columnName,
                                         List <E> childrenInstances)
        {
            if (childrenInstances == null || childrenInstances.Count == 0)
            {
                throw new ArgumentException(ExceptionMessage.NULL_BULK);
            }

            CheckOpResultForParent(parentObject);
            List <String> childrenIds = GetChildrenFromArrayInstances(childrenInstances);

            return(AddOperation(operationType, parentObject.TableName,
                                parentObject.ResolveTo("objectId").MakeReference(),
                                columnName, null, childrenIds));
        }
示例#5
0
        public OpResult Update(OpResult result, Dictionary <String, Object> changes)
        {
            if (result == null)
            {
                throw new ArgumentException(ExceptionMessage.NULL_OP_RESULT);
            }

            if (!OperationTypeUtil.supportEntityDescriptionResultType.Contains(result.OperationType))
            {
                throw new ArgumentException(ExceptionMessage.REF_TYPE_NOT_SUPPORT);
            }

            changes["objectId"] = result.ResolveTo("objectId").MakeReference();

            return(Update(result.TableName, changes));
        }
示例#6
0
        public OpResult Delete(OpResult result)
        {
            if (result == null)
            {
                throw new ArgumentException(ExceptionMessage.NULL_OP_RESULT);
            }

            if (!OperationTypeUtil.supportEntityDescriptionResultType.Contains(result.OperationType))
            {
                throw new ArgumentException(ExceptionMessage.REF_TYPE_NOT_SUPPORT);
            }

            String          operationResultId = opResultIdGenerator.GenerateOpResultId(OperationType.DELETE, result.TableName);
            OperationDelete operationDelete   = new OperationDelete(OperationType.DELETE, result.TableName, operationResultId,
                                                                    result.ResolveTo("objectId").MakeReference());

            operations.AddLast(operationDelete);
            return(TransactionHelper.MakeOpResult(result.TableName, operationResultId, OperationType.DELETE));
        }