From 67ddb93a324fc0d35f67fb9f24066efc9c26f128 Mon Sep 17 00:00:00 2001 From: NgYaoDong Date: Sun, 7 Apr 2024 21:35:02 +0800 Subject: [PATCH] Add fix for bug when deleting product, but transaction still lingering. --- .../diagrams/ArchitectureSequenceDiagram.puml | 2 +- docs/diagrams/CommandClassDiagram.puml | 9 ++++----- docs/images/ArchitectureSequenceDiagram.png | Bin 26740 -> 27125 bytes docs/images/CommandClassDiagram.png | Bin 34311 -> 33782 bytes docs/team/ngyaodong.md | 1 + .../stockpal/commands/DeleteCommand.java | 8 +++++--- .../seedu/stockpal/data/TransactionList.java | 10 ++++++++++ .../stockpal/commands/DeleteCommandTest.java | 8 ++++++-- 8 files changed, 27 insertions(+), 11 deletions(-) diff --git a/docs/diagrams/ArchitectureSequenceDiagram.puml b/docs/diagrams/ArchitectureSequenceDiagram.puml index c75fbb25a0..d46b1832c7 100644 --- a/docs/diagrams/ArchitectureSequenceDiagram.puml +++ b/docs/diagrams/ArchitectureSequenceDiagram.puml @@ -36,7 +36,7 @@ command --[COMMANDS_COLOR]> ui deactivate command ui --[UI_COLOR]> user : "Product has been deleted." -stockpal -[STOCKPAL_COLOR]> storage : save(productList) +stockpal -[STOCKPAL_COLOR]> storage : save(productList), save(transactionList) activate storage STORAGE_COLOR storage -[STORAGE_COLOR]> storage : Save to file diff --git a/docs/diagrams/CommandClassDiagram.puml b/docs/diagrams/CommandClassDiagram.puml index 864e9ea96c..d40cd62c19 100644 --- a/docs/diagrams/CommandClassDiagram.puml +++ b/docs/diagrams/CommandClassDiagram.puml @@ -29,19 +29,18 @@ transaction -left-|> command exit -up-|> command help -up-|> command help -down[hidden]-> new -find -right[hidden]-> list -find -up[hidden]-> delete -delete -right[hidden]-> edit +find -up[hidden]-> edit -delete -up-|> action new -up-|> action edit -up-|> action find -up-|> action list -up-|> action inflow -up-|> transaction -outflow -up-|> transaction +delete -up-|> transaction +delete -up[hidden]-|> inflow history -up-|> transaction +outflow -up-|> transaction history -up[hidden]-> outflow @enduml \ No newline at end of file diff --git a/docs/images/ArchitectureSequenceDiagram.png b/docs/images/ArchitectureSequenceDiagram.png index 0ce4d83e353c40f6b34b455b485abdc8b036c981..1573ee5d99f78c005b52a050c0280e552c45683f 100644 GIT binary patch literal 27125 zcmcG$cU)6lw>63)qM{;7k*+8r(nKJ1umKN3DAJUw6se*277-EYB25TV1Vit=D^jF` zp&6=l2pvK%cO_tZ-gD0HeBZs-f7G31W$m@snsdxC#*B}GoYa|9G^Yp%2+m0VbN?X$ z0ih28!I6~{N5Pe&CT;%UuN$@!k8JfUES<~@p4k#e8JHVbKeaW`zohGQ$;j5$(ng4j z%hK$rxvd?{j8o47X5ZS#2!`n}R(@pr^E$y1Fpgt%hRTq|h`>4bb)6rcR5$2Vp4%5R zeMw=@S1HTBbkv2kYg+#;>!UOFtyb3uX7<(*0^HJ#S>d8pR~gz|c~)v87jAr$opz*t zGgQ3zqL-LvI)b3}OAV!{71^!Y@ce{O*UI3#Weu!n2?Y*jC2jf|_iAu) zCw4MgtM6@H`4IiuI$4BQOiU{(Lk8-(t7#mBtuU`51zEb~K=kipZ z2$pm2bHzq1ym+8T&;OciWJ#IY4>za`AyYbfl9T+K|tOUEM9ht|89#*}~X51Cl zI4b8F$Qx!NQ@@LWRO*H2SZJKRT)HTKx;jtfY__|8!G*<=IEEAHd@_ZD^Uk8Wm2I`r zLK3k-cFJ@cE&}p*%rcQHuioZzw(1X4$q{S5Ti9e-$G*@OD&x_Zm0arAx~U_^G9g8I zUqN8{^A$frQI7)1eU4xj8P$0TBo!}*>FJnfx`E zTNx==DN~Fd{B*i2SSVx73uVul;vyX1utc45X8s!Q+nl>U7K1O;8d_DiQI{C9N!I7I zyPkvzoxan*Uip}?f|4yWk^0@(Ui~G94O_+iM!wYG>IYLnM;e~7OFG_)Y=NQA(6%&P zn;yLwkV8_g^TJkfslfS;iA4i^oebJO{zDs1Kwyv}egBTKqxS5;Nk`@J_zigev71MZ zp7(f{tyHc+@tE&<_sCseg_}j|%iBZh@$Gj{ezm6MSQ{+VJ$7Gz#rOCLrecEJ#D5G> zg`BrvJg<3j{eeVW=&`&1yt=CIwOO^;UF6Nf!(t&P_bReseWm%!%7o~GU?jE8Ssj*; z_D^R(Bsuo#_{2%@_pner6hxMD*Nv2LS5KkI!CxL9RAHrtZ84plorW<^k~^$*6D{EK zZD_ACN+yES=OS#V(#_MBSvNAaTIZF^xDkg; z+L6@M)DuSwu683xalvmx)f1vsXcj3b&f$ZdxQBaFWmg;&%oElsFQZ$rc@A88Zoy}y zq|J}}ruV6L5Xq$Q=Kq{J+UQt;@;sL6tlJqdabQCXY)enr=I>}&9dJU7Gw zcdI5~&2EUUH1kZbg8#)${I#AhAh-#|#r+pcU7ZTmf$w4sdHdn}yA!MyH66{dU;u)f z*(OTRw#8E1XwkP3AemfJXh(wooFLD~T{}ty11abE?K}V9zx08oN@ugPD!|vrDc{&~ zU~g`}HqdFNN|Q5Ub4h@Oj}JSvzdPjZ^@eeOqh4BC+HNbc%Lcx!G3ZGuHc+vhZ$5xL z){)_|p5jR?USiOs(;P&cY-laNi}i`c((vStkBXbnBo=jC(U5c9$t1NmyCq(D`(Yo1 zgO!!~mj3GvRQZw1Pe1#X}a|_>k#9-R@Fk!O84n>pRrB%2Jh@(!Q<#^O`%b8xXQ4r}*1s^qCB zs9o>aURWR6c|&*0X<6R}<#lSQy*Y^T>~uHG*KmcXW3HA;hgbY+oS4&&6jW50>mLgb zSD`)&l$wqkmJ7b=x251;+gt^?aN`fOJwS}ZCzk;V_3Upt|$ z;;xdwPSF}ET}tji?mbO{uFv)HTMUY<%&O>WoAI?V8FlS1Wyqr8edT(^U4x2c0;%{< zDCR8e)Ug8f!fBT#7biLGEDi9a)L|yu5%-*SRg_LJ+4UethAW?m@PDt=T8F&nF>FnW zbyrtbR#s67i;dl%6yJB6XpXcFc~@ee!MWZAU#qrx$jZjn)ZFa)!;7lfFLN9#(AJK$ zldghxaYk^J`T3>oZPfFSie&fLM8;Zp>_kux6AQsg*SsdA)+$_crdB_uE|Y9Z@$4^G zS%|IEm!zboHrwoCONo}JHQf;1%MmjOcM0(qB(NF3XNYHph8BH=bDNW~RMJ8Y^ZlYO zYp%-;EY=}?QZ%Yfn7}$|vKoy-v&|7duG4)Li_X!8MyOKd1c=J$_Pk6iAI3u1VZw=X zWrgF-{w>0t+ey$MMt8%Zz!c0x0lD;6t6#=h!{&Y6b-EI1y3ao+0YwNc2L+3*%!$K% z<3`O8rDr;f=@17i6alfLjmpZ+weC)TJaf;A<2oyAuqpXc{Pmt7v909fU3l#P`cTd>CntaUoC_dA%a$_nlNQQ7XYzDHLY}G$GQ)Qs@@F8=3keKsuLeO$sG;3CJvFmJa z?KFxsP0M|6C4Fbdmyq~Wt+%u^JR`kaQ`>#IJ)T5Yo8DylTL=*m#bj$()!x?7_WIDA zosLe??Y*Yci-bC0`1^(`}DG3)~cC`HQp9t4tm}7ZQATY9Nm+yD@jl; zI|Xla&dlJqk^cTsMqkqX?6ETVzO_w*mr_J(Bgx9yeS?9Z&S3HVsdWRYwy7<$e-^I+k0Ru^JAW;$NqI>Y z4CS%_rQ&0)mkJ~o-{0x+JpOUWL1*hNbN$Nlo*h<%WgLpG*UvgGwpEdF zutm&$zqK}H*woWjB~gRf?3cA08-Q<24`x)ky0k(UnuE@p*7UBJf5n|>04nqw-oAZ% zekGk_L}0{d;_)#NbSG5{M61+xdUItmEj6`rYle;NHJfU>0;2yFFZs!|K?WgtZ?aaD!YqNFc>jr|Y!eL9^ z5oKSOTKV1M0@){eD$k|ZvkJI;T@hG5*hoh~u#19iHFquaBq5P|)AI1GEld`dR%yQ5 zw!Pp2Br*PVk72BvYG7?#Ztlat+S^@8O!k_Ut|ebp$>QpyrO>%3P^|plponnQQK=#lGo#oOj5O((sj&FF#Au6q~U>|9h zO%BJxZMHD)Be+!NhXl1+%L0bBvTi61SyFkXHa;wvm=lEhOI@%-V3+dh^Ll*7RHTyA zual+Rs5jLy%A9DD$=YOIoym?Vx-ItJSm{wp8H6L{`riBwqSJeT@+DOSRYQ(&KDu+N zphx=xl(pXc9!+>ySPBFxCr9bVT0cHMuHCm91m78r7PMJjS*fj+fNGb`=s+w6*;R38 z>4Om!r)IM178)0a_)L`Aq@7&Wz9+EAhl{QEcXT9(GeTw?v({D$nvxY`MVIc|KSN?N ziuNuWK6sE?4oRM@)IN;-Q81J8IY&2z&)>PmdSON=-&+wTsG?{5rLLQACuyu?hHlN@ z-RoEt-_z|gb+B+w@kFaDs%~UK-uKPwtc+918e=fvN%O!?v4KRTGv*GlRbj;bxRSQ@ zYX$S4tY=NB(E0NM-;kS|6iZ97jZ5&IdP9?sSz7MPA#4j0A){PX?CxV^ zTnpE+1z8|&!6T2j$DxoPnGIF=eEYyDmXHEp*ZzJ}kl23+rB;Tr%Ev~w7pnHBlVTg8Ob;bk8?RD?8Sgw! z?(f$unP`LWtq3oauk_orW$085t{BEYYmH{TrsFclH=3BVv$F$WnU5#CR;lvdKOdsk z3rN7urZYx`u*kr-`?5wx)?QDMXQZe`*>7%P-cs`ft}aw?|*V zPzeW-P9~ggsI2G{rn1ufXKr^k>X}UsiXC`sU6%YUz)x3fdpLz_og)}=qfv9A5`FKQ zah=Nre{mAKz2-^lfNeCS;tkw(ozZ=3E&AF5#{z68GD*u=TrfK4NlQQSgF@S`URKml z88(7=e<%MPRqQx8DIqqqgrgn)xZPfnZ|r$|Lb{E*^FnK3$~JmxXMk9#QV^bBo;usR zndM%wOH~=(HDRxX?t~eM1qXfLlAu>rQK6usTKJwP#rvWEs!&0BImpX*Ir}PH9Hv!t zT$gG;NcfG>1gCnFGG?ZyH#amW?gxf0ZQ!8bS7=U|)wlbV!M9zRa;!(|0&rUd7ZC@L z=Jzhq)Fb=a;4#dldHJhvPoMyJ=jwWZ;?%2i<)l}Rfs>+v#8Q_5 z|FZ?B`11U?^3|QC*@77fh0*xI;;kqnaJFu+J-GkQmx0f`W$S9mj;_1n=NxdRG+i?- z#J2-m!dcB!}n(f&X6PoNbw9F-Lzdh|2~F!M$pr_`a1->KUbP>oSgv01ll2v z?;XIUPihG5p}s95SZB~CX6WZ9QlCL!XmU!*?nLR3vW3d+(I9bE68HV>At?!o0$AT# zPt~5C!MHg5tnw^#cfK)dVtZ)6Qr&0xE@JC0qWUNlQOAI_f!S;KOEwKBEQ4;gohwlI_> z)?Z|y6D#I+x-Uz>a`^d!wzBzBOpVWl9`mXfkTXaAsv*21TwSqUYNI0~XBovb)zzaS zBL$y)dLG86)(91KUVT(#u4Q0gpsud|=+QfMahJ8(4<9~&b$y)oOmy)Rp>@oEjJNKp zS?*}nlc`0^Z@x3I;O_7}*T6(fRI~!H1ZQX=p}4IM5-+b_oxf^^Iv)&eyRrBK#NzOk zeB%=v`^ddA!$nY<<>>4tZC(}}^I?g($*-0CPRy+oR|`7ybGPtpycmZ#T1w(m<>$8Z z>MoMnHwOoua#R4q8M~6su2YcTSECx!LPcJ*&{DBkLiH9`xTdLQ(D0i_3u0aj0i+Fp zp{aYm<=14zs)Yd;Z^JdBTG&WU&$n;inn_P4%e(K^kVfn-1jM9J*%n1S3pzE1iiAk; zLCjqY9Y^kwLNAhQ7Lm!Hc6!#ja8Q&RV!AV`cE-8j40q38xB%`|D@k5mRPE7J)Xg6y zjJs3tS7%&=UYmdM-k$)q(r!H?T-ROXw&zCU_d2jM{j3Sh~N`v_%eH$YkpYx7ET~i1yKfmxDl)8Z6p!=_w4KG4iBf|bEt&WJ0V|bho7saJx zmQ2F!$emom-a4uvE?8foTOEH+S2^LQlSD6%$?2oXdoJjR;0x#rr+&}U6}NR+$Z=CJ zR??JrUE07Md%5d}!vO$ZxKuleE2{y?yF)tFTvBcW$<3q~@pY-bk>E~%C%oIqvxMI)=zm|mFC{Drce0>0IM0B+4 z(uf4NLXLplOlNv}dShebcvA!mGjoG4lNH zIrqHJeqgU1p8cNpUf3Z#Buc}LWAQ%X#jp9=$9devLd(F>OixZe=efLWP2m?n%fGi) zwt9w!&*Ul#U(uHOa6_?-(Z8mMks;>PA;(asC+&v zAnk7N-Y48te)Q-fBO~L53wa>)QTT0cZeEe}H$vwdFAP@X<>iehV!IU+B)z=7HP{!) zZDGz^tJ4Ne;XYD^g9K&xG064LynK%R;mufR(lwJ)&#*lfBH!GnU<0VTICtwfs1u4a z(P7AqpPhZSj@DwfBcUFY<96DT<9_v2XmW_<-6IDFVLXEVwzQ0lX>azA7XG3BG_|a+ zU%#5@{QbU2h}ReWm`0tqU7(&kOE2`O+`kc=1whpdzdQ<#T`nQ)23&(>SOx^4n%Lmr z;J!kbsRsQ@gqmAdI7FglNsZ?4EXLfw=(h30n}5jF29Nh%@s*%k zV8a+mYgXL2CZ`YLKq&v*-QcHSVU&Us`TH%utXHmA*kQVZG)qSn&Xyprs$8CcGmI}@q zL8m+z#{%sohJT5+n1=B88ZqMD;&nzdzylms09&(+l%T)oi6(cKK$v_0`&&&9cfwJ~ zMYewr0xfHo`tv;?s60RTCj6QIJ&AnQ9bZV-eL%a;u>2hO2mv+(ADQB_IMMlcJlS;W zmgO&Gh4^B-0rFi5{Wt>9>s%kLA^ZHJg5T?6zt_$C13Y0Jt$gFWXDywv*SfWgD)?^P zXcQSoG>!WP1@Y6jj|8gt{kkq~TjBskWYb-0jXKb-XtjInYL5lG9=DJZxJ;DK(OuGLIu%Hzk6!@|OvBDmxqJb3%_ zaF1+_9PW<28{=SAC%qv7fq`OnGocshgzaT(bwTX9|Je8Q_dG*khk5pc6Yc}4#nv8d zmcU(=Q&Wrg5D>H8Y=D1HH#Rk?utUuIH~JR7@f&p}2S<1I&zO3!jB*wnJcRna8$`An z@lZWoUAbt1%g0&dW0Z5QUo*(2F*di`el(2RJ8|K3+iB$OKfEDOS=nfAJ;}$9zXMF7 z!Y=pj=4BopC0S%*VohyrgES`N>C>lxkD(+H0o#$F^Q|5{?5NOAJJQR`YiVhTo0}V? zTBV$Kv9aR1HLn3eTALpb78cf!Q@5b!Gf{SQEXD^C0)m3EPdXn#9@zq)^_Z3Im@c{% zK@mEE;CGDswGR&x*Hqdh>_%ejPWJYP3Gu$0v#2V#?%=cAza9V*`a>;0WwBvtUAS`b z{hE!%RM}W}Xa$#}8+F*Pjd8H&rN@jXsc8MY`^Re~wY1Gxzw{9`+{uu#O}PxTia4(8yF2FXP;Q$yN%Ha9AAxeUYXvesg@vGx!_UwH6N^BQJS25U08U#Rd_*GTAG{d6hU3oEGnt(vnO%w?bUodV#p|xl#qx_aC^Zr1bDQK4f6wK7QNZ=`T4fBz7#XG?YiTD5COEr zV{S?>mb%|1qUOziBdG?2d1-^G^+`~dse|Ih$|`4r-N(lVcQ4#}b+5H*f?cpP%nWxG z6+7wzXlo5SHHR^+@-ZThT{%Y^tw!qr1FBQ*sCZg=C&gmQWw~?^lhBQikQj(4crwtc zjJAWws;VaW$tphui7uM%NRS#()2Ut6)KpZAPyOd~CrKKq=xY1ok1s>;{arxO78K*4 zTTadGRZ~!`jO&BI_FAx@E*Ws!%i|BpqH=O_tRK2jT3zR+Tz}AF%BkQw;KWBwPwzI< z$;vHYKl?7qtmA`M)A(Dx3t5;7F%vvmTz0jU9D#GF7n&Kz5It8gv@ns~ouUw$G56uwyiZ;_FaZLcpxgaCkOzQ~ayEw?t+ zF$$(^&Hh?WtIR$_T}MTQ`S^(ZXw!$8yo;XAn1RL8Pd)F~HNR&+z1NYYdnx9~XrjM_ zympU^TPGfh>i5@%6n`11j5IuQsq?WG^$~!)qfCa7%LTWCZRgMhAt9c}&pdeW0G(?f zqpBL7%G4%ugM&j0P_tX)AQjvi@CO;-8Q{0Dm>yC(0fj(4J-u-Zk~1O=Y-Q_j8;{Ea zE97YEy9S;3C>=IH!qK%{9+T#yrl4SsIaSd672}*0q<(-|W8^Cp0cz(c>ev0(+Q>!m zP6Kqv1vuXe@*BC5$a&RBaGH-PKrbt#&Z@vcJKzEy zFJGQt1k>%(2SWe){6HEdt&`RQR#C%(qU{hYcf)SXTRz!aBP2*x0vii@7)*hv2bg?* zP*~TzCYx~!r-hgm&lUFR>grOmKN{v+_=ZA(Xo7nn!H=2b$MxOaD+OK)C?DYJF5Te7 z^?n<9M@L6c!mDL!rcA6XFTXlVPeVq=t^f5LcX){Qm2U!TLdJAzE|Xow+1WS6#I)1N z-)CF{H9Tj`xx*zzJ7ba+6Ke9F=6njVL--2s0Q4R8*C{>>(FGPtE6Tgq9+ZNTYU2BC z6=mhC@PEXwT=`Poa{d4+3NKP!lxI2!@%7l*?>1mTz&o)ZKn*%$G7u2h+Xb(#nnRqs zLsS=X!Yx1L8oJX8fNYn=&%`Zx9uNAvLPJA=dhEO3zrPOOkBEtx$3)muA4U~IxX04f zy8ywagu{H>EvMS!Bh@%Gi!H%2byfN|{({iIps(~q%Fe>x&PrPwg1>FVK=}}-;ZijC zY79ie?V6H`?F=~MeX8|4UPJ^(fppd8LBMUBuCN@AO~aBn0Z} z)i)|X(e+(o*r}HcxxRSN5@n<`6$e$!7|)A|T}zOH^Rcg5$OrB$?Ii6defUtlLw<}l zx6uQFLz{REAMXkADkysE&Ql@X>3f{NC#0`>AwNpMRUe3%n?5IQ=!XH?>R>wUpngS9 zP06J&9HBxNg}$2ybq|j?*@+u}PQ+B)*xApp!fOXMSnf2za`X<6yAJ>XnAXz__d?c% zp40Y!eIlRrMespI5QHlhaJOTcZ+w#}jm`-5WS{9dKs*O`^)vu-M)I@!zA5e*{SOyU z_(EV$&QVf^hlfAYw&KWX7BP5(!wk!oAT>%cI3)s7j9%DYGgsfo$>zyTv1U+kpQXNa zKM>e*`id;FAUHswo3@pW1QQ^iU9Vb8=R6YScs~AMep1=_DKr-S#oQty{X+5?eZ06L z#4aN`I=Z*Fw<}GJih{zx&~V6U@;xY=CnS!1+PJyBI&HH!e23c-4=n1Sz-*wx*i8a=n#fsydW<_>9{gN%F8`{q-7|y9v$xaN){4cN0m=2b2f~3+GE6&AI+o77NNp05!5Jr*35Cc6u z%yqVl6MV~Su&S?LpIZSH^+OjYu>dD0Cr@HhN{35)d@7>8tV&3B_56PV9cFtkuZJ-{ zAfe(UH}&V)GEzErWrdkAS?TZ=lA)kh(bUv5bM>(KS2=Z_=K_md=>Dz5sppG}i<2=f za{fBb(;uZnu2G-0_mV(3GpNGTvWWNxY(r+0FIWvxa%r>+`uh3@RiKFm${dD3=ruM@5lDA#^5{vj>Myne>6VI1o174PyOV#F0>xuL z{OL&FPgqX4*2uKiNs|DWqs9ms38T8Yx<+ZNV{LqmfVj904rAQ7aYJPNt)AfP zKk7*+AhoN3zcfc*$QqPx;P?jcY}ul1?NIicvG8EA&6J|Py*>>8K_jDaLLg2XOhNT5QphX4Z9a3OLMb zT3cJ+y?ZxF?!CW@QzpQx@l$Ht*SWa(~+3;R=5oq=U_@?2XJHRCc7{unig*=~=T zPT4yf$=T%}dR4q)$50>?*-yy4I`gYAvfaqQmDT#n)B}L6vYBjk8}=Zs+1T4&fNxDF zji)7DLw*C~Psq&OEboH7#JU70t(!13?`YdyAn>^lfAX-Vqorlj;kPT%grW0;L$n#Q ztY+=L2{7;)DLj1m?LhKOUqAmZY&4_FVecZM2M$$HzqOy0WNa3MZ?F}<)RP~x9yw`Y z#7yi0$M*S8@8{hRk?a?PZVjkqRWMK1e%@c35Vpvlx_UG}HGej(rzhQf@Q3`#AitxnFe(MyIQ0(d`+r#iVuEX{Bd$8v}GX+V^4Z6PF#P3Rxf9 zwVZq+pA9Gb1SnrXCgIkCMfTmB$jHY43Id2sMa9A*adgmir3Gi>7zI|E#YM~DR1=+A z$4~kByg9OCDLd_$ry1fYQ|RbuIzOU+Be6^nl0ZgzY)&KYUhZ5qJ=Kvgp4d}wO6T&P zH}Ef%hp9MVG5?Lq%0$u1W(B)x$8FL1xnmfht_qTU%ShLzuqSypR{)?R3LZUG~YDCLa5E{P+iUm3O6XblqDa zfi!#%Ix}jI-nlw0y54^!+-?qSH{KX#BF4pK0U!>*^7meyCess~#xBv+YqJE50uH#} zz7GaqH3=nq_F&o}xYH~$e;*YMNJ3EFb?FvKA$&9B#WoYIu5o3#qL7*qm?(#%jvu>_ zwajd^1=#3_qSV~nurnG>ITw|~!W(h~ileCXutJ!yoWY}3eYY;{4d<-{X2_H+V)=V! zjf%xhw0Tz>vmw?y&zjgQxKvGLi=MQ-eNwewAoY_(wC$8YRJYxi2AF$D#I!w2r^?^| zG-}L)(94t9aA&PZhe5=#rA;w%D&KhTbGjY@P9KR$#lu%Paj;QApz0_eF-^ zLh7hH{Ps77uLz1c4BL#ZuckHbVM|lg7wm9Hu=1UYs#}mdYCUrYLm1;1z!)>&GCT(< zYFG*{X4|hxvx;1zoPB&A2NeDQcjQ7wsP=52vJf-6wu`ugy#sK#%xO&ncui*e9C}EB z_2(UTEPQ`kTU)Zr7?(h9>?~VQquj4FTG*|eW!%%h`@Lj`gK%WLd*H%e-$tGS2-24) z2L`QCcvxQ+$gn+?ROMPBy~^l3WU=%8+NkcRx9(DqNXYod;{6Ml*M0@DGJ zj)%Me4j3tY6`|NKS*YOOH5A`=t$Dp$7oq4@0HpV9jh^_)9#cqoOiLO&XTv~P4tDQ{ z3CfgT(x77Tq0^nG-#1_AnesOafXh`rf3tGixV>@@5L; znuwv8juzWwMd2P$A8_Fw@W6My?GV;!u|#Zq7zq7y}fhpNJX=bBACO z_fhexxmM*MXOg+TRIzm~jl$-g`^PA7D4pn_n8G1v7zUFDM^%;?e)5`uJ+6=07j?gj zhv>Hz;(t~k;K?eR0!M?5`}+3x{q4TeN;?x&_tr#-UmpL`%?M5{bw$Oe?x)U~{i;gN zqRBn(xmGw;zDY56g8_x-*Nq;&4?MiMpVa{FjnzO(Iow0Uu>b9azjwgl zq;SO#&=C$)5ZwI(ll!U1AZ{H{mA3836Lk40N?&jMvBmz|JN#EAb@)C|!yW1&^q>2X zXHHjFSL5VrwoK;m$fVQOHa0Cv41sil%U`bq@tSt01D;4GoSoa^?CCmhKy|iWzW3@Y zpth{G*XFvA-i+>#K&^261e#nfN2m|ax_}bz#0;>+0&?dS(A6eW>=1a~GBYeBb!^~V;ex2YV<1^qhILjb%{Wxa?o0!;Ov2?Rv#>^K2+|sHV3J(k5 zMIQS2j{jG+$3!XMv_nl=4S$v%cahKl9`KEqFJJz}OeWi7!itDA$4x!jGc<}o)$xB) zQ!LymAi4FE6|LDxRY~jA24xMfp88oC97wsf^#4GiDnYu9p{#zC9B)TKsrS`w-1{3K zhH7a>o9#flVx36y`~$kZ)JFg^myeAt4LE@}m&buqpAS7_`WebUkSNrp|1DA4kBWC68^bsE`LYT3)!AC zU_B1}33Gtv3n<)DKgYnpIU=9IJ=2?$;98>m@|l@gI+%%w&4mBO*Y|v^06i4dqZtRB z-j4Ik_15S9D}u4Xb_{GrfF)@RGlkKetomV_?71EX{4;=UU>$&ZRQ$OJ=*h|nK(t;x zU=2+IraB8uds4B0o7KIv$6LvsS~+bYQcR;(HvAU}IX_;K`}E7J4?4AR<>mbXtRx!T z^O#C>jc$MyZfk%j5t(%svWTZ}fCw4*#ux?IzZ6b?AD`fiXNlb!7C?pipJDMKsYOb| z3%uIKpoRg;TDOajujZ(TK;nK!ZrP8&w!uuBVO5x>~|jFX%?RToHaTA`+^I|3Bp8u}Oks}E7LeMNw{b2)@%9&2gG@$vAl5Orq&>3dy< z0-Qi`fxjiQjG|s4lg{gkMU*7R@VsBpqi*m(0Dqsl3GNXTh(LZm4JZtMfQn!9;+fRH z=)@-#YM|nCbuE8X0%UqVLAR|{oQt^DJP1Oe0Zc5?_;Ya(+kfH&lkZ4_&B-8k4HfIs zEx7VY_e1jUu_sVF4D|Ki8D_D8sPsGim=#S=lZv7DzU;f^sq{pXIz$#-zPb972u!PS z1uM{!*Fy_CmDK)IR;K5Jp>lUtV#ToA{1)@MBd=7`s`XBwZWsOsaB>Erh5T1gzE=g6 zhc9-7A6d%cE0<8N*2pNUpsr;@T3!UB3;ZEi*(&!TXS}}kR9;}d@Kmcl<|XUQQCxER zI}czW6-5S^o-cZ`K8wyF8hI1DLxye56naZZ0w?t90{v^%M&W!F%hlx@c^UlXQ~0f< zqJdVH*Fclgpw$bF`_i%y?qV)K`e6HW*t!n3%))5|hj4|H4Hf9HI!gIRf&ud}F_>qW z?(^QMZ7JHBnfJ7=chVmvDg2$40iPK+zZhWL3#7{5x$Y5={tt9W98&~X z7j`sxA?}-!jsXq^SIdEf_$WUGhWmoX9>(8^I{O5B-(Ojh=q~9Wx7m)oeXvY;OM(~3 zv?oOIW4Ju{mDzE$!XnCQ6$6YClA8fgqy7beh`UIz46fPRI4WMxA`MxFy-Az4|vPF1B^mi9;_>x~L-wXE`0SXX2@c*REtUiGrsn;F?p%*77C)1o-h#r7eu1RfccH)kX4!}g6_XGef zrGb(|y;ze|FkDuOlbzk{d+tZ8y2qf6%NeW!5&HO{-0c4UU;g~{ZMZeZCs5X#eYPkh zG?fHLJEc*lV7oO2#3*GEkQPuY0zQ*bz%q`m9x#JFP%Tb1Ais?L$_;->by)3@v#|nJ zcTda3h@@NtHoN-+sUR^JvU71Qglm{{(eYEXSP3%j!=M$d4a^r^`nnH4>*safam2c#fb7yF zokeE+f5_rwpmg|v$q+~)hgB`|ld+OS=*Lq^>s^e|jNH2S!Lop^q4)3KXLM_r0kcVH zvW6egi+{ek%$G>9W6%Yd#xS-nR{$4*6X*&P)2q|eOm)`ZOz;0+(JQzobClA9sP6z? z0BLH*TE!e4iil7%A0&|Sc{@K;Rprzj2WUQAm+s?9T-b2cqdAPtA#)H>$9C*0O6oXi zD|lq>>%BEXIx;=KCBJDUgE%m}-nD)eHl6_8=*S?>$Lv^G68R z&LQ3N{+%?t6>(F8o$AB!5=uvLqSG$^+d$hBg{Y8GdkoO#c0CyveT_x$BAA|ZAPaG2 zF{=(77kg3*pr)(w)uhgAr&YG{_udo<` z7f#E&TLTSneYw=wt?od`J1F^-VTjZ)MpsMo&g8bOwE>RhRVi__R7|(wfrAa$O%HeF zbWuv8wj_m@kdcCrle+j%$?!nF>H_(aR7@b^o#X2vi&Mi}OxaHW4#C-0zMCugz^P7s z!q)O5pB`T8%7q>o-U6Zc@c+Qy1bRpRTt=MpkWUg+zOd2z_Mjf#^8DqsyJC6nQK8j; zIOh&bMNz*kZ9gm8U+yvBb(BAOkYN9?$Q)$LqbE#`QU1=P`2ZkztX0jsba3`NkntRN*Im4PtQct7v(=$}3Z#J3q@?R% zNy{c?1IRA-ng2-(>#`ZQE*Tje4M5bC_s$4PY9&BnSJKispGIvQE+P#&eMPYsFvZW0 z5RUccKN>Rzo^~tAU^P9ACy>>VpjI>OX2(8tc6P3E-#y(&=;eH=ZZh@I>nmF4K}hT? z^+QndJyW*Xm9*57f2N0}U*aE+v(~>-=^Z(opiWg(k{;FTwxX--BNMFUS$CmAJ-l&hp_PQ zL92Rt9rw+TwT(-o^;Ija!k|Y$_u*JdG_U$;n?gM$8LHN*xv|pME*MblUGrY7uC*xF#RNE*4=mUTih`HY9{gyZrj`8IOyx zYz?da^a7T*-Pnc%jvu`MYTmK$pAIbmtEGVF_B_GIE#R_d2230rRfz-_#!STRaE=@Ce>-mI7D4xb?xnNLbwI2%(YEn; zsHpg(B!aH#j;-w~z$!Jvy*YX&-!?R*kyofFDGSZMf3rD#>{@Q4t8uo+dguW|RKW>a z5e{Uohby4lJnS7vX%^{fue`icEZ}T)au4-J6MOFQne{5DCK%@!*X3tT8^)J2JceNl z;-rEYKm(Gh>HVZktuob&tkl%=giA?F28!6^0AjUK6RK!o2jCJFynH!cDM_xbLPX6s zNn$naVrWDJElZaTGxfTi4oo+v?r>TSgfrwg?`{Pru!!hyy_1a*acYmd19F`bkG5K& zX-{T;ekX5=5Gxl~o2jFdC}09YuR{bOVco!aqfF&Ipq5cIIJ1^>TSWH1SDg;aYrjdz ze^XuaimAPwroPa&1MD{=_%rsTkB{Z1LJzK5n6~47TK%%QxfwLv03Szjv4CL8pamKn zWe{*4rAPA`e*<`+b_`u$x==iNR*+TbVW&PY-}FlGg}ei8S~&vB2QC`6`nqoqWMoK4 zNvViK8F5ozFD*dJ?*eBx_|XJs5Vru9EVG|G|GC0x5(3F1O!sifW3ySZ1W2ulJxZ(?CkzQK~!u#85&8~0@}j#`_<0jOZGNyupdqx zq7EOxgWsnIO+`Z@Bo?V|nOj&)L~!sA!B>HR3M3>xyRo$-Kmuw#n?I5aD9x32-zr0~ zYbIt(ns}+iB`|(rV`&sTFgYl67qs5C^tpogoL0n=I|33d9_xcb@t0vId}gkzcckR} z3h+&=(OmMq}Ow*V0(y1%o6vn=gPMu2{oU-a|Q6LdJb#M*ipM3(@(Mc?w&PuiT| zXblLnAbw%+3c?>W$E9;q`(+CGtkJktL~0!vYH)_!%qxI~!%yMRXN9-o`(s`MS`ah= z9rE#iyb~n()Nq)3IDGGGt_pLKO$+T^@QV<@xI8NK0s6ig@8}0aOhi^iWH)Ay-+cb< z$`8(!LIu!509@+Dfq-_xw*ld(1QRr}Hc4*ZptHEgqSQ{pQ#H%GzBA;e9SWK4_2<;$ zX@lu&Rm@s4MEC3z%W}FZhpxicnl-s8;l7@o-b;XDk?^PL z-@m8$VMHGF$gH3@0@ynJcf~1tn611bdN>6kR)o%AG!=~|z*{vfx50B3y8=W<2B$ks zW%}Q!{NNtBwT^c95SY=YFQ)pBX%hwjH)`>ALOcM@Cvod4Oi_>AmfrFX+FcI#8o00q zpPHLuz;ehN<2x{b7*G&^>#7>ZkZ!H^DL>>&s05w@K-0*X4VtK*OFcku9-aUKU%&x6 z04pgrZ_OYwO1ncCegAHo=!4x@TDU9SC8n4h``cFzpe2SBj~?+pSwO1%Bt-tefrk{_ zZG|hpU@9Jh4!wKz3*`Ys_$POBTLCmBA^tTSPRfAcch>=;KbYXLvqzgCe;>L3vehFC zhK~CjCeN}TN;v(B*4zlVeL!<)Ohkl3%US2nBiQi?=Y1(I7+oV3F{ug%rp=(Dt4HZa zSkJx4y*zcigDv~czRBrJPpp_su`l^{*F%BaA-g+WS@=wovj=qH@2`mOE456a(wP!~ zIeVp31#))W&(k|K96OmiID<)9Y{bON?my1Jd%b$&;C#o=WeWsXBuWlQ<2pJ@Meim7 z78mI3b<|L8&xWWhE!UR5;ob9XV_?VP(ky<$&1$bxYHJLlkpFtkR}9ZEMxnAWD&|xhkvU`RR|sCFxs<#Fcs$j< z&g3(CQ?JiQ0d{AsA*2hbrtLHi*d<*N<8O(zepKL3)}tIIZf-@+i~Q!mTeA!<*50PC zcf8HVAnv{c)@mqwt$));F(o?_%PRMRFcfgIu{h4fJ45{!9n40+l^S$ zjAA`IHPr;rSbziH?YUgZd=?9Q=YD0Ni%He42rwm4VPPtdAG6NOK79DLHnCSrgjUyK zRFr#p>-2_DXsfCYNx3@{NLPSVd=7pUr@9c0l!R$IRm`W-T9oI2bX&Di%LVLLok$S- zzgmHYyKzk52OXSGSpN^mcHyC=V2I%{Cc*%CjHNe%#pV)DE(o?=Jxo4{+9j@+3uC(PDkT zK?gtrVBW{I`mQ~!dEi6}`e{28r7sAwGRSyZ__%Rg>teYTK#|q<92=jG>)yj&_%4a> ztn!>o;|7{sCq!-xjRbSifm6oo^^@ZqLQS@Z4k2LwV3CVH=NZBxpIU43CL$uK4)7~% z92{YKwLM9Y*0iO#JD#9786exYVPOVnMLH*-ZE4@TlP==6m46Z7v)9RCAtUBZtvt&@ z)7Y4cPHxB3Nx>nW)AQ(&*QY(`6D!QBdp-)NUV&g!1kJpk!vs1k0sRTTbLTSv z;a&P5mjhg=1~w1;`h&TTufs;P zMu5Cm50SQbFbsdnA-$C}geT~tzZO8xIB>+=_iN`i2hWLC$kyoo{Tf^o3D+bS9!~}N z_>g%dQ#LWuntab42Yu+N*Cdp#UA@W+%vXSr#Qhdc2zYv@NJ%5~u4G9R168ZfybS7^ z34%s)1L*jO5p@A=R|>~-&@yCfMWA>9tqoF)ZpypOF7EDougR{|yq`XRkF|+CF1lk_ z>TI#lo{YMrYRu8B*smC^Z+Ct@>F1w5`4 zF5Vu-^9&q=N^h-}6ZVVj7wP>h`Y(#KY4FHpNgLIrr6A)ALeiV6a^*o?KT%l> z8Bk3g)xFC>K)NIm2U*JWNlbDHSPiPsiKKZA$Dv$vQJvCp7eDo{ty9aoqgwU*`q}|o z0k|1fA0PbT4HSQL9j=p@rfN@Ycbi3NZzH6S^8PBExp0?+|83Gud<$f@2hHu_OW9^% zWs0H9*jpyvCH(eLRFW}w4_^Mf0+P>^B~yNN;r?B?OI%4F&p=Op1GV%$^=&yEt z$n*Q0AK`vk?BB!;VATE` z?h3G00D=g#Rk`lo`PGg|CV)R>|5x2vKgF8F1InjH1mlVAD!$`MqqAsZW7E}(nb&5a zDA)!+RmINmwSac_j;Ko=v9*@+wygR}sb7!uc&YeicFWfNOw#nq+(VDSKR_cCbX<&c z>ZZhmE&)I3g8&{Q<1Y{ATGkb%t$q?;TV*7M=$TWG#d&Owgi|y=dSiga!E1;MoZh zCP=10F0cmi6C})f>s!Fy2efw(M}>r(yHZtjk)YBAzj88EGmOcqqSV8gszDFT?*`3& zt3%~qFPP@9eyabct}73Oa_!GV{Fe^PKfL=XZXSB*Jyj>;@D@kY@Q( z)}{9lIF-F-$0i2qsy8pUKEf|saEhA;y^4?Ts@LLYWoIv5oNfb_I8j;cI8QOm=LsLY zi$(5@1UEU1R;D6*w@Y`+gqOgO_Jm^Yg)FCUpCvBl`zwS$dL$xxbQE78QkUEes;yGc zT6Plc(IMM#wbA`2F8~lwk`^P!+i7a5sw4Cc=AR5rOkR60dc>gBV2DH(Jj=Or`IpPK z&c#whP_R{*yiZXnhbCe=%MISi~{eukI4-Bo^(4d!!xxITKrS4zBknyuGN z$qu3^3sTpKs|3(VU;zx9uiYJgoEI{OUt1mJiC!%estzUi@o~fX0?Q4son7wecR6Eh z{NeH!XzfC-QzjrN_}816j_ouIG-=zWdOc9yN5khywtqS1^_qQmn;bNlY2s>YnEBPB% zFK;98SnfjWW(vE$)JO(ZFOYf#2DEx`M>3zbv!5>Nq4l&tFh|Rl`x!>0d2py2SdkTfW%)FpwH(7LItw5e=jXESJw(DlNizuY>w2#d>-B;JF<6#oGU$~ zo>{nh`i6DBo)V8X)h_gBR7#7DkZ1qsE1Fh`X^t${E}Jjf?OKoMlx2&isr#H`rWm~y zRZmbwmo~stn{WhGUnXeHU|X_?zY8}hyUe}ktfgR1A>r4JclWl$#Kb@ebD5DK+o7`vveZbcmu`U3 zfuTo^s0(uBY_<1(6YRs5;FiV+{9r!NAw$ zzU6|{>m#C~TA}F^9}q!E@STM6a_<+eOy--tEfZ763;Dk0zMbFT(SDH{vx8dMxPWe2 z)*a;~>hy>TX()xgD_5uCCmWhncq>r&!R%y(?Lz@ZB~|NmjotTgCpDBTA8H6OsWJZX zv86xh)qU&9O>uE1+Y97NwC*kW^X;&)RFR=<6xY-^cdO+Bw$}UWK+UV$1#t!K3wc)u z_=*Qc7B2_iDxN90ozpfG*D+Jja7g(>iovNFwQ&KpP!wk(dQ($Jhq;M~a~bEE!KDTs zBVr?z_MtG0fBZNx?i0{8vXje}>Vnnp%NojG&H)yZivW$q5@QE z$D*hPz}aGe0fz5%Rif;Wr`BSbbn%77G59u#?|FrPx@r>a}eJuA}x2 z4mr8O$2M$MY!TF;y}5ub$xdV78(^=@-Tt}{jk=q=k4m=gFs~=5A@`wrLQG=n^C}QS zlka=$#yxvTV%Ky8wD4Q|>|vDp6XfuT%Ca&tPmVbsi1}mA!QXHI3VB$@JR$6X@R}Ba zqW&(#c@<;T;U zoSgxveyfG{uM$;!_KJ9r|9X9(7VDFU@aK(mnF-hy8ipmISxI7rv{PhIwYnd$2aAbE z|HX+t0K^2pabpi?;kj*>Uyb3eCcdhkz{HHLdc5re?R*X%=GmugYb4*=2pufOdyQXG3lv8`=w1prcl%On)~CCm$RGcrbII&reD+Y@1CYt{FsPNjf{Wi5xZC74$U*I| z;;Rf9s@!BUxum4TmIWI)OWT~8C5lO{HyNFoKa^5bR5aKR)!@v${>Q-!6{%UdHLdcV zx@?=jAKOWZI8L+Jm1n&fFXwsc-X8-*WjLr;Bg`?|0^t2+JKWTBpr@e0yv1^zTawrepEq*2gGADk?_L;EQB*_4#JoaRH zTO;}dH!y~r(Q!Q0ItgW7fJY*=1Gx6rQz$Oor2&H(&vc^*hD0A9pJof(MXH_okBQH^ zlEe~7=^D*g}ya{5ppruQBypbJPkn#lLaKI zO+grFL;`8~o5|q^SIFO>Uh`ZsDozFGz4U7i_d{l{f_9Q>$EIhX*P4h@(3B?+)1U`@ z0%x-J(^yh2#9!q z5XXDE1pxZrrA?ke(FqH65Yjf|6GKp8u8UQe0r0R!NUrCM{n3us*P@E%pgQFZgGMR# z(C+I4^%)L{fxPb2Q|0suh;Ts^yz=BH^{DTz2Frp`urvCovc|gHo(T;kqrvZw<_*Ll zyljv}0~om-(&V>q?-Yqg>KrrRMCO#{yj z{*mql819yf3+H{sa_6v5JeSJz^j?T(4 zaU>we&7hiu?z1)W^|i`c47{5~*lb z!4;46`#pcuQTXaB!PT$&aO7bdN|xe`_=`Vx&cwR=v6QShce)?G_rV13O|5;H#7r4! zlUmSgX70Zo%Gf}-vuD{oW=8auw-9_6m16lvj*WG*9&!%v>~OIje+Ckib`keBZ? zKIWtSBqGS^Sgc-h+|%Z4=cyTSNiP|#d&d{GnJ$XspFqdg#hLQ0+aaW^1icmYSXmrg7Ag|r*7{Xx_DKtGj!UYm zE_}R1TzJh=wD<|Su`X=-+Zw?v^?FTTALEvleFxncFsSyd3vLi6#r0q-tBcUY^}p{A zlNM{E3nDIhG@WB!Roqf$(5W>`{j232c!B1>a5h8v>1?M;6IV)IT*c_(!00{|=l=kz z^zZXGaKZQ6c)!sas*slD^r735cB`?7Ha_tNqgea%m$RegEFd1;2jBcRz2iBJXPcgR zGCv!+R5V(n5V$XTm{9Xz)!QPjV9#T2Zm{^q*M1!ej%uH>9kSEC=tWDx@#@RtVgGJ z$Gval`KOet+6h5B%~K^Kz}&T_2FpUC4(a*k*>9!0<2&)=I@%Jh_$AMYD^qi|>FQ6X zD$chNoJmw&>qPEhvq=<1HVE)O^n^^nmhR_FaQKO(4$saM$sqCz{HV-D&$Ai$c^L1Y zC3N(YbH#`1&Ei~0qi#9wJ{@j@ukpHa(D|ZggtW+6+3IBGFf*_(%0M&+C8TrYH1CS5 z3VDTAD&~>Ce3$M3I2#H39!Mk=H9Hmz%*al?SH;uKA=|#8`lo%3{}vl7nvSKxg4*T* zbSWF#;>|l;tu*xzzs`Lc|44}L>3^bPHd~9x^8dF`IZ$hW?#dw5xT$2A5?2| z(h!3)xN`@7WS~DDeb#6rsO1MT+Ap%VKx&^PvSlnLL^RtM)%VL6oHw|wveMG)!LtHc zY2(20NY8hXBvpT-8v+npHKP3+6rs=U7FkpA>ux}m*M;n83kEnOVIO2MYxI`1n?FyE z?N{|T+KhY>gaW^jA+nK$0x^uCYZos10Tg8!804U<0`CfhkkAVRTZ6ouBIhpT79mhd zygM6@P6uM=PlPA9tn$izB}t5er#MTQeXK(evdL<=nBCRdqW0v#@hx2e-)WbNYflun zDe7=^8*k8IIDG{s)qrYJj!rcxfjpR@l>WmSx%40F;G!}gI{TGryA8@1{>Pww;*>^) In&sX90{xddHUIzs literal 26740 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 diff --git a/docs/images/CommandClassDiagram.png b/docs/images/CommandClassDiagram.png index db982b51450742066eacb9f77edec74f20c91e15..192a050effa223ce278943098c68a763588e16b1 100644 GIT binary patch literal 33782 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 literal 34311 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 LOFzpM)NuVj+%M#Q diff --git a/docs/team/ngyaodong.md b/docs/team/ngyaodong.md index b0a88acb93..82caeaef9c 100644 --- a/docs/team/ngyaodong.md +++ b/docs/team/ngyaodong.md @@ -44,6 +44,7 @@ Given below are my contributions to the project. * **Enhancements to existing features**: * Refactored code to reduce coupling between classes (Pull Request [#50](https://github.com/AY2324S2-CS2113T-T09-3/tp/pull/50)) + * Added code to ensure deletion of transactions when products are deleted (Pull Request [#175](https://github.com/AY2324S2-CS2113T-T09-3/tp/pull/175)) * **Documentation**: * User Guide: diff --git a/src/main/java/seedu/stockpal/commands/DeleteCommand.java b/src/main/java/seedu/stockpal/commands/DeleteCommand.java index 94369cfd86..282a9ae8e6 100644 --- a/src/main/java/seedu/stockpal/commands/DeleteCommand.java +++ b/src/main/java/seedu/stockpal/commands/DeleteCommand.java @@ -3,6 +3,7 @@ import seedu.stockpal.common.FormatUtils; import seedu.stockpal.common.Messages; import seedu.stockpal.data.ProductList; +import seedu.stockpal.data.TransactionList; import seedu.stockpal.data.product.Pid; import seedu.stockpal.exceptions.PidNotFoundException; import seedu.stockpal.ui.Ui; @@ -10,11 +11,12 @@ import java.util.logging.Level; import java.util.logging.Logger; +//@@author cheeseong2001 /** * DeleteCommand class is responsible for setting up and executing the delete feature to delete a particular product * of a specific PID from the product list of StockPal. */ -public class DeleteCommand extends ListActionCommand { +public class DeleteCommand extends TransactionActionCommand { public static final String COMMAND_KEYWORD = "delete"; public static final String COMMAND_DESCRIPTION = "Deletes an existing product from the inventory."; @@ -40,8 +42,9 @@ public DeleteCommand(Integer pid) { * @throws PidNotFoundException If product with PID that user specified cannot be found in productList */ @Override - public void execute(ProductList productList) throws PidNotFoundException { + public void execute(ProductList productList, TransactionList transactionList) throws PidNotFoundException { productList.deleteProduct(pid); + transactionList.deleteTransactions(pid); Ui.printDeleteSuccessMessage(); LOGGER.log(Level.INFO, Messages.MESSAGE_DELETE_SUCCESS); } @@ -52,5 +55,4 @@ public static String commandDetails() { , COMMAND_USAGE, COMMAND_FLAGS, COMMAND_FLAG_DESCRIPTIONS); return formattedDetails; } - //@@author cheeseong2001 } diff --git a/src/main/java/seedu/stockpal/data/TransactionList.java b/src/main/java/seedu/stockpal/data/TransactionList.java index 6d6fa2c6bd..afc9630740 100644 --- a/src/main/java/seedu/stockpal/data/TransactionList.java +++ b/src/main/java/seedu/stockpal/data/TransactionList.java @@ -1,6 +1,7 @@ package seedu.stockpal.data; import seedu.stockpal.common.Messages; +import seedu.stockpal.data.product.Pid; import seedu.stockpal.ui.Ui; import java.util.List; @@ -71,4 +72,13 @@ public Transaction get(int i) { return transactions.get(i); } + //@@author NgYaoDong + /** + * Delete Transactions related to the product getting deleted. + * + * @param pid PID of the product being deleted. + */ + public void deleteTransactions(Pid pid) { + transactions.removeIf(transaction -> transaction.getPid() == pid.getPid()); + } } diff --git a/src/test/java/seedu/stockpal/commands/DeleteCommandTest.java b/src/test/java/seedu/stockpal/commands/DeleteCommandTest.java index ffbfba37a0..3098c00720 100644 --- a/src/test/java/seedu/stockpal/commands/DeleteCommandTest.java +++ b/src/test/java/seedu/stockpal/commands/DeleteCommandTest.java @@ -3,6 +3,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import seedu.stockpal.data.ProductList; +import seedu.stockpal.data.TransactionList; import seedu.stockpal.data.product.Product; import seedu.stockpal.exceptions.PidNotFoundException; import seedu.stockpal.exceptions.StockPalException; @@ -11,9 +12,11 @@ import static org.junit.jupiter.api.Assertions.fail; import static org.junit.jupiter.api.Assertions.assertThrows; +//@@author cheeseong2001 public class DeleteCommandTest { public ProductList testProductList; public ProductList expectedProductList; + public TransactionList transactionList; @BeforeEach public void setUp() { @@ -22,6 +25,7 @@ public void setUp() { Product testProduct3 = new Product("Test3", 3, null, null, 3); expectedProductList = new ProductList(); testProductList = new ProductList(); + transactionList = new TransactionList(); testProductList.addProduct(testProduct1); testProductList.addProduct(testProduct2); @@ -37,7 +41,7 @@ public void execute_productPidExists_success() { DeleteCommand testDeleteCommand = new DeleteCommand(pidToDelete); expectedProductList.addProduct(expectedProduct2); expectedProductList.addProduct(expectedProduct3); - testDeleteCommand.execute(testProductList); + testDeleteCommand.execute(testProductList, transactionList); } catch (StockPalException spe) { fail(); } @@ -62,6 +66,6 @@ public void execute_productPidDoesNotExist_pidNotFoundExceptionThrown() { expectedProductList.addProduct(expectedProduct1); expectedProductList.addProduct(expectedProduct2); expectedProductList.addProduct(expectedProduct3); - assertThrows(PidNotFoundException.class, () -> testDeleteCommand.execute(expectedProductList)); + assertThrows(PidNotFoundException.class, () -> testDeleteCommand.execute(expectedProductList, transactionList)); } }