From 6985137deff5c891ba5487fae9342676351343fb Mon Sep 17 00:00:00 2001 From: saribricka Date: Sun, 16 Jan 2022 14:35:41 +0100 Subject: [PATCH] checkout ok --- Item.txt | 10 ++++- Shop.txt | 2 + .../java/controller/InvoiceController.class | Bin 342 -> 361 bytes .../controller/InvoiceControllerImpl.class | Bin 3000 -> 3514 bytes bin/main/java/controller/ItemController.class | Bin 660 -> 660 bytes .../java/controller/ItemControllerImpl.class | Bin 5170 -> 5335 bytes bin/main/java/model/file/FileItemImpl.class | Bin 5677 -> 5684 bytes bin/main/java/model/file/FileShopImpl.class | Bin 3627 -> 5511 bytes bin/main/java/model/file/FileUserImpl.class | Bin 5633 -> 5640 bytes bin/main/java/view/EditItemView$3.class | Bin 2938 -> 2934 bytes bin/main/java/view/InvoiceView$7.class | Bin 2431 -> 2545 bytes bin/main/java/view/InvoiceView$8.class | Bin 862 -> 862 bytes bin/main/java/view/InvoiceView.class | Bin 6284 -> 6284 bytes .../java/controller/InvoiceController.java | 2 + .../controller/InvoiceControllerImpl.java | 18 +++++++++ src/main/java/controller/ItemController.java | 2 +- .../java/controller/ItemControllerImpl.java | 10 +++-- .../java/controller/ShopControllerImpl.java | 11 ------ src/main/java/model/file/FileItemImpl.java | 2 +- src/main/java/model/file/FileShopImpl.java | 37 +++++++++++++++--- src/main/java/model/file/FileUserImpl.java | 2 +- src/main/java/view/EditItemView.java | 2 +- src/main/java/view/InvoiceView.java | 5 ++- 23 files changed, 76 insertions(+), 27 deletions(-) diff --git a/Item.txt b/Item.txt index 5ae5acd..c2ebea3 100644 --- a/Item.txt +++ b/Item.txt @@ -3,4 +3,12 @@ -4;vino rosso;50;8.6;null;null;beverage + +2;cipolla;50;0.4;null;null;vegetables +3;penna;100;0.5;null;null;diary + +1;tofu;18;3.2;null;null;bio + +4;vino rosso;46;8.6;null;null;beverage + +5;mayo veg;73;3.2;null;null;sauce \ No newline at end of file diff --git a/Shop.txt b/Shop.txt index 1f5942c..0ac18bc 100644 --- a/Shop.txt +++ b/Shop.txt @@ -1 +1,3 @@ 2022-01-15 22:29:56 11 simonetta cornacchia 74.7 +2022-01-16 13:20:51 11 simonetta cornacchia 58.2 +2022-01-16 13:30:09 1 penny briccoli 63.2 diff --git a/bin/main/java/controller/InvoiceController.class b/bin/main/java/controller/InvoiceController.class index b3c55a52c892c97f7981f5619b65557b58d1afa9..c55e54e42b654d6be642a8d9ff084abf84fbc720 100644 GIT binary patch delta 56 zcmcb{^pc6|)W2Q(7#J9A7z8GAed6Ru&PYwp&Mz&Q_{)%yb+Qhlf)EQM11|#)PzfUg KACP2X;0FK%HVr@k delta 39 ucmaFKbd8DY)W2Q(7#J9A82Bf0eVWY9sL#kU*_=^L&Irf= diff --git a/bin/main/java/controller/InvoiceControllerImpl.class b/bin/main/java/controller/InvoiceControllerImpl.class index 45056d658f8306c4a9cd06d30d80ade1f88235e8..9fe8c428a61a5ebc2f491f5c35ce707894b29f5d 100644 GIT binary patch delta 552 zcmZvYOHUJF6o#L#Go7j95E42w1UJ3P zk&!l`;yYs(vpdFHRP$!qG;;Z5+Dzs)SUzTnX-_)2%WCu7K&J01o_2l?wRk;iHjBe8 z-WW{@f=gVHyG`~=ox`O8$8i{AfINpNkdCC);v@Voe4UeEALI)p?8n delta 36 scmdlby+fSq)W2Q(7#J9A7#45jQs9{UiNlqVb+ZMhGczj#0~5m{0P7|SYybcN diff --git a/bin/main/java/controller/ItemController.class b/bin/main/java/controller/ItemController.class index fc485d349a5148e003d61f29a124f4914d690b26..93427131daed7e0677f85d2b7c349c91cff47716 100644 GIT binary patch delta 13 VcmbQjI)!z^S4PIL$=?{~0RSVs1y}$8 delta 13 VcmbQjI)!z^S4Kw9$=?{~0RSU=1xo+` diff --git a/bin/main/java/controller/ItemControllerImpl.class b/bin/main/java/controller/ItemControllerImpl.class index 29e1623271f8ccbcbe511834343ccedb12fc8de7..2d91245ed5aa959ea4da554bc10a14ba32aca926 100644 GIT binary patch delta 940 zcmYk4Yitx%6vuzJ-JRK;8BAy?aTN%JN4kBa6cdP36B|+k7+fKxkn)MeZrUYfw`r#| z;D?G4Av`|K7c@$gNFaeikYw9!d6f54tyatOekxA|6?sUap4knF$>iMs{oix`_niNo zuZz!yjZ^>h?g!rB`EH{#ICH*%qTAw4s!hsCTl7+?&>Le;B)T-_aeFQHv0q^cSC@!8 zb6Vr?#T5C);TrF_-{K<-&I8*V8&;F^@WhKT(@(Zcu0v=Q_&;Bw`&|V8xx-(s{|c zmWHS!I!0SlvZF51CV5`{rzTyTvG|5>-JQWnV+Z&_=X*uLlIXH%MY|Jku9)S-TBA;~ z)nbqz-ABQ(v8wo z9p<Ci-9iASC^EgNJYxiY*9@075PRrO!fD%s$Q5f z(M{7MJ^5wr6D=j{0eK--+geFTOL2I&Xyoy##8=QHwo6>bOLQ=T<-E=cdCT`1B_}g; z_c4(oxmJj3g3^S_qN5BG84a6S0_2Op6pjh!6PYrO3-XJY&Iviyq~@gCQZTyn)a*Vs z*LU;PJEdt(D{S9Z)`xs)zEkuwJyKFGv)TTTKRb)9c|gXobq~lKcEAJP;6V?_ggyLZ z8+~NzLs}2#ySY?wHO2LiE+K~kDSpYKqF`zQcXFiRk@qDh#c#G*7BbW9$YX)m$pd$C z;mF!fY5xNmVkP7GkP<%PHCD-A|1oc|nh0xH$XYhCjxQx=I~%f&wP1=lT{*`@VHmBQdrsa7sJJnh?w?R*r2G)5bK_Zts71uSn=}9a+lFRi305es7ZMnZLLx;JDTPQV-9$+VrIJz?Wz$9rboWC_ zR8+K43N0`?T55aQYE#*2`(Czp6IkDwshjV--+SKg<(&7N{>IGE_XGZ2! zgL?Wb)^f}4Hj-Vp6-oAhnPeCgb64~I_K=b7jd0&0g$H(?nLPZFLir3L3|Ktjsa@Z?f;(FpS8YOoSFs{}PNk=10ehDq`)g{)&5>nUXem29M$P3#fP5w=7ltHab+{}-8? zLkzM*Vv1)sp9MLhZu2BYCw57~gn}=O#4C1Xd=-&TOs6x9Zz5=x?z^leJH>LejK=JC X{kO9ZC!~y!zx|udLj4etgP(r^`3km@ diff --git a/bin/main/java/model/file/FileItemImpl.class b/bin/main/java/model/file/FileItemImpl.class index 59a14923c7708a75c2a34f658dbb8f38b3eebd2a..5d9f9dbc43191f72723cd8619e66c8831da5508f 100644 GIT binary patch delta 50 zcmZ3hvqfjaE>S^W1|}e6V35!j>f6RJf!S#C5m9Xc35FB~4hBXBYoH7(1C!X~|Dt*T DDHRG* delta 43 wcmdm@vsP!rE>SKw1|}e6U=Y-vd|FgnK#(DYfrEjO!5S#U%D}`wnN3U&0Lpm>BLDyZ diff --git a/bin/main/java/model/file/FileShopImpl.class b/bin/main/java/model/file/FileShopImpl.class index 106a023794bc62c72c96d8936e8b2c0fe12e354c..33f4b7285d042061062519ff81a87c80477a83ad 100644 GIT binary patch literal 5511 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 D2)qeW delta 43 wcmeCsY1G-!C(7lknoC diff --git a/bin/main/java/view/InvoiceView$7.class b/bin/main/java/view/InvoiceView$7.class index 7d83e8ce5969c660f8a8cad0ca4489e2cb52f9d7..74842dc8394af7eabec88111b24649ccb7f9c881 100644 GIT binary patch delta 486 zcmX|;%}Z2a6vlt=+>iGigB;YvZV=nEH7fjOC7uUDrOXM~#(M3#No zxAj6`1+L1qD55TE8PtE!J~K;8+&3LlJd5+5=e*}R&jY8FSg(wK{=4`AXyoN|e9?}V zk>Y$g9pp^A)8cm0rMYM(o%+3(IHd4`d>Hf>u0|f+=97KE?V(o_n%{P<)kog!cA96t zIyrUBEBe=4H)j>9L!k@BZB%h4@`L_1zj)T~9tbs06xCP!VL$6%i?ZQxI2dJHg6MK# z@aSf3TJ@Kj5iGQLe1CA3J+theqpmG8NBwKYP1;MR8l0_<_605|8r-Ba!HJ|h!4Z}4 z=Lt;SYpx2WC{u}>0;gq_#XiX=Ntlmba-@lGoMMS{d?&{;z5HN^6>jj8F@9lK5bN=q^2~CnZbd2 zbEMJi9t>I2`c)279 z)p~?e@yrNzA`4WqCDxL*?aY|1;uarw__?Q@2f{ou$`dm@v&IWiUfJf29o{+MlN=eX z_`ic(@}!fCm}4G=WVTqqg-uwKEV3k0UV2$3f}Is%x>3K0>Ued^l`kBcSAbOkY$CQU V*)D&|VnZrJ7AlheEGllJ;1{hPQkeh% diff --git a/bin/main/java/view/InvoiceView$8.class b/bin/main/java/view/InvoiceView$8.class index 91d370c1dcaaa0fd4a40509409112e331803db04..a0dba72954b82ee896bf7a32853bf56c4e3a626b 100644 GIT binary patch delta 31 ncmcb|c8_htCML#TlQ%Q@@cw1sVED%%!0?|zgppw~4|5Ozz8VSS delta 31 ncmcb|c8_htCML$8lQ%Q@@cv=oVED@*!0?YjgyH{W9_Anb!qE!e diff --git a/bin/main/java/view/InvoiceView.class b/bin/main/java/view/InvoiceView.class index 22053dbff309ff1418c366b68ba9fd3fd573a869..e58872e967aa9807b9a0b308e4e6faaefb8da04c 100644 GIT binary patch delta 63 zcmeA%>@nQ%PfYeJOCG~FmI{U+EG-N_S*9}lVp+t<#Ili*nPoR4%VcTsCxYw@tc)BC TT#TFy{ES=-3XI&71te+!gVhhm delta 63 zcmeA%>@nQ%PfYd;OCG~lmI{XNEG-N_Sf(=kWLd<>$g+`go TT#OtH{EVCo3XEKn1te+!f=my( diff --git a/src/main/java/controller/InvoiceController.java b/src/main/java/controller/InvoiceController.java index d3abdca..3f14ce1 100644 --- a/src/main/java/controller/InvoiceController.java +++ b/src/main/java/controller/InvoiceController.java @@ -9,4 +9,6 @@ public interface InvoiceController { boolean addToCart(String cartLine); boolean newInvoice(); + + boolean checkout(); } diff --git a/src/main/java/controller/InvoiceControllerImpl.java b/src/main/java/controller/InvoiceControllerImpl.java index a673816..bf143b1 100644 --- a/src/main/java/controller/InvoiceControllerImpl.java +++ b/src/main/java/controller/InvoiceControllerImpl.java @@ -49,6 +49,24 @@ public boolean addToCart(String cartLine) { public boolean newInvoice() { return fileInvoice.emptyFile(); } + + @Override + public boolean checkout() { + try { + Set cartLines = fileInvoice.fileReader(); + for(String line : cartLines) { + String[] data = line.split("\t"); + String id = data[0]; + int qty = Integer.parseInt(data[2]); + itemController.recalculateQuantity(id, qty); + } + newInvoice(); + return true; + } catch (NumberFormatException e) { + e.printStackTrace(); + return false; + } + } } diff --git a/src/main/java/controller/ItemController.java b/src/main/java/controller/ItemController.java index f434960..a114f1c 100644 --- a/src/main/java/controller/ItemController.java +++ b/src/main/java/controller/ItemController.java @@ -53,7 +53,7 @@ public interface ItemController { * @param nSold * @return the new quantity. */ - int recalculateQuantity(String barcode, int nSold); + void recalculateQuantity(String barcode, int nSold); /** * Show all the stock. diff --git a/src/main/java/controller/ItemControllerImpl.java b/src/main/java/controller/ItemControllerImpl.java index 08d712e..69f5dc2 100644 --- a/src/main/java/controller/ItemControllerImpl.java +++ b/src/main/java/controller/ItemControllerImpl.java @@ -113,9 +113,13 @@ public Set fromOneToQuantity(Item item) { } @Override - public int recalculateQuantity(String barcode, int nSold) { - // TODO Auto-generated method stub - return 0; + public void recalculateQuantity(String barcode, int nSold) { + Item i = searchItem(barcode); + int oldQty = i.getQuantity(); + int newQty = oldQty - nSold; + + Item itemToUpdate = new ItemImpl(i.getBarcode(), i.getName(), newQty, i.getUnitPrice(), null, null, i.getCategory()); + updateItem(itemToUpdate); } @Override diff --git a/src/main/java/controller/ShopControllerImpl.java b/src/main/java/controller/ShopControllerImpl.java index 79ce711..6501b9e 100644 --- a/src/main/java/controller/ShopControllerImpl.java +++ b/src/main/java/controller/ShopControllerImpl.java @@ -31,15 +31,4 @@ public Set showPayments() { Set payments = fileShop.fileReader(); return payments; } - -// @Override -// public Set searchByUser(String target){ -// return null; -// } -// -// -// @Override -// public Set searchByDate(String target){ -// return null; -// } } diff --git a/src/main/java/model/file/FileItemImpl.java b/src/main/java/model/file/FileItemImpl.java index 88332d9..96a4764 100644 --- a/src/main/java/model/file/FileItemImpl.java +++ b/src/main/java/model/file/FileItemImpl.java @@ -90,7 +90,7 @@ public boolean deleteLine(String target) { try { File file = createFile(); List out = Files.lines(file.toPath()) - .filter(line -> !line.contains(target.toLowerCase())) + .filter(line -> !line.split(";")[0].contains(target.toLowerCase())) .collect(Collectors.toList()); Files.write(file.toPath(), out, StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING); diff --git a/src/main/java/model/file/FileShopImpl.java b/src/main/java/model/file/FileShopImpl.java index dc0414b..73cd0d8 100644 --- a/src/main/java/model/file/FileShopImpl.java +++ b/src/main/java/model/file/FileShopImpl.java @@ -2,20 +2,36 @@ import java.io.BufferedReader; import java.io.BufferedWriter; +import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; +import java.nio.file.Files; +import java.nio.file.StandardOpenOption; import java.util.HashSet; +import java.util.List; import java.util.Set; import java.util.TreeSet; +import java.util.stream.Collectors; public class FileShopImpl implements FileStrategy { private static final String SHOP_FILE = "Shop.txt"; private Set list = new TreeSet<>(); + private File createFile() { + try { + File myObj = new File(SHOP_FILE); + myObj.createNewFile(); + return myObj; + } catch (IOException e) { + e.printStackTrace(); + return null; + } + } + @Override public Set fileReader() { try(BufferedReader reader = new BufferedReader(new FileReader(SHOP_FILE))) { @@ -51,7 +67,9 @@ public String searchInFile(String target) { try { Set lines = fileReader(); for(String line : lines) { - if(line.contains(target.toLowerCase())) { + String[] data = line.split("\t"); + String barcode = data[0]; + if(barcode.contains(target.toLowerCase())) { return line; } } @@ -63,12 +81,19 @@ public String searchInFile(String target) { } @Override - /** - * Disabled in shop payments. - */ public boolean deleteLine(String target) { - // TODO Auto-generated method stub - return false; + try { + File file = createFile(); + List out = Files.lines(file.toPath()) + .filter(line -> !line.split("\t")[0].contains(target.toLowerCase())) + .collect(Collectors.toList()); + + Files.write(file.toPath(), out, StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING); + return true; + } catch (IOException e) { + e.printStackTrace(); + return false; + } } @Override diff --git a/src/main/java/model/file/FileUserImpl.java b/src/main/java/model/file/FileUserImpl.java index 498e571..dfc83c6 100644 --- a/src/main/java/model/file/FileUserImpl.java +++ b/src/main/java/model/file/FileUserImpl.java @@ -88,7 +88,7 @@ public boolean deleteLine(String target) { try { File file = createFile(); List out = Files.lines(file.toPath()) - .filter(line -> !line.contains(target.toLowerCase())) + .filter(line -> !line.split(";")[0].contains(target.toLowerCase())) .collect(Collectors.toList()); Files.write(file.toPath(), out, StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING); diff --git a/src/main/java/view/EditItemView.java b/src/main/java/view/EditItemView.java index 0b218bf..3b22388 100644 --- a/src/main/java/view/EditItemView.java +++ b/src/main/java/view/EditItemView.java @@ -172,7 +172,7 @@ public void actionPerformed(ActionEvent e) { String strP = textField_Price.getText(); price = (!strP.isEmpty()) ? Double.parseDouble(strP) : 0.0; - ItemImpl itemToAdd = new ItemImpl(barcode, name, quantity, price, null, null, category); + Item itemToAdd = new ItemImpl(barcode, name, quantity, price, null, null, category); controller.updateItem(itemToAdd); comboBox_ItemId.setSelectedIndex(0); diff --git a/src/main/java/view/InvoiceView.java b/src/main/java/view/InvoiceView.java index b445e80..a32e16e 100644 --- a/src/main/java/view/InvoiceView.java +++ b/src/main/java/view/InvoiceView.java @@ -225,9 +225,10 @@ public void actionPerformed(ActionEvent arg0) { if(!strTot.isBlank()) { Double tot = Double.parseDouble(strTot); int userId = Integer.parseInt(String.valueOf(comboBox_CustomerId.getSelectedItem())); - if(shopController.addPayment(userId, tot)) { + boolean payCheck = shopController.addPayment(userId, tot); + boolean opCheck = invoiceController.checkout(); + if(payCheck && opCheck) { JOptionPane.showMessageDialog(null, "Operation ended successfully!"); - invoiceController.newInvoice(); comboBox_CustomerId.setSelectedIndex(0); comboBox_Quantity.setSelectedIndex(0); comboBox_ItemId.setSelectedIndex(0);