fill basket
This commit is contained in:
parent
f315cc81a6
commit
8b534e1229
9 changed files with 62 additions and 18 deletions
|
@ -1,6 +1,8 @@
|
|||
#include "article.h"
|
||||
|
||||
//Article::Article() : Entity() {}
|
||||
// Article::Article() : Entity() {}
|
||||
|
||||
Article::Article(int price) : price_(price) {}
|
||||
|
||||
// Article::Article(std::shared_ptr<Seller> sellerPtr) : Entity() { sellerPtr_ = sellerPtr; }
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@ class Article : public Entity
|
|||
{
|
||||
public:
|
||||
Article() = default;
|
||||
Article(int price);
|
||||
//virtual ~Article() = default;
|
||||
|
||||
void setArticleNo(int articleNo);
|
||||
|
|
|
@ -53,3 +53,8 @@ Seller* Marketplace::findSellerWithSellerNo(int sellerNo)
|
|||
return nullptr;
|
||||
return (*iter).get();
|
||||
}
|
||||
|
||||
void Marketplace::addArticleToBasket(std::unique_ptr<Article> article)
|
||||
{
|
||||
basket_.push_back(std::move(article));
|
||||
}
|
|
@ -11,7 +11,7 @@ namespace
|
|||
{
|
||||
using SellersVec = std::vector<std::unique_ptr<Seller>>;
|
||||
using SalesVec = std::vector<std::unique_ptr<Sale>>;
|
||||
using BasketVec = std::vector<std::unique_ptr<Sale>>;
|
||||
using BasketVec = std::vector<std::unique_ptr<Article>>;
|
||||
} // namespace
|
||||
|
||||
struct Basket {
|
||||
|
@ -28,6 +28,7 @@ class Marketplace
|
|||
int getNumSellersDelete();
|
||||
void sortSellers();
|
||||
Seller* findSellerWithSellerNo(int sellerNo);
|
||||
void addArticleToBasket(std::unique_ptr<Article> article);
|
||||
|
||||
private:
|
||||
SellersVec sellers_;
|
||||
|
|
|
@ -11,10 +11,9 @@ find_package(Qt5Widgets CONFIG REQUIRED)
|
|||
set(GUI_SOURCES
|
||||
kima2.cpp
|
||||
mainwindow.cpp
|
||||
mainwindow.ui
|
||||
sellerdialog.cpp
|
||||
sellerdialog.ui
|
||||
sellermodel.cpp
|
||||
pricedialog.cpp
|
||||
)
|
||||
|
||||
add_executable(kima2 ${GUI_SOURCES})
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include "mainwindow.h"
|
||||
|
||||
#include "sellerdialog.h"
|
||||
#include "pricedialog.h"
|
||||
|
||||
#include <regex>
|
||||
|
||||
|
@ -58,8 +59,16 @@ void MainWindow::on_sellerNoEdit_checkSellerNo()
|
|||
auto seller = marketplace_->findSellerWithSellerNo(sellerNo);
|
||||
if (seller) {
|
||||
std::cout << "!!! Seller gefunden: " << seller->getFirstName() << "\n";
|
||||
// TODO: Dialog für Preiseingabe anzeigen
|
||||
// TODO: Warenkorb füllen
|
||||
PriceDialog priceDialog(this);
|
||||
auto dialogResult = priceDialog.exec();
|
||||
if (dialogResult == QDialog::Accepted)
|
||||
{
|
||||
int price = priceDialog.getPrice();
|
||||
auto article = std::make_unique<Article>(price);
|
||||
article->setSeller(seller);
|
||||
std::cout << "!!! Neuer Artikel: " << article->getPrice() << "Cent \n";
|
||||
marketplace_->addArticleToBasket(std::move(article));
|
||||
}
|
||||
}
|
||||
|
||||
ui_.sellerNoEdit->clear();
|
||||
|
|
12
src/gui/pricedialog.cpp
Normal file
12
src/gui/pricedialog.cpp
Normal file
|
@ -0,0 +1,12 @@
|
|||
#include "pricedialog.h"
|
||||
|
||||
PriceDialog::PriceDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f)
|
||||
{
|
||||
ui_.setupUi(this);
|
||||
ui_.priceSpinBox->setFocus();
|
||||
}
|
||||
|
||||
int PriceDialog::getPrice() const
|
||||
{
|
||||
return static_cast<int>(ui_.priceSpinBox->value() * 100);
|
||||
}
|
23
src/gui/pricedialog.h
Normal file
23
src/gui/pricedialog.h
Normal file
|
@ -0,0 +1,23 @@
|
|||
#ifndef PRICE_DIALOG_H
|
||||
#define PRICE_DIALOG_H
|
||||
|
||||
#include "ui_pricedialog.h"
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
class PriceDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
PriceDialog(QWidget* parent = nullptr,
|
||||
Qt::WindowFlags f = Qt::WindowTitleHint | Qt::WindowSystemMenuHint);
|
||||
int getPrice() const;
|
||||
|
||||
private:
|
||||
void on_model_duplicateSellerNo(const QString& message);
|
||||
//virtual void accept() override;
|
||||
Ui::PriceDialog ui_;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -1,15 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>priceDialog</class>
|
||||
<widget class="QDialog" name="priceDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>311</width>
|
||||
<height>114</height>
|
||||
</rect>
|
||||
</property>
|
||||
<class>PriceDialog</class>
|
||||
<widget class="QDialog" name="PriceDialog">
|
||||
<property name="windowTitle">
|
||||
<string>Artikelpreis</string>
|
||||
</property>
|
||||
|
@ -65,7 +57,7 @@
|
|||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>priceDialog</receiver>
|
||||
<receiver>PriceDialog</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
|
@ -81,7 +73,7 @@
|
|||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>priceDialog</receiver>
|
||||
<receiver>PriceDialog</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
|
|
Loading…
Reference in a new issue