Exemple #1
0
        public virtual async Task <IHttpActionResult> DeleteAccessKey(string userName, string token, [FromBody] ApplyAccessKeyModel applyAccessKeyModel)
        {
            var tenantId    = applyAccessKeyModel.TenantId;
            var homeOwerId  = applyAccessKeyModel.HomeOwerId;
            var communityId = applyAccessKeyModel.CommunityId;
            var doorType    = applyAccessKeyModel.DoorType;
            var vilidity    = applyAccessKeyModel.Vilidity;

            base.AuthUser();
            using (CurrentUnitOfWork.SetTenantId(tenantId))
            {
                var doors = from d in _doorManager.DoorRepository.GetAll()
                            where d.DoorType == doorType.ToString() && d.IsAuth
                            select d;
                var homeOwer = await _homeOwerManager.HomeOwerRepository.FirstOrDefaultAsync(homeOwerId);

                foreach (var door in homeOwer.Doors)
                {
                    await _accessKeyManager.AccessKeyRepository.DeleteAsync(a => a.Door == door);
                }
                return(Ok());
            }
        }
Exemple #2
0
        public virtual async Task <IHttpActionResult> ApplyAccessKey(string userName, string token, [FromBody] ApplyAccessKeyModel applyAccessKeyModel)
        {
            var tenantId    = applyAccessKeyModel.TenantId;
            var homeOwerId  = applyAccessKeyModel.HomeOwerId;
            var communityId = applyAccessKeyModel.CommunityId;
            var doorType    = applyAccessKeyModel.DoorType;
            var vilidity    = applyAccessKeyModel.Vilidity;

            base.AuthUser();
            using (CurrentUnitOfWork.SetTenantId(tenantId))
            {
                var doors = from d in _doorManager.DoorRepository.GetAll()
                            where d.DoorType == doorType.ToString() && d.IsAuth
                            select d;
                var homeOwer = await _homeOwerManager.HomeOwerRepository.FirstOrDefaultAsync(homeOwerId);

                if (homeOwer.Doors.Count == 0)
                {
                    throw ErrorCodeTypeUtils.ThrowError(ErrorCodeType.HomeOwerDoorNotExists);
                }
                else
                {
                    foreach (var door in homeOwer.Doors)
                    {
                        var accessKey = new AccessKey(tenantId, door, homeOwer, vilidity, communityId);
                        await _accessKeyManager.CreateAsync(accessKey);
                    }
                    return(Ok());
                }
            }
        }