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()); } }
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()); } } }