Example #1
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));
        }
Example #2
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));
        }
Example #3
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));
        }
Example #4
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));
        }
Example #5
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));
        }
Example #6
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));
        }
Example #7
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));
        }
Example #8
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));
        }
Example #9
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));
        }
Example #10
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));
        }