private CircuitElementDao mapElementToDao(ICircuitElementDto dto) { CircuitElementDao dao = null; if (dto.Type == "register") { dao = new RegisterDao() { Qubits = ((IRegisterDto)dto).Qubits.Select(qubit => mapQubitToDao(qubit)) }; } else if (dto.Type == "gate") { dao = new GateDao() { GateName = ((IGageDto)dto).GateName }; } dao.Type = dto.Type; dao.Id = dto.Id; dao.InputCount = dto.InputCount; dao.OutputCount = dto.OutputCount; return(dao); }
private ICircuitElementDto mapElemToDto(CircuitElementDao dao) { ICircuitElementDto dto = null; if (dao.Type == "register") { dto = _producer.ProduceRegisterDto(); ((IRegisterDto)dto).Qubits = ((RegisterDao)dao).Qubits.Select(dao => mapQubitToDto(dao)); } else if (dao.Type == "gate") { dto = _producer.ProduceGateDto(); ((IGageDto)dto).GateName = ((GateDao)dao).GateName; } dto.Type = dao.Type; dto.Id = dao.Id; dto.InputCount = dao.InputCount; dto.OutputCount = dao.OutputCount; return(dto); }