diff --git a/docs/model.ndm2 b/docs/model.ndm2 index f88a909..db1f950 100644 --- a/docs/model.ndm2 +++ b/docs/model.ndm2 @@ -2768,354 +2768,6 @@ "dataCompressions": [] } }, - { - "objectType": "Table_MSSQL", - "name": "UserOrderService", - "comment": "سرویس های سفارش کاربر", - "owner": "", - "isChangeTracking": false, - "isTrackColumnsUpdated": false, - "oldName": "UserOrderService", - "isSystemTable": false, - "createTime": "", - "modifyTime": "", - "objectID": 9042, - "numberOfRows": 0, - "identityCurrent": 0, - "dataLength": 0, - "indexLength": 0, - "fields": [ - { - "objectType": "TableField_MSSQL", - "name": "CreateNewUserOrder", - "type": "CreateCommand", - "size": 0, - "isNullable": "Default", - "scale": 0, - "comment": "ایجاد سفارش کاربر جدید", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "Others", - "schema": "", - "userDefinedType": "", - "collate": "", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "CreateNewUserOrder", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "UpdateUserOrder", - "type": "UpdateCommand", - "size": 0, - "isNullable": "Default", - "scale": 0, - "comment": "ویرایش سفارش کاربر", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "Others", - "schema": "", - "userDefinedType": "", - "collate": "", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "UpdateUserOrder", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "DeleteUserOrder", - "type": "DeleteCommand", - "size": 0, - "isNullable": "Default", - "scale": 0, - "comment": "حذف سفارش کاربر", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "Others", - "schema": "", - "userDefinedType": "", - "collate": "", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "DeleteUserOrder", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "GetUserOrder", - "type": "GetOneQuery", - "size": 0, - "isNullable": "Default", - "scale": 0, - "comment": "واکشی یک سفارش کاربر", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "Others", - "schema": "", - "userDefinedType": "", - "collate": "", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "GetUserOrder", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "GetAllUserOrderByFilter", - "type": "GetAllByFilterQuery", - "size": 0, - "isNullable": "Default", - "scale": 0, - "comment": "واکشی سفارش کاربر ها بر مبنای فیلتر", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "Others", - "schema": "", - "userDefinedType": "", - "collate": "", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "GetAllUserOrderByFilter", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - } - ], - "indexes": [], - "foreignKeys": [ - { - "objectType": "ForeignKey_MSSQL", - "name": "fk_UserOrderService_CreateNewUserOrderRequest_1", - "fields": [ - "CreateNewUserOrder" - ], - "referencedSchema": "FrontOffice", - "referencedTable": "CreateNewUserOrderRequest", - "referencedFields": [ - "Price" - ], - "onDelete": "", - "onUpdate": "", - "isNotForReplication": false, - "isEnabled": false, - "comment": "", - "sourceCardinality": "NoneRelationship", - "targetCardinality": "NoneRelationship", - "oldName": "" - }, - { - "objectType": "ForeignKey_MSSQL", - "name": "fk_UserOrderService_CreateNewUserOrderResponse_1", - "fields": [ - "CreateNewUserOrder" - ], - "referencedSchema": "FrontOffice", - "referencedTable": "CreateNewUserOrderResponse", - "referencedFields": [ - "Id" - ], - "onDelete": "", - "onUpdate": "", - "isNotForReplication": false, - "isEnabled": false, - "comment": "", - "sourceCardinality": "NoneRelationship", - "targetCardinality": "NoneRelationship", - "oldName": "" - }, - { - "objectType": "ForeignKey_MSSQL", - "name": "fk_UserOrderService_UpdateUserOrderRequest_1", - "fields": [ - "UpdateUserOrder" - ], - "referencedSchema": "FrontOffice", - "referencedTable": "UpdateUserOrderRequest", - "referencedFields": [ - "Id" - ], - "onDelete": "", - "onUpdate": "", - "isNotForReplication": false, - "isEnabled": false, - "comment": "", - "sourceCardinality": "NoneRelationship", - "targetCardinality": "NoneRelationship", - "oldName": "" - }, - { - "objectType": "ForeignKey_MSSQL", - "name": "fk_UserOrderService_DeleteUserOrderRequest_1", - "fields": [ - "DeleteUserOrder" - ], - "referencedSchema": "FrontOffice", - "referencedTable": "DeleteUserOrderRequest", - "referencedFields": [ - "Id" - ], - "onDelete": "", - "onUpdate": "", - "isNotForReplication": false, - "isEnabled": false, - "comment": "", - "sourceCardinality": "NoneRelationship", - "targetCardinality": "NoneRelationship", - "oldName": "" - }, - { - "objectType": "ForeignKey_MSSQL", - "name": "fk_UserOrderService_GetUserOrderRequest_1", - "fields": [ - "GetUserOrder" - ], - "referencedSchema": "FrontOffice", - "referencedTable": "GetUserOrderRequest", - "referencedFields": [ - "Id" - ], - "onDelete": "", - "onUpdate": "", - "isNotForReplication": false, - "isEnabled": false, - "comment": "", - "sourceCardinality": "NoneRelationship", - "targetCardinality": "NoneRelationship", - "oldName": "" - }, - { - "objectType": "ForeignKey_MSSQL", - "name": "fk_UserOrderService_GetUserOrderResponse_1", - "fields": [ - "GetUserOrder" - ], - "referencedSchema": "FrontOffice", - "referencedTable": "GetUserOrderResponse", - "referencedFields": [ - "Id" - ], - "onDelete": "", - "onUpdate": "", - "isNotForReplication": false, - "isEnabled": false, - "comment": "", - "sourceCardinality": "NoneRelationship", - "targetCardinality": "NoneRelationship", - "oldName": "" - }, - { - "objectType": "ForeignKey_MSSQL", - "name": "fk_UserOrderService_GetAllUserOrderByFilterRequest_1", - "fields": [ - "GetAllUserOrderByFilter" - ], - "referencedSchema": "FrontOffice", - "referencedTable": "GetAllUserOrderByFilterRequest", - "referencedFields": [ - "PaginationState" - ], - "onDelete": "", - "onUpdate": "", - "isNotForReplication": false, - "isEnabled": false, - "comment": "", - "sourceCardinality": "NoneRelationship", - "targetCardinality": "NoneRelationship", - "oldName": "" - }, - { - "objectType": "ForeignKey_MSSQL", - "name": "fk_UserOrderService_GetAllUserOrderByFilterResponse_1", - "fields": [ - "GetAllUserOrderByFilter" - ], - "referencedSchema": "FrontOffice", - "referencedTable": "GetAllUserOrderByFilterResponse", - "referencedFields": [ - "MetaData" - ], - "onDelete": "", - "onUpdate": "", - "isNotForReplication": false, - "isEnabled": false, - "comment": "", - "sourceCardinality": "NoneRelationship", - "targetCardinality": "NoneRelationship", - "oldName": "" - } - ], - "uniques": [], - "checks": [], - "triggers": [], - "storage": { - "objectType": "Storage_MSSQL", - "name": "", - "oldName": "", - "storageType": "Default", - "filegroup": "", - "textImageFilegroup": "", - "filestreamFilegroup": "", - "partitionScheme": "", - "partitionColumn": "", - "filestreamPartitionScheme": "", - "dataCompressions": [] - } - }, { "objectType": "Table_MSSQL", "name": "CreateNewUserOrderResponse", @@ -13840,461 +13492,6 @@ "dataCompressions": [] } }, - { - "objectType": "Table_MSSQL", - "name": "GetProductsResponse", - "comment": "خروجی واکشی یک توکن Otp", - "owner": "", - "isChangeTracking": false, - "isTrackColumnsUpdated": false, - "oldName": "GetProductsResponse", - "isSystemTable": false, - "createTime": "", - "modifyTime": "", - "objectID": 6349, - "numberOfRows": 0, - "identityCurrent": 0, - "dataLength": 0, - "indexLength": 0, - "fields": [ - { - "objectType": "TableField_MSSQL", - "name": "Id", - "type": "bigint", - "size": -2147483648, - "isNullable": "No", - "scale": -2147483648, - "comment": "", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "None", - "schema": "sys", - "userDefinedType": "", - "collate": "", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "Id", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": true, - "isExistingField": false, - "identitySeed": -2147483648, - "identityIncrement": -2147483648, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "Title", - "type": "nvarchar", - "size": -2147483648, - "isNullable": "No", - "scale": -2147483648, - "comment": "", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "None", - "schema": "sys", - "userDefinedType": "", - "collate": "SQL_Latin1_General_CP1_CI_AS", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "Title", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "Description", - "type": "nvarchar", - "size": -2147483648, - "isNullable": "No", - "scale": -2147483648, - "comment": "", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "None", - "schema": "sys", - "userDefinedType": "", - "collate": "SQL_Latin1_General_CP1_CI_AS", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "Description", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "ShortInfomation", - "type": "nvarchar", - "size": -2147483648, - "isNullable": "No", - "scale": -2147483648, - "comment": "", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "None", - "schema": "sys", - "userDefinedType": "", - "collate": "SQL_Latin1_General_CP1_CI_AS", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "ShortInfomation", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "FullInformation", - "type": "nvarchar", - "size": -2147483648, - "isNullable": "No", - "scale": -2147483648, - "comment": "", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "None", - "schema": "sys", - "userDefinedType": "", - "collate": "SQL_Latin1_General_CP1_CI_AS", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "FullInformation", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "Price", - "type": "bigint", - "size": -2147483648, - "isNullable": "No", - "scale": -2147483648, - "comment": "", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "None", - "schema": "sys", - "userDefinedType": "", - "collate": "", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "Price", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "Discount", - "type": "int", - "size": -2147483648, - "isNullable": "No", - "scale": -2147483648, - "comment": "", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "None", - "schema": "sys", - "userDefinedType": "", - "collate": "", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "Discount", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "Rate", - "type": "int", - "size": -2147483648, - "isNullable": "No", - "scale": -2147483648, - "comment": "", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "None", - "schema": "sys", - "userDefinedType": "", - "collate": "", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "Rate", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "ImagePath", - "type": "nvarchar", - "size": -2147483648, - "isNullable": "No", - "scale": -2147483648, - "comment": "", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "None", - "schema": "sys", - "userDefinedType": "", - "collate": "SQL_Latin1_General_CP1_CI_AS", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "ImagePath", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "ThumbnailPath", - "type": "nvarchar", - "size": -2147483648, - "isNullable": "No", - "scale": -2147483648, - "comment": "", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "None", - "schema": "sys", - "userDefinedType": "", - "collate": "SQL_Latin1_General_CP1_CI_AS", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "ThumbnailPath", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "SaleCount", - "type": "int", - "size": -2147483648, - "isNullable": "No", - "scale": -2147483648, - "comment": "", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "None", - "schema": "sys", - "userDefinedType": "", - "collate": "", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "SaleCount", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "ViewCount", - "type": "int", - "size": -2147483648, - "isNullable": "No", - "scale": -2147483648, - "comment": "", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "None", - "schema": "sys", - "userDefinedType": "", - "collate": "", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "ViewCount", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - }, - { - "objectType": "TableField_MSSQL", - "name": "RemainingCount", - "type": "int", - "size": -2147483648, - "isNullable": "No", - "scale": -2147483648, - "comment": "", - "computedExpression": "", - "defaultValue": "", - "defaultValueType": "None", - "schema": "sys", - "userDefinedType": "", - "collate": "", - "isWithValues": false, - "isFilestream": false, - "isColumnSet": false, - "isPersisted": false, - "isSparse": false, - "isRowGUIDColumn": false, - "oldName": "RemainingCount", - "computedBaseType": "", - "isDefaultConstraint": false, - "defaultConstraint": "", - "isIdentity": false, - "isExistingField": false, - "identitySeed": 0, - "identityIncrement": 0, - "identityIsNotForReplication": false - } - ], - "indexes": [], - "primaryKey": { - "objectType": "PrimaryKey_MSSQL", - "name": "_copy_65", - "fields": [ - "Id" - ], - "fillFactor": 0, - "oldName": "", - "isClustered": false, - "isPadded": false, - "noRecomputeStatistics": false, - "ignoreDuplicatedKeyValues": false, - "allowRowLocks": false, - "allowPageLocks": false, - "storage": { - "objectType": "Storage_MSSQL", - "name": "", - "oldName": "", - "storageType": "Default", - "filegroup": "", - "textImageFilegroup": "", - "filestreamFilegroup": "", - "partitionScheme": "", - "partitionColumn": "", - "filestreamPartitionScheme": "", - "dataCompressions": [] - } - }, - "foreignKeys": [], - "uniques": [], - "checks": [], - "triggers": [], - "storage": { - "objectType": "Storage_MSSQL", - "name": "", - "oldName": "", - "storageType": "Default", - "filegroup": "", - "textImageFilegroup": "", - "filestreamFilegroup": "", - "partitionScheme": "", - "partitionColumn": "", - "filestreamPartitionScheme": "", - "dataCompressions": [] - } - }, { "objectType": "Table_MSSQL", "name": "GetProductsRequest", @@ -16067,7 +15264,7 @@ "indexes": [], "primaryKey": { "objectType": "PrimaryKey_MSSQL", - "name": "", + "name": "_copy_30", "fields": [], "fillFactor": 0, "oldName": "", @@ -16211,7 +15408,7 @@ "indexes": [], "primaryKey": { "objectType": "PrimaryKey_MSSQL", - "name": "", + "name": "_copy_29", "fields": [], "fillFactor": 0, "oldName": "", @@ -16608,6 +15805,2591 @@ "filestreamPartitionScheme": "", "dataCompressions": [] } + }, + { + "objectType": "Table_MSSQL", + "name": "UserOrderService", + "comment": "سرویس های سفارش کاربر", + "owner": "", + "isChangeTracking": false, + "isTrackColumnsUpdated": false, + "oldName": "UserOrderService", + "isSystemTable": false, + "createTime": "", + "modifyTime": "", + "objectID": 9042, + "numberOfRows": 0, + "identityCurrent": 0, + "dataLength": 0, + "indexLength": 0, + "fields": [ + { + "objectType": "TableField_MSSQL", + "name": "CreateNewUserOrder", + "type": "CreateCommand", + "size": 0, + "isNullable": "Yes", + "scale": 0, + "comment": "ایجاد سفارش کاربر جدید", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "CreateNewUserOrder", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "UpdateUserOrder", + "type": "UpdateCommand", + "size": 0, + "isNullable": "Yes", + "scale": 0, + "comment": "ویرایش سفارش کاربر", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "UpdateUserOrder", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "DeleteUserOrder", + "type": "DeleteCommand", + "size": 0, + "isNullable": "Yes", + "scale": 0, + "comment": "حذف سفارش کاربر", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "DeleteUserOrder", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "GetUserOrder", + "type": "GetOneQuery", + "size": 0, + "isNullable": "Yes", + "scale": 0, + "comment": "واکشی یک سفارش کاربر", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "GetUserOrder", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "GetAllUserOrderByFilter", + "type": "GetAllByFilterQuery", + "size": 0, + "isNullable": "Yes", + "scale": 0, + "comment": "واکشی سفارش کاربر ها بر مبنای فیلتر", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "GetAllUserOrderByFilter", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "SubmitShopBuyOrder", + "type": "Command", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "SubmitShopBuyOrder", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + } + ], + "indexes": [], + "primaryKey": { + "objectType": "PrimaryKey_MSSQL", + "name": "_copy_28", + "fields": [], + "fillFactor": 0, + "oldName": "", + "isClustered": true, + "isPadded": false, + "noRecomputeStatistics": false, + "ignoreDuplicatedKeyValues": false, + "allowRowLocks": true, + "allowPageLocks": true, + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_UserOrderService_CreateNewUserOrderRequest_1", + "fields": [ + "CreateNewUserOrder" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "CreateNewUserOrderRequest", + "referencedFields": [ + "Price" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": false, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + }, + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_UserOrderService_CreateNewUserOrderResponse_1", + "fields": [ + "CreateNewUserOrder" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "CreateNewUserOrderResponse", + "referencedFields": [ + "Id" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": false, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + }, + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_UserOrderService_UpdateUserOrderRequest_1", + "fields": [ + "UpdateUserOrder" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "UpdateUserOrderRequest", + "referencedFields": [ + "Id" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": false, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + }, + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_UserOrderService_DeleteUserOrderRequest_1", + "fields": [ + "DeleteUserOrder" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "DeleteUserOrderRequest", + "referencedFields": [ + "Id" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": false, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + }, + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_UserOrderService_GetUserOrderRequest_1", + "fields": [ + "GetUserOrder" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "GetUserOrderRequest", + "referencedFields": [ + "Id" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": false, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + }, + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_UserOrderService_GetUserOrderResponse_1", + "fields": [ + "GetUserOrder" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "GetUserOrderResponse", + "referencedFields": [ + "Id" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": false, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + }, + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_UserOrderService_GetAllUserOrderByFilterRequest_1", + "fields": [ + "GetAllUserOrderByFilter" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "GetAllUserOrderByFilterRequest", + "referencedFields": [ + "PaginationState" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": false, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + }, + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_UserOrderService_GetAllUserOrderByFilterResponse_1", + "fields": [ + "GetAllUserOrderByFilter" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "GetAllUserOrderByFilterResponse", + "referencedFields": [ + "MetaData" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": false, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + }, + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_UserOrderService_SubmitShopBuyOrderRequest_1", + "fields": [ + "SubmitShopBuyOrder" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "SubmitShopBuyOrderRequest", + "referencedFields": [ + "TotalAmount" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": true, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + }, + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_UserOrderService_SubmitShopBuyOrderResponse_1", + "fields": [ + "SubmitShopBuyOrder" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "SubmitShopBuyOrderResponse", + "referencedFields": [ + "OrderId" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": true, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + } + ], + "uniques": [], + "checks": [], + "triggers": [], + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + { + "objectType": "Table_MSSQL", + "name": "SubmitShopBuyOrderRequest", + "comment": "ورودی واکشی یک سفارش کاربر", + "owner": "", + "isChangeTracking": false, + "isTrackColumnsUpdated": false, + "oldName": "", + "isSystemTable": false, + "createTime": "", + "modifyTime": "", + "objectID": 3325, + "numberOfRows": 0, + "identityCurrent": 0, + "dataLength": 0, + "indexLength": 0, + "fields": [ + { + "objectType": "TableField_MSSQL", + "name": "TotalAmount", + "type": "bigint", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "کل مبلغ قابل پرداخت", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "TotalAmount", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": -2147483648, + "identityIncrement": -2147483648, + "identityIsNotForReplication": false + } + ], + "indexes": [], + "primaryKey": { + "objectType": "PrimaryKey_MSSQL", + "name": "_copy_5_copy_1", + "fields": [ + "TotalAmount" + ], + "fillFactor": 0, + "oldName": "", + "isClustered": false, + "isPadded": false, + "noRecomputeStatistics": false, + "ignoreDuplicatedKeyValues": false, + "allowRowLocks": false, + "allowPageLocks": false, + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "triggers": [], + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + { + "objectType": "Table_MSSQL", + "name": "GetProductsResponse", + "comment": "خروجی واکشی یک توکن Otp", + "owner": "", + "isChangeTracking": false, + "isTrackColumnsUpdated": false, + "oldName": "GetProductsResponse", + "isSystemTable": false, + "createTime": "", + "modifyTime": "", + "objectID": 6349, + "numberOfRows": 0, + "identityCurrent": 0, + "dataLength": 0, + "indexLength": 0, + "fields": [ + { + "objectType": "TableField_MSSQL", + "name": "Id", + "type": "bigint", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "sys", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "Id", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": true, + "isExistingField": false, + "identitySeed": -2147483648, + "identityIncrement": -2147483648, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "Title", + "type": "nvarchar", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "sys", + "userDefinedType": "", + "collate": "SQL_Latin1_General_CP1_CI_AS", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "Title", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "Description", + "type": "nvarchar", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "sys", + "userDefinedType": "", + "collate": "SQL_Latin1_General_CP1_CI_AS", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "Description", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "ShortInfomation", + "type": "nvarchar", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "sys", + "userDefinedType": "", + "collate": "SQL_Latin1_General_CP1_CI_AS", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "ShortInfomation", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "FullInformation", + "type": "nvarchar", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "sys", + "userDefinedType": "", + "collate": "SQL_Latin1_General_CP1_CI_AS", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "FullInformation", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "Price", + "type": "bigint", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "sys", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "Price", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "Discount", + "type": "int", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "sys", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "Discount", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "Rate", + "type": "int", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "sys", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "Rate", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "ImagePath", + "type": "nvarchar", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "sys", + "userDefinedType": "", + "collate": "SQL_Latin1_General_CP1_CI_AS", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "ImagePath", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "ThumbnailPath", + "type": "nvarchar", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "sys", + "userDefinedType": "", + "collate": "SQL_Latin1_General_CP1_CI_AS", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "ThumbnailPath", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "SaleCount", + "type": "int", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "sys", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "SaleCount", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "ViewCount", + "type": "int", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "sys", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "ViewCount", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "RemainingCount", + "type": "int", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "sys", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "RemainingCount", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + } + ], + "indexes": [], + "primaryKey": { + "objectType": "PrimaryKey_MSSQL", + "name": "_copy_65", + "fields": [ + "Id" + ], + "fillFactor": 0, + "oldName": "", + "isClustered": false, + "isPadded": false, + "noRecomputeStatistics": false, + "ignoreDuplicatedKeyValues": false, + "allowRowLocks": false, + "allowPageLocks": false, + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "triggers": [], + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + { + "objectType": "Table_MSSQL", + "name": "SubmitShopBuyOrderFactorDetail", + "comment": "خروجی ایجاد سفارش کاربر جدید", + "owner": "", + "isChangeTracking": false, + "isTrackColumnsUpdated": false, + "oldName": "", + "isSystemTable": false, + "createTime": "", + "modifyTime": "", + "objectID": 2992, + "numberOfRows": 0, + "identityCurrent": 0, + "dataLength": 0, + "indexLength": 0, + "fields": [ + { + "objectType": "TableField_MSSQL", + "name": "ProductId", + "type": "bigint", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "شناسه", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "ProductId", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": -2147483648, + "identityIncrement": -2147483648, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "ProductTitle", + "type": "nvarchar", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "ProductTitle", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "ProductThumbnailPath", + "type": "nvarchar", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "ProductThumbnailPath", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "UnitPrice", + "type": "bigint", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "UnitPrice", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "Count", + "type": "int", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "Count", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "UnitDiscountPrice", + "type": "bigint", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "UnitDiscountPrice", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + } + ], + "indexes": [], + "primaryKey": { + "objectType": "PrimaryKey_MSSQL", + "name": "_copy_8_copy_1_copy_1", + "fields": [ + "ProductId" + ], + "fillFactor": 0, + "oldName": "", + "isClustered": false, + "isPadded": false, + "noRecomputeStatistics": false, + "ignoreDuplicatedKeyValues": false, + "allowRowLocks": false, + "allowPageLocks": false, + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "triggers": [], + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + { + "objectType": "Table_MSSQL", + "name": "SubmitShopBuyOrderResponse", + "comment": "خروجی ایجاد سفارش کاربر جدید", + "owner": "", + "isChangeTracking": false, + "isTrackColumnsUpdated": false, + "oldName": "", + "isSystemTable": false, + "createTime": "", + "modifyTime": "", + "objectID": 2992, + "numberOfRows": 0, + "identityCurrent": 0, + "dataLength": 0, + "indexLength": 0, + "fields": [ + { + "objectType": "TableField_MSSQL", + "name": "OrderId", + "type": "bigint", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "شناسه", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "OrderId", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": -2147483648, + "identityIncrement": -2147483648, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "PaymentStatus", + "type": "enum", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "PaymentStatus", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "PaymentDate", + "type": "datetime2", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "PaymentDate", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "PaymentMethod", + "type": "enum", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "PaymentMethod", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "UserAddressText", + "type": "nvarchar", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "UserAddressText", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "TotalAmount", + "type": "bigint", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "TotalAmount", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "FactorDetail", + "type": "Collection", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "FactorDetail", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + } + ], + "indexes": [], + "primaryKey": { + "objectType": "PrimaryKey_MSSQL", + "name": "_copy_8_copy_1", + "fields": [ + "OrderId" + ], + "fillFactor": 0, + "oldName": "", + "isClustered": false, + "isPadded": false, + "noRecomputeStatistics": false, + "ignoreDuplicatedKeyValues": false, + "allowRowLocks": false, + "allowPageLocks": false, + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_SubmitShopBuyOrderResponse_SubmitShopBuyOrderFactorDetail_1", + "fields": [ + "FactorDetail" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "SubmitShopBuyOrderFactorDetail", + "referencedFields": [ + "ProductId" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": true, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + }, + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_SubmitShopBuyOrderResponse_PaymentMethod_1", + "fields": [ + "PaymentMethod" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "PaymentMethod", + "referencedFields": [ + "IPG" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": true, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + }, + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_SubmitShopBuyOrderResponse_PaymentStatus_1", + "fields": [ + "PaymentStatus" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "PaymentStatus", + "referencedFields": [ + "Success" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": true, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + } + ], + "uniques": [], + "checks": [], + "triggers": [], + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + { + "objectType": "Table_MSSQL", + "name": "PaymentMethod", + "comment": "", + "owner": "", + "isChangeTracking": false, + "isTrackColumnsUpdated": false, + "oldName": "", + "isSystemTable": false, + "createTime": "", + "modifyTime": "", + "objectID": 0, + "numberOfRows": 0, + "identityCurrent": 0, + "dataLength": 0, + "indexLength": 0, + "fields": [ + { + "objectType": "TableField_MSSQL", + "name": "IPG", + "type": "int", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "IPG", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "Wallet", + "type": "int", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "Wallet", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + } + ], + "indexes": [], + "primaryKey": { + "objectType": "PrimaryKey_MSSQL", + "name": "_copy_32", + "fields": [], + "fillFactor": 0, + "oldName": "", + "isClustered": true, + "isPadded": false, + "noRecomputeStatistics": false, + "ignoreDuplicatedKeyValues": false, + "allowRowLocks": true, + "allowPageLocks": true, + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "triggers": [], + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + { + "objectType": "Table_MSSQL", + "name": "PaymentStatus", + "comment": "", + "owner": "", + "isChangeTracking": false, + "isTrackColumnsUpdated": false, + "oldName": "", + "isSystemTable": false, + "createTime": "", + "modifyTime": "", + "objectID": 0, + "numberOfRows": 0, + "identityCurrent": 0, + "dataLength": 0, + "indexLength": 0, + "fields": [ + { + "objectType": "TableField_MSSQL", + "name": "Success", + "type": "int", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "Success", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "Reject", + "type": "int", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "Reject", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "Pending", + "type": "int", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "Pending", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + } + ], + "indexes": [], + "primaryKey": { + "objectType": "PrimaryKey_MSSQL", + "name": "_copy_31", + "fields": [], + "fillFactor": 0, + "oldName": "", + "isClustered": true, + "isPadded": false, + "noRecomputeStatistics": false, + "ignoreDuplicatedKeyValues": false, + "allowRowLocks": true, + "allowPageLocks": true, + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "triggers": [], + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + { + "objectType": "Table_MSSQL", + "name": "GetUserWalletResponse", + "comment": "خروجی مدل واکشی سبد خرید", + "owner": "", + "isChangeTracking": false, + "isTrackColumnsUpdated": false, + "oldName": "GetProductsResponse", + "isSystemTable": false, + "createTime": "", + "modifyTime": "", + "objectID": 6349, + "numberOfRows": 0, + "identityCurrent": 0, + "dataLength": 0, + "indexLength": 0, + "fields": [ + { + "objectType": "TableField_MSSQL", + "name": "Balance", + "type": "bigint", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "موجودی", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "Balance", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "NetworkBalance", + "type": "bigint", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "موجودی شبکه", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "NetworkBalance", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + } + ], + "indexes": [], + "primaryKey": { + "objectType": "PrimaryKey_MSSQL", + "name": "_copy_65_copy_1_copy_1", + "fields": [], + "fillFactor": 0, + "oldName": "", + "isClustered": false, + "isPadded": false, + "noRecomputeStatistics": false, + "ignoreDuplicatedKeyValues": false, + "allowRowLocks": false, + "allowPageLocks": false, + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "triggers": [], + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + { + "objectType": "Table_MSSQL", + "name": "GetAllUserWalletChangeLogResponse", + "comment": "خروجی مدل واکشی سبد خرید", + "owner": "", + "isChangeTracking": false, + "isTrackColumnsUpdated": false, + "oldName": "GetProductsResponse", + "isSystemTable": false, + "createTime": "", + "modifyTime": "", + "objectID": 6349, + "numberOfRows": 0, + "identityCurrent": 0, + "dataLength": 0, + "indexLength": 0, + "fields": [ + { + "objectType": "TableField_MSSQL", + "name": "MetaData", + "type": "MetaData", + "size": 0, + "isNullable": "Yes", + "scale": 0, + "comment": "متادیتا", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "MetaData", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "Model", + "type": "Collection", + "size": 0, + "isNullable": "Yes", + "scale": 0, + "comment": "مدل خروجی", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "Model", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + } + ], + "indexes": [], + "primaryKey": { + "objectType": "PrimaryKey_MSSQL", + "name": "_copy_65_copy_1_copy_1_copy_1_copy_1", + "fields": [], + "fillFactor": 0, + "oldName": "", + "isClustered": false, + "isPadded": false, + "noRecomputeStatistics": false, + "ignoreDuplicatedKeyValues": false, + "allowRowLocks": false, + "allowPageLocks": false, + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_GetAllUserWalletChangeLogResponse_GetAllUserWalletChangeLogResponseModel_1", + "fields": [ + "Model" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "GetAllUserWalletChangeLogResponseModel", + "referencedFields": [ + "CurrentBalance" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": true, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + } + ], + "uniques": [], + "checks": [], + "triggers": [], + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + { + "objectType": "Table_MSSQL", + "name": "GetAllUserWalletChangeLogResponseModel", + "comment": "خروجی مدل واکشی سبد خرید", + "owner": "", + "isChangeTracking": false, + "isTrackColumnsUpdated": false, + "oldName": "GetProductsResponse", + "isSystemTable": false, + "createTime": "", + "modifyTime": "", + "objectID": 6349, + "numberOfRows": 0, + "identityCurrent": 0, + "dataLength": 0, + "indexLength": 0, + "fields": [ + { + "objectType": "TableField_MSSQL", + "name": "CurrentBalance", + "type": "bigint", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "موجودی", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "CurrentBalance", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "ChangeValue", + "type": "bigint", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "تغییر موجودی", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "ChangeValue", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "CurrentNetworkBalance", + "type": "bigint", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "موجودی جاری شبکه", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "CurrentNetworkBalance", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "ChangeNerworkValue", + "type": "bigint", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "تغییر موجودی شبکه", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "ChangeNerworkValue", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "IsIncrease", + "type": "bit", + "size": -2147483648, + "isNullable": "No", + "scale": -2147483648, + "comment": "افزایشی؟", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "IsIncrease", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "RefrenceId", + "type": "bigint", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "شناسه ارجاع", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "RefrenceId", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + } + ], + "indexes": [], + "primaryKey": { + "objectType": "PrimaryKey_MSSQL", + "name": "_copy_65_copy_1_copy_1_copy_1", + "fields": [], + "fillFactor": 0, + "oldName": "", + "isClustered": false, + "isPadded": false, + "noRecomputeStatistics": false, + "ignoreDuplicatedKeyValues": false, + "allowRowLocks": false, + "allowPageLocks": false, + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "triggers": [], + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + { + "objectType": "Table_MSSQL", + "name": "UserWallet", + "comment": "سرویس سبد خرید ", + "owner": "", + "isChangeTracking": false, + "isTrackColumnsUpdated": false, + "oldName": "ProductsService", + "isSystemTable": false, + "createTime": "", + "modifyTime": "", + "objectID": 3023, + "numberOfRows": 0, + "identityCurrent": 0, + "dataLength": 0, + "indexLength": 0, + "fields": [ + { + "objectType": "TableField_MSSQL", + "name": "GetAllUserWalletChangeLog", + "type": "Query", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "واکشی لیست تغییرات کیف پول", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "GetAllUserWalletChangeLog", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "GetUserWallet", + "type": "Query", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "واکشی کیف پول", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "GetUserWallet", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "TransferUserWalletBallance", + "type": "Command", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "جابجایی موجودی", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "TransferUserWalletBallance", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + }, + { + "objectType": "TableField_MSSQL", + "name": "WithdrawBalance", + "type": "Command", + "size": -2147483648, + "isNullable": "Yes", + "scale": -2147483648, + "comment": "برداشت از حساب", + "computedExpression": "", + "defaultValue": "", + "defaultValueType": "None", + "schema": "", + "userDefinedType": "", + "collate": "", + "isWithValues": false, + "isFilestream": false, + "isColumnSet": false, + "isPersisted": false, + "isSparse": false, + "isRowGUIDColumn": false, + "oldName": "WithdrawBalance", + "computedBaseType": "", + "isDefaultConstraint": false, + "defaultConstraint": "", + "isIdentity": false, + "isExistingField": false, + "identitySeed": 0, + "identityIncrement": 0, + "identityIsNotForReplication": false + } + ], + "indexes": [], + "primaryKey": { + "objectType": "PrimaryKey_MSSQL", + "name": "_copy_25_copy_1_copy_1", + "fields": [], + "fillFactor": 0, + "oldName": "", + "isClustered": true, + "isPadded": false, + "noRecomputeStatistics": false, + "ignoreDuplicatedKeyValues": false, + "allowRowLocks": true, + "allowPageLocks": true, + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_UserWallet_GetUserWalletResponse_1", + "fields": [ + "GetUserWallet" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "GetUserWalletResponse", + "referencedFields": [ + "Balance" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": true, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + }, + { + "objectType": "ForeignKey_MSSQL", + "name": "fk_UserWallet_GetAllUserWalletChangeLogResponse_1", + "fields": [ + "GetAllUserWalletChangeLog" + ], + "referencedSchema": "FrontOffice", + "referencedTable": "GetAllUserWalletChangeLogResponse", + "referencedFields": [ + "MetaData" + ], + "onDelete": "", + "onUpdate": "", + "isNotForReplication": false, + "isEnabled": true, + "comment": "", + "sourceCardinality": "NoneRelationship", + "targetCardinality": "NoneRelationship", + "oldName": "" + } + ], + "uniques": [], + "checks": [], + "triggers": [], + "storage": { + "objectType": "Storage_MSSQL", + "name": "", + "oldName": "", + "storageType": "Default", + "filegroup": "", + "textImageFilegroup": "", + "filestreamFilegroup": "", + "partitionScheme": "", + "partitionColumn": "", + "filestreamPartitionScheme": "", + "dataCompressions": [] + } } ], "views": [] @@ -16762,8 +18544,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "UserAddressService", - "x": 540, - "y": 4080, + "x": 3390, + "y": 2580, "width": 400, "height": 200, "isBold": false, @@ -16778,8 +18560,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "CreateNewUserAddressRequest", - "x": 1570, - "y": 3950, + "x": 4420, + "y": 2460, "width": 400, "height": 213, "isBold": false, @@ -16794,8 +18576,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "CreateNewUserAddressResponse", - "x": 920, - "y": 3760, + "x": 3770, + "y": 2260, "width": 400, "height": 106, "isBold": false, @@ -16810,8 +18592,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "UpdateUserAddressRequest", - "x": 1060, - "y": 3920, + "x": 3910, + "y": 2430, "width": 400, "height": 213, "isBold": false, @@ -16826,8 +18608,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "DeleteUserAddressRequest", - "x": 410, - "y": 3450, + "x": 3260, + "y": 1950, "width": 400, "height": 106, "isBold": false, @@ -16842,8 +18624,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetUserAddressRequest", - "x": 30, - "y": 4130, + "x": 2880, + "y": 2630, "width": 400, "height": 106, "isBold": false, @@ -16858,8 +18640,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetUserAddressResponse", - "x": 540, - "y": 4330, + "x": 3390, + "y": 2840, "width": 400, "height": 213, "isBold": false, @@ -16874,8 +18656,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllUserAddressByFilterRequest", - "x": 2090, - "y": 4220, + "x": 4930, + "y": 2720, "width": 400, "height": 137, "isBold": false, @@ -16890,8 +18672,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllUserAddressByFilterFilter", - "x": 2540, - "y": 4220, + "x": 5390, + "y": 2730, "width": 400, "height": 213, "isBold": false, @@ -16906,8 +18688,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllUserAddressByFilterResponse", - "x": 2090, - "y": 4040, + "x": 4930, + "y": 2540, "width": 400, "height": 118, "isBold": false, @@ -16922,8 +18704,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllUserAddressByFilterResponseModel", - "x": 2540, - "y": 3950, + "x": 5390, + "y": 2460, "width": 400, "height": 213, "isBold": false, @@ -16938,8 +18720,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "PackageService", - "x": 3860, - "y": 5060, + "x": 940, + "y": 5670, "width": 400, "height": 120, "isBold": false, @@ -16954,8 +18736,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetPackageRequest", - "x": 4310, - "y": 5050, + "x": 1400, + "y": 5670, "width": 400, "height": 106, "isBold": false, @@ -16970,8 +18752,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetPackageResponse", - "x": 3860, - "y": 5240, + "x": 940, + "y": 5860, "width": 400, "height": 175, "isBold": false, @@ -16986,8 +18768,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllPackageByFilterRequest", - "x": 3400, - "y": 5050, + "x": 480, + "y": 5660, "width": 400, "height": 137, "isBold": false, @@ -17002,8 +18784,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllPackageByFilterFilter", - "x": 2950, - "y": 5030, + "x": 30, + "y": 5650, "width": 400, "height": 175, "isBold": false, @@ -17018,8 +18800,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllPackageByFilterResponse", - "x": 3860, - "y": 4860, + "x": 940, + "y": 5480, "width": 400, "height": 118, "isBold": false, @@ -17034,8 +18816,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllPackageByFilterResponseModel", - "x": 3860, - "y": 4620, + "x": 940, + "y": 5240, "width": 400, "height": 175, "isBold": false, @@ -17051,9 +18833,9 @@ "schemaName": "FrontOffice", "tableName": "UserOrderService", "x": 530, - "y": 5220, + "y": 4800, "width": 400, - "height": 175, + "height": 212, "isBold": false, "titleColor": { "r": 0, @@ -17066,8 +18848,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "CreateNewUserOrderRequest", - "x": 1030, - "y": 5020, + "x": 880, + "y": 4420, "width": 400, "height": 230, "isBold": false, @@ -17082,8 +18864,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "CreateNewUserOrderResponse", - "x": 1530, - "y": 5180, + "x": 1040, + "y": 4690, "width": 400, "height": 106, "isBold": false, @@ -17099,7 +18881,7 @@ "schemaName": "FrontOffice", "tableName": "UpdateUserOrderRequest", "x": 400, - "y": 4620, + "y": 3650, "width": 400, "height": 130, "isBold": false, @@ -17115,7 +18897,7 @@ "schemaName": "FrontOffice", "tableName": "DeleteUserOrderRequest", "x": 30, - "y": 5260, + "y": 4850, "width": 400, "height": 106, "isBold": false, @@ -17131,7 +18913,7 @@ "schemaName": "FrontOffice", "tableName": "GetUserOrderRequest", "x": 530, - "y": 5450, + "y": 5060, "width": 400, "height": 106, "isBold": false, @@ -17146,8 +18928,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetUserOrderResponse", - "x": 2030, - "y": 5300, + "x": 2110, + "y": 4930, "width": 400, "height": 230, "isBold": false, @@ -17162,8 +18944,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllUserOrderByFilterRequest", - "x": 2030, - "y": 5120, + "x": 2110, + "y": 4750, "width": 400, "height": 137, "isBold": false, @@ -17178,8 +18960,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllUserOrderByFilterFilter", - "x": 2480, - "y": 5070, + "x": 2550, + "y": 4740, "width": 400, "height": 240, "isBold": false, @@ -17194,8 +18976,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllUserOrderByFilterResponse", - "x": 790, - "y": 4800, + "x": 2050, + "y": 4580, "width": 400, "height": 118, "isBold": false, @@ -17210,8 +18992,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllUserOrderByFilterResponseModel", - "x": 1230, - "y": 4740, + "x": 2500, + "y": 4470, "width": 400, "height": 230, "isBold": false, @@ -17306,8 +19088,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "SetAddressAsDefaultRequest", - "x": 800, - "y": 3600, + "x": 3640, + "y": 2110, "width": 400, "height": 106, "isBold": false, @@ -17322,8 +19104,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "TransactionTypeEnum", - "x": 2320, - "y": 3150, + "x": 2100, + "y": 2430, "width": 250, "height": 110, "isBold": false, @@ -17338,8 +19120,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "CurrencyEnum", - "x": 1990, - "y": 2740, + "x": 1740, + "y": 2840, "width": 200, "height": 110, "isBold": false, @@ -17355,7 +19137,7 @@ "schemaName": "FrontOffice", "tableName": "TransactionService", "x": 500, - "y": 3040, + "y": 3140, "width": 520, "height": 160, "isBold": false, @@ -17371,7 +19153,7 @@ "schemaName": "FrontOffice", "tableName": "GetTransactionRequest", "x": 1190, - "y": 3150, + "y": 3250, "width": 400, "height": 110, "isBold": false, @@ -17386,8 +19168,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetTransactionResponse", - "x": 2230, - "y": 2550, + "x": 1630, + "y": 2240, "width": 420, "height": 490, "isBold": false, @@ -17402,8 +19184,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllTransactionByFilterRequest", - "x": 800, - "y": 2130, + "x": 1190, + "y": 3070, "width": 400, "height": 137, "isBold": false, @@ -17418,8 +19200,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllTransactionByFilterFilter", - "x": 1880, - "y": 1950, + "x": 1640, + "y": 3060, "width": 400, "height": 490, "isBold": false, @@ -17434,8 +19216,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllTransactionByFilterResponse", - "x": 1130, - "y": 2910, + "x": 2430, + "y": 2070, "width": 350, "height": 118, "isBold": false, @@ -17450,8 +19232,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllTransactionByFilterResponseModel", - "x": 1530, - "y": 2550, + "x": 2400, + "y": 2240, "width": 410, "height": 490, "isBold": false, @@ -17466,8 +19248,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "PaymentRequestRequest", - "x": 1920, - "y": 3090, + "x": 1360, + "y": 2780, "width": 330, "height": 230, "isBold": false, @@ -17483,7 +19265,7 @@ "schemaName": "FrontOffice", "tableName": "PaymentRequestResponse", "x": 570, - "y": 3250, + "y": 3350, "width": 380, "height": 106, "isBold": false, @@ -17499,7 +19281,7 @@ "schemaName": "FrontOffice", "tableName": "PaymentVerificationRequest", "x": 410, - "y": 2020, + "y": 1950, "width": 330, "height": 120, "isBold": false, @@ -17515,7 +19297,7 @@ "schemaName": "FrontOffice", "tableName": "PaymentVerificationResponse", "x": 30, - "y": 3020, + "y": 3130, "width": 360, "height": 190, "isBold": false, @@ -17610,8 +19392,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "ProductsService", - "x": 3690, - "y": 2530, + "x": 3930, + "y": 4200, "width": 400, "height": 175, "isBold": false, @@ -17626,8 +19408,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetProductsResponse", - "x": 4220, - "y": 2400, + "x": 4460, + "y": 4070, "width": 400, "height": 426, "isBold": false, @@ -17642,8 +19424,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetProductsRequest", - "x": 3690, - "y": 2760, + "x": 3930, + "y": 4430, "width": 400, "height": 106, "isBold": false, @@ -17658,8 +19440,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllProductsByFilterFilter", - "x": 3690, - "y": 1950, + "x": 3930, + "y": 3620, "width": 400, "height": 327, "isBold": false, @@ -17674,8 +19456,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllProductsByFilterResponseModel", - "x": 2780, - "y": 2410, + "x": 3020, + "y": 4080, "width": 400, "height": 408, "isBold": false, @@ -17690,8 +19472,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllProductsByFilterResponse", - "x": 3230, - "y": 2550, + "x": 3480, + "y": 4220, "width": 400, "height": 118, "isBold": false, @@ -17706,8 +19488,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllProductsByFilterRequest", - "x": 3690, - "y": 2330, + "x": 3930, + "y": 4000, "width": 400, "height": 137, "isBold": false, @@ -17722,8 +19504,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "ShopingCart", - "x": 3920, - "y": 3480, + "x": 2770, + "y": 5300, "width": 400, "height": 175, "isBold": false, @@ -17738,8 +19520,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "AddNewUserCartRequest", - "x": 4370, - "y": 3520, + "x": 3230, + "y": 5330, "width": 400, "height": 106, "isBold": false, @@ -17754,8 +19536,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "UpdateUserCartRequest", - "x": 3920, - "y": 3710, + "x": 2770, + "y": 5520, "width": 400, "height": 106, "isBold": false, @@ -17770,8 +19552,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllUserCartResponseModel", - "x": 3000, - "y": 3450, + "x": 1860, + "y": 5240, "width": 400, "height": 296, "isBold": false, @@ -17786,8 +19568,8 @@ "type": "table", "schemaName": "FrontOffice", "tableName": "GetAllUserCartResponse", - "x": 3460, - "y": 3510, + "x": 2320, + "y": 5330, "width": 400, "height": 118, "isBold": false, @@ -17797,6 +19579,150 @@ "b": 160, "a": 1 } + }, + { + "type": "table", + "schemaName": "FrontOffice", + "tableName": "SubmitShopBuyOrderRequest", + "x": 1540, + "y": 4720, + "width": 400, + "height": 106, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "FrontOffice", + "tableName": "SubmitShopBuyOrderResponse", + "x": 770, + "y": 3830, + "width": 400, + "height": 246, + "isBold": false, + "titleColor": { + "r": 200, + "g": 255, + "b": 160, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "FrontOffice", + "tableName": "SubmitShopBuyOrderFactorDetail", + "x": 770, + "y": 4120, + "width": 400, + "height": 246, + "isBold": false, + "titleColor": { + "r": 200, + "g": 255, + "b": 160, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "FrontOffice", + "tableName": "PaymentMethod", + "x": 1210, + "y": 3910, + "width": 280, + "height": 100, + "isBold": false, + "titleColor": { + "r": 190, + "g": 220, + "b": 255, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "FrontOffice", + "tableName": "PaymentStatus", + "x": 860, + "y": 3620, + "width": 213, + "height": 164, + "isBold": false, + "titleColor": { + "r": 190, + "g": 220, + "b": 255, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "FrontOffice", + "tableName": "UserWallet", + "x": 4730, + "y": 5290, + "width": 400, + "height": 175, + "isBold": false, + "titleColor": { + "r": 0, + "g": 0, + "b": 0, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "FrontOffice", + "tableName": "GetUserWalletResponse", + "x": 5190, + "y": 5300, + "width": 385, + "height": 143, + "isBold": false, + "titleColor": { + "r": 200, + "g": 255, + "b": 160, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "FrontOffice", + "tableName": "GetAllUserWalletChangeLogResponseModel", + "x": 3690, + "y": 5240, + "width": 553, + "height": 261, + "isBold": false, + "titleColor": { + "r": 200, + "g": 255, + "b": 160, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "FrontOffice", + "tableName": "GetAllUserWalletChangeLogResponse", + "x": 4290, + "y": 5300, + "width": 385, + "height": 143, + "isBold": false, + "titleColor": { + "r": 200, + "g": 255, + "b": 160, + "a": 1 + } } ], "layers": [], @@ -18051,21 +19977,21 @@ "visible": true, "vertices": [ { - "x": 870, - "y": 4065 + "x": 3710, + "y": 2565 }, { - "x": 870, - "y": 3820 + "x": 3710, + "y": 2320 }, { - "x": 905, - "y": 3820 + "x": 3755, + "y": 2320 } ], "label": { - "x": 878, - "y": 4045, + "x": 3718, + "y": 2545, "width": 394, "height": 32, "fontName": "Arial Unicode MS", @@ -18089,25 +20015,25 @@ "visible": true, "vertices": [ { - "x": 955, - "y": 4100 + "x": 3805, + "y": 2600 }, { - "x": 1000, - "y": 4100 + "x": 3850, + "y": 2600 }, { - "x": 1000, - "y": 4070 + "x": 3850, + "y": 2570 }, { - "x": 1045, - "y": 4070 + "x": 3895, + "y": 2570 } ], "label": { - "x": 951, - "y": 4102, + "x": 3801, + "y": 2602, "width": 360, "height": 32, "fontName": "Arial Unicode MS", @@ -18131,17 +20057,17 @@ "visible": true, "vertices": [ { - "x": 610, - "y": 4065 + "x": 3460, + "y": 2565 }, { - "x": 610, - "y": 3571 + "x": 3460, + "y": 2071 } ], "label": { - "x": 618, - "y": 4045, + "x": 3468, + "y": 2545, "width": 355, "height": 32, "fontName": "Arial Unicode MS", @@ -18165,17 +20091,17 @@ "visible": true, "vertices": [ { - "x": 525, - "y": 4180 + "x": 3375, + "y": 2680 }, { - "x": 445, - "y": 4180 + "x": 3295, + "y": 2680 } ], "label": { - "x": 541, - "y": 4152, + "x": 3391, + "y": 2652, "width": 334, "height": 32, "fontName": "Arial Unicode MS", @@ -18199,17 +20125,17 @@ "visible": true, "vertices": [ { - "x": 740, - "y": 4295 + "x": 3590, + "y": 2795 }, { - "x": 740, - "y": 4315 + "x": 3590, + "y": 2825 } ], "label": { - "x": 748, - "y": 4285, + "x": 3598, + "y": 2785, "width": 344, "height": 32, "fontName": "Arial Unicode MS", @@ -18233,17 +20159,17 @@ "visible": true, "vertices": [ { - "x": 955, - "y": 4260 + "x": 3805, + "y": 2760 }, { - "x": 2075, - "y": 4260 + "x": 4915, + "y": 2760 } ], "label": { - "x": 951, - "y": 4262, + "x": 3801, + "y": 2762, "width": 401, "height": 32, "fontName": "Arial Unicode MS", @@ -18267,25 +20193,25 @@ "visible": true, "vertices": [ { - "x": 955, - "y": 4230 + "x": 3805, + "y": 2730 }, { - "x": 2030, - "y": 4230 + "x": 4880, + "y": 2730 }, { - "x": 2030, - "y": 4120 + "x": 4880, + "y": 2630 }, { - "x": 2075, - "y": 4120 + "x": 4915, + "y": 2630 } ], "label": { - "x": 951, - "y": 4232, + "x": 3801, + "y": 2732, "width": 411, "height": 32, "fontName": "Arial Unicode MS", @@ -18309,17 +20235,17 @@ "visible": true, "vertices": [ { - "x": 2505, - "y": 4290 + "x": 5345, + "y": 2790 }, { - "x": 2525, - "y": 4290 + "x": 5375, + "y": 2790 } ], "label": { - "x": 2501, - "y": 4292, + "x": 5341, + "y": 2792, "width": 463, "height": 32, "fontName": "Arial Unicode MS", @@ -18343,17 +20269,17 @@ "visible": true, "vertices": [ { - "x": 2505, - "y": 4100 + "x": 5345, + "y": 2600 }, { - "x": 2525, - "y": 4100 + "x": 5375, + "y": 2600 } ], "label": { - "x": 2501, - "y": 4102, + "x": 5341, + "y": 2602, "width": 548, "height": 32, "fontName": "Arial Unicode MS", @@ -18377,17 +20303,17 @@ "visible": true, "vertices": [ { - "x": 4275, - "y": 5100 + "x": 1355, + "y": 5720 }, { - "x": 4295, - "y": 5100 + "x": 1385, + "y": 5720 } ], "label": { - "x": 4271, - "y": 5072, + "x": 1351, + "y": 5692, "width": 280, "height": 32, "fontName": "Arial Unicode MS", @@ -18411,17 +20337,17 @@ "visible": true, "vertices": [ { - "x": 4060, - "y": 5195 + "x": 1140, + "y": 5805 }, { - "x": 4060, - "y": 5225 + "x": 1140, + "y": 5845 } ], "label": { - "x": 4068, - "y": 5185, + "x": 1148, + "y": 5795, "width": 290, "height": 32, "fontName": "Arial Unicode MS", @@ -18445,17 +20371,17 @@ "visible": true, "vertices": [ { - "x": 3845, - "y": 5100 + "x": 925, + "y": 5720 }, { - "x": 3815, - "y": 5100 + "x": 895, + "y": 5720 } ], "label": { - "x": 3861, - "y": 5102, + "x": 941, + "y": 5722, "width": 347, "height": 32, "fontName": "Arial Unicode MS", @@ -18479,17 +20405,17 @@ "visible": true, "vertices": [ { - "x": 4060, - "y": 5045 + "x": 1140, + "y": 5655 }, { - "x": 4060, - "y": 4993 + "x": 1140, + "y": 5613 } ], "label": { - "x": 4068, - "y": 5055, + "x": 1148, + "y": 5665, "width": 357, "height": 32, "fontName": "Arial Unicode MS", @@ -18513,17 +20439,17 @@ "visible": true, "vertices": [ { - "x": 3385, - "y": 5100 + "x": 465, + "y": 5720 }, { - "x": 3365, - "y": 5100 + "x": 445, + "y": 5720 } ], "label": { - "x": 3401, - "y": 5102, + "x": 481, + "y": 5722, "width": 409, "height": 32, "fontName": "Arial Unicode MS", @@ -18547,17 +20473,17 @@ "visible": true, "vertices": [ { - "x": 4060, - "y": 4845 + "x": 1140, + "y": 5465 }, { - "x": 4060, - "y": 4810 + "x": 1140, + "y": 5430 } ], "label": { - "x": 4068, - "y": 4855, + "x": 1148, + "y": 5475, "width": 494, "height": 32, "fontName": "Arial Unicode MS", @@ -18581,25 +20507,21 @@ "visible": true, "vertices": [ { - "x": 945, - "y": 5240 + "x": 830, + "y": 4785 }, { - "x": 980, - "y": 5240 + "x": 830, + "y": 4530 }, { - "x": 980, - "y": 5180 - }, - { - "x": 1015, - "y": 5180 + "x": 865, + "y": 4530 } ], "label": { - "x": 941, - "y": 5242, + "x": 838, + "y": 4795, "width": 354, "height": 32, "fontName": "Arial Unicode MS", @@ -18624,24 +20546,24 @@ "vertices": [ { "x": 945, - "y": 5310 + "y": 4820 }, { - "x": 1480, - "y": 5310 + "x": 990, + "y": 4820 }, { - "x": 1480, - "y": 5260 + "x": 990, + "y": 4770 }, { - "x": 1515, - "y": 5260 + "x": 1025, + "y": 4770 } ], "label": { "x": 941, - "y": 5282, + "y": 4792, "width": 364, "height": 32, "fontName": "Arial Unicode MS", @@ -18666,16 +20588,16 @@ "vertices": [ { "x": 600, - "y": 5205 + "y": 4785 }, { "x": 600, - "y": 4765 + "y": 3795 } ], "label": { "x": 608, - "y": 5215, + "y": 4795, "width": 330, "height": 32, "fontName": "Arial Unicode MS", @@ -18700,16 +20622,16 @@ "vertices": [ { "x": 515, - "y": 5310 + "y": 4910 }, { "x": 445, - "y": 5310 + "y": 4910 } ], "label": { "x": 531, - "y": 5282, + "y": 4882, "width": 325, "height": 32, "fontName": "Arial Unicode MS", @@ -18734,16 +20656,16 @@ "vertices": [ { "x": 730, - "y": 5410 + "y": 5027 }, { "x": 730, - "y": 5435 + "y": 5045 } ], "label": { "x": 738, - "y": 5370, + "y": 4987, "width": 304, "height": 32, "fontName": "Arial Unicode MS", @@ -18768,16 +20690,16 @@ "vertices": [ { "x": 945, - "y": 5370 + "y": 4990 }, { - "x": 2015, - "y": 5370 + "x": 2095, + "y": 4990 } ], "label": { "x": 941, - "y": 5372, + "y": 4992, "width": 314, "height": 32, "fontName": "Arial Unicode MS", @@ -18802,24 +20724,24 @@ "vertices": [ { "x": 945, - "y": 5340 + "y": 4910 }, { - "x": 1980, - "y": 5340 + "x": 2060, + "y": 4910 }, { - "x": 1980, - "y": 5230 + "x": 2060, + "y": 4820 }, { - "x": 2015, - "y": 5230 + "x": 2095, + "y": 4820 } ], "label": { "x": 941, - "y": 5342, + "y": 4912, "width": 371, "height": 32, "fontName": "Arial Unicode MS", @@ -18843,21 +20765,25 @@ "visible": true, "vertices": [ { - "x": 740, - "y": 5205 + "x": 945, + "y": 4880 }, { - "x": 740, - "y": 4860 + "x": 2000, + "y": 4880 }, { - "x": 775, - "y": 4860 + "x": 2000, + "y": 4660 + }, + { + "x": 2035, + "y": 4660 } ], "label": { - "x": 748, - "y": 5215, + "x": 941, + "y": 4882, "width": 381, "height": 32, "fontName": "Arial Unicode MS", @@ -18881,17 +20807,17 @@ "visible": true, "vertices": [ { - "x": 2445, - "y": 5190 + "x": 2525, + "y": 4810 }, { - "x": 2465, - "y": 5190 + "x": 2535, + "y": 4810 } ], "label": { - "x": 2441, - "y": 5192, + "x": 2521, + "y": 4812, "width": 433, "height": 32, "fontName": "Arial Unicode MS", @@ -18915,17 +20841,17 @@ "visible": true, "vertices": [ { - "x": 1205, - "y": 4860 + "x": 2465, + "y": 4630 }, { - "x": 1215, - "y": 4860 + "x": 2485, + "y": 4630 } ], "label": { - "x": 1201, - "y": 4862, + "x": 2461, + "y": 4632, "width": 518, "height": 32, "fontName": "Arial Unicode MS", @@ -19143,25 +21069,25 @@ "visible": true, "vertices": [ { - "x": 955, - "y": 4200 + "x": 3805, + "y": 2700 }, { - "x": 1520, - "y": 4200 + "x": 4360, + "y": 2700 }, { - "x": 1520, - "y": 4100 + "x": 4360, + "y": 2600 }, { - "x": 1555, - "y": 4100 + "x": 4405, + "y": 2600 } ], "label": { - "x": 945, - "y": 4162, + "x": 3795, + "y": 2662, "width": 384, "height": 32, "fontName": "Arial Unicode MS", @@ -19185,21 +21111,21 @@ "visible": true, "vertices": [ { - "x": 740, - "y": 4065 + "x": 3590, + "y": 2565 }, { - "x": 740, - "y": 3660 + "x": 3590, + "y": 2160 }, { - "x": 785, - "y": 3660 + "x": 3625, + "y": 2160 } ], "label": { - "x": 742, - "y": 4035, + "x": 3592, + "y": 2535, "width": 369, "height": 32, "fontName": "Arial Unicode MS", @@ -19223,17 +21149,17 @@ "visible": true, "vertices": [ { - "x": 2440, - "y": 3055 + "x": 2065, + "y": 2490 }, { - "x": 2440, - "y": 3135 + "x": 2085, + "y": 2490 } ], "label": { - "x": 1790, - "y": 3005, + "x": 1403, + "y": 2452, "width": 360, "height": 32, "fontName": "Arial Unicode MS", @@ -19257,17 +21183,17 @@ "visible": true, "vertices": [ { - "x": 2215, - "y": 2790 + "x": 1840, + "y": 2745 }, { - "x": 2205, - "y": 2790 + "x": 1840, + "y": 2825 } ], "label": { - "x": 1384, - "y": 2752, + "x": 1001, + "y": 2695, "width": 309, "height": 32, "fontName": "Arial Unicode MS", @@ -19291,25 +21217,21 @@ "visible": true, "vertices": [ { - "x": 2295, - "y": 2190 + "x": 2055, + "y": 3300 }, { - "x": 2710, - "y": 2190 + "x": 2230, + "y": 3300 }, { - "x": 2710, - "y": 3200 - }, - { - "x": 2585, - "y": 3200 + "x": 2230, + "y": 2555 } ], "label": { - "x": 1640, - "y": 2152, + "x": 1400, + "y": 3262, "width": 396, "height": 32, "fontName": "Arial Unicode MS", @@ -19333,17 +21255,17 @@ "visible": true, "vertices": [ { - "x": 2080, - "y": 2455 + "x": 1840, + "y": 3045 }, { - "x": 2080, - "y": 2725 + "x": 1840, + "y": 2965 } ], "label": { - "x": 1240, - "y": 2405, + "x": 1000, + "y": 3015, "width": 345, "height": 32, "fontName": "Arial Unicode MS", @@ -19367,25 +21289,17 @@ "visible": true, "vertices": [ { - "x": 1730, - "y": 3055 + "x": 2385, + "y": 2490 }, { - "x": 1730, - "y": 3370 - }, - { - "x": 2440, - "y": 3370 - }, - { - "x": 2440, - "y": 3275 + "x": 2365, + "y": 2490 } ], "label": { - "x": 1287, - "y": 3005, + "x": 1950, + "y": 2452, "width": 471, "height": 32, "fontName": "Arial Unicode MS", @@ -19409,17 +21323,21 @@ "visible": true, "vertices": [ { - "x": 1955, - "y": 2790 + "x": 2600, + "y": 2745 }, { - "x": 1975, - "y": 2790 + "x": 2600, + "y": 2890 + }, + { + "x": 1955, + "y": 2890 } ], "label": { - "x": 1723, - "y": 2752, + "x": 2380, + "y": 2695, "width": 420, "height": 32, "fontName": "Arial Unicode MS", @@ -19444,16 +21362,16 @@ "vertices": [ { "x": 1035, - "y": 3180 + "y": 3280 }, { "x": 1175, - "y": 3180 + "y": 3280 } ], "label": { "x": 1031, - "y": 3152, + "y": 3252, "width": 326, "height": 32, "fontName": "Arial Unicode MS", @@ -19478,24 +21396,20 @@ "vertices": [ { "x": 860, - "y": 3025 + "y": 3125 }, { "x": 860, "y": 2490 }, { - "x": 2440, + "x": 1615, "y": 2490 - }, - { - "x": 2440, - "y": 2535 } ], "label": { "x": 868, - "y": 3035, + "y": 3135, "width": 336, "height": 32, "fontName": "Arial Unicode MS", @@ -19519,21 +21433,25 @@ "visible": true, "vertices": [ { - "x": 720, - "y": 3025 + "x": 1035, + "y": 3250 }, { - "x": 720, - "y": 2190 + "x": 1140, + "y": 3250 }, { - "x": 785, - "y": 2190 + "x": 1140, + "y": 3170 + }, + { + "x": 1175, + "y": 3170 } ], "label": { - "x": 728, - "y": 3035, + "x": 1031, + "y": 3252, "width": 393, "height": 32, "fontName": "Arial Unicode MS", @@ -19557,25 +21475,21 @@ "visible": true, "vertices": [ { - "x": 1035, - "y": 3060 + "x": 720, + "y": 3125 }, { - "x": 1080, - "y": 3060 + "x": 720, + "y": 2130 }, { - "x": 1080, - "y": 2990 - }, - { - "x": 1115, - "y": 2990 + "x": 2415, + "y": 2130 } ], "label": { - "x": 1031, - "y": 3062, + "x": 728, + "y": 3135, "width": 403, "height": 32, "fontName": "Arial Unicode MS", @@ -19599,17 +21513,17 @@ "visible": true, "vertices": [ { - "x": 1215, - "y": 2190 + "x": 1605, + "y": 3130 }, { - "x": 1865, - "y": 2190 + "x": 1625, + "y": 3130 } ], "label": { - "x": 770, - "y": 2192, + "x": 1160, + "y": 3132, "width": 455, "height": 32, "fontName": "Arial Unicode MS", @@ -19633,17 +21547,17 @@ "visible": true, "vertices": [ { - "x": 1495, - "y": 2970 + "x": 2600, + "y": 2203 }, { - "x": 1515, - "y": 2970 + "x": 2600, + "y": 2225 } ], "label": { - "x": 1133, - "y": 2972, + "x": 2250, + "y": 2193, "width": 540, "height": 32, "fontName": "Arial Unicode MS", @@ -19667,17 +21581,25 @@ "visible": true, "vertices": [ { - "x": 2265, - "y": 3200 + "x": 1530, + "y": 2765 }, { - "x": 2305, - "y": 3200 + "x": 1530, + "y": 2190 + }, + { + "x": 2230, + "y": 2190 + }, + { + "x": 2230, + "y": 2415 } ], "label": { - "x": 1620, - "y": 3172, + "x": 897, + "y": 2745, "width": 452, "height": 32, "fontName": "Arial Unicode MS", @@ -19701,17 +21623,17 @@ "visible": true, "vertices": [ { - "x": 2080, - "y": 3075 + "x": 1705, + "y": 2890 }, { - "x": 2080, - "y": 2865 + "x": 1725, + "y": 2890 } ], "label": { - "x": 1620, - "y": 3055, + "x": 1233, + "y": 2862, "width": 401, "height": 32, "fontName": "Arial Unicode MS", @@ -19736,32 +21658,24 @@ "vertices": [ { "x": 1035, - "y": 3150 - }, - { - "x": 1140, - "y": 3150 - }, - { - "x": 1140, - "y": 3090 - }, - { - "x": 1870, - "y": 3090 - }, - { - "x": 1870, "y": 3160 }, { - "x": 1905, + "x": 1080, "y": 3160 + }, + { + "x": 1080, + "y": 2930 + }, + { + "x": 1345, + "y": 2930 } ], "label": { "x": 688, - "y": 3112, + "y": 3122, "width": 337, "height": 32, "fontName": "Arial Unicode MS", @@ -19786,16 +21700,16 @@ "vertices": [ { "x": 760, - "y": 3215 + "y": 3315 }, { "x": 760, - "y": 3235 + "y": 3335 } ], "label": { "x": 479, - "y": 3165, + "y": 3265, "width": 283, "height": 32, "fontName": "Arial Unicode MS", @@ -19820,16 +21734,16 @@ "vertices": [ { "x": 580, - "y": 3025 + "y": 3125 }, { "x": 580, - "y": 2155 + "y": 2085 } ], "label": { "x": 222, - "y": 2995, + "y": 3095, "width": 360, "height": 32, "fontName": "Arial Unicode MS", @@ -19854,16 +21768,16 @@ "vertices": [ { "x": 485, - "y": 3120 + "y": 3220 }, { "x": 405, - "y": 3120 + "y": 3220 } ], "label": { "x": 495, - "y": 3082, + "y": 3182, "width": 370, "height": 32, "fontName": "Arial Unicode MS", @@ -20093,17 +22007,17 @@ "visible": true, "vertices": [ { - "x": 4105, - "y": 2600 + "x": 4345, + "y": 4270 }, { - "x": 4205, - "y": 2600 + "x": 4445, + "y": 4270 } ], "label": { - "x": 3795, - "y": 2560, + "x": 4035, + "y": 4230, "width": 300, "height": 32, "fontName": "Sans", @@ -20127,17 +22041,17 @@ "visible": true, "vertices": [ { - "x": 3890, - "y": 2720 + "x": 4130, + "y": 4390 }, { - "x": 3890, - "y": 2745 + "x": 4130, + "y": 4415 } ], "label": { - "x": 3892, - "y": 2668, + "x": 4132, + "y": 4338, "width": 290, "height": 32, "fontName": "Sans", @@ -20161,17 +22075,17 @@ "visible": true, "vertices": [ { - "x": 3675, - "y": 2600 + "x": 3915, + "y": 4270 }, { - "x": 3645, - "y": 2600 + "x": 3895, + "y": 4270 } ], "label": { - "x": 3318, - "y": 2560, + "x": 3558, + "y": 4230, "width": 367, "height": 32, "fontName": "Sans", @@ -20195,17 +22109,17 @@ "visible": true, "vertices": [ { - "x": 3890, - "y": 2515 + "x": 4130, + "y": 4185 }, { - "x": 3890, - "y": 2482 + "x": 4130, + "y": 4152 } ], "label": { - "x": 3892, - "y": 2483, + "x": 4132, + "y": 4153, "width": 357, "height": 32, "fontName": "Sans", @@ -20229,17 +22143,17 @@ "visible": true, "vertices": [ { - "x": 3890, - "y": 2315 + "x": 4130, + "y": 3985 }, { - "x": 3890, - "y": 2292 + "x": 4130, + "y": 3962 } ], "label": { - "x": 3459, - "y": 2283, + "x": 3699, + "y": 3953, "width": 433, "height": 32, "fontName": "Sans", @@ -20263,17 +22177,17 @@ "visible": true, "vertices": [ { - "x": 4335, - "y": 3570 + "x": 3185, + "y": 5380 }, { - "x": 4355, - "y": 3570 + "x": 3215, + "y": 5380 } ], "label": { - "x": 4024, - "y": 3530, + "x": 2874, + "y": 5340, "width": 301, "height": 32, "fontName": "Sans", @@ -20297,17 +22211,17 @@ "visible": true, "vertices": [ { - "x": 4120, - "y": 3670 + "x": 2970, + "y": 5490 }, { - "x": 4120, - "y": 3695 + "x": 2970, + "y": 5505 } ], "label": { - "x": 3829, - "y": 3618, + "x": 2679, + "y": 5438, "width": 293, "height": 32, "fontName": "Sans", @@ -20331,17 +22245,17 @@ "visible": true, "vertices": [ { - "x": 3905, - "y": 3570 + "x": 2755, + "y": 5380 }, { - "x": 3875, - "y": 3570 + "x": 2735, + "y": 5380 } ], "label": { - "x": 3921, - "y": 3572, + "x": 2771, + "y": 5382, "width": 294, "height": 32, "fontName": "Sans", @@ -20365,17 +22279,17 @@ "visible": true, "vertices": [ { - "x": 3445, - "y": 3570 + "x": 2305, + "y": 5380 }, { - "x": 3415, - "y": 3570 + "x": 2275, + "y": 5380 } ], "label": { - "x": 3461, - "y": 3572, + "x": 2321, + "y": 5382, "width": 416, "height": 32, "fontName": "Sans", @@ -20399,25 +22313,17 @@ "visible": true, "vertices": [ { - "x": 3215, - "y": 2609 + "x": 3465, + "y": 4270 }, { - "x": 3205, - "y": 2609 - }, - { - "x": 3205, - "y": 2614 - }, - { - "x": 3195, - "y": 2614 + "x": 3435, + "y": 4270 } ], "label": { - "x": 2709, - "y": 2569, + "x": 2959, + "y": 4230, "width": 516, "height": 32, "fontName": "Sans", @@ -20432,6 +22338,298 @@ "isFontItalic": false, "isVisible": false } + }, + { + "name": "fk_UserOrderService_SubmitShopBuyOrderRequest_1", + "sourceTableName": "UserOrderService", + "sourceSchemaName": "FrontOffice", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 945, + "y": 4850 + }, + { + "x": 1490, + "y": 4850 + }, + { + "x": 1490, + "y": 4800 + }, + { + "x": 1525, + "y": 4800 + } + ], + "label": { + "x": 568, + "y": 4810, + "width": 367, + "height": 32, + "fontName": "Sans", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_UserOrderService_SubmitShopBuyOrderResponse_1", + "sourceTableName": "UserOrderService", + "sourceSchemaName": "FrontOffice", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 710, + "y": 4785 + }, + { + "x": 710, + "y": 3960 + }, + { + "x": 755, + "y": 3960 + } + ], + "label": { + "x": 335, + "y": 4753, + "width": 377, + "height": 32, + "fontName": "Sans", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_SubmitShopBuyOrderResponse_SubmitShopBuyOrderFactorDetail_1", + "sourceTableName": "SubmitShopBuyOrderResponse", + "sourceSchemaName": "FrontOffice", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 970, + "y": 4091 + }, + { + "x": 970, + "y": 4105 + } + ], + "label": { + "x": 978, + "y": 4049, + "width": 485, + "height": 32, + "fontName": "Sans", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_SubmitShopBuyOrderResponse_PaymentMethod_1", + "sourceTableName": "SubmitShopBuyOrderResponse", + "sourceSchemaName": "FrontOffice", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1185, + "y": 3960 + }, + { + "x": 1195, + "y": 3960 + } + ], + "label": { + "x": 1181, + "y": 3930, + "width": 368, + "height": 32, + "fontName": "Sans", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_SubmitShopBuyOrderResponse_PaymentStatus_1", + "sourceTableName": "SubmitShopBuyOrderResponse", + "sourceSchemaName": "FrontOffice", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 970, + "y": 3815 + }, + { + "x": 970, + "y": 3799 + } + ], + "label": { + "x": 972, + "y": 3783, + "width": 358, + "height": 32, + "fontName": "Sans", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_UserWallet_GetUserWalletResponse_1", + "sourceTableName": "UserWallet", + "sourceSchemaName": "FrontOffice", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 5145, + "y": 5370 + }, + { + "x": 5175, + "y": 5370 + } + ], + "label": { + "x": 4855, + "y": 5330, + "width": 280, + "height": 32, + "fontName": "Sans", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_GetAllUserWalletChangeLogResponse_GetAllUserWalletChangeLogResponseModel_1", + "sourceTableName": "GetAllUserWalletChangeLogResponse", + "sourceSchemaName": "FrontOffice", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 4275, + "y": 5370 + }, + { + "x": 4258, + "y": 5370 + } + ], + "label": { + "x": 4291, + "y": 5372, + "width": 596, + "height": 32, + "fontName": "Sans", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_UserWallet_GetAllUserWalletChangeLogResponse_1", + "sourceTableName": "UserWallet", + "sourceSchemaName": "FrontOffice", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 4715, + "y": 5377 + }, + { + "x": 4702, + "y": 5377 + }, + { + "x": 4702, + "y": 5371 + }, + { + "x": 4690, + "y": 5371 + } + ], + "label": { + "x": 4352, + "y": 5337, + "width": 373, + "height": 32, + "fontName": "Sans", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } } ], "viewRelations": [] diff --git a/src/FrontOffice.BFF.Application/Common/Interfaces/IApplicationContractContext.cs b/src/FrontOffice.BFF.Application/Common/Interfaces/IApplicationContractContext.cs index f2ed78f..aa15953 100644 --- a/src/FrontOffice.BFF.Application/Common/Interfaces/IApplicationContractContext.cs +++ b/src/FrontOffice.BFF.Application/Common/Interfaces/IApplicationContractContext.cs @@ -6,6 +6,8 @@ using CMSMicroservice.Protobuf.Protos.UserAddress; using CMSMicroservice.Protobuf.Protos.UserCarts; using CMSMicroservice.Protobuf.Protos.UserContract; using CMSMicroservice.Protobuf.Protos.UserOrder; +using CMSMicroservice.Protobuf.Protos.UserWallet; +using CMSMicroservice.Protobuf.Protos.UserWalletChangeLog; using PYMSMicroservice.Protobuf.Protos.Transaction; namespace FrontOffice.BFF.Application.Common.Interfaces; @@ -27,6 +29,8 @@ public interface IApplicationContractContext UserAddressContract.UserAddressContractClient UserAddress { get; } UserOrderContract.UserOrderContractClient UserOrder { get; } OtpTokenContract.OtpTokenContractClient OtpToken { get; } + UserWalletContract.UserWalletContractClient UserWallet { get; } + UserWalletChangeLogContract.UserWalletChangeLogContractClient UserWalletChangeLog { get; } #endregion #region PYMS diff --git a/src/FrontOffice.BFF.Application/Common/Mappings/UserWalletProfile.cs b/src/FrontOffice.BFF.Application/Common/Mappings/UserWalletProfile.cs new file mode 100644 index 0000000..14b95a3 --- /dev/null +++ b/src/FrontOffice.BFF.Application/Common/Mappings/UserWalletProfile.cs @@ -0,0 +1,11 @@ +namespace FrontOffice.BFF.Application.Common.Mappings; + + public class UserWalletProfile : IRegister + { + void IRegister.Register(TypeAdapterConfig config) + { + //config.NewConfig() + // .Map(dest => dest.FullName, src => $"{src.Firstname} {src.Lastname}"); + } + } + \ No newline at end of file diff --git a/src/FrontOffice.BFF.Application/FrontOffice.BFF.Application.csproj b/src/FrontOffice.BFF.Application/FrontOffice.BFF.Application.csproj index e80bab5..38b83ef 100644 --- a/src/FrontOffice.BFF.Application/FrontOffice.BFF.Application.csproj +++ b/src/FrontOffice.BFF.Application/FrontOffice.BFF.Application.csproj @@ -13,6 +13,7 @@ + diff --git a/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/SubmitShopBuyOrder/SubmitShopBuyOrderCommand.cs b/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/SubmitShopBuyOrder/SubmitShopBuyOrderCommand.cs new file mode 100644 index 0000000..cf15d62 --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/SubmitShopBuyOrder/SubmitShopBuyOrderCommand.cs @@ -0,0 +1,7 @@ +namespace FrontOffice.BFF.Application.UserOrderCQ.Commands.SubmitShopBuyOrder; +public record SubmitShopBuyOrderCommand : IRequest +{ + //کل مبلغ قابل پرداخت + public long TotalAmount { get; init; } + +} \ No newline at end of file diff --git a/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/SubmitShopBuyOrder/SubmitShopBuyOrderCommandHandler.cs b/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/SubmitShopBuyOrder/SubmitShopBuyOrderCommandHandler.cs new file mode 100644 index 0000000..9888cbc --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/SubmitShopBuyOrder/SubmitShopBuyOrderCommandHandler.cs @@ -0,0 +1,28 @@ +using CMSMicroservice.Protobuf.Protos.UserOrder; + +namespace FrontOffice.BFF.Application.UserOrderCQ.Commands.SubmitShopBuyOrder; + +public class + SubmitShopBuyOrderCommandHandler : IRequestHandler +{ + private readonly IApplicationContractContext _context; + private readonly ICurrentUserService _currentUserService; + + public SubmitShopBuyOrderCommandHandler(IApplicationContractContext context, ICurrentUserService currentUserService) + { + _context = context; + _currentUserService = currentUserService; + } + + public async Task Handle(SubmitShopBuyOrderCommand request, + CancellationToken cancellationToken) + { + var result = await _context.UserOrder.SubmitShopBuyOrderAsync(new SubmitShopBuyOrderRequest() + { + UserId = _currentUserService.UserId.Value, + TotalAmount = request.TotalAmount + }, cancellationToken: cancellationToken); + return result.Adapt(); + // return new SubmitShopBuyOrderResponseDto(); + } +} \ No newline at end of file diff --git a/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/SubmitShopBuyOrder/SubmitShopBuyOrderCommandValidator.cs b/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/SubmitShopBuyOrder/SubmitShopBuyOrderCommandValidator.cs new file mode 100644 index 0000000..d846c59 --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/SubmitShopBuyOrder/SubmitShopBuyOrderCommandValidator.cs @@ -0,0 +1,16 @@ +namespace FrontOffice.BFF.Application.UserOrderCQ.Commands.SubmitShopBuyOrder; +public class SubmitShopBuyOrderCommandValidator : AbstractValidator +{ + public SubmitShopBuyOrderCommandValidator() + { + RuleFor(model => model.TotalAmount) + .NotNull(); + } + public Func>> ValidateValue => async (model, propertyName) => + { + var result = await ValidateAsync(ValidationContext.CreateWithOptions((SubmitShopBuyOrderCommand)model, x => x.IncludeProperties(propertyName))); + if (result.IsValid) + return Array.Empty(); + return result.Errors.Select(e => e.ErrorMessage); + }; +} diff --git a/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/SubmitShopBuyOrder/SubmitShopBuyOrderResponseDto.cs b/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/SubmitShopBuyOrder/SubmitShopBuyOrderResponseDto.cs new file mode 100644 index 0000000..293c7b6 --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/SubmitShopBuyOrder/SubmitShopBuyOrderResponseDto.cs @@ -0,0 +1,37 @@ + + +using FrontOffice.BFF.UserOrder.Protobuf.Protos.UserOrder; + +namespace FrontOffice.BFF.Application.UserOrderCQ.Commands.SubmitShopBuyOrder; +public class SubmitShopBuyOrderResponseDto +{ + //شناسه + public long OrderId { get; set; } + // + public PaymentStatus PaymentStatus { get; set; } + // + public DateTime? PaymentDate { get; set; } + // + public PaymentMethod? PaymentMethod { get; set; } + // + public string? UserAddressText { get; set; } + // + public long? TotalAmount { get; set; } + // + public List? FactorDetails { get; set; } + +}public class SubmitShopBuyOrderFactorDetail +{ + //شناسه + public long ProductId { get; set; } + // + public string ProductTitle { get; set; } + // + public string? ProductThumbnailPath { get; set; } + // + public long? UnitPrice { get; set; } + // + public int? Count { get; set; } + // + public long? UnitDiscountPrice { get; set; } +} diff --git a/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/TransferUserWalletBallance/TransferUserWalletBallanceCommand.cs b/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/TransferUserWalletBallance/TransferUserWalletBallanceCommand.cs new file mode 100644 index 0000000..eccee19 --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/TransferUserWalletBallance/TransferUserWalletBallanceCommand.cs @@ -0,0 +1,5 @@ +namespace FrontOffice.BFF.Application.UserWalletCQ.Commands.TransferUserWalletBallance; +public record TransferUserWalletBallanceCommand : IRequest +{ + +} \ No newline at end of file diff --git a/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/TransferUserWalletBallance/TransferUserWalletBallanceCommandHandler.cs b/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/TransferUserWalletBallance/TransferUserWalletBallanceCommandHandler.cs new file mode 100644 index 0000000..5d065ba --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/TransferUserWalletBallance/TransferUserWalletBallanceCommandHandler.cs @@ -0,0 +1,16 @@ +namespace FrontOffice.BFF.Application.UserWalletCQ.Commands.TransferUserWalletBallance; +public class TransferUserWalletBallanceCommandHandler : IRequestHandler +{ + private readonly IApplicationContractContext _context; + + public TransferUserWalletBallanceCommandHandler(IApplicationContractContext context) + { + _context = context; + } + + public async Task Handle(TransferUserWalletBallanceCommand request, CancellationToken cancellationToken) + { + //TODO: Implement your business logic + return new Unit(); + } +} diff --git a/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/TransferUserWalletBallance/TransferUserWalletBallanceCommandValidator.cs b/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/TransferUserWalletBallance/TransferUserWalletBallanceCommandValidator.cs new file mode 100644 index 0000000..d480b2f --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/TransferUserWalletBallance/TransferUserWalletBallanceCommandValidator.cs @@ -0,0 +1,14 @@ +namespace FrontOffice.BFF.Application.UserWalletCQ.Commands.TransferUserWalletBallance; +public class TransferUserWalletBallanceCommandValidator : AbstractValidator +{ + public TransferUserWalletBallanceCommandValidator() + { + } + public Func>> ValidateValue => async (model, propertyName) => + { + var result = await ValidateAsync(ValidationContext.CreateWithOptions((Unit)model, x => x.IncludeProperties(propertyName))); + if (result.IsValid) + return Array.Empty(); + return result.Errors.Select(e => e.ErrorMessage); + }; +} diff --git a/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/WithdrawBalance/WithdrawBalanceCommand.cs b/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/WithdrawBalance/WithdrawBalanceCommand.cs new file mode 100644 index 0000000..b49ecaa --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/WithdrawBalance/WithdrawBalanceCommand.cs @@ -0,0 +1,5 @@ +namespace FrontOffice.BFF.Application.UserWalletCQ.Commands.WithdrawBalance; +public record WithdrawBalanceCommand : IRequest +{ + +} \ No newline at end of file diff --git a/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/WithdrawBalance/WithdrawBalanceCommandHandler.cs b/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/WithdrawBalance/WithdrawBalanceCommandHandler.cs new file mode 100644 index 0000000..773f976 --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/WithdrawBalance/WithdrawBalanceCommandHandler.cs @@ -0,0 +1,16 @@ +namespace FrontOffice.BFF.Application.UserWalletCQ.Commands.WithdrawBalance; +public class WithdrawBalanceCommandHandler : IRequestHandler +{ + private readonly IApplicationContractContext _context; + + public WithdrawBalanceCommandHandler(IApplicationContractContext context) + { + _context = context; + } + + public async Task Handle(WithdrawBalanceCommand request, CancellationToken cancellationToken) + { + //TODO: Implement your business logic + return new Unit(); + } +} diff --git a/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/WithdrawBalance/WithdrawBalanceCommandValidator.cs b/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/WithdrawBalance/WithdrawBalanceCommandValidator.cs new file mode 100644 index 0000000..faee33f --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/WithdrawBalance/WithdrawBalanceCommandValidator.cs @@ -0,0 +1,14 @@ +namespace FrontOffice.BFF.Application.UserWalletCQ.Commands.WithdrawBalance; +public class WithdrawBalanceCommandValidator : AbstractValidator +{ + public WithdrawBalanceCommandValidator() + { + } + public Func>> ValidateValue => async (model, propertyName) => + { + var result = await ValidateAsync(ValidationContext.CreateWithOptions((Unit)model, x => x.IncludeProperties(propertyName))); + if (result.IsValid) + return Array.Empty(); + return result.Errors.Select(e => e.ErrorMessage); + }; +} diff --git a/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/WithdrawBalance/WithdrawBalanceResponseDto.cs b/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/WithdrawBalance/WithdrawBalanceResponseDto.cs new file mode 100644 index 0000000..6c919d9 --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserWalletCQ/Commands/WithdrawBalance/WithdrawBalanceResponseDto.cs @@ -0,0 +1,23 @@ +namespace FrontOffice.BFF.Application.UserWalletCQ.Commands.WithdrawBalance; +public class WithdrawBalanceResponseDto +{ + //متادیتا + public MetaData MetaData { get; set; } + //مدل خروجی + public List? Models { get; set; } + +}public class GetAllUserWalletChangeLogResponseModel +{ + //موجودی + public long CurrentBalance { get; set; } + //تغییر موجودی + public long ChangeValue { get; set; } + //موجودی جاری شبکه + public long CurrentNetworkBalance { get; set; } + //تغییر موجودی شبکه + public long ChangeNerworkValue { get; set; } + //افزایشی؟ + public bool IsIncrease { get; set; } + //شناسه ارجاع + public long? RefrenceId { get; set; } +} diff --git a/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetAllUserWalletChangeLog/GetAllUserWalletChangeLogQuery.cs b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetAllUserWalletChangeLog/GetAllUserWalletChangeLogQuery.cs new file mode 100644 index 0000000..4d22693 --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetAllUserWalletChangeLog/GetAllUserWalletChangeLogQuery.cs @@ -0,0 +1,5 @@ +namespace FrontOffice.BFF.Application.UserWalletCQ.Queries.GetAllUserWalletChangeLog; +public record GetAllUserWalletChangeLogQuery : IRequest +{ + +} \ No newline at end of file diff --git a/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetAllUserWalletChangeLog/GetAllUserWalletChangeLogQueryHandler.cs b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetAllUserWalletChangeLog/GetAllUserWalletChangeLogQueryHandler.cs new file mode 100644 index 0000000..b9bbc11 --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetAllUserWalletChangeLog/GetAllUserWalletChangeLogQueryHandler.cs @@ -0,0 +1,32 @@ +using CMSMicroservice.Protobuf.Protos.UserWalletChangeLog; + +namespace FrontOffice.BFF.Application.UserWalletCQ.Queries.GetAllUserWalletChangeLog; + +public class + GetAllUserWalletChangeLogQueryHandler : IRequestHandler +{ + private readonly IApplicationContractContext _context; + private readonly ICurrentUserService _currentUserService; + + public GetAllUserWalletChangeLogQueryHandler(IApplicationContractContext context, + ICurrentUserService currentUserService) + { + _context = context; + _currentUserService = currentUserService; + } + + public async Task Handle(GetAllUserWalletChangeLogQuery request, + CancellationToken cancellationToken) + { + var result = await _context.UserWalletChangeLog.GetAllUserWalletChangeLogByFilterAsync( + new GetAllUserWalletChangeLogByFilterRequest() + { + Filter = new GetAllUserWalletChangeLogByFilterFilter() + { + UserId = _currentUserService.UserId.Value + } + }, cancellationToken: cancellationToken); + return result.Adapt(); + } +} \ No newline at end of file diff --git a/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetAllUserWalletChangeLog/GetAllUserWalletChangeLogQueryValidator.cs b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetAllUserWalletChangeLog/GetAllUserWalletChangeLogQueryValidator.cs new file mode 100644 index 0000000..37f33e6 --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetAllUserWalletChangeLog/GetAllUserWalletChangeLogQueryValidator.cs @@ -0,0 +1,14 @@ +namespace FrontOffice.BFF.Application.UserWalletCQ.Queries.GetAllUserWalletChangeLog; +public class GetAllUserWalletChangeLogQueryValidator : AbstractValidator +{ + public GetAllUserWalletChangeLogQueryValidator() + { + } + public Func>> ValidateValue => async (model, propertyName) => + { + var result = await ValidateAsync(ValidationContext.CreateWithOptions((Unit)model, x => x.IncludeProperties(propertyName))); + if (result.IsValid) + return Array.Empty(); + return result.Errors.Select(e => e.ErrorMessage); + }; +} diff --git a/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetAllUserWalletChangeLog/GetAllUserWalletChangeLogResponseDto.cs b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetAllUserWalletChangeLog/GetAllUserWalletChangeLogResponseDto.cs new file mode 100644 index 0000000..adfa44b --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetAllUserWalletChangeLog/GetAllUserWalletChangeLogResponseDto.cs @@ -0,0 +1,23 @@ +namespace FrontOffice.BFF.Application.UserWalletCQ.Queries.GetAllUserWalletChangeLog; +public class GetAllUserWalletChangeLogResponseDto +{ + //متادیتا + public MetaData MetaData { get; set; } + //مدل خروجی + public List? Models { get; set; } + +}public class GetAllUserWalletChangeLogResponseModel +{ + //موجودی + public long CurrentBalance { get; set; } + //تغییر موجودی + public long ChangeValue { get; set; } + //موجودی جاری شبکه + public long CurrentNetworkBalance { get; set; } + //تغییر موجودی شبکه + public long ChangeNerworkValue { get; set; } + //افزایشی؟ + public bool IsIncrease { get; set; } + //شناسه ارجاع + public long? RefrenceId { get; set; } +} diff --git a/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetUserWallet/GetUserWalletQuery.cs b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetUserWallet/GetUserWalletQuery.cs new file mode 100644 index 0000000..5ad96db --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetUserWallet/GetUserWalletQuery.cs @@ -0,0 +1,5 @@ +namespace FrontOffice.BFF.Application.UserWalletCQ.Queries.GetUserWallet; +public record GetUserWalletQuery : IRequest +{ + +} \ No newline at end of file diff --git a/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetUserWallet/GetUserWalletQueryHandler.cs b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetUserWallet/GetUserWalletQueryHandler.cs new file mode 100644 index 0000000..bab5ac3 --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetUserWallet/GetUserWalletQueryHandler.cs @@ -0,0 +1,32 @@ +using CMSMicroservice.Protobuf.Protos.UserWallet; + +namespace FrontOffice.BFF.Application.UserWalletCQ.Queries.GetUserWallet; + +public class GetUserWalletQueryHandler : IRequestHandler +{ + private readonly IApplicationContractContext _context; + private readonly ICurrentUserService _currentUserService; + + public GetUserWalletQueryHandler(IApplicationContractContext context, ICurrentUserService currentUserService) + { + _context = context; + _currentUserService = currentUserService; + } + + public async Task Handle(GetUserWalletQuery request, CancellationToken cancellationToken) + { + var userWallet = await _context.UserWallet.GetAllUserWalletByFilterAsync(new GetAllUserWalletByFilterRequest() + { + Filter = new GetAllUserWalletByFilterFilter() + { + UserId = _currentUserService.UserId.Value, + } + }); + if (userWallet.Models.Count == 0) + { + throw new NotFoundException("UserWallet", _currentUserService.UserId.Value); + } + + return userWallet.Models.FirstOrDefault().Adapt(); + } +} \ No newline at end of file diff --git a/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetUserWallet/GetUserWalletQueryValidator.cs b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetUserWallet/GetUserWalletQueryValidator.cs new file mode 100644 index 0000000..8d0b822 --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetUserWallet/GetUserWalletQueryValidator.cs @@ -0,0 +1,14 @@ +namespace FrontOffice.BFF.Application.UserWalletCQ.Queries.GetUserWallet; +public class GetUserWalletQueryValidator : AbstractValidator +{ + public GetUserWalletQueryValidator() + { + } + public Func>> ValidateValue => async (model, propertyName) => + { + var result = await ValidateAsync(ValidationContext.CreateWithOptions((Unit)model, x => x.IncludeProperties(propertyName))); + if (result.IsValid) + return Array.Empty(); + return result.Errors.Select(e => e.ErrorMessage); + }; +} diff --git a/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetUserWallet/GetUserWalletResponseDto.cs b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetUserWallet/GetUserWalletResponseDto.cs new file mode 100644 index 0000000..96abbb8 --- /dev/null +++ b/src/FrontOffice.BFF.Application/UserWalletCQ/Queries/GetUserWallet/GetUserWalletResponseDto.cs @@ -0,0 +1,9 @@ +namespace FrontOffice.BFF.Application.UserWalletCQ.Queries.GetUserWallet; +public class GetUserWalletResponseDto +{ + //موجودی + public long Balance { get; set; } + //موجودی شبکه + public long NetworkBalance { get; set; } + +} \ No newline at end of file diff --git a/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj b/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj index aff86f3..3f29ba5 100644 --- a/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj +++ b/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj @@ -7,7 +7,7 @@ - + diff --git a/src/FrontOffice.BFF.Infrastructure/Services/ApplicationContractContext.cs b/src/FrontOffice.BFF.Infrastructure/Services/ApplicationContractContext.cs index 32612fb..8cb69f8 100644 --- a/src/FrontOffice.BFF.Infrastructure/Services/ApplicationContractContext.cs +++ b/src/FrontOffice.BFF.Infrastructure/Services/ApplicationContractContext.cs @@ -6,6 +6,8 @@ using CMSMicroservice.Protobuf.Protos.UserAddress; using CMSMicroservice.Protobuf.Protos.UserCarts; using CMSMicroservice.Protobuf.Protos.UserContract; using CMSMicroservice.Protobuf.Protos.UserOrder; +using CMSMicroservice.Protobuf.Protos.UserWallet; +using CMSMicroservice.Protobuf.Protos.UserWalletChangeLog; using FrontOffice.BFF.Application.Common.Interfaces; using Microsoft.Extensions.DependencyInjection; using PYMSMicroservice.Protobuf.Protos.Transaction; @@ -54,6 +56,8 @@ public class ApplicationContractContext : IApplicationContractContext public UserOrderContract.UserOrderContractClient UserOrder => GetService(); public OtpTokenContract.OtpTokenContractClient OtpToken => GetService(); + public UserWalletContract.UserWalletContractClient UserWallet => GetService(); + public UserWalletChangeLogContract.UserWalletChangeLogContractClient UserWalletChangeLog => GetService(); #endregion #region PYMS diff --git a/src/FrontOffice.BFF.WebApi/Common/Mappings/GeneralMapping.cs b/src/FrontOffice.BFF.WebApi/Common/Mappings/GeneralMapping.cs index c70e564..22be25c 100644 --- a/src/FrontOffice.BFF.WebApi/Common/Mappings/GeneralMapping.cs +++ b/src/FrontOffice.BFF.WebApi/Common/Mappings/GeneralMapping.cs @@ -10,7 +10,7 @@ public class GeneralMapping : IRegister config.NewConfig() .MapWith(src => src.ToString("R", new CultureInfo("en-us"))); - + config.NewConfig() .MapWith(src => src == null ? string.Empty : src.Value.ToString("R", new CultureInfo("en-us"))); diff --git a/src/FrontOffice.BFF.WebApi/Common/Mappings/UserWalletProfile.cs b/src/FrontOffice.BFF.WebApi/Common/Mappings/UserWalletProfile.cs new file mode 100644 index 0000000..d453aa6 --- /dev/null +++ b/src/FrontOffice.BFF.WebApi/Common/Mappings/UserWalletProfile.cs @@ -0,0 +1,10 @@ +namespace FrontOffice.BFF.WebApi.Common.Mappings; + +public class UserWalletProfile : IRegister +{ + void IRegister.Register(TypeAdapterConfig config) + { + //config.NewConfig() + // .Map(dest => dest.FullName, src => $"{src.Firstname} {src.Lastname}"); + } +} diff --git a/src/FrontOffice.BFF.WebApi/FrontOffice.BFF.WebApi.csproj b/src/FrontOffice.BFF.WebApi/FrontOffice.BFF.WebApi.csproj index 35ebf30..8c14479 100644 --- a/src/FrontOffice.BFF.WebApi/FrontOffice.BFF.WebApi.csproj +++ b/src/FrontOffice.BFF.WebApi/FrontOffice.BFF.WebApi.csproj @@ -23,6 +23,7 @@ + diff --git a/src/FrontOffice.BFF.WebApi/Services/UserOrderService.cs b/src/FrontOffice.BFF.WebApi/Services/UserOrderService.cs index f5a306b..ad0c1bb 100644 --- a/src/FrontOffice.BFF.WebApi/Services/UserOrderService.cs +++ b/src/FrontOffice.BFF.WebApi/Services/UserOrderService.cs @@ -1,10 +1,12 @@ -using FrontOffice.BFF.UserOrder.Protobuf.Protos.UserOrder; using FrontOffice.BFF.WebApi.Common.Services; using FrontOffice.BFF.Application.UserOrderCQ.Commands.CreateNewUserOrder; using FrontOffice.BFF.Application.UserOrderCQ.Commands.UpdateUserOrder; using FrontOffice.BFF.Application.UserOrderCQ.Commands.DeleteUserOrder; using FrontOffice.BFF.Application.UserOrderCQ.Queries.GetUserOrder; using FrontOffice.BFF.Application.UserOrderCQ.Queries.GetAllUserOrderByFilter; +using FrontOffice.BFF.Application.UserOrderCQ.Commands.SubmitShopBuyOrder; +using FrontOffice.BFF.UserOrder.Protobuf.Protos.UserOrder; + namespace FrontOffice.BFF.WebApi.Services; public class UserOrderService : UserOrderContract.UserOrderContractBase { @@ -34,4 +36,8 @@ public class UserOrderService : UserOrderContract.UserOrderContractBase { return await _dispatchRequestToCQRS.Handle(request, context); } + public override async Task SubmitShopBuyOrder(SubmitShopBuyOrderRequest request, ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle(request, context); + } } diff --git a/src/FrontOffice.BFF.WebApi/Services/UserWalletService.cs b/src/FrontOffice.BFF.WebApi/Services/UserWalletService.cs new file mode 100644 index 0000000..6856979 --- /dev/null +++ b/src/FrontOffice.BFF.WebApi/Services/UserWalletService.cs @@ -0,0 +1,33 @@ +using FrontOffice.BFF.WebApi.Common.Services; +using FrontOffice.BFF.Application.UserWalletCQ.Queries.GetAllUserWalletChangeLog; +using FrontOffice.BFF.Application.UserWalletCQ.Queries.GetUserWallet; +using FrontOffice.BFF.Application.UserWalletCQ.Commands.TransferUserWalletBallance; +using FrontOffice.BFF.Application.UserWalletCQ.Commands.WithdrawBalance; +using FrontOffice.BFF.UserWallet.Protobuf.Protos.UserWallet; + +namespace FrontOffice.BFF.WebApi.Services; +public class UserWalletService : UserWalletContract.UserWalletContractBase +{ + private readonly IDispatchRequestToCQRS _dispatchRequestToCQRS; + + public UserWalletService(IDispatchRequestToCQRS dispatchRequestToCQRS) + { + _dispatchRequestToCQRS = dispatchRequestToCQRS; + } + public override async Task GetAllUserWalletChangeLog(Empty request, ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle(context); + } + public override async Task GetUserWallet(Empty request, ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle(context); + } + public override async Task TransferUserWalletBallance(Empty request, ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle(context); + } + public override async Task WithdrawBalance(Empty request, ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle(context); + } +} diff --git a/src/FrontOffice.BFF.sln b/src/FrontOffice.BFF.sln index 73e1d3d..ffc4c1b 100644 --- a/src/FrontOffice.BFF.sln +++ b/src/FrontOffice.BFF.sln @@ -26,6 +26,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FrontOffice.BFF.Products.Pr EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FrontOffice.BFF.ShopingCart.Protobuf", "Protobufs\FrontOffice.BFF.ShopingCart.Protobuf\FrontOffice.BFF.ShopingCart.Protobuf.csproj", "{DC61324B-D389-4A1D-B048-D0AA43A6BBE7}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FrontOffice.BFF.UserWallet.Protobuf", "Protobufs\FrontOffice.BFF.UserWallet.Protobuf\FrontOffice.BFF.UserWallet.Protobuf.csproj", "{03F99CE9-F952-47B0-B71A-1F4865E52443}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -76,6 +78,10 @@ Global {DC61324B-D389-4A1D-B048-D0AA43A6BBE7}.Debug|Any CPU.Build.0 = Debug|Any CPU {DC61324B-D389-4A1D-B048-D0AA43A6BBE7}.Release|Any CPU.ActiveCfg = Release|Any CPU {DC61324B-D389-4A1D-B048-D0AA43A6BBE7}.Release|Any CPU.Build.0 = Release|Any CPU + {03F99CE9-F952-47B0-B71A-1F4865E52443}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {03F99CE9-F952-47B0-B71A-1F4865E52443}.Debug|Any CPU.Build.0 = Debug|Any CPU + {03F99CE9-F952-47B0-B71A-1F4865E52443}.Release|Any CPU.ActiveCfg = Release|Any CPU + {03F99CE9-F952-47B0-B71A-1F4865E52443}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -88,5 +94,6 @@ Global {F59861D9-01D6-44C9-85A9-E6050D55D290} = {CA9BF4D6-6729-4011-888E-48F5F739B469} {CB77669F-5B48-4AC6-B20E-A928660E93F8} = {CA9BF4D6-6729-4011-888E-48F5F739B469} {DC61324B-D389-4A1D-B048-D0AA43A6BBE7} = {CA9BF4D6-6729-4011-888E-48F5F739B469} + {03F99CE9-F952-47B0-B71A-1F4865E52443} = {CA9BF4D6-6729-4011-888E-48F5F739B469} EndGlobalSection EndGlobal diff --git a/src/Protobufs/FrontOffice.BFF.UserOrder.Protobuf/FrontOffice.BFF.UserOrder.Protobuf.csproj b/src/Protobufs/FrontOffice.BFF.UserOrder.Protobuf/FrontOffice.BFF.UserOrder.Protobuf.csproj index 4923449..140e62e 100644 --- a/src/Protobufs/FrontOffice.BFF.UserOrder.Protobuf/FrontOffice.BFF.UserOrder.Protobuf.csproj +++ b/src/Protobufs/FrontOffice.BFF.UserOrder.Protobuf/FrontOffice.BFF.UserOrder.Protobuf.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.0.112 + 0.0.113 None False False diff --git a/src/Protobufs/FrontOffice.BFF.UserOrder.Protobuf/Protos/userorder.proto b/src/Protobufs/FrontOffice.BFF.UserOrder.Protobuf/Protos/userorder.proto index db85881..9eb45d2 100644 --- a/src/Protobufs/FrontOffice.BFF.UserOrder.Protobuf/Protos/userorder.proto +++ b/src/Protobufs/FrontOffice.BFF.UserOrder.Protobuf/Protos/userorder.proto @@ -42,6 +42,12 @@ service UserOrderContract }; }; + rpc SubmitShopBuyOrder(SubmitShopBuyOrderRequest) returns (SubmitShopBuyOrderResponse){ + option (google.api.http) = { + post: "/SubmitShopBuyOrder" + body: "*" + }; + }; } message CreateNewUserOrderRequest { @@ -113,31 +119,72 @@ message GetAllUserOrderByFilterResponseModel int64 user_id = 7; int64 user_address_id = 8; } - -message PaginationState +message SubmitShopBuyOrderRequest { - int32 page_number = 1; - - int32 page_size = 2; + int64 total_amount = 1; } -message MetaData +message SubmitShopBuyOrderResponse { - int64 current_page = 1; - - int64 total_page = 2; - - int64 page_size = 3; - - int64 total_count = 4; - - bool has_previous = 5; - - bool has_next = 6; + int64 order_id = 1; + oneof PaymentStatus_item + { + PaymentStatus payment_status = 2; + } + google.protobuf.Timestamp payment_date = 3; + oneof PaymentMethod_item + { + PaymentMethod payment_method = 4; + } + google.protobuf.StringValue user_address_text = 5; + google.protobuf.Int64Value total_amount = 6; + repeated SubmitShopBuyOrderFactorDetail factor_details = 7; } -message DecimalValue +enum PaymentStatus { - - int64 units = 1; - - sfixed32 nanos = 2; + Success = 0; + Reject = 1; + Pending = 2; } +enum PaymentMethod +{ + IPG = 0; + Wallet = 1; +} +message SubmitShopBuyOrderFactorDetail +{ + int64 product_id = 1; + string product_title = 2; + google.protobuf.StringValue product_thumbnail_path = 3; + google.protobuf.Int64Value unit_price = 4; + google.protobuf.Int32Value count = 5; + google.protobuf.Int64Value unit_discount_price = 6; +} + + message PaginationState + { + int32 page_number = 1; + + int32 page_size = 2; + } + message MetaData + { + int64 current_page = 1; + + int64 total_page = 2; + + int64 page_size = 3; + + int64 total_count = 4; + + bool has_previous = 5; + + bool has_next = 6; + } + message DecimalValue + { + + int64 units = 1; + + sfixed32 nanos = 2; + } + \ No newline at end of file diff --git a/src/Protobufs/FrontOffice.BFF.UserOrder.Protobuf/Validator/SubmitShopBuyOrderRequestValidator.cs b/src/Protobufs/FrontOffice.BFF.UserOrder.Protobuf/Validator/SubmitShopBuyOrderRequestValidator.cs new file mode 100644 index 0000000..bb4bee2 --- /dev/null +++ b/src/Protobufs/FrontOffice.BFF.UserOrder.Protobuf/Validator/SubmitShopBuyOrderRequestValidator.cs @@ -0,0 +1,19 @@ +using FluentValidation; +using FrontOffice.BFF.UserOrder.Protobuf.Protos.UserOrder; +namespace FrontOfficeMicroservice.Protobuf.Validator.UserOrder; + +public class SubmitShopBuyOrderRequestValidator : AbstractValidator +{ + public SubmitShopBuyOrderRequestValidator() + { + RuleFor(model => model.TotalAmount) + .NotNull(); + } + public Func>> ValidateValue => async (model, propertyName) => + { + var result = await ValidateAsync(ValidationContext.CreateWithOptions((SubmitShopBuyOrderRequest)model, x => x.IncludeProperties(propertyName))); + if (result.IsValid) + return Array.Empty(); + return result.Errors.Select(e => e.ErrorMessage); + }; +} diff --git a/src/Protobufs/FrontOffice.BFF.UserWallet.Protobuf/ConfigureServices.cs b/src/Protobufs/FrontOffice.BFF.UserWallet.Protobuf/ConfigureServices.cs new file mode 100644 index 0000000..6e44259 --- /dev/null +++ b/src/Protobufs/FrontOffice.BFF.UserWallet.Protobuf/ConfigureServices.cs @@ -0,0 +1,14 @@ +using FluentValidation; + using System.Reflection; + + namespace Microsoft.Extensions.DependencyInjection; + + public static class ConfigureServices + { + public static IServiceCollection AddUserWalletProtobufServices(this IServiceCollection services) + { + services.AddValidatorsFromAssembly(Assembly.GetExecutingAssembly()); + return services; + } + } + \ No newline at end of file diff --git a/src/Protobufs/FrontOffice.BFF.UserWallet.Protobuf/FrontOffice.BFF.UserWallet.Protobuf.csproj b/src/Protobufs/FrontOffice.BFF.UserWallet.Protobuf/FrontOffice.BFF.UserWallet.Protobuf.csproj new file mode 100644 index 0000000..e0ccedf --- /dev/null +++ b/src/Protobufs/FrontOffice.BFF.UserWallet.Protobuf/FrontOffice.BFF.UserWallet.Protobuf.csproj @@ -0,0 +1,34 @@ + + + net7.0 + enable + enable + 0.0.11 + FrontOffice.BFF.UserWallet.Protobuf + False + False + None + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + $(PackageOutputPath)$(PackageId).$(Version).nupkg + dotnet nuget push **/*.nupkg --source https://git.afrino.co/api/packages/FourSat/nuget/index.json --api-key 061a5cb15517c6da39c16cfce8556c55ae104d0d --skip-duplicate && del "$(NugetPackagePath)" + + + + + diff --git a/src/Protobufs/FrontOffice.BFF.UserWallet.Protobuf/Protos/google/api/annotations.proto b/src/Protobufs/FrontOffice.BFF.UserWallet.Protobuf/Protos/google/api/annotations.proto new file mode 100644 index 0000000..85c361b --- /dev/null +++ b/src/Protobufs/FrontOffice.BFF.UserWallet.Protobuf/Protos/google/api/annotations.proto @@ -0,0 +1,31 @@ +// Copyright (c) 2015, Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api; + +import "google/api/http.proto"; +import "google/protobuf/descriptor.proto"; + +option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; +option java_multiple_files = true; +option java_outer_classname = "AnnotationsProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + +extend google.protobuf.MethodOptions { + // See `HttpRule`. + HttpRule http = 72295728; +} diff --git a/src/Protobufs/FrontOffice.BFF.UserWallet.Protobuf/Protos/google/api/http.proto b/src/Protobufs/FrontOffice.BFF.UserWallet.Protobuf/Protos/google/api/http.proto new file mode 100644 index 0000000..b8426ba --- /dev/null +++ b/src/Protobufs/FrontOffice.BFF.UserWallet.Protobuf/Protos/google/api/http.proto @@ -0,0 +1,377 @@ +// Copyright 2019 Google LLC. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package google.api; + +option cc_enable_arenas = true; +option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; +option java_multiple_files = true; +option java_outer_classname = "HttpProto"; +option java_package = "com.google.api"; +option objc_class_prefix = "GAPI"; + +// Defines the HTTP configuration for an API service. It contains a list of +// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method +// to one or more HTTP REST API methods. +message Http { + // A list of HTTP configuration rules that apply to individual API methods. + // + // **NOTE:** All service configuration rules follow "last one wins" order. + repeated HttpRule rules = 1; + + // When set to true, URL path parameters will be fully URI-decoded except in + // cases of single segment matches in reserved expansion, where "%2F" will be + // left encoded. + // + // The default behavior is to not decode RFC 6570 reserved characters in multi + // segment matches. + bool fully_decode_reserved_expansion = 2; +} + +// # gRPC Transcoding +// +// gRPC Transcoding is a feature for mapping between a gRPC method and one or +// more HTTP REST endpoints. It allows developers to build a single API service +// that supports both gRPC APIs and REST APIs. Many systems, including [Google +// APIs](https://github.com/googleapis/googleapis), +// [Cloud Endpoints](https://cloud.google.com/endpoints), [gRPC +// Gateway](https://github.com/grpc-ecosystem/grpc-gateway), +// and [Envoy](https://github.com/envoyproxy/envoy) proxy support this feature +// and use it for large scale production services. +// +// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies +// how different portions of the gRPC request message are mapped to the URL +// path, URL query parameters, and HTTP request body. It also controls how the +// gRPC response message is mapped to the HTTP response body. `HttpRule` is +// typically specified as an `google.api.http` annotation on the gRPC method. +// +// Each mapping specifies a URL path template and an HTTP method. The path +// template may refer to one or more fields in the gRPC request message, as long +// as each field is a non-repeated field with a primitive (non-message) type. +// The path template controls how fields of the request message are mapped to +// the URL path. +// +// Example: +// +// service Messaging { +// rpc GetMessage(GetMessageRequest) returns (Message) { +// option (google.api.http) = { +// get: "/v1/{name=messages/*}" +// }; +// } +// } +// message GetMessageRequest { +// string name = 1; // Mapped to URL path. +// } +// message Message { +// string text = 1; // The resource content. +// } +// +// This enables an HTTP REST to gRPC mapping as below: +// +// HTTP | gRPC +// -----|----- +// `GET /v1/messages/123456` | `GetMessage(name: "messages/123456")` +// +// Any fields in the request message which are not bound by the path template +// automatically become HTTP query parameters if there is no HTTP request body. +// For example: +// +// service Messaging { +// rpc GetMessage(GetMessageRequest) returns (Message) { +// option (google.api.http) = { +// get:"/v1/messages/{message_id}" +// }; +// } +// } +// message GetMessageRequest { +// message SubMessage { +// string subfield = 1; +// } +// string message_id = 1; // Mapped to URL path. +// int64 revision = 2; // Mapped to URL query parameter `revision`. +// SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`. +// } +// +// This enables a HTTP JSON to RPC mapping as below: +// +// HTTP | gRPC +// -----|----- +// `GET /v1/messages/123456?revision=2&sub.subfield=foo` | +// `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: +// "foo"))` +// +// Note that fields which are mapped to URL query parameters must have a +// primitive type or a repeated primitive type or a non-repeated message type. +// In the case of a repeated type, the parameter can be repeated in the URL +// as `...?param=A¶m=B`. In the case of a message type, each field of the +// message is mapped to a separate parameter, such as +// `...?foo.a=A&foo.b=B&foo.c=C`. +// +// For HTTP methods that allow a request body, the `body` field +// specifies the mapping. Consider a REST update method on the +// message resource collection: +// +// service Messaging { +// rpc UpdateMessage(UpdateMessageRequest) returns (Message) { +// option (google.api.http) = { +// patch: "/v1/messages/{message_id}" +// body: "message" +// }; +// } +// } +// message UpdateMessageRequest { +// string message_id = 1; // mapped to the URL +// Message message = 2; // mapped to the body +// } +// +// The following HTTP JSON to RPC mapping is enabled, where the +// representation of the JSON in the request body is determined by +// protos JSON encoding: +// +// HTTP | gRPC +// -----|----- +// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: +// "123456" message { text: "Hi!" })` +// +// The special name `*` can be used in the body mapping to define that +// every field not bound by the path template should be mapped to the +// request body. This enables the following alternative definition of +// the update method: +// +// service Messaging { +// rpc UpdateMessage(Message) returns (Message) { +// option (google.api.http) = { +// patch: "/v1/messages/{message_id}" +// body: "*" +// }; +// } +// } +// message Message { +// string message_id = 1; +// string text = 2; +// } +// +// +// The following HTTP JSON to RPC mapping is enabled: +// +// HTTP | gRPC +// -----|----- +// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: +// "123456" text: "Hi!")` +// +// Note that when using `*` in the body mapping, it is not possible to +// have HTTP parameters, as all fields not bound by the path end in +// the body. This makes this option more rarely used in practice when +// defining REST APIs. The common usage of `*` is in custom methods +// which don't use the URL at all for transferring data. +// +// It is possible to define multiple HTTP methods for one RPC by using +// the `additional_bindings` option. Example: +// +// service Messaging { +// rpc GetMessage(GetMessageRequest) returns (Message) { +// option (google.api.http) = { +// get: "/v1/messages/{message_id}" +// additional_bindings { +// get: "/v1/users/{user_id}/messages/{message_id}" +// } +// }; +// } +// } +// message GetMessageRequest { +// string message_id = 1; +// string user_id = 2; +// } +// +// This enables the following two alternative HTTP JSON to RPC mappings: +// +// HTTP | gRPC +// -----|----- +// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")` +// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: +// "123456")` +// +// ## Rules for HTTP mapping +// +// 1. Leaf request fields (recursive expansion nested messages in the request +// message) are classified into three categories: +// - Fields referred by the path template. They are passed via the URL path. +// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They are passed via the HTTP +// request body. +// - All other fields are passed via the URL query parameters, and the +// parameter name is the field path in the request message. A repeated +// field can be represented as multiple query parameters under the same +// name. +// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL query parameter, all fields +// are passed via URL path and HTTP request body. +// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP request body, all +// fields are passed via URL path and URL query parameters. +// +// ### Path template syntax +// +// Template = "/" Segments [ Verb ] ; +// Segments = Segment { "/" Segment } ; +// Segment = "*" | "**" | LITERAL | Variable ; +// Variable = "{" FieldPath [ "=" Segments ] "}" ; +// FieldPath = IDENT { "." IDENT } ; +// Verb = ":" LITERAL ; +// +// The syntax `*` matches a single URL path segment. The syntax `**` matches +// zero or more URL path segments, which must be the last part of the URL path +// except the `Verb`. +// +// The syntax `Variable` matches part of the URL path as specified by its +// template. A variable template must not contain other variables. If a variable +// matches a single path segment, its template may be omitted, e.g. `{var}` +// is equivalent to `{var=*}`. +// +// The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL` +// contains any reserved character, such characters should be percent-encoded +// before the matching. +// +// If a variable contains exactly one path segment, such as `"{var}"` or +// `"{var=*}"`, when such a variable is expanded into a URL path on the client +// side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. The +// server side does the reverse decoding. Such variables show up in the +// [Discovery +// Document](https://developers.google.com/discovery/v1/reference/apis) as +// `{var}`. +// +// If a variable contains multiple path segments, such as `"{var=foo/*}"` +// or `"{var=**}"`, when such a variable is expanded into a URL path on the +// client side, all characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. +// The server side does the reverse decoding, except "%2F" and "%2f" are left +// unchanged. Such variables show up in the +// [Discovery +// Document](https://developers.google.com/discovery/v1/reference/apis) as +// `{+var}`. +// +// ## Using gRPC API Service Configuration +// +// gRPC API Service Configuration (service config) is a configuration language +// for configuring a gRPC service to become a user-facing product. The +// service config is simply the YAML representation of the `google.api.Service` +// proto message. +// +// As an alternative to annotating your proto file, you can configure gRPC +// transcoding in your service config YAML files. You do this by specifying a +// `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same +// effect as the proto annotation. This can be particularly useful if you +// have a proto that is reused in multiple services. Note that any transcoding +// specified in the service config will override any matching transcoding +// configuration in the proto. +// +// Example: +// +// http: +// rules: +// # Selects a gRPC method and applies HttpRule to it. +// - selector: example.v1.Messaging.GetMessage +// get: /v1/messages/{message_id}/{sub.subfield} +// +// ## Special notes +// +// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the +// proto to JSON conversion must follow the [proto3 +// specification](https://developers.google.com/protocol-buffers/docs/proto3#json). +// +// While the single segment variable follows the semantics of +// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String +// Expansion, the multi segment variable **does not** follow RFC 6570 Section +// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion +// does not expand special characters like `?` and `#`, which would lead +// to invalid URLs. As the result, gRPC Transcoding uses a custom encoding +// for multi segment variables. +// +// The path variables **must not** refer to any repeated or mapped field, +// because client libraries are not capable of handling such variable expansion. +// +// The path variables **must not** capture the leading "/" character. The reason +// is that the most common use case "{var}" does not capture the leading "/" +// character. For consistency, all path variables must share the same behavior. +// +// Repeated message fields must not be mapped to URL query parameters, because +// no client library can support such complicated mapping. +// +// If an API needs to use a JSON array for request or response body, it can map +// the request or response body to a repeated field. However, some gRPC +// Transcoding implementations may not support this feature. +message HttpRule { + // Selects a method to which this rule applies. + // + // Refer to [selector][google.api.DocumentationRule.selector] for syntax details. + string selector = 1; + + // Determines the URL pattern is matched by this rules. This pattern can be + // used with any of the {get|put|post|delete|patch} methods. A custom method + // can be defined using the 'custom' field. + oneof pattern { + // Maps to HTTP GET. Used for listing and getting information about + // resources. + string get = 2; + + // Maps to HTTP PUT. Used for replacing a resource. + string put = 3; + + // Maps to HTTP POST. Used for creating a resource or performing an action. + string post = 4; + + // Maps to HTTP DELETE. Used for deleting a resource. + string delete = 5; + + // Maps to HTTP PATCH. Used for updating a resource. + string patch = 6; + + // The custom pattern is used for specifying an HTTP method that is not + // included in the `pattern` field, such as HEAD, or "*" to leave the + // HTTP method unspecified for this rule. The wild-card rule is useful + // for services that provide content to Web (HTML) clients. + CustomHttpPattern custom = 8; + } + + // The name of the request field whose value is mapped to the HTTP request + // body, or `*` for mapping all request fields not captured by the path + // pattern to the HTTP body, or omitted for not having any HTTP request body. + // + // NOTE: the referred field must be present at the top-level of the request + // message type. + string body = 7; + + // Optional. The name of the response field whose value is mapped to the HTTP + // response body. When omitted, the entire response message will be used + // as the HTTP response body. + // + // NOTE: The referred field must be present at the top-level of the response + // message type. + string response_body = 12; + + // Additional HTTP bindings for the selector. Nested bindings must + // not contain an `additional_bindings` field themselves (that is, + // the nesting may only be one level deep). + repeated HttpRule additional_bindings = 11; +} + +// A custom pattern is used for defining custom HTTP verb. +message CustomHttpPattern { + // The name of this custom HTTP verb. + string kind = 1; + + // The path matched by this custom verb. + string path = 2; +} + diff --git a/src/Protobufs/FrontOffice.BFF.UserWallet.Protobuf/Protos/userwallet.proto b/src/Protobufs/FrontOffice.BFF.UserWallet.Protobuf/Protos/userwallet.proto new file mode 100644 index 0000000..618723c --- /dev/null +++ b/src/Protobufs/FrontOffice.BFF.UserWallet.Protobuf/Protos/userwallet.proto @@ -0,0 +1,87 @@ +syntax = "proto3"; + +package userwallet; + +import "google/protobuf/empty.proto"; +import "google/protobuf/wrappers.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; +import "google/api/annotations.proto"; + +option csharp_namespace = "FrontOffice.BFF.UserWallet.Protobuf.Protos.UserWallet"; + +service UserWalletContract +{ + rpc GetAllUserWalletChangeLog(google.protobuf.Empty) returns (GetAllUserWalletChangeLogResponse){ + option (google.api.http) = { + get: "/GetAllUserWalletChangeLog" + + }; + }; + rpc GetUserWallet(google.protobuf.Empty) returns (GetUserWalletResponse){ + option (google.api.http) = { + get: "/GetUserWallet" + + }; + }; + rpc TransferUserWalletBallance(google.protobuf.Empty) returns (google.protobuf.Empty){ + option (google.api.http) = { + post: "/TransferUserWalletBallance" + body: "*" + }; + }; + rpc WithdrawBalance(google.protobuf.Empty) returns (google.protobuf.Empty){ + option (google.api.http) = { + post: "/WithdrawBalance" + body: "*" + }; + }; +} +message GetAllUserWalletChangeLogResponse +{ + MetaData meta_data = 1; + repeated GetAllUserWalletChangeLogResponseModel models = 2; +} +message GetAllUserWalletChangeLogResponseModel +{ + int64 current_balance = 1; + int64 change_value = 2; + int64 current_network_balance = 3; + int64 change_nerwork_value = 4; + bool is_increase = 5; + google.protobuf.Int64Value refrence_id = 6; +} +message GetUserWalletResponse +{ + int64 balance = 1; + int64 network_balance = 2; +} + + message PaginationState + { + int32 page_number = 1; + + int32 page_size = 2; + } + message MetaData + { + int64 current_page = 1; + + int64 total_page = 2; + + int64 page_size = 3; + + int64 total_count = 4; + + bool has_previous = 5; + + bool has_next = 6; + } + message DecimalValue + { + + int64 units = 1; + + sfixed32 nanos = 2; + } + \ No newline at end of file