コード例 #1
0
        public OpResult AddOperation(OperationType operationType, String parentTable, Dictionary <String, Object> parentObject,
                                     String columnName, List <Dictionary <String, Object> > childrenMaps)
        {
            String parentObjectId = TransactionHelper.ConvertObjectMapToObjectId(parentObject);

            return(AddOperation(operationType, parentTable, parentObjectId, columnName, childrenMaps));
        }
コード例 #2
0
        public OpResult AddOperation(OperationType operationType, String parentTable, Dictionary <String, Object> parentObject,
                                     String columnName, String whereClauseForChildren)
        {
            String parentObjectId = TransactionHelper.ConvertObjectMapToObjectId(parentObject);

            return(AddOperation(operationType, parentTable, parentObjectId, columnName, whereClauseForChildren));
        }
コード例 #3
0
        public OpResult BulkCreate(String tableName, List <Dictionary <String, Object> > arrayOfObjectMaps)
        {
            if (arrayOfObjectMaps == null)
            {
                throw new ArgumentException(ExceptionMessage.NULL_BULK);
            }

            foreach (Dictionary <String, Object> mapObject in arrayOfObjectMaps)
            {
                if (mapObject != null)
                {
                    TransactionHelper.MakeReferenceToValueFromOpResult(mapObject);
                }
                else
                {
                    throw new ArgumentException(ExceptionMessage.NULL_MAP);
                }
            }

            String operationResultId = opResultIdGenerator.GenerateOpResultId(OperationType.CREATE_BULK, tableName);
            OperationCreateBulk operationCreateBulk = new OperationCreateBulk(OperationType.CREATE_BULK, tableName, operationResultId, arrayOfObjectMaps);

            operations.AddLast(operationCreateBulk);
            return(TransactionHelper.MakeOpResult(tableName, operationResultId, OperationType.CREATE_BULK));
        }
コード例 #4
0
        public OpResult Create <E>(E instance)
        {
            Dictionary <String, Object> entityMap = TransactionHelper.ConvertInstanceToMap <E>(instance);
            String tableName = instance.GetType().Name;

            clazzes["tableName"] = instance.GetType();
            return(Create(tableName, entityMap));
        }
コード例 #5
0
        public OpResult Delete(String tableName, String objectId)
        {
            String          operationResultId = opResultIdGenerator.GenerateOpResultId(OperationType.DELETE, tableName);
            OperationDelete operationDelete   = new OperationDelete(OperationType.DELETE, tableName, operationResultId, objectId);

            operations.AddLast(operationDelete);
            return(TransactionHelper.MakeOpResult(tableName, operationResultId, OperationType.DELETE));
        }
コード例 #6
0
        private List <String> GetChildrenFromArrayInstances <E>(List <E> children)
        {
            if (children == null || children.Count == 0)
            {
                throw new ArgumentException(ExceptionMessage.NULL_BULK);
            }

            return(TransactionHelper.GetObjectIdsFromListInstaces(children.ToArray()));
        }
コード例 #7
0
        private List <Object> GetChildrenFromListMap(List <Dictionary <String, Object> > childrenMaps)
        {
            if (childrenMaps == null)
            {
                throw new ArgumentException(ExceptionMessage.NULL_BULK);
            }

            return(TransactionHelper.ConvertMapsToObjectIds(childrenMaps));
        }
コード例 #8
0
        private OpResult BulkDelete(String tableName, String whereClause, Object unconditional)
        {
            String              operationResultId   = opResultIdGenerator.GenerateOpResultId(OperationType.DELETE_BULK, tableName);
            DeleteBulkPayload   deleteBulkPayload   = new DeleteBulkPayload(whereClause, unconditional);
            OperationDeleteBulk operationDeleteBulk = new OperationDeleteBulk(OperationType.DELETE_BULK, tableName, operationResultId,
                                                                              deleteBulkPayload);

            operations.AddLast(operationDeleteBulk);
            return(TransactionHelper.MakeOpResult(tableName, operationResultId, OperationType.DELETE_BULK));
        }
コード例 #9
0
        public OpResult BulkDelete(String tableName, List <Dictionary <String, Object> > arrayOfObjects)
        {
            if (arrayOfObjects == null || arrayOfObjects.Count == 0)
            {
                throw new ArgumentException(ExceptionMessage.NULL_BULK);
            }

            List <Object> objectIds = TransactionHelper.ConvertMapsToObjectIds(arrayOfObjects);

            return(BulkDelete(tableName, null, objectIds));
        }
コード例 #10
0
        public OpResult Find(String tableName, DataQueryBuilder queryBuilder)
        {
            BackendlessDataQuery query = queryBuilder.Build();

            String        operationResultId = opResultIdGenerator.GenerateOpResultId(OperationType.FIND, tableName);
            OperationFind operationFind     = new OperationFind(OperationType.FIND, tableName, operationResultId, query);

            operations.AddLast(operationFind);

            return(TransactionHelper.MakeOpResult(tableName, operationResultId, OperationType.FIND));
        }
コード例 #11
0
        public OpResult AddOperation <E>(OperationType operationType, String parentTable, Dictionary <String, Object> parentObject,
                                         String columnName, List <E> childrenInstances)
        {
            if (childrenInstances == null || childrenInstances.Count == 0)
            {
                throw new ArgumentException(ExceptionMessage.NULL_BULK);
            }

            String parentObjectIds = TransactionHelper.ConvertObjectMapToObjectId(parentObject);

            return(AddOperation(operationType, parentTable, parentObject, columnName, childrenInstances));
        }
コード例 #12
0
        public OpResult AddOperation(OperationType operationType, String parentTable,
                                     Dictionary <String, Object> parentObject, String columnName, String[] childrenObjectIds)
        {
            String parentObjectId = TransactionHelper.ConvertObjectMapToObjectId(parentObject);

            if (childrenObjectIds == null || childrenObjectIds.Length == 0)
            {
                throw new ArgumentException(ExceptionMessage.NULL_BULK);
            }

            return(AddOperation(operationType, parentTable, parentObjectId, columnName, null, childrenObjectIds));
        }
コード例 #13
0
        private Dictionary <String, Object> GetReferenceToParentFromOpResultValue(OpResultValueReference parentObject)
        {
            if (parentObject == null)
            {
                throw new ArgumentException(ExceptionMessage.NULL_OP_RESULT_VALUE_REFERENCE);
            }

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

            return(TransactionHelper.ConvertCreateBulkOrFindResultIndexToObjectId(parentObject));
        }
コード例 #14
0
        public OpResult Create(String tableName, Dictionary <String, Object> objectMap)
        {
            if (objectMap == null)
            {
                throw new ArgumentException(ExceptionMessage.NULL_MAP);
            }

            TransactionHelper.MakeReferenceToValueFromOpResult(objectMap);
            String          operationResultId = opResultIdGenerator.GenerateOpResultId(OperationType.CREATE, tableName);
            OperationCreate operationCreate   = new OperationCreate(OperationType.CREATE, tableName, operationResultId, objectMap);

            operations.AddLast(operationCreate);
            return(TransactionHelper.MakeOpResult(tableName, operationResultId, OperationType.CREATE));
        }
コード例 #15
0
        private String GetParentObjectIdFromInstance <E>(E parentObject)
        {
            if (parentObject == null)
            {
                throw new ArgumentException(ExceptionMessage.NULL_ENTITY);
            }

            String parentObjectId = TransactionHelper.GetObjectIdFromInstance(parentObject);

            if (parentObjectId == null)
            {
                throw new ArgumentException(ExceptionMessage.NULL_OBJECT_ID_IN_INSTANCE);
            }

            return(parentObjectId);
        }
コード例 #16
0
        public OpResult BulkDelete <E>(List <E> instances)
        {
            if (instances == null)
            {
                throw new ArgumentException(ExceptionMessage.NULL_BULK);
            }

            String        tableName = instances[0].GetType().Name;
            List <Object> objectIds = new List <Object>();

            foreach (E inst in instances)
            {
                objectIds.Add(TransactionHelper.GetObjectIdFromInstance(inst));
            }

            return(BulkDelete(tableName, null, objectIds));
        }
コード例 #17
0
        private OpResult BulkUpdate(String tableName, String whereClause, Object objectsForChanges, Dictionary <String, Object> changes)
        {
            if (changes == null)
            {
                throw new ArgumentException(ExceptionMessage.NULL_MAP);
            }

            TransactionHelper.RemoveSystemField(changes);
            TransactionHelper.MakeReferenceToValueFromOpResult(changes);
            String              operationResultId   = opResultIdGenerator.GenerateOpResultId(OperationType.UPDATE_BULK, tableName);
            UpdateBulkPayload   updateBulkPayload   = new UpdateBulkPayload(whereClause, objectsForChanges, changes);
            OperationUpdateBulk operationUpdateBulk = new OperationUpdateBulk(OperationType.UPDATE_BULK, tableName,
                                                                              operationResultId, updateBulkPayload);

            operations.AddLast(operationUpdateBulk);

            return(TransactionHelper.MakeOpResult(tableName, operationResultId, OperationType.UPDATE_BULK));
        }
コード例 #18
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));
        }
コード例 #19
0
        public OpResult Delete(OpResultValueReference resultIndex)
        {
            if (resultIndex == null)
            {
                throw new ArgumentException(ExceptionMessage.NULL_OP_RESULT_VALUE_REFERENCE);
            }

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

            Dictionary <String, Object> referenceToObjectId = TransactionHelper.ConvertCreateBulkOrFindResultIndexToObjectId(resultIndex);
            String          operationResultId = opResultIdGenerator.GenerateOpResultId(OperationType.DELETE, resultIndex.OpResult.TableName);
            OperationDelete operationDelete   = new OperationDelete(OperationType.DELETE, resultIndex.OpResult.TableName,
                                                                    operationResultId, referenceToObjectId);

            operations.AddLast(operationDelete);
            return(TransactionHelper.MakeOpResult(resultIndex.OpResult.TableName, operationResultId, OperationType.DELETE));
        }
コード例 #20
0
        private OpResult AddOperation(OperationType operationType, String parentTable, Object parentObject, String columnName,
                                      String whereClauseForChildren, Object children)
        {
            if (parentTable == null || parentTable == "")
            {
                throw new ArgumentException(ExceptionMessage.NULL_PARENT_TABLE_NAME);
            }

            if (columnName == null || columnName == "")
            {
                throw new ArgumentException(ExceptionMessage.NULL_RELATION_COLUMN_NAME);
            }

            String operationResultId = opResultIdGenerator.GenerateOpResultId(operationType, parentTable);

            Relation relation = new Relation();

            relation.ParentObject   = parentObject;
            relation.RelationColumn = columnName;
            relation.Conditional    = whereClauseForChildren;
            relation.Unconditional  = children;

            switch (operationType)
            {
            case OperationType.ADD_RELATION:
                operations.AddLast(new OperationAddRelation(operationType, parentTable, operationResultId, relation));
                break;

            case OperationType.SET_RELATION:
                operations.AddLast(new OperationSetRelation(operationType, parentTable, operationResultId, relation));
                break;

            case OperationType.DELETE_RELATION:
                operations.AddLast(new OperationDeleteRelation(operationType, parentTable, operationResultId, relation));
                break;
            }

            return(TransactionHelper.MakeOpResult(parentTable, operationResultId, operationType));
        }
コード例 #21
0
        public OpResult BulkCreate <E>(List <E> instances)
        {
            if (instances == null)
            {
                throw new ArgumentException(ExceptionMessage.NULL_INSTANCE);
            }

            String tableName = instances[0].GetType().Name;
            List <Dictionary <String, Object> > serializedEntities = new List <Dictionary <String, Object> >();
            int iterator = 0;

            while (instances.Count != iterator)
            {
                serializedEntities.Add(TransactionHelper.ConvertInstanceToMap <E>(instances[iterator]));
                iterator++;
            }

            String operationResultId = opResultIdGenerator.GenerateOpResultId(OperationType.CREATE_BULK, tableName);
            OperationCreateBulk operationCreateBulk = new OperationCreateBulk(OperationType.CREATE_BULK, tableName, operationResultId, serializedEntities);

            operations.AddLast(operationCreateBulk);
            return(TransactionHelper.MakeOpResult(tableName, operationResultId, OperationType.CREATE_BULK));
        }
コード例 #22
0
        public OpResult Delete(String tableName, Dictionary <String, Object> objectMap)
        {
            String objectId = TransactionHelper.ConvertObjectMapToObjectId(objectMap);

            return(Delete(tableName, objectId));
        }