src/ImportXML.cpp

changeset 285
f66df13aee7f
parent 283
242a68fa7186
child 286
18a7e8d67fc5
equal deleted inserted replaced
284:33bb98c33e6a 285:f66df13aee7f
720 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "YEAST")) { 720 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "YEAST")) {
721 /* 721 /*
722 * Yeast 722 * Yeast
723 */ 723 */
724 total++; 724 total++;
725 Yeasts *y = new Yeasts();
726 y->laboratory = y->product_id = y->best_for = y->notes = y->short_desc = "";
727 y->max_reuse = 10;
728 y->min_temperature = 18;
729 y->max_temperature = 22;
730 y->attenuation = 77;
725 731
726 while (xml->readNext()) { 732 while (xml->readNext()) {
727 if (xml->atEnd()) 733 if (xml->atEnd())
728 break; 734 break;
729 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "YEAST")) { 735 if ((xml->tokenType() == QXmlStreamReader::EndElement) && (xml->name() == "YEAST")) {
730 // query.exec(sql); 736 query.prepare("INSERT INTO inventory_yeasts SET name=:name, type=:type, form=:form, "
737 "laboratory=:laboratory, product_id=:productid, min_temperature=:templo, max_temperature=:temphi, "
738 "flocculation=:floc, attenuation=:att, notes=:notes, best_for=:bestfor, "
739 "max_reuse=:reuse, short_desc='', uuid = :uuid");
740 query.bindValue(":name", y->name);
741 query.bindValue(":type", y->type);
742 query.bindValue(":form", y->form);
743 query.bindValue(":laboratory", y->laboratory);
744 query.bindValue(":productid", y->product_id);
745 query.bindValue(":templo", QString("%1").arg(y->min_temperature, 2, 'f', 1, '0'));
746 query.bindValue(":temphi", QString("%1").arg(y->max_temperature, 2, 'f', 1, '0'));
747 query.bindValue(":floc", y->flocculation);
748 query.bindValue(":att", QString("%1").arg(y->attenuation, 2, 'f', 1, '0'));
749 query.bindValue(":notes", y->notes);
750 query.bindValue(":bestfor", y->best_for);
751 query.bindValue(":reuse", y->max_reuse);
752 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36));
753 query.exec();
731 if (query.lastError().isValid()) { 754 if (query.lastError().isValid()) {
732 // qWarning() << sql << query.lastError(); 755 qWarning() << query.lastError();
733 errors++; 756 errors++;
734 } 757 }
735 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize)); 758 ui->progressBar->setValue(round(100 * xml->characterOffset() / fsize));
736 break; 759 break;
737 } 760 }
738 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "VERSION")) { 761 if ((xml->tokenType() == QXmlStreamReader::StartElement) && (
762 (xml->name() == "VERSION") || (xml->name() == "TIMES_CULTURED") ||
763 (xml->name() == "DISP_MIN_TEMP") || (xml->name() == "DISP_MAX_TEMP") ||
764 (xml->name() == "CULTURE_DATE") || (xml->name() == "STARTER_TYPE") ||
765 (xml->name() == "STARTER_MADE") || (xml->name() == "STARTER_VOLUME") ||
766 (xml->name() == "OG_STARTER") || (xml->name() == "TIME_AERATED") ||
767 (xml->name() == "ZINC_ADDED") || (xml->name() == "AMOUNT_ZINC") ||
768 (xml->name() == "AMOUNT_EXTRACT") || (xml->name() == "COST_EXTRACT") ||
769 (xml->name() == "ALWAYS_ON_STOCK") || (xml->name() == "DISPLAY_AMOUNT") ||
770 (xml->name() == "AMOUNT") || (xml->name() == "DISPLAY_AMOUNT") ||
771 (xml->name() == "AMOUNT_IS_WEIGHT") || (xml->name() == "ADD_TO_SECONDARY") ||
772 (xml->name() == "COST") || (xml->name() == "DISPLAY_COST") ||
773 (xml->name() == "TEMP") || (xml->name() == "INVENTORY"))) {
739 // Ignore. 774 // Ignore.
775 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NAME")) {
776 y->name = xml->readElementText();
777 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "LABORATORY")) {
778 y->laboratory = xml->readElementText();
779 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "PRODUCT_ID")) {
780 y->product_id = xml->readElementText();
781 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "NOTES")) {
782 y->notes = xml->readElementText();
783 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "BEST_FOR")) {
784 y->best_for = xml->readElementText();
785 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "TYPE")) {
786 QString temp = xml->readElementText();
787 if (temp == "Ale")
788 y->type = 1;
789 else if (temp == "Wheat")
790 y->type = 2;
791 else if (temp == "Wine")
792 y->type = 3;
793 else if (temp == "Champagne")
794 y->type = 4;
795 else if (temp == "Brett")
796 y->type = 5;
797 else if (temp == "Kveik")
798 y->type = 6;
799 else if (temp == "Hybrid")
800 y->type = 7;
801 else
802 y->type = 0;
803 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FORM")) {
804 QString temp = xml->readElementText();
805 if (temp == "Dry")
806 y->form = 1;
807 else if (temp == "Slant")
808 y->form = 2;
809 else if (temp == "Culture")
810 y->form = 3;
811 else if (temp == "Frozen")
812 y->form = 4;
813 else if (temp == "Bottle")
814 y->form = 5;
815 else if (temp == "Dried")
816 y->form = 6;
817 else
818 y->form = 0;
819 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "FLOCCULATION")) {
820 QString temp = xml->readElementText();
821 if (temp == "Medium")
822 y->flocculation = 1;
823 else if (temp == "High")
824 y->flocculation = 1;
825 else if (temp == "Very high")
826 y->flocculation = 3;
827 else
828 y->flocculation = 0;
829 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MIN_TEMPERATURE")) {
830 y->min_temperature = xml->readElementText().toDouble();
831 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MAX_TEMPERATURE")) {
832 y->max_temperature = xml->readElementText().toDouble();
833 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "ATTENUATION")) {
834 y->attenuation = xml->readElementText().toDouble();
835 } else if ((xml->tokenType() == QXmlStreamReader::StartElement) && (xml->name() == "MAX_REUSE")) {
836 y->max_reuse = xml->readElementText().toInt();
740 } else { 837 } else {
741 if (xml->tokenType() == QXmlStreamReader::StartElement) 838 if (xml->tokenType() == QXmlStreamReader::StartElement)
742 qDebug() << "2 " << xml->tokenType() << xml->name(); 839 qDebug() << "2 " << xml->tokenType() << xml->name();
743 } 840 }
744 } 841 }

mercurial