Пример #1
0
        protected override async Task <IUserRelation> GetUserRelation(int id)
        {
            UserAssetEntity userAsset = await repository.GetEntities <UserAssetEntity>()
                                        .FirstOrDefaultAsync(x => x.AssetId == id);

            return(userAsset);
        }
 public void Insert(UserAssetEntity entity)
 {
     using (var db = new LiteDatabase(UserAssetTracerDbPath))
     {
         var collection = db.GetCollection <UserAssetEntity>();
         collection.EnsureIndex(x => x.CreateTime);
         collection.Insert(entity);
     }
 }
Пример #3
0
        private async Task <AssetEntity> AddAsset(AddAssetCommand command, DeviceType deviceType)
        {
            IUnitOfWork unitOfWork = repository.CreateUnitOfWork();
            await unitOfWork.BeginTransaction();

            AssetEntity asset = new AssetEntity
            {
                Name = command.Model.Name
            };

            UserAssetEntity userAssetEntity = new UserAssetEntity
            {
                UserId = command.UserId,
                Asset  = asset,
                RoleId = (int)UserAssetRole.Owner
            };

            DeviceEntity device = new DeviceEntity
            {
                DeviceId     = command.Model.DeviceId,
                DeviceTypeId = command.Model.DeviceTypeId,
                Asset        = asset,
                ProtocolPort = deviceType.Protocol.Port,
                IsActive     = true
            };

            unitOfWork.Add(asset);
            unitOfWork.Add(userAssetEntity);
            unitOfWork.Add(device);

            await unitOfWork.SaveChanges();

            await unitOfWork.CommitTransaction();

            return(asset);
        }