diff --git a/.gitignore b/.gitignore index 2873e189e1..b69e45f86a 100644 --- a/.gitignore +++ b/.gitignore @@ -13,5 +13,6 @@ src/main/resources/docs/ *.iml bin/ -/text-ui-test/ACTUAL.TXT text-ui-test/EXPECTED-UNIX.TXT +data/InventoryData.csv +data/AlertData.csv \ No newline at end of file diff --git a/.gitignore.bak b/.gitignore.bak new file mode 100644 index 0000000000..2873e189e1 --- /dev/null +++ b/.gitignore.bak @@ -0,0 +1,17 @@ +# IDEA files +/.idea/ +/out/ +/*.iml + +# Gradle build files +/.gradle/ +/build/ +src/main/resources/docs/ + +# MacOS custom attributes files created by Finder +.DS_Store +*.iml +bin/ + +/text-ui-test/ACTUAL.TXT +text-ui-test/EXPECTED-UNIX.TXT diff --git a/README.md b/README.md index f82e2494b7..c5be76d13b 100644 --- a/README.md +++ b/README.md @@ -1,64 +1,19 @@ -# Duke project template +![image](https://user-images.githubusercontent.com/7589432/229032917-7767f5fb-09af-4964-bb47-8f548893150c.png) +## About Project -This is a project template for a greenfield Java project. It's named after the Java mascot _Duke_. Given below are instructions on how to use it. +MagusStock is a Java command-line interface (CLI) application designed for inventory management. With MagusStock, you can perform CRUD operations on inventory items, generate history reports, and read/write inventory data in CSV format. -## Setting up in Intellij -Prerequisites: JDK 11 (use the exact version), update Intellij to the most recent version. +### Features +* Inventory management with CSV read/write + Autosave +* CRUD operations +* Inventory Management History Reports +* Documentation +* For more information on how to use MagusStock, please refer to the following documents: -1. **Ensure Intellij JDK 11 is defined as an SDK**, as described [here](https://www.jetbrains.com/help/idea/sdk.html#set-up-jdk) -- this step is not needed if you have used JDK 11 in a previous Intellij project. -1. **Import the project _as a Gradle project_**, as described [here](https://se-education.org/guides/tutorials/intellijImportGradleProject.html). -1. **Verify the set up**: After the importing is complete, locate the `src/main/java/seedu/duke/Duke.java` file, right-click it, and choose `Run Duke.main()`. If the setup is correct, you should see something like the below: - ``` - > Task :compileJava - > Task :processResources NO-SOURCE - > Task :classes - - > Task :Duke.main() - Hello from - ____ _ - | _ \ _ _| | _____ - | | | | | | | |/ / _ \ - | |_| | |_| | < __/ - |____/ \__,_|_|\_\___| - - What is your name? - ``` - Type some word and press enter to let the execution proceed to the end. +[User Guide](https://ay2223s2-cs2113-w12-3.github.io/tp/UserGuide.html) -## Build automation using Gradle - -* This project uses Gradle for build automation and dependency management. It includes a basic build script as well (i.e. the `build.gradle` file). -* If you are new to Gradle, refer to the [Gradle Tutorial at se-education.org/guides](https://se-education.org/guides/tutorials/gradle.html). - -## Testing - -### I/O redirection tests - -* To run _I/O redirection_ tests (aka _Text UI tests_), navigate to the `text-ui-test` and run the `runtest(.bat/.sh)` script. - -### JUnit tests - -* A skeleton JUnit test (`src/test/java/seedu/duke/DukeTest.java`) is provided with this project template. -* If you are new to JUnit, refer to the [JUnit Tutorial at se-education.org/guides](https://se-education.org/guides/tutorials/junit.html). - -## Checkstyle - -* A sample CheckStyle rule configuration is provided in this project. -* If you are new to Checkstyle, refer to the [Checkstyle Tutorial at se-education.org/guides](https://se-education.org/guides/tutorials/checkstyle.html). - -## CI using GitHub Actions - -The project uses [GitHub actions](https://github.com/features/actions) for CI. When you push a commit to this repo or PR against it, GitHub actions will run automatically to build and verify the code as updated by the commit/PR. - -## Documentation - -`/docs` folder contains a skeleton version of the project documentation. - -Steps for publishing documentation to the public: -1. If you are using this project template for an individual project, go your fork on GitHub.
- If you are using this project template for a team project, go to the team fork on GitHub. -1. Click on the `settings` tab. -1. Scroll down to the `GitHub Pages` section. -1. Set the `source` as `master branch /docs folder`. -1. Optionally, use the `choose a theme` button to choose a theme for your documentation. +[Developer Guide](https://ay2223s2-cs2113-w12-3.github.io/tp/DeveloperGuide.html) +### About Us +This project is under the module CS2113 (Software Engineering & Object-Oriented Programming) that we are taking in the National University of Singapore +Please refer to the [About Us](AboutUs.md) document to learn more about our team members! diff --git a/build.gradle b/build.gradle index d5e548e85f..019e47ce10 100644 --- a/build.gradle +++ b/build.gradle @@ -9,9 +9,18 @@ repositories { mavenCentral() } +compileJava.options.encoding = 'UTF-8' + +tasks.withType(JavaCompile) { + options.encoding = 'UTF-8' +} + dependencies { - testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.0' - testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.5.0' + implementation 'org.jetbrains:annotations:24.0.1' + testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.9.2' + testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.9.2' + + } test { @@ -29,11 +38,11 @@ test { } application { - mainClass = "seedu.duke.Duke" + mainClass = "seedu.duke.MagusStock" } shadowJar { - archiveBaseName = "duke" + archiveBaseName = "magusstock" archiveClassifier = null } @@ -41,6 +50,8 @@ checkstyle { toolVersion = '10.2' } -run{ +run { standardInput = System.in -} + enableAssertions = true + assert true; +} \ No newline at end of file diff --git a/data/test/BenchmarkData.txt b/data/test/BenchmarkData.txt new file mode 100644 index 0000000000..2a28d20bf3 --- /dev/null +++ b/data/test/BenchmarkData.txt @@ -0,0 +1,4000 @@ +0,Case Logic Vertical Universal Leather BlackBerry Case - CLP104BB,0,968,63.34,Uncategorized,2004-06-11T06:18:22.206005500 +1,Sirius Sportster 5 Dock And Play Radio With Car Kit - SP5TK1,1,706,281.45,Uncategorized,2005-04-26T11:55:02.206005500 +2,Sony Turntable - PSLX350H,2,437,323.91,Uncategorized,2022-03-19T04:22:21.206005500 +3,Panasonic Black 8.5' Portable DVD Player - DVDLS83,3,2219,198.95,Uncategorized,2019-07-03T18:09:52.206005500 +4,Olympus PS-BLS1 Lithium Ion Rechargeable Battery - LIIONPSBLS1,4,1300,170.35,Uncategorized,2004-12-25T02:33:33.206005500 +5,Samsung 50' Black Flat Panel Series 4 Plasma HDTV - PN50A450,5,142,77.11,Uncategorized,2009-05-06T20:22:57.206005500 +6,Lasonic ATSC Digital To Analog TV Converter Box - LTA260,6,360,87.23,Uncategorized,2012-02-23T04:35:50.206005500 +7,Sanus VMAV Black VisionMount Component Wall Shelf VMAVB In Black - VMAVB,7,289,301.06,Uncategorized,2001-03-14T16:26:45.206005500 +8,Sony Silver Cyber-Shot 7.2 Megapixel Digital Camera - DSCW120,8,1730,243.7,Uncategorized,2009-07-25T09:08:09.206005500 +9,Danby Designer Portable Dishwasher - DDW1805WH,9,1585,199.54,Uncategorized,2011-09-26T08:11:28.206005500 +10,Sony Soft Cyber-Shot Carrying Case - LCSCST,10,2440,246.26,Uncategorized,2007-06-20T14:42:09.206005500 +11,Sony Black 1080p Upscaling DVD Player - DVPNS700HB,11,2334,311.15,Uncategorized,2016-07-25T18:57:26.206005500 +12,Belkin Cush Top For Computer Laptop - F8N044ORG,12,2387,50.21,Uncategorized,2018-09-11T06:09:17.206005500 +13,Sony DSCH2 Soft Carrying Camera Case - Black Finish - LCSCSH,13,98,165.12,Uncategorized,2020-07-09T12:35:47.206005500 +14,Delonghi Coffee Maker In Black - DCF212T,14,575,40.31,Uncategorized,2000-03-17T21:04:46.206005500 +15,Canon Printer Color Ink Cartridge - CL211,15,1108,301.91,Uncategorized,2021-10-14T23:33:03.206005500 +16,GE 24' GSD2400NWW White Built-In Dishwasher - GSD2400WH,16,1410,322.09,Uncategorized,2006-06-13T14:46:26.206005500 +17,Logitech Cordless Desktop Wave Keyboard And Mouse Combo - 920000264,17,1414,291.68,Uncategorized,2003-12-25T23:10:59.206005500 +18,Kenwood Sirius Radio Translator For In-Dash Head Units - KCASR50,18,538,215.48,Uncategorized,2020-08-19T02:50:31.206005500 +19,Maytag Over-The-Range Microwave Oven - MMV5207BK,19,1875,110.2,Uncategorized,2019-10-25T15:48:04.206005500 +20,Canon Silver 10 Megapixel PowerShot Digital Camera - SD790IS,20,2235,0.53,Uncategorized,2021-07-21T12:08:07.206005500 +21,Sony 400 Disc MegaStorage CD Changer - CDPCX455,21,1229,148.93,Uncategorized,2015-08-15T21:30:17.206005500 +22,Onkyo THX Ultra 2 Plus Certified 7.1 Channel Home Theater Black Receiver - TXSR806B,22,2015,143.09,Uncategorized,2003-12-10T08:29:19.206005500 +23,Canon Black EOS 50D Digital SLR Camera With 28-135MM Lens - 50D28135,23,299,303.03,Uncategorized,2014-05-13T17:49:02.206005500 +24,LG DLEX8377NM Navy Blue XL Capacity Electric SteamDryer - DLEX8377BLUE,24,486,30.93,Uncategorized,2014-08-22T10:23:08.206005500 +25,Panasonic Black 1080p Up-Conversion DVD Recorder - DMREA18K,25,959,66.18,Uncategorized,2018-09-03T17:29:38.206005500 +26,Toshiba 19' Black LCD HDTV - 19AV500U,26,2158,204.72,Uncategorized,2001-11-08T14:59:10.206005500 +27,LG 5.6 Cu. Ft. Black Freestanding Electric Range - LRE30453BK,27,459,61.91,Uncategorized,2012-05-14T15:02:54.206005500 +28,Tripp-Lite PV375 PowerVerter 375-Watt Ultra-Compact Inverter - PV375,28,56,203.28,Uncategorized,2014-11-27T11:53:49.206005500 +29,Sony Vertical-In-The-Ear Stereo Headphones - MDRJ10,29,1345,14.16,Uncategorized,2008-07-09T03:01:59.206005500 +30,Sony Black 1080p Upscaling DVD Player - DVPNS700HB,30,977,278.92,Uncategorized,2009-12-21T08:50:03.206005500 +31,Garmin Nuvi 360 010-10723-06 Black 12 Volt Adapter Cable - 0101072306,31,362,146.88,Uncategorized,2015-10-01T07:22:25.206005500 +32,Bose SL2 Wireless Black Surround Link - SL2WIRELESS,32,286,270.88,Uncategorized,2008-10-25T16:32:29.206005500 +33,Boston Acoustics Solo AM/FM Large Display Clock Radio - HSOLOMDNT,33,722,171.89,Uncategorized,2012-10-20T12:05:55.206005500 +34,LG 2.0 Cu. Ft. Over-The-Range Black Microwave Oven - LMVM2085BK,34,1550,74.41,Uncategorized,2013-02-25T22:33:59.206005500 +35,Sennheiser Orange And Silver In Ear Headphones - CX380,35,1280,259.96,Uncategorized,2012-02-05T13:06:49.206005500 +36,Panasonic DECT 6.0 Silver Expandable Digital Cordless Phone System - KXTG9332S,36,696,32.97,Uncategorized,2015-03-14T08:22:35.206005500 +37,LaCie Little Disk 250GB Black Portable Hard Drive - 301278,37,615,117.01,Uncategorized,2013-08-09T23:53:55.206005500 +38,Sony Cyber-Shot Black Digital Camera - DSCT500B,38,54,9.12,Uncategorized,2021-09-21T17:36:01.206005500 +39,Samsung 46' Series 9 LCD Black Flat Panel HDTV - LN46A950,39,1147,279.82,Uncategorized,2021-05-04T14:49:01.206005500 +40,Canon 9517A002 EF-S 17mm - 85mm f/4.0-5.6 USM IS Zoom Lens - 9517A002,40,451,111.73,Uncategorized,2001-09-06T12:39:33.206005500 +41,Pioneer Wired Marine Remote Control Display - CDMR80D,41,1155,295.1,Uncategorized,2007-10-11T09:34:02.206005500 +42,Canon XH A1S Black High Definition HDV Camcorder - XHA1S,42,1519,187.87,Uncategorized,2015-07-21T02:25:17.206005500 +43,Nikon CoolPix S610 10 Megapixel Black Digital Camera - COOLPIXS610BK,43,1815,258.24,Uncategorized,2009-03-19T23:13:50.206005500 +44,Sony Universal Remote Commander Remote Control - RMV310,44,798,75.18,Uncategorized,2012-02-06T11:28:32.206005500 +45,Weber Summit E-620 Copper Liquid Propane Gas Outdoor Grill - 1752001,45,603,84.8,Uncategorized,2003-08-24T19:47:45.206005500 +46,Canon PIXMA Multifunction Printer - MX310,46,1925,110.23,Uncategorized,2003-06-07T19:12:45.206005500 +47,Pioneer DEH-2000MP CD/MP3/WMA In-Dash Receiver - DEH2000MP,47,226,130.31,Uncategorized,2005-11-24T14:44:40.206005500 +48,Sony Silver 1080p Upscaling 5-Disc DVD Player - DVPNC800HS,48,861,224.13,Uncategorized,2016-03-11T19:53:31.206005500 +49,Chestnut Hill Sound George iPod Music System In White - CHS4001,49,1397,46.67,Uncategorized,2017-11-06T14:55:24.206005500 +50,Garmin 010-10823-01 Carrying Case - 0101082301,50,2126,265.76,Uncategorized,2005-03-05T19:26:58.206005500 +51,Cuisinart Stainless Steel 4-Quart Programmable Slow Cooker - PSC400,51,1352,254.84,Uncategorized,2006-01-06T16:40:27.206005500 +52,iHome Silver Computer Speakers With iPod Dock - IH70S,52,1927,90.1,Uncategorized,2019-11-12T00:47:43.206005500 +53,Logitech MX Air Rechargeable Cordless Air Mouse - 931633,53,2165,51.09,Uncategorized,2016-11-01T07:57:14.206005500 +54,Canon PIXMA Multifunction Printer - MX310,54,628,56.29,Uncategorized,2004-08-09T14:22:03.206005500 +55,LG DLG2526W White Super Capacity Gas Dryer - DLG2526WH,55,1238,132.61,Uncategorized,2006-06-23T04:22:16.206005500 +56,LaCie 1TB FireWire 800/FireWire 400/USB 2.0 External Hard Drive - 301199U,56,327,290.11,Uncategorized,2020-04-06T09:40:30.206005500 +57,LG 30' Black Freestanding Gas Range - LRG30357BK,57,189,217.63,Uncategorized,2018-08-06T05:00:13.206005500 +58,Denon Black Blu-ray Disc DVD-CD Player - DVD1800BD,58,79,83.65,Uncategorized,2012-06-13T18:19:23.206005500 +59,LG 30' Black Freestanding Gas Range - LRG30357BK,59,1858,23.24,Uncategorized,2014-09-27T07:01:50.206005500 +60,Frigidaire 24' PLD4375RFC Built-In Stainless Steel Dishwasher - PLD4375SS,60,2429,129.93,Uncategorized,2014-02-07T07:24:55.206005500 +61,Uniden Dect 6.0 Accessory Handset And Charging Cradle - DCX200,61,1073,293.5,Uncategorized,2009-02-10T08:06:57.206005500 +62,Denon Networked Audio System With Built-In iPod Dock - S32,62,858,293.37,Uncategorized,2018-02-13T08:02:37.206005500 +63,Monster PS3 CV/FO-10 Playstation 3 GameLink Component Video And Fiber Optic Digital Audio AV Kit - PS3CVFO10,63,218,186.96,Uncategorized,2016-06-16T09:49:05.206005500 +64,Garmin Nuvi 755T GPS Navigation System - 0100071530,64,1433,222.96,Uncategorized,2001-06-07T08:34:54.206005500 +65,Sony Silver Cyber-Shot 7.2 Megapixel Digital Camera - DSCW120,65,1458,143.69,Uncategorized,2015-12-16T11:11:55.206005500 +66,Panasonic Black Blu-ray Disc Theater Sound System - SCBT100,66,349,46.75,Uncategorized,2012-04-03T18:31:01.206005500 +67,Sanus WMS3S Silver Weather Resistant Small Speaker Wall Mount - WMS3S,67,1460,178.25,Uncategorized,2001-03-07T14:25:43.206005500 +68,Logitech Cordless Desktop Wave Keyboard And Mouse Combo - 920000264,68,2399,222.79,Uncategorized,2000-02-18T05:14:36.206005500 +69,Omnimount 42' - 63' Wishbone Cantilever Extra Large Flat Panel TV Silver Wall Mount - UCLXB,69,177,257.05,Uncategorized,2016-01-06T12:13:21.206005500 +70,Sony MiniDV Cleaning Cassette - DVM12CLD,70,2356,131.42,Uncategorized,2008-12-17T00:38:12.206005500 +71,Pioneer 6.5' 2-Way Marine White Speakers - TSMR1640FM,71,797,126.73,Uncategorized,2012-02-12T08:38:10.206005500 +72,Nikon CoolPix S550 10 Megapixel Compact Plum Digital Camera - COOLPIXS550P,72,2433,281.12,Uncategorized,2013-06-18T00:28:05.206005500 +73,Frigidaire Electric Dryer - FEQ1442WH,73,1998,25.89,Uncategorized,2000-02-22T18:51:40.206005500 +74,Lowepro Digital Camera Case In Black - REZO15BK,74,1259,3.35,Uncategorized,2019-09-19T16:01:03.206005500 +75,Sony BRAVIA Black SXRD 1080p Home Theater Front Projector - VPLHW10,75,1276,206.08,Uncategorized,2013-10-27T12:01:07.206005500 +76,Panasonic VIERA 46' Plasma Flat Panel 1080p HDTV In Black - TH46PZ80U,76,2042,261.29,Uncategorized,2006-10-15T09:17:55.206005500 +77,Canon Pink 8.0 Megapixel PowerShot Digital Camera - SD1100ISP,77,714,239.92,Uncategorized,2018-10-11T15:30:28.206005500 +78,Sony Mylo White Personal Communicator - COM2WHITE,78,1585,100.75,Uncategorized,2018-07-23T23:27:24.206005500 +79,Sanus Euro Foundations Satellite Speaker Stand - EFSATB,79,1222,226.63,Uncategorized,2002-12-20T19:09:00.206005500 +80,Polk Audio CSI A4 Cherry Center Channel Loudspeaker - CSIA4CH,80,543,76.19,Uncategorized,2006-08-09T18:52:30.206005500 +81,Transcend 8GB SDHC Card And Compact Card Reader - TS8GSDHC6S5W,81,2476,15.39,Uncategorized,2004-11-12T15:24:28.206005500 +82,Tech Craft Dark Cherry Veneto Series TV Stand - SWP60,82,365,229.13,Uncategorized,2012-06-12T02:18:29.206005500 +83,Sony EX Ear Bud Headphones In Black - MDREX32LPBLK,83,1020,139.85,Uncategorized,2022-09-04T12:25:08.206005500 +84,Danby Silhouette 60 Cans Beverage Center - DBC2760BLS,84,371,96.01,Uncategorized,2010-01-11T08:07:10.206005500 +85,Canon PIXMA Photo All-In-One Printer - MP980,85,2402,171.03,Uncategorized,2002-12-18T17:35:45.206005500 +86,Coby Black 15' Widescreen Flat Panel LCD HDTV - TFTV1514,86,1544,253.47,Uncategorized,2018-04-02T17:03:09.206005500 +87,Yamaha Silver USB Powered Stereo Speaker - NXU10SIL,87,1589,113.42,Uncategorized,2010-09-27T06:14:08.206005500 +88,Sony 46' BRAVIA XBR Series Black LCD Flat Panel HDTV - KDL46XBR6,88,691,79.49,Uncategorized,2009-11-25T04:07:36.206005500 +89,Sony 26' BRAVIA M-Series Black LCD Flat Panel HDTV - KDL26M4000,89,536,322.26,Uncategorized,2005-07-26T21:04:28.206005500 +90,Sony 10' Black LCD Digital Photo Frame - DPFD100,90,860,322.57,Uncategorized,2018-01-25T14:26:31.206005500 +91,Sony 400 Disc MegaStorage CD Changer - CDPCX455,91,356,310.01,Uncategorized,2009-05-09T11:24:02.206005500 +92,Canon Silver Dual Flash Memory Camcorder - FS10,92,414,161.42,Uncategorized,2008-01-17T02:26:13.206005500 +93,Whirlpool White Front Load Washer - WFW9200SWH,93,2405,67.05,Uncategorized,2018-05-17T21:05:16.206005500 +94,Nintendo DS Lite Metallic Rose Portable Gaming System - NDSUSGSZPB,94,1642,308.14,Uncategorized,2014-01-11T08:58:22.206005500 +95,Sony Bravia Wireless Home Theater System In Black - DAVHDX576WF,95,1016,11.31,Uncategorized,2014-10-19T19:57:46.206005500 +96,LG Stainless Steel Freestanding Electric Range - LRE30757SS,96,1651,56.62,Uncategorized,2014-10-13T08:12:28.206005500 +97,Nikon D300 Digital SLR Digital Camera - D300BODY,97,2234,54.54,Uncategorized,2019-03-06T00:28:24.206005500 +98,Denon Progressive Scan Universal DVD Player - DVD2930CI,98,1714,271.09,Uncategorized,2016-05-21T06:58:50.206005500 +99,Canon FAX-JX200 Inkjet Fax Machine - FAXJX200,99,1362,152.64,Uncategorized,2012-05-25T05:22:21.206005500 +100,Panasonic 2-Line Integrated Phone System - White Finish - KXTS3282W,100,2449,12.82,Uncategorized,2014-03-07T02:23:51.206005500 +101,Sony 8cm MiniDVD-R Camcorder Media 3 Pack - 3DMR30R1H,101,1379,202.59,Uncategorized,2010-12-23T03:45:01.206005500 +102,Linksys Dual-Band Wireless-N Notebook Adapter - WPC600N,102,2393,326.85,Uncategorized,2013-03-01T02:58:17.206005500 +103,Panasonic DECT 6.0 Black Expandable Digital Cordless Phone System - KXTG9372B,103,1462,62.34,Uncategorized,2019-02-18T13:15:09.206005500 +104,Sony VAIO CS Series White Notebook Computer - VGNCS180JW,104,1370,0.58,Uncategorized,2003-04-21T21:15:15.206005500 +105,Sony White Speaker Dock And Clock Radio For iPod And iPhone - ICFC1IPMK2WHT,105,831,30.39,Uncategorized,2013-09-03T10:05:10.206005500 +106,Sirius FMDA25 Wired FM Modulation Relay - FMDA25,106,2275,83.8,Uncategorized,2007-08-08T19:59:10.206005500 +107,Griffin iPod DirectDeck Universal Cassette Adapter - 7256DDECK,107,574,7.88,Uncategorized,2011-01-14T09:13:48.206005500 +108,Sony VAIO CS Series Red Notebook Computer - VGNCS180JR,108,791,17.23,Uncategorized,2019-05-21T10:00:31.206005500 +109,Garmin Suction Cup Mount And 12-Volt Adapter Kit - 0101097900,109,1975,10.71,Uncategorized,2017-08-18T15:08:05.206005500 +110,Sony 9' Digital Photo Frame In Black - DPFV900,110,630,286.5,Uncategorized,2022-10-23T06:20:36.206005500 +111,Toshiba 52' Regza Black Flat Panel LCD HDTV - 52RV535U,111,1668,15.28,Uncategorized,2022-05-19T05:06:36.206005500 +112,Weber Cast Iron Griddle - 7542,112,227,286.66,Uncategorized,2015-10-12T20:46:21.206005500 +113,Mitsubishi 735 Series 60' 1080p DLP Rear Projection Black HDTV - WD60735,113,2222,60.64,Uncategorized,2007-04-02T17:24:01.206005500 +114,Nikon Graphite Black 14.5 Megapixel COOLPIX Digital Camera - COOLPIXS710BK,114,1763,284.23,Uncategorized,2000-07-11T06:22:47.206005500 +115,Sanus Euro Foundations Satellite Speaker Stand - EFSATB,115,982,10.12,Uncategorized,2022-03-04T01:04:36.206005500 +116,Tech Craft Avalon Series TV Stand - Black Finish - ABS32,116,1294,299.96,Uncategorized,2011-11-20T20:08:51.206005500 +117,Weber Performer 22-1/2' Charcoal Grill - 848001,117,132,301.14,Uncategorized,2017-03-18T16:35:32.206005500 +118,Haier 13' Silver Tube TV - HTR13,118,2480,182.38,Uncategorized,2019-07-13T19:38:46.206005500 +119,Linksys Wireless N Access Point - WAP4400N,119,2463,266.33,Uncategorized,2014-11-13T08:17:25.206005500 +120,Sony DVP-FX820 Red 8' Portable DVD Player - DVPFX820R,120,1959,66.02,Uncategorized,2010-07-21T12:20:18.206005500 +121,Sony White Speaker Dock And Clock Radio For iPod And iPhone - ICFC1IPMK2WHT,121,853,204.48,Uncategorized,2013-01-20T15:02:27.206005500 +122,Frigidaire Electric Dryer - FEQ1442WH,122,898,314.18,Uncategorized,2002-05-01T08:50:09.206005500 +123,Escort Passport 9500I Radar And Laser Detector - 9500I,123,659,2.29,Uncategorized,2002-09-23T03:22:35.206005500 +124,Denon Black Home Theater Surround Sound Receiver - AVR1709,124,793,223.61,Uncategorized,2014-07-08T02:06:08.206005500 +125,LaCie 2TB Ethernet Big Disk External Hard Drive - 301239U,125,1139,276.63,Uncategorized,2010-12-20T19:15:08.206005500 +126,Speck SeeThru Black Hard Shell Case For 13' MacBook - MB13BLKSEEV2,126,71,9.05,Uncategorized,2011-10-19T01:44:09.206005500 +127,Panasonic VIERA 32' Class Widescreen LCD HDTV In Black - TC32LZ800,127,331,319.23,Uncategorized,2014-06-03T14:57:16.206005500 +128,Sanus 15' To 40' Flat Panel Black TV Wall Mount - ML22B1,128,1279,123.93,Uncategorized,2000-07-04T07:29:55.206005500 +129,Canon Deluxe Soft Black Camera Case - 0716B001,129,838,100.04,Uncategorized,2007-08-18T10:48:28.206005500 +130,Sony Home Entertainment Server In Black - HESV1000,130,2086,91.52,Uncategorized,2019-09-14T12:06:16.206005500 +131,Olympus Evolt-420 10 Megapixel Digital SLR Camera With 14-42mm Lens In Black - EVOLTE420KIT,131,1250,146.4,Uncategorized,2010-04-26T19:21:09.206005500 +132,LG WM3431W All-In-One White Washer And Dryer Combo - WM3431WH,132,566,38.05,Uncategorized,2018-05-23T07:29:24.206005500 +133,Logitech Harmony RF Wireless Extender - RFEXT,133,1894,160.74,Uncategorized,2008-01-13T21:49:21.206005500 +134,Bose Lifestyle 48 Series IV 43479 Home Entertainment System - LS48IVWH,134,469,273.58,Uncategorized,2018-01-14T22:42:54.206005500 +135,Samsung 19' Black Flat Panel Series 6 LCD HDTV - LN19A650,135,911,235.52,Uncategorized,2019-12-25T04:34:44.206005500 +136,Maytag MED5900TW White Electric Dryer - MED5900TWH,136,756,44.6,Uncategorized,2014-01-11T10:47:37.206005500 +137,Sony VAIO CS Series White Notebook Computer - VGNCS180JW,137,606,301.95,Uncategorized,2017-07-09T10:21:52.206005500 +138,LG DLEX8377WM White XL Capacity Electric SteamDryer - DLEX8377WH,138,940,134.28,Uncategorized,2001-07-01T00:35:48.206005500 +139,Toshiba Black 1080p Upconversion DVD Recorder/VCR Combinaton - DVR610,139,1760,264.34,Uncategorized,2006-03-27T22:05:46.206005500 +140,Kenwood KCA-IP300V iPod Video Direct Cable - KCAIP300V,140,1201,113.67,Uncategorized,2005-08-21T04:14:27.206005500 +141,Samsung 52' Series 8 LCD Black Flat Panel HDTV - LN52A860,141,784,262.22,Uncategorized,2006-01-18T20:03:42.206005500 +142,Bose SL2 Wireless Black Surround Link - SL2WIRELESS,142,2277,92.2,Uncategorized,2015-11-16T02:45:04.206005500 +143,Sony Silver Digital Voice Recorder - ICDB600,143,2178,159.69,Uncategorized,2005-11-18T12:48:31.206005500 +144,Sirius STILETTO 2 Portable Satellite Radio - SL2PK1,144,284,168.28,Uncategorized,2022-03-23T17:32:43.206005500 +145,Sony VAIO AW Series Titanium Grey Notebook Computer - VGNAW110JH,145,1409,55.45,Uncategorized,2009-10-26T21:43:13.206005500 +146,Denon X-Space Surround Bar Home Theatre System In Black - DHTFS3,146,1351,251.28,Uncategorized,2018-11-16T08:14:29.206005500 +147,Canon Color Image Silver Scanner - 8800F,147,2466,202.67,Uncategorized,2003-06-05T08:32:30.206005500 +148,Flip Video F460 Black Mino HD Camcorder - F460B,148,943,51.77,Uncategorized,2008-07-01T12:01:30.206005500 +149,LG 52' Black LCD Flat Panel HDTV - 52LG70,149,2238,80.23,Uncategorized,2002-12-01T23:42:50.206005500 +150,Panasonic Rechargeable Lithium-Ion 1320 mAh Battery Pack - VWVBG130,150,1059,79.26,Uncategorized,2011-03-21T11:38:13.206005500 +151,Panasonic DECT 6.0 2-Line Digital Expandable Corded/Cordless Phone System - KXTG9391T,151,784,212.86,Uncategorized,2005-07-18T00:14:21.206005500 +152,LG 32' Black LCD Flat Panel HDTV With Built In DVD Player - 32LG40,152,1004,148.67,Uncategorized,2002-07-19T17:10:54.206005500 +153,LG LFX25971SB 24.7 Cu. Ft. Smooth Black French Door Bottom Freezer Refrigerator - LFX25971BK,153,959,26.61,Uncategorized,2004-09-18T22:49:55.206005500 +154,Motorola Portable Bluetooth Car Kit Speaker Phone - T305,154,2076,75.86,Uncategorized,2006-10-18T10:08:48.206005500 +155,Apple 8GB Purple 4th Generation iPod Nano - MB739LLA,155,2434,238.4,Uncategorized,2004-08-20T07:17:52.206005500 +156,Nikon 55-200MM Zoom-Nikkor Lens Accessory - 2156,156,2329,293.52,Uncategorized,2007-09-06T08:12:07.206005500 +157,Canon Deluxe Grey Leather Case - 2349B001,157,2036,72.08,Uncategorized,2021-06-24T01:55:21.206005500 +158,Logitech Black V450 Nano Cordless Laser Mouse For Notebooks - 910000619,158,1101,198.12,Uncategorized,2012-08-07T18:13:11.206005500 +159,BlueAnt Black Bluetooth Headset - Z9I,159,2355,99.9,Uncategorized,2006-12-15T18:31:24.206005500 +160,Canon Easy Photo Pack - 1335B001,160,988,8.99,Uncategorized,2008-12-04T04:13:52.206005500 +161,Canon 9517A002 EF-S 17mm - 85mm f/4.0-5.6 USM IS Zoom Lens - 9517A002,161,1561,158.34,Uncategorized,2000-10-05T01:40:25.206005500 +162,Logitech Harmony 1000 Silver Touch Screen Remote Control - H1000,162,893,132.1,Uncategorized,2002-03-07T11:37:13.206005500 +163,Flip Video F360 Black Mino Series Camcorder - F360B,163,1621,214.97,Uncategorized,2003-05-27T06:18:59.206005500 +164,LG 30' White Freestanding Gas Range - LRG30357WH,164,1490,1.59,Uncategorized,2022-01-01T12:08:07.206005500 +165,Sanus 15' - 40' VisionMount Flat Panel TV Black Wall Mount - MT25B1,165,1478,185.03,Uncategorized,2006-04-22T02:42:11.206005500 +166,Whirlpool White Front Load Washer - WFW9200SWH,166,1262,110.56,Uncategorized,2010-12-25T12:12:12.206005500 +167,Panasonic Laser Toner Cartridge - KXFA83,167,2455,68.13,Uncategorized,2010-05-17T23:44:19.206005500 +168,Sirius Sportster 5 Dock And Play Radio With Car Kit - SP5TK1,168,2181,91.98,Uncategorized,2007-12-23T16:37:26.206005500 +169,Samsung 2.1 Channel Bluetooth Home Theater System - HTX710T,169,242,188.82,Uncategorized,2018-08-07T09:41:55.206005500 +170,Canon EOS Rebel XSi Silver Digital SLR Camera - XSIREB1855S,170,2417,156.78,Uncategorized,2012-08-03T01:30:27.206005500 +171,Samsung Hi Definition Conversion DVD Player - DVD1080P8,171,1582,29.95,Uncategorized,2010-05-25T19:24:25.206005500 +172,Sony VAIO JS Series Black All-In-One Desktop Computer - VGCJS130JB,172,1109,61.72,Uncategorized,2019-02-09T16:15:31.206005500 +173,Bose Acoustimass 5 Series III Speaker System - AM53BK,173,1423,67.48,Uncategorized,2016-07-12T06:17:57.206005500 +174,Bose Acoustimass 5 Series III Speaker System - AM53BK,174,2417,58.74,Uncategorized,2013-02-17T10:33:31.206005500 +175,Olympus Silver 8 Megapixel Digital Camera - FE370S,175,1950,268.57,Uncategorized,2009-01-21T07:07:26.206005500 +176,DLO Black HybridShell For iPhone 3G - DLA4010717,176,1956,231.83,Uncategorized,2022-01-06T17:05:53.206005500 +177,Weber Premium Black Grill Cover - 7550,177,79,210.78,Uncategorized,2019-05-22T03:45:50.206005500 +178,Canon DVD Camcorder - DC320,178,990,247.5,Uncategorized,2008-10-15T14:02:07.206005500 +179,OmniMount 37' - 63' Ultra Low Profile Series Large Flat Panel TV Black Mount - ULPTLBK,179,1397,163.67,Uncategorized,2002-11-05T01:31:27.206005500 +180,LG LMX25981ST 24.7 Cu. Ft. Capacity Stainless Steel French Door Refrigerator - LMX25981SS,180,1480,63.21,Uncategorized,2006-08-08T16:46:16.206005500 +181,Belkin F3H982-10 Pro Series High Integrity 10 Feet Monitor Cable - F3H98210,181,190,304.22,Uncategorized,2020-03-27T12:34:00.206005500 +182,Canon Printer Black Ink Cartridge - CLI221BLK,182,1778,313.48,Uncategorized,2014-02-22T18:35:37.206005500 +183,Whirlpool Duet Sport Front Loading White Washer - White Finish - WFW8300SWH,183,1253,158.21,Uncategorized,2000-02-21T23:47:04.206005500 +184,Case Logic Black In-Car DVD Player Case - PDVK10,184,1636,113.76,Uncategorized,2003-04-24T02:13:22.206005500 +185,Panasonic 2GB SD Memory Card - SDV02GU1A,185,1644,288.88,Uncategorized,2011-09-23T00:06:58.206005500 +186,Sony Gold Cyber-Shot Digital Camera - DSCW150N,186,2302,249.61,Uncategorized,2008-12-12T04:13:01.206005500 +187,Toshiba 40' Black Flat Panel LCD HDTV - 40RV525U,187,1474,282.74,Uncategorized,2009-06-21T15:59:50.206005500 +188,Canon PowerShot Black Digital Camera - SX110ISB,188,2466,71.72,Uncategorized,2022-10-07T12:01:27.206005500 +189,Canon Silver Flash Memory Camcorder - FS100S,189,1672,88.05,Uncategorized,2011-09-21T08:05:11.206005500 +190,Electrolux Harmony Series Canister Vacuum - EL6985B,190,1294,172.06,Uncategorized,2013-05-20T03:46:36.206005500 +191,Sony 400 Disc MegaStorage CD Changer - CDPCX455,191,1021,236.94,Uncategorized,2004-05-05T08:29:58.206005500 +192,Panasonic VIERA 46' Plasma Flat Panel 1080p HDTV In Black - TH46PZ85U,192,1516,166.26,Uncategorized,2004-01-06T08:37:38.206005500 +193,Pioneer Sirius Bus Interface - CDSB10,193,200,117.85,Uncategorized,2019-12-01T22:31:33.206005500 +194,Sony LCS-CSQ/B Black Soft Carrying Case - LCSCSQB,194,1086,3.18,Uncategorized,2015-12-05T11:04:26.206005500 +195,Panasonic 40GB Hard Drive Camcorder - SDRH40,195,1861,178.27,Uncategorized,2014-08-25T07:08:13.206005500 +196,Olympus Digital Camera Neoprene Soft Case - Black With Grey Finish - 202066,196,338,313.11,Uncategorized,2009-06-02T16:42:33.206005500 +197,Sony White Cybershot T Series Digital Camera Jacket Case With Stylus - LCJTHCW,197,543,175.37,Uncategorized,2000-05-12T17:27:01.206005500 +198,D-Link Broadband Cable Modem - DCM202,198,1585,109.87,Uncategorized,2020-10-10T21:22:47.206005500 +199,Sharp HEPA Air Purifier - FPP35CX,199,754,221.04,Uncategorized,2019-04-26T05:04:01.206005500 +200,LEGO Star Wars II: The Original Trilogy Video Game For The Sony PSP - 023272329396,200,607,36.56,Uncategorized,2008-10-27T00:48:51.206005500 +201,Sanus 15' - 40' Flat Panel TV Black Wall Mount - VM400B,201,969,32.51,Uncategorized,2007-08-14T00:31:33.206005500 +202,Panasonic VIERA 46' Plasma Flat Panel 1080p HDTV In Black - TH46PZ80U,202,664,122.59,Uncategorized,2019-01-17T05:54:40.206005500 +203,Tripp-Lite Black 25 Foot SVGA HD15M To HD15M Computer Monitor Cable - P502025,203,681,89.76,Uncategorized,2009-02-22T16:59:36.206005500 +204,BlueAnt Bluetooth Voice Control Headset - V1,204,333,79.05,Uncategorized,2021-08-17T13:02:20.206005500 +205,Sony Silver Cyber-Shot Digital Camera - DSCW170,205,798,312.02,Uncategorized,2020-01-22T04:58:53.206005500 +206,Pioneer KURO 60' Black Plasma HDTV - PDP6020FD,206,1047,204.74,Uncategorized,2002-06-25T07:32:00.206005500 +207,Canon Silver 10 Megapixel PowerShot Digital Camera - SD790IS,207,456,206.66,Uncategorized,2001-09-08T08:55:16.206005500 +208,Motorola MotoRokr Portable Bluetooth Car Kit Speaker Phone - T505,208,1010,220.12,Uncategorized,2012-08-25T11:22:21.206005500 +209,Sony Lightweight Tripod - Black Finish - VCTR100,209,2013,92.48,Uncategorized,2005-09-12T18:10:30.206005500 +210,Yamaha Black Digital Sound Projector - YSP3050BK,210,260,31.69,Uncategorized,2022-12-15T19:19:05.206005500 +211,Apple 1TB Time Capsule Wireless Hard Drive - MB277LLA,211,1162,86.81,Uncategorized,2018-06-04T13:27:22.206005500 +212,Nikon Graphite Black 14.5 Megapixel COOLPIX Digital Camera - COOLPIXS710BK,212,84,114.2,Uncategorized,2013-07-14T07:29:12.206005500 +213,Sanus 15' - 40' VisionMount Flat Panel TV Black Wall Mount - MT25B1,213,2270,304.7,Uncategorized,2009-12-02T07:26:36.206005500 +214,Denon Multi-Channel Digital Surround Sound Speaker System - DHTFS5,214,1541,76.79,Uncategorized,2001-09-06T15:05:01.206005500 +215,Canon Silver PowerShot Digital Camera - SD880IS,215,184,235.89,Uncategorized,2012-11-21T14:02:35.206005500 +216,Denon Multi-Channel Digital Surround Sound Speaker System - DHTFS5,216,2197,290.33,Uncategorized,2018-12-16T09:30:02.206005500 +217,Speck SeeThru Pink Hard Shell Case For MacBook Air - MBAPNKSEE,217,1002,191.05,Uncategorized,2008-04-24T14:31:17.206005500 +218,Samsung 2.1 Channel Bluetooth Home Theater System - HTX710T,218,1046,135.97,Uncategorized,2004-07-22T04:43:28.206005500 +219,Panasonic Rechargeable Lithium-Ion 1320 mAh Battery Pack - VWVBG130,219,1302,147.23,Uncategorized,2012-09-12T11:37:52.206005500 +220,Belkin Cush Top For Computer Laptop - F8N044ORG,220,364,293.01,Uncategorized,2007-06-02T21:45:10.206005500 +221,Danby Twin Tub Washer - DTT420WH,221,1742,150.22,Uncategorized,2003-04-12T15:33:38.206005500 +222,Sony 7.1 Channel Black AV Receiver - STRDG920,222,2383,16.08,Uncategorized,2004-07-11T05:18:24.206005500 +223,Canon Printer Ink Cartridge 4 Colors Pack - 2946B004,223,1340,231.54,Uncategorized,2017-04-05T14:04:01.206005500 +224,Pioneer KURO 60' Black Plasma HDTV - PDP6020FD,224,2234,282.23,Uncategorized,2009-07-01T19:45:25.206005500 +225,Canon Silver 8.0 Megapixel PowerShot Digital Camera - SD1100IS,225,751,204.89,Uncategorized,2014-04-02T09:49:30.206005500 +226,Sony Digital Photo Printer Paper 120 Pack - SVMF120P,226,1909,267.37,Uncategorized,2002-01-22T21:15:14.206005500 +227,Sony HD-Handycam 1.5 Meters (5 Feet) HDMI Mini Cable - VMC15MHD,227,1057,276.06,Uncategorized,2019-08-06T07:21:12.206005500 +228,Canon Digital EOS Rebel XS Starter Kit - 9320A010,228,280,122.79,Uncategorized,2021-04-03T05:58:17.206005500 +229,Canon Cyan Photo Ink Cartridge - Cyan - CLI8PC,229,2120,205.77,Uncategorized,2019-04-10T19:40:01.206005500 +230,Sharp Plasmacluster Air Purifier - KCC100U,230,933,21.36,Uncategorized,2003-08-22T16:54:19.206005500 +231,Panasonic NNSD767S Stainless Steel Countertop Microwave Oven - NNSD767SS,231,477,300.41,Uncategorized,2016-02-10T06:32:51.206005500 +232,Transcend 4GB Micro Secure Digital Memory Card - TS4GUSDHC6,232,788,314.9,Uncategorized,2019-02-03T23:01:43.206005500 +233,Frigidaire GLD4355RFB Gallery SpeedClean 24' Black Dishwasher - GLD4355BK,233,1677,184.79,Uncategorized,2016-08-15T06:23:59.206005500 +234,Onkyo 7.1-Channel Black Home Theater Receiver - TXSR506B,234,122,299.93,Uncategorized,2002-03-25T12:41:39.206005500 +235,Panasonic Black 8.5' Portable DVD Player - DVDLS83,235,1892,10.23,Uncategorized,2010-07-15T05:02:07.206005500 +236,Sony Silver Cyber-Shot Digital Camera - DSCS750,236,142,106.87,Uncategorized,2020-04-14T05:00:16.206005500 +237,Sony 32' BRAVIA M-Series Gloss Black LCD Flat Panel HDTV - KDL32M4000,237,663,89.35,Uncategorized,2008-07-06T06:40:09.206005500 +238,Plantronics Voyager 510 Bluetooth Headset - Silver Finish - 496915,238,1375,26.63,Uncategorized,2022-12-22T16:38:48.206005500 +239,Mitsubishi 736 Series 65' 1080p DLP Rear Projection Black HDTV - WD65736,239,746,94.67,Uncategorized,2018-12-14T06:43:07.206005500 +240,LG 25.0 Cu. Ft. Titanium French Door Bottom Freezer Refrigerator - LFC25770TT,240,2118,90.99,Uncategorized,2022-07-19T00:51:10.206005500 +241,Panasonic 2 Line 5.8 GHz FHSS GigaRange Expandable Digital Cordless Answering System - Black Finish - KXTG6700B,241,1959,259.67,Uncategorized,2015-10-03T10:59:55.206005500 +242,Sirius STILETTO 2 Portable Satellite Radio - SL2PK1,242,32,314.95,Uncategorized,2017-04-20T04:15:10.206005500 +243,Denon 5-Disc CD Auto Changer - Black Finish - DCM290,243,1273,257.91,Uncategorized,2012-06-21T18:49:00.206005500 +244,Audiovox 7' Acrylic Digital Photo Frame - DPF701,244,2079,35.85,Uncategorized,2003-02-03T02:23:10.206005500 +245,Canon Green Photo Ink Cartridge - CLI8G,245,723,242.71,Uncategorized,2015-07-18T17:38:27.206005500 +246,LG 2.0 Cu. Ft. Over-The-Range Black Microwave Oven - LMVM2085BK,246,2159,4.79,Uncategorized,2002-08-10T18:28:42.206005500 +247,Yamaha NS-AW190BL All-Weather Pair Speaker System - NSAW190BK,247,1136,180.08,Uncategorized,2010-03-01T11:28:18.206005500 +248,Omnimount Stellar Series Audio Tower - G303DARK,248,1358,239.41,Uncategorized,2007-06-11T12:53:24.206005500 +249,Canon Deluxe Black Digital Camera Case - 2595B002,249,62,253.85,Uncategorized,2017-01-13T15:22:29.206005500 +250,Toshiba 19' Black LCD HDTV With Built In DVD Player - 19LV505,250,1030,315.52,Uncategorized,2012-10-05T12:44:29.206005500 +251,Sony VAIO CS Series Red Notebook Computer - VGNCS110ER,251,1566,263.63,Uncategorized,2002-10-03T19:27:11.206005500 +252,Samsung 46' Series 5 LCD Black Flat Panel HDTV - LN46A550,252,1899,104.98,Uncategorized,2019-05-03T21:23:02.206005500 +253,LG DLG2526W White Super Capacity Gas Dryer - DLG2526WH,253,1564,258.34,Uncategorized,2006-07-05T23:12:11.206005500 +254,Sharp Over The Counter White Microwave Oven - R1211WH,254,478,276.16,Uncategorized,2022-03-10T23:28:38.206005500 +255,Samsung DLP TV Stand In Black - TR72BX,255,1636,168.57,Uncategorized,2008-07-03T14:40:30.206005500 +256,Sony 4GB Memory Stick PRO Duo Mark 2 Media Card - MSMT4G,256,1774,258.41,Uncategorized,2013-05-03T13:32:18.206005500 +257,Sony 10' Black LCD Digital Photo Frame - DPFD100,257,1750,0.65,Uncategorized,2016-09-24T01:23:30.206005500 +258,Canon PowerShot Silver 14.7 Megapixel Digital Camera - SD990IS,258,1132,145.89,Uncategorized,2014-07-03T16:47:55.206005500 +259,Canon Photo Ink Cartridge - CL52,259,2182,184.9,Uncategorized,2022-06-22T12:39:03.206005500 +260,Sony Lightweight Tripod - Black Finish - VCTR100,260,134,270.37,Uncategorized,2019-11-25T09:42:43.206005500 +261,Panasonic Black Expandable Digital Cordless Dect 6.0 Phone System - KXTG9348T,261,791,196.62,Uncategorized,2020-10-21T15:10:37.206005500 +262,Escort Passport 9500CI Radar Detector - 9500CI,262,1204,55.66,Uncategorized,2007-10-07T05:46:11.206005500 +263,Sony Black USB Stereo Turntable System - PSLX300USB,263,2102,168.4,Uncategorized,2005-10-14T18:58:21.206005500 +264,LG 24' LDF6920ST Fully Integrated Built In Stainless Steel Dishwasher - LDF6920SS,264,582,267.87,Uncategorized,2005-04-01T00:19:38.206005500 +265,Canon Easy Photo Pack - 1335B001,265,531,24.61,Uncategorized,2020-02-08T12:39:42.206005500 +266,Fellowes MicroShred Shredder - MS450CS,266,1261,270.98,Uncategorized,2009-06-24T07:13:36.206005500 +267,Sanus Center Channel Speaker Mount - Black Finish - VMCC1B,267,247,105.38,Uncategorized,2011-07-12T03:17:51.206005500 +268,Panasonic Expandable Digital Cordless DECT 6.0 Handset In Silver - KXTGA101S,268,753,137.58,Uncategorized,2000-12-14T06:01:34.206005500 +269,Alpine CD/MP3/WMA/AAC Receiver - CDA9887,269,394,305.48,Uncategorized,2018-01-21T21:17:03.206005500 +270,GE Futura Indoor TV Antenna - Silver Finish - TV24746,270,712,136.94,Uncategorized,2012-12-20T05:08:39.206005500 +271,LG DLE3733W White XL Capacity Electric Dryer - DLE3733WH,271,1150,309.31,Uncategorized,2002-12-03T09:56:59.206005500 +272,Denon Fully Automatic Analog Turntable - DP300F,272,1444,17.31,Uncategorized,2007-02-07T01:27:16.206005500 +273,Denon 7.1 Channel Home Theater MultiMedia A/V Receiver With Networking And WiFi - AVR4308CI,273,1705,298.66,Uncategorized,2018-09-09T12:12:47.206005500 +274,Samsung 40' Series 5 LCD Black Flat Panel HDTV - LN40A550,274,2470,139.3,Uncategorized,2014-03-26T03:43:44.206005500 +275,Denon X-Space Surround Bar Home Theatre System In Black - DHTFS3,275,1475,71.95,Uncategorized,2000-11-13T18:29:09.206005500 +276,Nikon Coolpix S210 Plum 8.1 Megapixels Digital Camera - COOLPIXS210P,276,41,38.18,Uncategorized,2003-12-27T09:43:06.206005500 +277,GE Futura Indoor TV Antenna - Silver Finish - TV24746,277,1841,125.7,Uncategorized,2002-04-22T10:11:49.206005500 +278,Panasonic KX-TG6702B 5.8 GHz FHSS GigaRange Expandable Black Cordless Phone System - KXTG6702B,278,84,210.85,Uncategorized,2022-03-03T03:41:48.206005500 +279,LG Stainless Steel Freestanding Electric Range - LRE30453SS,279,1778,308.62,Uncategorized,2020-02-12T16:45:28.206005500 +280,Sony DVD Recorder In Black - RDRGX360,280,890,64.78,Uncategorized,2004-02-17T12:05:18.206005500 +281,LG DLG0452W White XL Capacity Gas Dryer - DLG0452WH,281,1356,25.2,Uncategorized,2001-06-25T11:55:16.206005500 +282,iHome iPod & iPhone Clock Radio & Audio System - IP99BR,282,1002,27.37,Uncategorized,2018-11-04T04:51:40.206005500 +283,Speck SeeThru Blue Hard Shell Case For 15' MacBook - MB15BLUSEEV2,283,2146,172.82,Uncategorized,2008-11-20T08:17:18.206005500 +284,LG 52' Black LCD Flat Panel HDTV - 52LG70,284,2163,17.17,Uncategorized,2021-04-22T02:23:51.206005500 +285,Sony Black 1080p Upscaling DVD Player - DVPNS700HB,285,840,258.58,Uncategorized,2014-06-20T15:25:52.206005500 +286,Bracketron Black GPS Low-Pro Windshield Mount - SWM400BL,286,1863,320.72,Uncategorized,2019-09-07T17:02:28.206005500 +287,Panasonic 2-Line Integrated Telephone System - KXTS208W,287,778,61.25,Uncategorized,2009-10-07T22:09:36.206005500 +288,Terk Mini Tuner Cartridge For XM Ready Home Products - CNP2000,288,440,211.38,Uncategorized,2022-11-26T21:35:04.206005500 +289,Sony BD/DVD Home Theater System - BDVIS1000,289,201,79.61,Uncategorized,2020-07-08T15:24:16.206005500 +290,Polk Audio Sirius Satellite Radio Home Tuner - SRH1000,290,2008,139.93,Uncategorized,2009-05-20T05:38:43.206005500 +291,LG Laundry Remote Monitor - RLM20K,291,678,1.19,Uncategorized,2003-02-09T16:03:15.206005500 +292,Sharp Over The Counter Microwave Oven - R1214SS,292,430,8.41,Uncategorized,2000-12-09T05:39:40.206005500 +293,Tripp-Lite PV375 PowerVerter 375-Watt Ultra-Compact Inverter - PV375,293,94,242.41,Uncategorized,2007-05-17T14:24:04.206005500 +294,Klipsch Groove PM20 Computer Speakers - GROOVEPM20BK,294,634,228.85,Uncategorized,2019-03-05T13:44:29.206005500 +295,Speck SeeThru Purple Hard Shell Case For 15' MacBook - MB15PURSEEV2,295,1924,270.85,Uncategorized,2006-09-19T17:52:45.206005500 +296,Panasonic 2-Line Integrated Phone System - White Finish - KXTS3282W,296,408,106.77,Uncategorized,2007-09-22T18:31:21.206005500 +297,Pioneer Single Din CD Receiver - DEHP3000IB,297,235,251.9,Uncategorized,2003-11-01T02:21:04.206005500 +298,Panasonic KX-TG4500B Black 5.8 GHz Cordless Phone System - KXTG4500B,298,1377,242.54,Uncategorized,2022-01-22T13:28:06.206005500 +299,Whirlpool 10' WHP1000SQ Duet Washer And Dryer White Pedestal Without Drawer - WHP1000WH,299,2439,126,Uncategorized,2009-03-23T08:19:36.206005500 +300,Canon Silver Flash Memory Camcorder - FS100S,300,2133,214.78,Uncategorized,2019-12-04T18:00:27.206005500 +301,Tech Craft Avalon Series TV Stand - SWP48,301,1989,74.41,Uncategorized,2008-11-22T01:44:26.206005500 +302,Denon Black Blu-ray Disc DVD-CD Player - DVD1800BD,302,1010,298.33,Uncategorized,2021-10-27T22:44:45.206005500 +303,Lowepro Digital Camera Case In Black - REZO15BK,303,1343,172.6,Uncategorized,2012-01-24T02:47:53.206005500 +304,Griffin iPhone 3G Black Elan Form Hard-Shell Leather Case - 8223IP2EFRMB,304,2092,59.34,Uncategorized,2014-09-08T04:31:19.206005500 +305,Panasonic Black Hi-Definition Camcorder Starter Kit - VBGVBB1STRKIT,305,1239,133.7,Uncategorized,2019-12-16T16:31:01.206005500 +306,Sony 32' BRAVIA L-Series Black LCD Flat Panel HDTV - KDL32L4000,306,2459,154.41,Uncategorized,2019-10-11T23:00:13.206005500 +307,Sony Black LocationFree Base Station - LFV30,307,403,326.76,Uncategorized,2019-06-03T03:35:48.206005500 +308,Nikon D90 Black Digital SLR Camera - D90BODY,308,762,54.69,Uncategorized,2004-06-17T04:51:13.206005500 +309,Polk Audio CSI A6 Black Center Channel Loudspeaker - CSIA6BK,309,71,135.19,Uncategorized,2014-08-04T01:00:43.206005500 +310,Samsung 50' Widescreen Plasma HDTV - PN50A650,310,1410,286.07,Uncategorized,2006-05-18T11:14:07.206005500 +311,Polk Audio White Round Two-Way In-Wall Loudspeaker - TC60I,311,2024,212.29,Uncategorized,2006-11-14T20:52:30.206005500 +312,Nokia T-Mobile Unlocked Cellular Phone - N96,312,667,85.22,Uncategorized,2015-01-04T09:31:59.206005500 +313,Nintendo DS Lite Metallic Silver Portable Gaming System - NDSUSGSVB,313,1688,46.29,Uncategorized,2019-10-14T20:08:12.206005500 +314,Sanus 13' - 30' Flat Panel TV Black Wall Mount - VM1B,314,467,118.33,Uncategorized,2022-04-09T18:27:36.206005500 +315,Maytag Over-The-Range Microwave Oven - MMV5207BK,315,1815,163.2,Uncategorized,2012-08-27T00:02:42.206005500 +316,Weber Stainless Steel Genesis S320 LP Grill - 3780001,316,464,262.6,Uncategorized,2012-06-11T21:03:56.206005500 +317,Terk Mini Tuner Cartridge For XM Ready Home Products - CNP2000,317,1627,171.17,Uncategorized,2000-05-24T08:24:14.206005500 +318,Nikon Pink 10 Megapixel COOLPIX Digital Camera - COOLPIXS60PNK,318,2194,306.64,Uncategorized,2016-05-09T04:51:36.206005500 +319,Garmin 010-10823-01 Carrying Case - 0101082301,319,944,178.77,Uncategorized,2017-02-19T16:34:24.206005500 +320,Toshiba 52' Regza Black Flat Panel LCD HDTV - 52RV535U,320,564,145.04,Uncategorized,2020-09-05T13:50:23.206005500 +321,Sharp AQUOS Black Blu-ray Disc Player - BDHP50U,321,1575,43.46,Uncategorized,2014-02-20T19:32:11.206005500 +322,Pioneer Sirius Bus Interface - CDSB10,322,2124,64.61,Uncategorized,2017-10-07T10:29:11.206005500 +323,Toshiba 19' Black LCD HDTV With Built In DVD Player - 19LV505,323,1680,241.17,Uncategorized,2017-07-03T01:56:27.206005500 +324,Linksys Dual-Band Wireless-N Notebook Adapter - WPC600N,324,1454,279.09,Uncategorized,2012-06-02T01:36:23.206005500 +325,Pioneer KURO 50' Black Plasma HDTV - PDP5020FD,325,386,284.02,Uncategorized,2009-10-08T15:30:06.206005500 +326,Panasonic 40GB Hard Drive Camcorder - SDRH40,326,672,34.77,Uncategorized,2011-05-02T23:07:15.206005500 +327,Polk Audio CSI A4 Black Center Channel Loudspeaker - CSIA4BK,327,2312,326.57,Uncategorized,2002-06-17T12:00:30.206005500 +328,LG 5.6 Cu. Ft. White Freestanding Electric Range - LRE30453WH,328,1821,257.9,Uncategorized,2014-07-09T04:49:11.206005500 +329,Panasonic Expandable Digital Cordless DECT 6.0 Handset In Silver - KXTGA101S,329,889,266.1,Uncategorized,2019-04-08T23:29:39.206005500 +330,Kenwood KCA-IP200 Black iPod Direct Cable - KCAIP200,330,217,63,Uncategorized,2006-06-11T22:53:26.206005500 +331,Apple MacBook Air SuperDrive - MB397GA,331,2355,242.72,Uncategorized,2009-07-13T05:26:29.206005500 +332,Netgear RangeMax Wireless Access Point - White Finish - WPN802NA,332,429,105.59,Uncategorized,2000-10-09T22:33:45.206005500 +333,Toshiba XDE Black 1080p Upconversion Extended Detail DVD Player - XDE500,333,330,322.61,Uncategorized,2021-01-19T10:46:38.206005500 +334,Olympus Silver 8 Megapixel Digital Camera - FE370S,334,1898,78.87,Uncategorized,2006-10-04T20:55:06.206005500 +335,Samsung 40' Series 7 LCD Black Flat Panel HDTV - LN40A750,335,1010,245.57,Uncategorized,2017-11-05T15:18:13.206005500 +336,Sony Red Cyber-Shot Digital Camera - DSCW150R,336,1694,164.66,Uncategorized,2020-09-25T01:14:52.206005500 +337,Yamaha High Performance Subwoofer - Black Finish - YSTFSW100BK,337,2052,26.95,Uncategorized,2013-09-17T05:50:13.206005500 +338,Garmin Streetpilot C Series Vehicle Suction Mount - Black Finish - 0101060900,338,1711,323.89,Uncategorized,2016-02-05T16:00:22.206005500 +339,Bose In-Ear Black Headphones - BOSEIE,339,1121,273.93,Uncategorized,2013-11-13T23:47:54.206005500 +340,Pioneer 6.5' 2-Way Marine White Speakers - TSMR1640FM,340,2214,70.11,Uncategorized,2007-10-09T19:15:02.206005500 +341,Peerless 32' - 45' Articulating Flat Panel TV Black Wall Arm - SA745PU,341,1947,299.09,Uncategorized,2013-01-03T23:34:35.206005500 +342,Canon PowerShot Black 14.7 Megapixel Digital Camera - G10,342,2134,282.4,Uncategorized,2022-08-11T09:00:02.206005500 +343,Logitech Driving Force Pro Steering Wheel With Pedals Set For Sony Playstation 2 - 9632930403,343,901,65.58,Uncategorized,2017-11-01T14:11:55.206005500 +344,Panasonic 5.8 GHz Black Expandable Digital Cordless Phone System - KXTG4324B,344,624,179.22,Uncategorized,2006-10-26T11:54:00.206005500 +345,Canon FAX-JX200 Inkjet Fax Machine - FAXJX200,345,794,213.21,Uncategorized,2016-09-22T16:55:11.206005500 +346,Canon Cyan Ink Tank - Cyan - CLI8C,346,2453,93.75,Uncategorized,2003-09-25T16:06:34.206005500 +347,Pioneer 4'x6' 2-Way Component Plate Speaker - TSP462,347,1540,287.65,Uncategorized,2008-05-27T20:11:47.206005500 +348,Sirius Sportster 5 Dock And Play Radio With Car Kit - SP5TK1,348,58,142.48,Uncategorized,2001-11-24T14:41:33.206005500 +349,Belkin Cush Top For Computer Laptop - F8N044ORG,349,833,190.44,Uncategorized,2016-04-09T18:26:26.206005500 +350,Frigidaire GLD4355RFS Gallery SpeedClean 24' White Dishwasher - GLD4355WH,350,2302,196.23,Uncategorized,2020-10-06T15:58:59.206005500 +351,Samsung 42' Black Flat Panel Series 4 Plasma HDTV - PN42A450P,351,129,63.29,Uncategorized,2007-07-01T19:29:06.206005500 +352,Griffin Black iPhone 3G Wave Case - 8227IP2WVB,352,78,278.37,Uncategorized,2021-04-19T19:52:48.206005500 +353,Canon Pink 8.0 Megapixel PowerShot Digital Camera - SD1100ISP,353,1154,159.48,Uncategorized,2015-10-27T12:11:13.206005500 +354,Onkyo THX Ultra 2 Plus Certified 7.1 Channel Home Theater Black Receiver - TXSR806B,354,1782,32.02,Uncategorized,2015-01-14T09:25:23.206005500 +355,Samsung 67' Black Widescreen Series 7 LED DLP HDTV - HL67A750,355,1716,202.53,Uncategorized,2019-09-22T09:00:53.206005500 +356,Sanus 15' - 37' VisionMount Full-Motion Flat Panel TV Black Wall Mount - MF215B1,356,1901,109.68,Uncategorized,2005-02-08T12:41:32.206005500 +357,Canon EF 75-300mm F/4-5.6 III Telephoto Zoom Lens - 6473A003,357,2411,108.72,Uncategorized,2012-10-22T03:40:11.206005500 +358,Sony BRAVIA Home Theater System - DAVHDX275,358,2138,83.43,Uncategorized,2016-10-27T11:43:22.206005500 +359,Sanus WMS3S Silver Weather Resistant Small Speaker Wall Mount - WMS3S,359,380,310.34,Uncategorized,2022-06-18T01:14:58.206005500 +360,LG 37' Black LCD Flat Panel HDTV - 37LG50,360,907,51.91,Uncategorized,2022-09-15T07:24:04.206005500 +361,Sanus WMS3S Silver Weather Resistant Small Speaker Wall Mount - WMS3S,361,436,132.24,Uncategorized,2011-07-12T11:45:46.206005500 +362,Toshiba 42' Regza TheaterWide Black Flat Panel LCD HDTV - 42RV535U,362,1590,205.4,Uncategorized,2021-03-22T02:36:37.206005500 +363,Samsung 40' Series 7 LCD Black Flat Panel HDTV - LN40A750,363,543,63,Uncategorized,2010-06-03T19:16:35.206005500 +364,Sony White Cybershot T Series Digital Camera Jacket Case With Stylus - LCJTHCW,364,1007,283.68,Uncategorized,2016-12-24T05:53:03.206005500 +365,Sony White Cybershot T Series Digital Camera Jacket Case With Stylus - LCJTHCW,365,2119,184.57,Uncategorized,2019-12-27T06:46:43.206005500 +366,Sony Black 5.1 Channel Home Theater System - HTDDWG700,366,412,162.8,Uncategorized,2018-07-10T22:30:33.206005500 +367,Toshiba 22' LCD HDTV With Built In DVD Player In Black - 22LV505,367,914,34.54,Uncategorized,2018-05-16T09:21:06.206005500 +368,Garmin Suction Cup Mount And 12-Volt Adapter Kit - 0101097900,368,714,168.24,Uncategorized,2012-08-24T18:13:27.206005500 +369,Panasonic VIERA 42' Plasma Flat Panel 1080p HDTV In Black - TH42PZ85U,369,2141,250.79,Uncategorized,2013-06-07T12:20:47.206005500 +370,Belkin White Switch-To-Mac Cable - F4U001,370,193,252.93,Uncategorized,2011-02-19T07:13:19.206005500 +371,GE 24' GSD2400NWW White Built-In Dishwasher - GSD2400WH,371,1926,240.28,Uncategorized,2014-09-16T20:44:34.206005500 +372,Garmin Nuvi 360 010-10723-06 Black 12 Volt Adapter Cable - 0101072306,372,1854,120.36,Uncategorized,2014-11-17T05:04:38.206005500 +373,Whirlpool Cabrio Diamond Dust Top Loading Washer - WTW6700TU,373,1887,164.05,Uncategorized,2009-01-11T19:31:39.206005500 +374,Panasonic Plain Paper Fax/Copier With Cordless Phone Answering System - Grey Finish - KXFG2451,374,667,57.17,Uncategorized,2017-06-02T05:52:27.206005500 +375,LG 52' Black LCD Flat Panel HDTV - 52LG70,375,2445,298.97,Uncategorized,2005-05-22T00:28:08.206005500 +376,LG LRBP1031 White Bottom-Freezer Refrigerator - LRBP1031WH,376,1297,112.62,Uncategorized,2002-05-01T01:39:04.206005500 +377,Yamaha Black Digital Sound Projector - YSP4000BK,377,985,104.59,Uncategorized,2016-11-26T23:52:51.206005500 +378,Sanus SC1A Black VisionMount Series Ceiling Mount For Small LCD Flat Panels - SC1AB,378,1815,83.63,Uncategorized,2005-08-18T21:23:58.206005500 +379,LG Stainless Steel Freestanding Electric Range - LRE30453SS,379,2253,35.86,Uncategorized,2012-05-15T21:04:08.206005500 +380,Sanus Euro Foundations Satellite Speaker Stand - EFSATS,380,649,319.93,Uncategorized,2009-04-22T05:57:54.206005500 +381,LG DLE2516W White Super Capacity Electric Dryer - DLE2516WH,381,485,29.43,Uncategorized,2018-04-25T20:18:10.206005500 +382,Sony Black DVD Recorder And VHS Combo Player - RDRVXD655,382,2391,84.93,Uncategorized,2002-02-05T02:13:09.206005500 +383,Canon XH A1S Black High Definition HDV Camcorder - XHA1S,383,1866,168.33,Uncategorized,2012-04-23T07:28:09.206005500 +384,Sony LCS-CSJ Black Soft Carrying Case - LCSCSJ,384,2246,62.31,Uncategorized,2019-03-21T08:01:18.206005500 +385,Omnimount 42' - 63' Wishbone Cantilever Extra Large Flat Panel TV Silver Wall Mount - UCLXB,385,2148,49.82,Uncategorized,2022-03-12T18:46:49.206005500 +386,Samsung 50' Black Flat Panel Series 4 Plasma HDTV - PN50A450,386,346,123.51,Uncategorized,2000-03-15T09:16:31.206005500 +387,Transcend 133X High-Speed 4GB Compact Flash Card - TS4GCF133,387,2011,258.13,Uncategorized,2000-09-08T23:01:25.206005500 +388,Sony Super Audio CD Player - SCDCE595,388,2450,217.05,Uncategorized,2019-10-21T08:44:36.206005500 +389,Flip Video F360 White Mino Series Camcorder - F360W,389,1228,5.55,Uncategorized,2005-07-02T10:39:51.206005500 +390,Sirius ST4-TK1 Starmate 4 Radio With Car Kit - ST4TK1,390,759,134.9,Uncategorized,2001-07-15T17:56:10.206005500 +391,Tech Craft Avalon Series TV Stand - SWP48,391,123,125.29,Uncategorized,2013-01-26T09:56:50.206005500 +392,Sony Silver 1080p Upscaling DVD Player - DVPNS700HS,392,153,17.51,Uncategorized,2014-12-04T03:13:12.206005500 +393,Nikon 55-200MM Zoom-Nikkor Lens Accessory - 2156,393,1717,253.28,Uncategorized,2016-02-13T08:39:24.206005500 +394,Panasonic VIERA 50' Plasma Flat Panel HDTV In Black - TH50PX80U,394,327,129.02,Uncategorized,2009-01-07T02:08:17.206005500 +395,Samsung 37' Series 4 LCD Black Flat Panel HDTV - LN37A450,395,1980,269.47,Uncategorized,2014-09-16T00:22:46.206005500 +396,Nikon AF Speedlight Accessory - SB600,396,678,290.91,Uncategorized,2022-10-12T14:44:54.206005500 +397,OmniMount CMK White Wall Cable Management Kit - CMKMINI,397,2210,279.56,Uncategorized,2019-10-20T08:20:57.206005500 +398,Canon Vixia High Definition Camcorder - HF10,398,191,56.77,Uncategorized,2012-06-03T12:15:03.206005500 +399,Canon PowerShot A1000 IS Gray Digital Camera - A1000ISG,399,131,284.87,Uncategorized,2013-07-09T00:34:49.206005500 +400,Coby Black 15' Widescreen Flat Panel LCD HDTV - TFTV1514,400,216,120.08,Uncategorized,2007-05-17T21:47:54.206005500 +401,Sony Digital SLR Camera With Lens Kit - DSLRA200W,401,738,104.85,Uncategorized,2010-01-22T20:22:23.206005500 +402,LG LFX25971ST 24.7 Cu. Ft. Stainless Steel French Door Bottom Freezer Refrigerator - LFX25971SS,402,1130,171.37,Uncategorized,2019-05-05T19:37:28.206005500 +403,Sony 4GB Memory Stick PRO Duo Mark 2 Media Card - MSMT4G,403,1969,317.08,Uncategorized,2019-01-18T20:39:01.206005500 +404,Sony BRAVIA Theater Black Micro System - DAVIS50B,404,1084,292.56,Uncategorized,2004-09-19T12:10:00.206005500 +405,Waring Professional Cool-Touch Deep Fryer - Black/Stainless Steel Finish - DF100,405,1664,106.15,Uncategorized,2022-06-21T06:13:33.206005500 +406,Denon Semi-Automatic Turntable - Black Finish - DP29F,406,2287,256.24,Uncategorized,2020-04-14T16:44:24.206005500 +407,Sony Silver Cyber-Shot 7.2 Megapixel Digital Camera - DSCW120,407,1505,288.22,Uncategorized,2007-02-04T17:44:40.206005500 +408,Toshiba 19' Black LCD HDTV With Built In DVD Player - 19LV505,408,1054,193.97,Uncategorized,2000-11-08T21:46:11.206005500 +409,Denon 5 Disc CD Player - Black Finish - DCM390,409,6,292.36,Uncategorized,2007-12-22T02:25:27.206005500 +410,Apple iWork 09 Software Family Pack For Mac - MB943ZA,410,593,187.25,Uncategorized,2003-12-16T02:02:28.206005500 +411,Weber Q 300 Liquid Propane Outdoor Grill - 426001,411,743,300.37,Uncategorized,2009-12-05T01:05:26.206005500 +412,KitchenAid 5-Speed Blender - Red Finish - KSB560ER,412,1425,198.54,Uncategorized,2002-12-17T17:12:59.206005500 +413,Sharp AQUOS 37' Black LCD HDTV - LC37D64U,413,1037,230.61,Uncategorized,2008-07-12T15:52:56.206005500 +414,Sony Alpha DSLR Black Camera Body With 18-70mm Zoom Lens - DSLRA300K,414,342,201.3,Uncategorized,2005-11-05T22:43:26.206005500 +415,Polk Audio CSI A4 Cherry Center Channel Loudspeaker - CSIA4CH,415,237,220.37,Uncategorized,2011-02-06T11:44:37.206005500 +416,Sanus 15' - 37' VisionMount Full-Motion Flat Panel TV Black Wall Mount - MF215B1,416,1201,145.9,Uncategorized,2004-06-01T12:46:09.206005500 +417,LG LFX25971SB 24.7 Cu. Ft. Smooth Black French Door Bottom Freezer Refrigerator - LFX25971BK,417,2042,2.25,Uncategorized,2011-05-15T14:24:07.206005500 +418,LG DLEX8377WM White XL Capacity Electric SteamDryer - DLEX8377WH,418,437,62.04,Uncategorized,2005-12-13T19:20:10.206005500 +419,Panasonic KX-TGA820B Black DECT 6.0 Cordless Handset - KXTGA820B,419,984,217.66,Uncategorized,2018-07-19T18:28:36.206005500 +420,Nintendo DS Lite Crimson/Black Portable Gaming System - NDSUSGSRMKB,420,767,58.57,Uncategorized,2000-04-12T19:51:50.206005500 +421,Panasonic Silver 8.1 Megapixel Digital Camera - DMCFS3S,421,859,109.96,Uncategorized,2016-07-26T03:14:46.206005500 +422,Audiovox 7' Acrylic Digital Photo Frame - DPF701,422,1903,82.39,Uncategorized,2022-04-19T10:30:26.206005500 +423,Nikon Black 13.5 Megapixel COOLPIX Digital Camera - COOLPIXP6000BK,423,277,258.22,Uncategorized,2002-10-18T12:44:37.206005500 +424,Nikon D700 Digital SLR Digital Camera - D700BODY,424,1039,243.12,Uncategorized,2001-02-20T08:43:16.206005500 +425,Delonghi Oil Filters - FK8,425,148,59.39,Uncategorized,2005-03-11T19:38:59.206005500 +426,LG LFX25971ST 24.7 Cu. Ft. Stainless Steel French Door Bottom Freezer Refrigerator - LFX25971SS,426,2285,245.47,Uncategorized,2008-04-11T13:51:22.206005500 +427,D-Link Broadband Cable Modem - DCM202,427,1337,326.21,Uncategorized,2019-07-13T22:56:29.206005500 +428,LG 24' LDF6920ST Fully Integrated Built In Stainless Steel Dishwasher - LDF6920SS,428,1005,47.98,Uncategorized,2016-06-24T08:25:36.206005500 +429,Denon Progressive Scan Universal DVD Player - DVD2930CI,429,580,90.23,Uncategorized,2002-08-21T14:20:36.206005500 +430,LG Laundry Remote Monitor - RLM20K,430,320,55.89,Uncategorized,2016-08-08T15:03:44.206005500 +431,Toshiba Black DVD Recorder With 1080p Upconversion - DR410,431,513,31.84,Uncategorized,2001-06-17T05:19:54.206005500 +432,Sony Black Cyber-Shot W Series Digital Camera Carrying Case - LCSCSL,432,1596,285.22,Uncategorized,2000-05-15T20:25:31.206005500 +433,Pioneer USB iPod Interface Cable - CDIU230V,433,811,209.67,Uncategorized,2013-12-09T06:59:21.206005500 +434,Panasonic VIERA 46' Black Plasma Flat Panel 1080p HDTV - TH46PZ850U,434,1805,278.34,Uncategorized,2002-02-17T04:54:36.206005500 +435,Panasonic 2-Line Integrated Telephone System - KXTS208W,435,634,32.41,Uncategorized,2018-07-20T06:52:06.206005500 +436,Samsung 19' Black Flat Panel Series 4 LCD HDTV - LN19A450,436,525,69.66,Uncategorized,2010-09-03T06:56:56.206005500 +437,Escort Passport 9500IX Radar Detector - 9500IX,437,1206,20.18,Uncategorized,2013-10-20T15:31:19.206005500 +438,Uniden Dect 6.0 Accessory Handset And Charging Cradle - DCX200,438,218,20.16,Uncategorized,2011-09-01T17:17:02.206005500 +439,Onkyo THX Select2 Plus Certified 7.1 Channel Home Theater Black Receiver - TXSR706B,439,1776,320.46,Uncategorized,2014-06-26T09:03:12.206005500 +440,Toshiba 40' Black Flat Panel LCD HDTV - 40RV525U,440,827,291.53,Uncategorized,2001-06-03T13:46:05.206005500 +441,Panasonic Genius Countertop Microwave In White - NNH965WH,441,1837,47.95,Uncategorized,2018-08-25T08:56:30.206005500 +442,Sony Learning Remote Control - Silver Finish - RMVL600,442,693,145.5,Uncategorized,2018-08-02T22:35:16.206005500 +443,Garmin Vehicle Adjustable Suction Cup Mount - 0101082303,443,1261,99.84,Uncategorized,2012-03-03T02:06:16.206005500 +444,Sony VAIO LV Series Silver All-In-One Desktop Computer - VGCLV140J,444,791,216.17,Uncategorized,2018-11-05T04:05:21.206005500 +445,Sony Splash Resistant Shower Radio - ICFS79W,445,1451,199.82,Uncategorized,2009-10-12T02:33:15.206005500 +446,Canon EOS Rebel XSi Silver Digital SLR Camera - XSIREB1855S,446,639,251.67,Uncategorized,2009-02-09T09:36:53.206005500 +447,Garmin Nuvi 360 010-10815-00 Black Replacement Vehicle Suction Cup Mount - 0101081500,447,133,201.89,Uncategorized,2014-12-21T01:33:59.206005500 +448,Sony 52' BRAVIA W-Series Black LCD Flat Panel HDTV - KDL52W4100,448,601,82.52,Uncategorized,2011-02-19T22:43:13.206005500 +449,Coby 10.2' Black LCD Flat Panel HDTV - TFTV1022,449,2055,314.76,Uncategorized,2019-04-23T08:06:31.206005500 +450,Weber Performer 22-1/2' Charcoal Grill - 848001,450,699,195.22,Uncategorized,2013-12-03T22:24:22.206005500 +451,Canon Printer Yellow Ink Cartridge - CLI221YEL,451,947,310.65,Uncategorized,2008-02-07T04:57:02.206005500 +452,Samsung 50' Black Flat Panel Series 5 Plasma HDTV - PN50A550,452,695,125.84,Uncategorized,2012-04-17T06:06:42.206005500 +453,Logitech 2.1 Multimedia Silver Speaker System - Z2300,453,1334,76.11,Uncategorized,2000-08-04T07:54:48.206005500 +454,Apple MacBook Pro 2.53GHz Intel Core 2 Duo Silver Notebook Computer - MB471LLA,454,580,279.88,Uncategorized,2009-09-08T21:09:12.206005500 +455,Canon PIXMA iP2600 Photo Printer - IP2600,455,659,141.22,Uncategorized,2018-06-11T03:40:00.206005500 +456,GE GSD4000NWW White Built-In Dishwasher - GSD4000WH,456,1985,49.12,Uncategorized,2006-02-19T05:59:47.206005500 +457,Canon Easy Photo Pack - 1335B001,457,1845,301.69,Uncategorized,2011-08-22T23:39:26.206005500 +458,Canon PowerShot Black 14.7 Megapixel Digital Camera - G10,458,1576,280.26,Uncategorized,2022-08-09T04:28:06.206005500 +459,Sony Telephoto Converter Lens - VCLDH1774,459,482,117.14,Uncategorized,2001-01-01T03:33:44.206005500 +460,Altec Lansing inMotion MAX iPod/iPhone Portable Audio System - IMT702,460,1698,182.17,Uncategorized,2016-10-22T21:57:19.206005500 +461,Canon Black EOS 50D Digital SLR Camera With 28-135MM Lens - 50D28135,461,2056,256.33,Uncategorized,2022-07-20T08:59:08.206005500 +462,Sharp Aquos 37' LCD HDTV In Black - LC37D44U,462,1755,260.72,Uncategorized,2022-02-26T14:31:20.206005500 +463,Sony Turntable - PSLX350H,463,261,205.14,Uncategorized,2014-02-06T22:01:27.206005500 +464,Sony Mylo Black Personal Communicator - COM2BLACK,464,2119,160.7,Uncategorized,2009-02-04T05:50:53.206005500 +465,Linksys EtherFast 8-Port 10/100 Switch - EZXS88W,465,1564,213.02,Uncategorized,2019-01-23T10:07:25.206005500 +466,Samsung 32' Series 6 LCD Black Flat Panel HDTV - LN32A650,466,2223,86.86,Uncategorized,2021-10-20T11:07:40.206005500 +467,Maytag JETCLEAN II Black Undercounter Dishwasher - MDB7851BK,467,1465,317.23,Uncategorized,2005-10-07T02:15:26.206005500 +468,Panasonic Expandable Digital Cordless DECT 6.0 Handset In Silver - KXTGA101S,468,13,296.56,Uncategorized,2006-02-08T12:06:02.206005500 +469,Yamaha 5.1 Channel Home Theater In A Box System In Black - YHT390BK,469,24,302.7,Uncategorized,2000-07-03T07:30:55.206005500 +470,Sony 52' BRAVIA XBR Series Black LCD Flat Panel HDTV - KDL52XBR6,470,1521,261.01,Uncategorized,2012-07-02T08:04:05.206005500 +471,Nikon Graphite Black 14.5 Megapixel COOLPIX Digital Camera - COOLPIXS710BK,471,1963,283.43,Uncategorized,2019-12-16T00:12:32.206005500 +472,Toshiba Black 1080p Upconversion DVD Player - SD6100,472,184,160.88,Uncategorized,2004-09-22T10:39:23.206005500 +473,Nikon D60 Digital Camera With 18-55MM Lens - D60OUTFIT,473,2498,291.46,Uncategorized,2019-12-27T03:20:30.206005500 +474,Speck Green 13' MacBook See Thru Hard Shell Case - MB13GRNSEEV2,474,1736,323.89,Uncategorized,2018-01-05T01:06:41.206005500 +475,Weber Spirit SP-320 Stainless Steel Liquid Propane Gas Outdoor Grill - 3730001,475,523,183.45,Uncategorized,2003-06-27T23:55:43.206005500 +476,Canon Black BP-808 Camcorder Battery Pack - 2740B002,476,1097,206.48,Uncategorized,2015-05-09T20:22:36.206005500 +477,Sony EX Ear Bud Headphones In Black - MDREX32LPBLK,477,2420,172.36,Uncategorized,2020-06-01T22:56:46.206005500 +478,Hoover Bagged Tempo Widepath Upright Vacuum - U5140,478,977,75.47,Uncategorized,2000-07-10T06:04:39.206005500 +479,Olympus Premium Slim Leather Case In Black - 202087,479,2258,23.7,Uncategorized,2001-11-01T16:38:51.206005500 +480,Panasonic VIERA 46' Black Plasma Flat Panel 1080p HDTV - TH46PZ850U,480,511,295.91,Uncategorized,2015-02-02T16:19:15.206005500 +481,Panasonic VIERA 50' Plasma Flat Panel 1080p HDTV In Black - TH50PZ85U,481,1877,312.56,Uncategorized,2009-04-11T15:35:22.206005500 +482,Pioneer Single Din CD Receiver - DEHP3000IB,482,1067,184.56,Uncategorized,2018-02-02T02:04:05.206005500 +483,Transcend 4GB Micro Secure Digital Memory Card - TS4GUSDHC6,483,1409,203.4,Uncategorized,2003-07-14T12:12:38.206005500 +484,Panasonic Rechargeable Lithium-Ion 1320 mAh Battery Pack - VWVBG130,484,26,306.3,Uncategorized,2016-08-02T09:38:57.206005500 +485,Sony Black Cyber-Shot Digital Camera - DSCW150B,485,1646,59.91,Uncategorized,2014-12-09T05:02:33.206005500 +486,Toshiba 19' Black LCD HDTV - 19AV500U,486,1971,231.47,Uncategorized,2005-05-02T11:49:46.206005500 +487,Escort Passport Radar And Laser Detector - Black Finish - 8500,487,2164,117.71,Uncategorized,2021-12-02T04:54:46.206005500 +488,Logitech diNovo Edge Keyboard Mac Edition - 920000924,488,671,281.68,Uncategorized,2004-08-17T04:36:18.206005500 +489,Griffin iPod DirectDeck Universal Cassette Adapter - 7256DDECK,489,1928,103.13,Uncategorized,2002-08-27T09:01:13.206005500 +490,Samsung 50' Widescreen Plasma HDTV - PN50A650,490,1103,255.87,Uncategorized,2022-12-25T14:15:55.206005500 +491,Toshiba 22' LCD HDTV With Built In DVD Player In Black - 22LV505,491,2407,273.7,Uncategorized,2008-02-06T17:43:52.206005500 +492,Speck SeeThru Green Hard Shell Case For 15' MacBook - MB15GRNSEEV2,492,520,61.26,Uncategorized,2019-02-01T03:24:07.206005500 +493,Nikon D60 Digital Camera With 18-55MM Lens - D60OUTFIT,493,1588,280.99,Uncategorized,2005-05-19T08:52:53.206005500 +494,Sony Active Style Headphones In Black - MDRAS50G,494,91,249.59,Uncategorized,2017-03-07T09:06:39.206005500 +495,Whirlpool Cabrio Diamond Dust Top Loading Washer - WTW6700TU,495,2314,24.35,Uncategorized,2016-10-20T21:36:11.206005500 +496,Canon XH A1S Black High Definition HDV Camcorder - XHA1S,496,1075,113.95,Uncategorized,2000-03-06T00:31:45.206005500 +497,Sony 32' BRAVIA M-Series Gloss Black LCD Flat Panel HDTV - KDL32M4000,497,1472,100.57,Uncategorized,2019-03-17T23:18:15.206005500 +498,Maytag MED5900TW White Electric Dryer - MED5900TWH,498,1984,62.31,Uncategorized,2017-01-01T14:00:08.206005500 +499,Panasonic 2-Line Integrated Phone System - White Finish - KXTS3282W,499,203,228.58,Uncategorized,2020-10-10T00:48:16.206005500 +500,LG DLE3733W White XL Capacity Electric Dryer - DLE3733WH,500,833,230.92,Uncategorized,2001-08-08T14:14:27.206005500 +501,Samsung 5 Disc Home Theater Surround Sound System - HTTZ515,501,2484,213.64,Uncategorized,2009-11-17T06:45:35.206005500 +502,LG 24' LDS4821WW Semi Integrated Built In White Dishwasher - LDS4821WH,502,1468,57.92,Uncategorized,2017-12-19T14:48:28.206005500 +503,Whirlpool WED6400SB Cabrio Super Capacity Plus Electric Black Dryer - WED6400SBK,503,1580,320.91,Uncategorized,2017-12-04T06:05:19.206005500 +504,LG 25.0 Cu. Ft. Titanium French Door Bottom Freezer Refrigerator - LFC25770TT,504,721,100.35,Uncategorized,2011-05-10T20:14:00.206005500 +505,LG LSC21943ST Stainless Steel Side By Side Refrigerator - LSC21943SS,505,1209,314.78,Uncategorized,2007-02-02T08:34:10.206005500 +506,Lowepro Digital Camera Case In Black - EDIT100BK,506,1873,74.19,Uncategorized,2010-07-05T03:19:29.206005500 +507,Samsung Hi Definition Conversion DVD Player - DVD1080P8,507,1638,81.86,Uncategorized,2000-04-23T07:19:14.206005500 +508,Sanus 15' - 40' Flat Panel TV Silver Wall Mount - VM400S,508,1145,54.36,Uncategorized,2002-11-06T02:32:06.206005500 +509,AppleCare Protection Plan For iPod Touch Or iPod Classic - MB591LLA,509,916,229.88,Uncategorized,2006-05-07T18:53:15.206005500 +510,Onkyo Black CD Receiver System - CS325,510,657,300.62,Uncategorized,2002-09-07T10:04:12.206005500 +511,Denon 5 Disc CD Player - Black Finish - DCM390,511,897,180.26,Uncategorized,2003-03-11T16:05:32.206005500 +512,Sony LCS-CSQ/B Black Soft Carrying Case - LCSCSQB,512,256,114.17,Uncategorized,2005-03-04T08:19:42.206005500 +513,LG White XL Load Capacity Electric Dryer - DLE0442WH,513,734,314.13,Uncategorized,2022-02-04T12:35:14.206005500 +514,Sony Xplod 10-Disc Add-On CD/MP3 Changer - CDX565MXRF,514,2,316.22,Uncategorized,2006-12-11T08:11:08.206005500 +515,D-Link Broadband Cable Modem - DCM202,515,1573,309.77,Uncategorized,2004-09-24T10:36:17.206005500 +516,Garmin Nuvi 660 010-10747-03 Black 12 Volt Adapter Cable - 0101074703,516,1304,210.9,Uncategorized,2000-02-01T03:39:22.206005500 +517,Weber Q 320 Liquid Propane Table And Outdoor Grill - 586002,517,103,63.69,Uncategorized,2018-10-15T06:34:06.206005500 +518,Sony 8GB Memory Stick PRO Duo Mark 2 Media Card - MSMT8G,518,635,229.72,Uncategorized,2014-02-27T03:18:33.206005500 +519,Panasonic Genius Prestige Inverter Microwave Convection Oven NNC994SS In Stainless Steel - NNC994SS,519,696,131.79,Uncategorized,2017-09-02T17:07:36.206005500 +520,Sony Red Cyber-Shot Digital Camera - DSCW170R,520,646,35.92,Uncategorized,2018-05-05T19:55:55.206005500 +521,Garmin Vehicle Adjustable Suction Cup Mount - 0101082303,521,1217,235.32,Uncategorized,2001-07-23T20:16:44.206005500 +522,Sony 2GB Memory Stick Micro (M2) - MSA2GU2,522,2027,164.06,Uncategorized,2013-02-11T19:08:58.206005500 +523,Toshiba XDE Black 1080p Upconversion Extended Detail DVD Player - XDE500,523,605,208.77,Uncategorized,2021-03-22T23:32:25.206005500 +524,Samsung 26' Black Flat Panel Series 4 LCD HDTV - LN26A450,524,343,87.24,Uncategorized,2007-12-10T18:08:35.206005500 +525,Sony Silver Cyber-Shot Digital Camera - DSCW170,525,1742,169.09,Uncategorized,2015-12-24T03:32:32.206005500 +526,Logitech Digital Precision PC Gaming Headset - 981000040,526,1100,61.61,Uncategorized,2007-02-09T01:19:48.206005500 +527,Sony Turntable - PSLX350H,527,1229,275.8,Uncategorized,2018-11-09T00:08:44.206005500 +528,Nikon D90 Black Digital SLR Camera With Nikkor 18-105mm Lens - D90OUTFIT,528,1126,72.1,Uncategorized,2006-09-23T23:04:26.206005500 +529,Onkyo 7.1-Channel Home Theater Black Receiver - TXSR606B,529,2480,195.93,Uncategorized,2006-06-15T21:05:47.206005500 +530,Nikon Rechargeable Li-Ion Battery - Black Finish - 25334,530,639,311.65,Uncategorized,2006-11-03T16:48:36.206005500 +531,Sony White 8' Portable DVD Player - DVPFX820W,531,1479,226.38,Uncategorized,2011-04-05T00:02:49.206005500 +532,Canon PG-40 Black Ink Cartridge Twin Pack - PG40TBK,532,1519,164.67,Uncategorized,2001-08-04T19:10:46.206005500 +533,Sony Black 5.1 Channel Home Theater System - HTDDWG700,533,1104,170.04,Uncategorized,2002-05-19T03:56:06.206005500 +534,Sony LCS-TWA/R Red Soft Leather Carrying Case - LCSTWAR,534,1666,261.52,Uncategorized,2007-06-14T18:48:37.206005500 +535,Toshiba 22' Black LCD HDTV - 22AV500U,535,1225,177.28,Uncategorized,2017-03-17T11:52:14.206005500 +536,Sony Black DVD Recorder And VHS Combo Player - RDRVX560,536,170,295.62,Uncategorized,2006-04-22T02:31:24.206005500 +537,Transcend 133X High-Speed 4GB Compact Flash Card - TS4GCF133,537,1461,75.45,Uncategorized,2001-11-08T09:25:02.206005500 +538,Case Logic Black In-Car DVD Player Case - PDVK10,538,274,28.15,Uncategorized,2002-10-20T21:06:30.206005500 +539,Polk Audio Sirius Satellite Radio Home Tuner - SRH1000,539,2141,73.21,Uncategorized,2011-02-10T12:31:54.206005500 +540,Samsung Hi Definition Conversion DVD Player - DVD1080P8,540,1985,23.57,Uncategorized,2022-01-11T22:37:05.206005500 +541,Nikon Coolpix S210 Plum 8.1 Megapixels Digital Camera - COOLPIXS210P,541,2335,300.49,Uncategorized,2004-09-05T23:37:33.206005500 +542,Griffin Black iPhone 3G Wave Case - 8227IP2WVB,542,1118,49.77,Uncategorized,2001-02-19T15:22:36.206005500 +543,Sennheisser Hi-Fi Wireless Headphone - RS120,543,73,111.34,Uncategorized,2016-07-14T09:52:47.206005500 +544,Apple 16GB Black 2nd Generation iPod Touch - MB531LLA,544,562,63.44,Uncategorized,2019-11-24T15:18:47.206005500 +545,Sony Bluetooth Adaptor/Portable Transmitter - TMRBT10,545,1055,320.5,Uncategorized,2003-12-26T07:18:32.206005500 +546,Nintendo DS Lite Metallic Rose Portable Gaming System - NDSUSGSZPB,546,1183,190.29,Uncategorized,2016-12-16T23:19:55.206005500 +547,Altec Lansing inMotion iPod Portable Audio System - IM600USB,547,71,152.71,Uncategorized,2009-09-27T22:35:46.206005500 +548,Samsung 40' Series 7 LCD Black Flat Panel HDTV - LN40A750,548,753,157.18,Uncategorized,2012-02-25T22:40:41.206005500 +549,Nikon AF Speedlight Accessory - SB600,549,2365,263.85,Uncategorized,2003-10-11T17:38:13.206005500 +550,Transcend 4GB Secure Digital High-Capacity (SDHC) Class 6 Memory Card - TS4GSDHC6,550,1034,44.93,Uncategorized,2006-10-20T05:36:41.206005500 +551,Canon Green Photo Ink Cartridge - CLI8G,551,740,55.84,Uncategorized,2002-12-19T17:02:26.206005500 +552,LG 14' Washer And Dryer Red Pedestal With Drawer - WDP3R,552,788,260.4,Uncategorized,2022-08-23T03:23:40.206005500 +553,Canon Silver PowerShot Digital Camera - SD880IS,553,607,169.38,Uncategorized,2005-05-07T14:05:23.206005500 +554,Canon Silver Dual Flash Memory Camcorder - FS11,554,1799,293.56,Uncategorized,2019-04-05T03:28:59.206005500 +555,Toshiba Black DVD Recorder/VCR Combinaton With Built-In Digital Tuner - DVR660,555,2191,82.75,Uncategorized,2008-08-05T13:25:34.206005500 +556,Sony Vertical-In-The-Ear Stereo Headphones - MDRJ10,556,1559,57.94,Uncategorized,2009-10-25T04:32:15.206005500 +557,Polk Audio CSI A6 Black Center Channel Loudspeaker - CSIA6BK,557,2439,99.58,Uncategorized,2013-02-02T04:33:27.206005500 +558,Polk Audio Sirius Satellite Radio Home Tuner - SRH1000,558,2427,196.7,Uncategorized,2000-06-16T21:28:17.206005500 +559,Apple MacBook 2.4GHz Intel Core 2 Duo Silver Notebook Computer - MB467LLA,559,1836,35.73,Uncategorized,2008-12-04T17:13:31.206005500 +560,Panasonic Black DVD Home Theater Sound System - SCPT960,560,530,177.31,Uncategorized,2004-03-25T00:28:16.206005500 +561,Canon Vixia High Definition Camcorder - HV30,561,2500,177.57,Uncategorized,2007-06-16T05:51:29.206005500 +562,Belkin White Switch-To-Mac Cable - F4U001,562,1800,255.75,Uncategorized,2005-12-16T14:21:04.206005500 +563,Plantronics .Audio 920 Bluetooth Headset - AUDIO920,563,2390,207.35,Uncategorized,2013-08-18T02:23:37.206005500 +564,Polk Audio CSI A6 Black Center Channel Loudspeaker - CSIA6BK,564,1253,113.24,Uncategorized,2016-09-04T04:50:43.206005500 +565,Samsung 61' Black DLP Projection HDTV - HL61A650,565,757,107.65,Uncategorized,2009-05-01T22:24:08.206005500 +566,Sony DSCH2 Soft Carrying Camera Case - Black Finish - LCSCSH,566,1668,217.17,Uncategorized,2012-11-23T20:10:50.206005500 +567,Sennheisser Hi-Fi Wireless Headphone - RS120,567,1501,180.64,Uncategorized,2008-09-27T07:06:28.206005500 +568,Toshiba Black DVD Recorder With 1080p Upconversion - DR410,568,1327,164.36,Uncategorized,2001-01-14T22:25:32.206005500 +569,Samsung 7.1-Channel Blu-ray Home Theater System - HTBD2TXAA,569,2447,196.59,Uncategorized,2017-12-08T22:17:46.206005500 +570,Samsung 22' White Flat Panel LCD HDTV - LN22A451,570,171,131.45,Uncategorized,2015-09-16T22:23:09.206005500 +571,iHome iPod & iPhone Bluetooth Alarm Clock Radio System - IP47,571,1764,200.16,Uncategorized,2008-07-12T21:15:35.206005500 +572,LG Stainless Steel Freestanding Electric Range - LRE30453SS,572,583,101.39,Uncategorized,2007-09-03T15:17:16.206005500 +573,Speck SeeThru Pink Hard Shell Case For 15' MacBook - MB15PNKSEEV2,573,1925,158.64,Uncategorized,2021-08-04T05:51:28.206005500 +574,Sharp Over The Counter Microwave Oven - R1214SS,574,1745,217.06,Uncategorized,2001-04-11T12:59:59.206005500 +575,Peerless 10' - 22' Flat Panel TV Black Pivot Wall Arm - PP730,575,159,168.07,Uncategorized,2017-03-24T12:00:12.206005500 +576,Coby Black 15' Widescreen Flat Panel LCD HDTV - TFTV1514,576,2223,229.57,Uncategorized,2001-04-17T05:25:49.206005500 +577,Kensington Combosaver Ultra Combination Notebook Lock - K64516US - K64516US,577,2040,15.27,Uncategorized,2016-07-03T22:57:12.206005500 +578,Onkyo Black Stereo Receiver - TX8255,578,119,31.48,Uncategorized,2021-11-15T07:39:01.206005500 +579,Sirius STILETTO 2 Home Docking Kit - SLH2,579,1928,2.69,Uncategorized,2010-10-08T16:55:06.206005500 +580,Sony Black VAIO Z Series 13.1' Notebook Computer - VGNZ550NB,580,1581,186.16,Uncategorized,2016-02-05T16:45:26.206005500 +581,Sirius Satellite Radio Universal Car Tuner - SCC1,581,283,27.82,Uncategorized,2004-12-11T23:55:03.206005500 +582,Sony SLV-D380P Black DVD VHS Combo Player - SLVD380P,582,2272,235.92,Uncategorized,2008-06-06T01:27:21.206005500 +583,Sony 1GB Memory Stick PRO Duo Mark 2 Media Card - MSMT1G,583,2323,18.28,Uncategorized,2014-10-14T11:53:11.206005500 +584,Weber Genesis S-310 Natural Gas Stainless Steel Outdoor Grill - 3870001,584,42,152.64,Uncategorized,2011-09-13T04:37:33.206005500 +585,Chestnut Hill Sound George iPod Music System In White - CHS4001,585,1159,42.02,Uncategorized,2017-02-10T15:50:38.206005500 +586,Boston Acoustics Duo-I AM/FM Clock Radio With iPod Dock - HDUOIMDNT,586,1396,247.01,Uncategorized,2001-03-19T23:21:46.206005500 +587,Sony LCS-CSJ Black Soft Carrying Case - LCSCSJ,587,1210,148.2,Uncategorized,2015-12-04T18:02:00.206005500 +588,Uniden 5.8GHz Accessory Handset And Charger - TCX905,588,1276,150.09,Uncategorized,2013-07-03T00:50:35.206005500 +589,Sony VAIO CS Series Pink Notebook Computer - VGNCS180JP,589,1755,97.82,Uncategorized,2016-01-09T08:05:23.206005500 +590,Hoover EmPower Bagless Upright Vacuum - U5269,590,2160,304.87,Uncategorized,2009-12-09T05:48:08.206005500 +591,Logitech Driving Force Pro Steering Wheel With Pedals Set For Sony Playstation 2 - 9632930403,591,2281,274.79,Uncategorized,2001-02-03T15:26:11.206005500 +592,Canon EOS Rebel XSi Silver Digital SLR Camera - XSIREB1855S,592,2345,131.42,Uncategorized,2003-05-15T13:28:03.206005500 +593,Yamaha NS-AW390BL All-Weather Pair Speaker System - NSAW390BK,593,1752,61.9,Uncategorized,2003-07-15T15:44:38.206005500 +594,Speck SeeThru Clear Hard Shell Case For MacBook Air - MBACLRSEE,594,104,267.81,Uncategorized,2009-11-01T10:14:56.206005500 +595,LG DLE3733W White XL Capacity Electric Dryer - DLE3733WH,595,2227,160.38,Uncategorized,2015-05-20T22:01:07.206005500 +596,Samsung 52' Series 5 LCD Black Flat Panel HDTV - LN52A550,596,1466,143.29,Uncategorized,2006-11-17T02:59:15.206005500 +597,Panasonic VIERA 42' Plasma Flat Panel 1080p HDTV In Black - TH42PZ80U,597,1167,136.32,Uncategorized,2007-07-24T01:16:41.206005500 +598,Samsung 22' Black Flat Panel Series 6 LCD HDTV - LN22A650,598,933,58.72,Uncategorized,2000-07-22T21:25:20.206005500 +599,Weber Performer 22-1/2' Charcoal Grill - 848001,599,2129,259.7,Uncategorized,2020-09-20T18:39:50.206005500 +600,Haier 13' Silver Tube TV - HTR13,600,2053,322.35,Uncategorized,2011-01-05T22:21:55.206005500 +601,Speck SeeThru Blue Hard Shell Case For 13' MacBook - MB13BLUSEEV2,601,667,0.83,Uncategorized,2006-11-02T15:26:14.206005500 +602,Tripp-Lite PV375 PowerVerter 375-Watt Ultra-Compact Inverter - PV375,602,285,299.05,Uncategorized,2006-02-24T23:30:05.206005500 +603,Canon Deluxe Burgundy Leather Case - 2350B001,603,2168,269.82,Uncategorized,2010-12-12T18:59:28.206005500 +604,Uniden Dect 6.0 Accessory Handset And Charging Cradle - DCX200,604,885,326.29,Uncategorized,2003-05-22T07:32:44.206005500 +605,Nintendo DS Lite Metallic Silver Portable Gaming System - NDSUSGSVB,605,2017,80.6,Uncategorized,2021-04-15T19:07:40.206005500 +606,LG 24' LDF6920ST Fully Integrated Built In Stainless Steel Dishwasher - LDF6920SS,606,757,191.4,Uncategorized,2020-12-26T01:31:40.206005500 +607,Sony 7.1 Channel Black A/V Receiver - STRDG820,607,2337,302.19,Uncategorized,2002-12-25T23:09:21.206005500 +608,Linksys Ultra RangePlus Wireless-N Broadband Router - WRT160N,608,825,258.07,Uncategorized,2006-06-17T09:08:44.206005500 +609,Netgear Wireless Access Point - WG102,609,1625,75.34,Uncategorized,2009-08-12T12:51:27.206005500 +610,Sony DVD-R Recordable Camcorder Media - 3DMR30L1H,610,841,33.79,Uncategorized,2000-09-15T08:47:40.206005500 +611,Garmin 010-10723-00 AC Adapter Cable With International Adapters - 0101072300,611,167,222.37,Uncategorized,2009-09-24T16:05:21.206005500 +612,LG Titanium Bottom-Freezer Refrigerator - LRBP1031TT,612,676,62.41,Uncategorized,2015-04-02T02:36:34.206005500 +613,Linksys Dual-Band Wireless-N USB Network Adapter - WUSB600N,613,1722,207.84,Uncategorized,2016-03-25T16:00:29.206005500 +614,Netgear RangeMax Wireless Access Point - White Finish - WPN802NA,614,1130,183.89,Uncategorized,2022-09-14T08:20:07.206005500 +615,Kensington MicroSaver Keyed Notebook Lock - 64068F,615,1553,75.82,Uncategorized,2010-07-15T09:18:39.206005500 +616,Skagen Premium Steel Slimline Mesh Womens Watch - 233XSGG,616,988,108.23,Uncategorized,2006-09-17T21:13:00.206005500 +617,Sony VAIO AW Series Titanium Grey Notebook Computer - VGNAW110JH,617,973,0.2,Uncategorized,2000-10-25T17:57:05.206005500 +618,Universal IR/RF Remote - MX350,618,2281,251.67,Uncategorized,2015-11-05T22:28:59.206005500 +619,Sony 52' BRAVIA XBR Series Black LCD Flat Panel HDTV - KDL52XBR6,619,2204,94.49,Uncategorized,2019-04-15T00:27:10.206005500 +620,Garmin 010-10723-03 Nuvi Suction Cup Mount - 0101072303,620,283,263.93,Uncategorized,2006-04-13T21:39:51.206005500 +621,Sony 42' BRAVIA V Series Black LCD Flat Panel HDTV - KDL42V4100,621,2082,35.58,Uncategorized,2020-11-11T02:04:57.206005500 +622,Sony 46' BRAVIA XBR Series Black LCD Flat Panel HDTV - KDL46XBR6,622,2222,169.22,Uncategorized,2019-08-12T10:23:14.206005500 +623,Belkin F3H982-10 Pro Series High Integrity 10 Feet Monitor Cable - F3H98210,623,1520,253.52,Uncategorized,2009-12-18T01:05:41.206005500 +624,Sony VAIO Black USB Docking Station - VGPUPR1,624,761,178.98,Uncategorized,2019-03-25T20:55:00.206005500 +625,Directed 50ft Extension Cable - 14230,625,1156,203.23,Uncategorized,2006-05-27T02:37:52.206005500 +626,Panasonic 2 Line Integrated Corded Phone System - KXTSC14B,626,1211,34.95,Uncategorized,2015-09-05T19:11:35.206005500 +627,Panasonic SR-NA18 White Deluxe Fuzzy Logic Rice Cooker - SRNA18,627,1138,166.49,Uncategorized,2022-12-01T20:17:52.206005500 +628,Onkyo THX Ultra2 Certified 7.1 Channel Home Theater Black Receiver - TXNR906B,628,305,44.96,Uncategorized,2001-10-03T03:32:05.206005500 +629,LEGO Star Wars II: The Original Trilogy Video Game For The Sony PSP - 023272329396,629,2446,212.28,Uncategorized,2006-07-19T01:28:05.206005500 +630,Mitsubishi DLP Black TV Stand - MBS73V,630,258,53.12,Uncategorized,2017-12-23T04:33:15.206005500 +631,Kenwood Sirius Radio Translator For In-Dash Head Units - KCASR50,631,68,271.49,Uncategorized,2002-12-13T20:43:15.206005500 +632,Bracketron iPod Docking Kit - IPM202BL,632,1074,289.65,Uncategorized,2011-06-13T03:50:13.206005500 +633,Sony Bud Style Headphones In Black - MDREX85LPBLK,633,553,131.78,Uncategorized,2001-10-06T18:09:11.206005500 +634,Linksys Wireless-G Ethernet Bridge - WET54G,634,360,87.52,Uncategorized,2006-03-16T22:12:08.206005500 +635,Nikon D300 Digital SLR Digital Camera - D300BODY,635,1672,181.47,Uncategorized,2016-12-18T19:07:25.206005500 +636,Toshiba 19' Black LCD HDTV - 19AV500U,636,789,132.61,Uncategorized,2019-04-14T20:16:47.206005500 +637,Panasonic SR-NA18 White Deluxe Fuzzy Logic Rice Cooker - SRNA18,637,868,188.99,Uncategorized,2009-04-16T02:09:33.206005500 +638,Canon Black EOS 50D Digital SLR Camera Body - EOS50DBODY,638,2355,150.12,Uncategorized,2000-10-26T07:19:29.206005500 +639,Toshiba Black 9-Inch LCD Widescreen Portable DVD Player - SDP91S,639,837,66.12,Uncategorized,2007-06-06T03:42:09.206005500 +640,Panasonic VIERA 46' Plasma Flat Panel 1080p HDTV In Black - TH46PZ85U,640,862,9.52,Uncategorized,2009-07-10T21:34:12.206005500 +641,Panasonic Countertop Microwave Oven In Stainless Steel - NNSD667SS,641,946,204.76,Uncategorized,2003-10-02T15:32:23.206005500 +642,Canon Easy Photo Pack - 1335B001,642,370,32.82,Uncategorized,2002-02-27T11:59:34.206005500 +643,LaCie Little Disk 250GB Black Portable Hard Drive - 301278,643,900,283.5,Uncategorized,2002-02-02T07:09:30.206005500 +644,Boston Acoustics Solo AM/FM Large Display Clock Radio - HSOLOMDNT,644,2178,257.05,Uncategorized,2006-11-19T20:22:28.206005500 +645,Griffin 4046-TRPAUTOC iTrip AutoPilot - 4046TRPAUTOC,645,1275,191.84,Uncategorized,2004-09-11T19:09:41.206005500 +646,Sirius FMDA25 Wired FM Modulation Relay - FMDA25,646,1260,58.5,Uncategorized,2015-05-02T09:01:41.206005500 +647,iRobot Robotic Floor Washer - 74249,647,2047,213.5,Uncategorized,2011-10-04T10:54:11.206005500 +648,Sharp AQUOS Blu Ray Disc Player In Black And Silver - BDHP21U,648,1003,82.46,Uncategorized,2019-07-16T16:46:39.206005500 +649,D-Link Wireless N USB Adapter - DWA130,649,1617,201.13,Uncategorized,2018-09-21T01:10:16.206005500 +650,Denon 5 Disc CD Player - Black Finish - DCM390,650,247,176.44,Uncategorized,2008-11-08T17:46:41.206005500 +651,Pioneer Single Din CD Receiver - DEHP3000IB,651,307,30.8,Uncategorized,2014-03-02T22:43:37.206005500 +652,Linksys Dual-Band Wireless-N Notebook Adapter - WPC600N,652,1350,23.22,Uncategorized,2014-07-03T20:14:52.206005500 +653,Canon PowerShot Silver 14.7 Megapixel Digital Camera - SD990IS,653,1736,286.38,Uncategorized,2015-02-09T16:20:03.206005500 +654,Sony VAIO AW Series Titanium Grey Notebook Computer - VGNAW110JH,654,2482,33.7,Uncategorized,2021-10-05T18:25:19.206005500 +655,Garmin Nuvi 205 GPS Navigation System - 0100071740,655,1283,143.86,Uncategorized,2002-11-17T17:16:48.206005500 +656,Bose 27028 161 Bookshelf Pair Speakers In White - 161WH,656,2000,124.25,Uncategorized,2009-02-06T22:42:30.206005500 +657,Apple 16GB Black 2nd Generation iPod Touch - MB531LLA,657,99,310.77,Uncategorized,2016-12-09T15:13:25.206005500 +658,Whirlpool Cabrio WTW6400SW Top Loading White Washer - WTW6400SWH,658,1268,196.62,Uncategorized,2008-06-03T10:52:14.206005500 +659,LG Over-The-Range Black Microwave Oven - LMV1680BK,659,39,71.21,Uncategorized,2019-04-09T05:38:35.206005500 +660,Canon Silver 10 Megapixel PowerShot Digital Camera - SD790IS,660,2100,314.99,Uncategorized,2013-03-09T07:46:29.206005500 +661,Audiovox 9' LCD Drop Down TV With Built-In DVD - VE927,661,2057,138.18,Uncategorized,2002-01-06T01:52:48.206005500 +662,Toshiba 42' Regza TheaterWide Black Flat Panel LCD HDTV - 42RV535U,662,1150,272.77,Uncategorized,2017-09-10T17:18:55.206005500 +663,Speck SeeThru Clear Hard Shell Case For 15' MacBook - MB15CLRSEEV2,663,1126,1.39,Uncategorized,2018-05-23T22:41:48.206005500 +664,Sony 2GB Memory Stick PRO Duo Mark 2 Media Card - MSMT2G,664,2452,129.07,Uncategorized,2001-03-24T05:49:43.206005500 +665,Panasonic 5.8 GHz Black Expandable Digital Cordless Phone System - KXTG4323B,665,541,260.23,Uncategorized,2011-11-19T02:25:39.206005500 +666,Transcend 8GB Micro Secure Digital Memory Card - TS8GUSDHC6,666,1431,5.73,Uncategorized,2001-05-02T21:51:44.206005500 +667,Canon PowerShot Black 14.7 Megapixel Digital Camera - G10,667,792,254.22,Uncategorized,2006-12-19T16:54:39.206005500 +668,Sony 52' BRAVIA W-Series Black LCD Flat Panel HDTV - KDL52W4100,668,710,316.57,Uncategorized,2001-06-27T07:32:08.206005500 +669,Weber Performer 22-1/2' Charcoal Grill - 841001,669,1050,125.17,Uncategorized,2016-12-07T17:50:51.206005500 +670,Oregon Scientific AT18 Wearable Waterproof Action Camcorder - ATC2000,670,1539,76.04,Uncategorized,2022-05-03T21:09:40.206005500 +671,Canon PowerShot A1000 IS Gray Digital Camera - A1000ISG,671,163,251.28,Uncategorized,2000-12-16T08:09:34.206005500 +672,Electrolux Harmony Series Canister Vacuum - EL6985B,672,1621,214.86,Uncategorized,2005-05-12T23:43:46.206005500 +673,Sirius SiriusConnect Home Tuner - SCH1,673,946,117.88,Uncategorized,2007-12-13T16:41:26.206005500 +674,Sony High Definition DVD Handycam Camcorder - HDRUX10,674,2286,161.14,Uncategorized,2000-09-22T15:12:52.206005500 +675,Panasonic Expandable Bluetooth-Enabled DECT 6.0 Phone System - KXTH1212B,675,740,77.68,Uncategorized,2021-08-27T03:15:45.206005500 +676,Frigidaire 24' White Built-In Dishwasher - FDB130WH,676,1140,309.35,Uncategorized,2016-04-05T06:54:41.206005500 +677,Netgear ProSafe 5 Port 10/100 Desktop Switch - FS105,677,2044,197.18,Uncategorized,2021-02-02T00:43:45.206005500 +678,Nikon Pink 10 Megapixel COOLPIX Digital Camera - COOLPIXS60PNK,678,1221,162.57,Uncategorized,2005-04-23T12:04:32.206005500 +679,Toshiba 32' Black LCD Flat Panel HDTV - 32AV502U,679,1536,16.99,Uncategorized,2022-07-03T22:01:35.206005500 +680,Canon KP-36IP Color Ink & Paper Set - 7737A001,680,293,245.65,Uncategorized,2017-07-10T03:09:42.206005500 +681,Canon CB-2LV Battery Charger - 9764A001,681,1163,156.89,Uncategorized,2007-07-17T18:36:00.206005500 +682,LG Titanium Bottom-Freezer Refrigerator - LRBP1031TT,682,1573,187.15,Uncategorized,2020-05-11T06:57:14.206005500 +683,Sony Black Handycam Camcorder Soft Carrying Case - LCSX20,683,883,158.51,Uncategorized,2012-06-06T04:44:13.206005500 +684,Panasonic 2-Line Integrated Phone System - White Finish - KXTS3282W,684,1198,85.95,Uncategorized,2009-02-24T21:20:38.206005500 +685,Nikon D90 Black Digital SLR Camera With Nikkor 18-105mm Lens - D90OUTFIT,685,580,87.09,Uncategorized,2002-01-19T02:35:15.206005500 +686,Griffin 4046-TRPAUTOC iTrip AutoPilot - 4046TRPAUTOC,686,2447,275.32,Uncategorized,2009-09-15T00:26:46.206005500 +687,LG TROMM WM2688HNM 4.2 Cu. Ft. Navy Blue Front Load Allergiene SteamWasher - WM2688HNBL,687,2152,46.04,Uncategorized,2006-11-05T22:04:13.206005500 +688,Tripp-Lite PV375 PowerVerter 375-Watt Ultra-Compact Inverter - PV375,688,1185,314.17,Uncategorized,2020-01-26T02:56:13.206005500 +689,Danby White Countertop Dishwasher - DDW497WH,689,11,103.96,Uncategorized,2002-04-19T05:00:15.206005500 +690,Canon Black 8.0 Megapixel PowerShot Digital Camera - A590IS,690,752,50.81,Uncategorized,2002-02-22T21:14:49.206005500 +691,Sony 9' Digital Photo Frame In Black - DPFV900,691,1239,139.91,Uncategorized,2008-02-10T15:14:57.206005500 +692,Sony Black DVDirect MC5 Multi-Function DVD Recorder - VRDMC5,692,1198,190.56,Uncategorized,2009-02-25T08:29:48.206005500 +693,Samsung DLP TV Stand In Black - TR72BX,693,86,218.41,Uncategorized,2004-01-05T23:01:22.206005500 +694,Speck Green 13' MacBook See Thru Hard Shell Case - MB13GRNSEEV2,694,1990,267.84,Uncategorized,2017-01-25T20:52:23.206005500 +695,Sennheiser Rechargeable Nickel-Metal Hydride Battery - BA151,695,1924,146.11,Uncategorized,2015-09-07T22:19:49.206005500 +696,Sony Black 5.1 Channel Home Theater System - HTDDWG700,696,577,118.45,Uncategorized,2002-01-11T20:58:48.206005500 +697,LG Pearl Gray XL Capacity Electric Dryer - DLE5955G,697,839,67.23,Uncategorized,2015-08-09T05:43:27.206005500 +698,Danby Silhouette 60 Cans Beverage Center - DBC2760BLS,698,291,204.16,Uncategorized,2009-04-21T04:32:14.206005500 +699,Altec Lansing inMotion MAX iPod/iPhone Portable Audio System - IMT702,699,2241,244.01,Uncategorized,2012-04-16T09:17:34.206005500 +700,Klipsch 5.25' THX Ultra2 In-Ceiling White Loudspeaker - KS7502THX,700,1172,87.22,Uncategorized,2008-04-25T16:22:48.206005500 +701,Tech Craft Veneto Series Black TV Stand - ABS60BK,701,791,32.27,Uncategorized,2014-08-02T17:21:54.206005500 +702,Sony EX Ear Bud Headphones In White - MDREX32LPWHI,702,2056,85.07,Uncategorized,2021-03-26T19:19:34.206005500 +703,LaCie Little Disk 250GB Black Portable Hard Drive - 301278,703,1165,266.73,Uncategorized,2000-03-13T15:24:13.206005500 +704,LG LFC25770SW 25.0 Cu. Ft. Smooth White French Door Bottom Freezer Refrigerator - LFC25770WH,704,2453,181.7,Uncategorized,2000-11-15T08:29:57.206005500 +705,Speck SeeThru Blue Hard Shell Case For 15' MacBook - MB15BLUSEEV2,705,1038,194.59,Uncategorized,2008-04-20T06:57:46.206005500 +706,Sony HD-Handycam 3 Meters (10 Feet) HDMI Mini Cable - VMC30MHD,706,656,192.9,Uncategorized,2006-03-07T05:36:06.206005500 +707,Sirius FMDA25 Wired FM Modulation Relay - FMDA25,707,457,244.03,Uncategorized,2003-04-18T13:14:24.206005500 +708,Belkin Neoprene Sleeve For MacBook Air - F8N065BLK,708,2364,137.49,Uncategorized,2020-02-25T15:46:03.206005500 +709,Olympus Evolt-420 10 Megapixel Digital SLR Camera With 14-42mm Lens In Black - EVOLTE420KIT,709,1093,287.61,Uncategorized,2019-04-09T00:41:11.206005500 +710,Sharp AQUOS Black Blu-ray Disc Player - BDHP50U,710,1714,276.66,Uncategorized,2022-07-02T02:19:04.206005500 +711,Sony Black 9 Megapixel Cyber-Shot Digital Camera - DSCH50B,711,260,311.03,Uncategorized,2008-08-15T20:03:10.206005500 +712,Canon CB-2LV Battery Charger - 9764A001,712,2436,0.12,Uncategorized,2020-10-14T07:13:11.206005500 +713,Sony 40GB High Definition Hard Disk Drive Handycam Camcorder - HDRSR10,713,1150,45.15,Uncategorized,2011-04-14T01:51:51.206005500 +714,Sharp AQUOS Black Blu-ray Disc Player - BDHP50U,714,1064,91.25,Uncategorized,2015-11-02T23:18:36.206005500 +715,Klipsch Black Wireless iPod Speaker - ROOMGROOVE,715,1222,115.76,Uncategorized,2005-08-13T03:12:29.206005500 +716,Sony Universal Remote Control - RMEZ4,716,764,178.3,Uncategorized,2004-01-06T00:28:39.206005500 +717,Garmin 010-10723-02 Carrying Case - 0101072302,717,2171,159.4,Uncategorized,2001-12-07T17:17:40.206005500 +718,Canon EF-S 55-250mm f/4-5.6 IS Telephoto Zoom Lens - 2044B002,718,998,93.54,Uncategorized,2022-11-26T09:34:00.206005500 +719,Samsung 5 Disc Black Home Theater System - HTZ410T,719,2215,316.29,Uncategorized,2004-03-25T00:08:59.206005500 +720,Sony Silver 1080p Upscaling 5-Disc DVD Player - DVPNC800HS,720,200,0.03,Uncategorized,2019-09-27T02:38:18.206005500 +721,Apple 120GB Silver 7th Generation iPod Classic - MB562LLA,721,1054,295.51,Uncategorized,2009-01-23T21:35:32.206005500 +722,Apple 1TB Time Capsule Wireless Hard Drive - MB277LLA,722,359,175.52,Uncategorized,2014-01-03T06:07:04.206005500 +723,Griffin iPod DirectDeck Universal Cassette Adapter - 7256DDECK,723,937,74.73,Uncategorized,2018-10-09T11:11:34.206005500 +724,Canon Black Leather Camera Case - 1588B001,724,2323,270.79,Uncategorized,2014-05-08T21:48:09.206005500 +725,Plantronics Voyager 510 Bluetooth Headset - Silver Finish - 496915,725,2003,276.1,Uncategorized,2020-07-10T03:22:55.206005500 +726,Transcend 133X High-Speed 8GB Compact Flash Card - TS8GCF133,726,1066,49.28,Uncategorized,2008-05-12T22:03:41.206005500 +727,LG LFC25770SW 25.0 Cu. Ft. Smooth White French Door Bottom Freezer Refrigerator - LFC25770WH,727,1589,19.97,Uncategorized,2014-12-20T22:55:13.206005500 +728,Logitech 2.1 Multimedia Silver Speaker System - Z2300,728,2407,95.31,Uncategorized,2001-10-13T07:04:20.206005500 +729,Canon PIXMA MX850 Multifunction Printer - MX850C,729,390,227.1,Uncategorized,2018-12-27T04:01:44.206005500 +730,Whirlpool Cabrio WTW6400SW Top Loading White Washer - WTW6400SWH,730,2255,147.22,Uncategorized,2016-11-26T01:44:38.206005500 +731,Sony White Earbud Style Headphones - MDREX55WH,731,121,326.59,Uncategorized,2005-11-09T06:20:06.206005500 +732,Twenty20 VholdR Mount Adhesive - 2200MA,732,755,15.52,Uncategorized,2022-05-24T14:02:57.206005500 +733,Waring Professional Cool-Touch Deep Fryer - Black/Stainless Steel Finish - DF100,733,402,227.49,Uncategorized,2005-07-27T17:43:30.206005500 +734,Panasonic Lithium Ion Rechargeable Battery - Black Finish - CGRS006A1B,734,1490,98.58,Uncategorized,2018-02-09T10:47:51.206005500 +735,DLO Black HybridShell For iPhone 3G - DLA4010717,735,2473,105.18,Uncategorized,2003-02-13T22:36:13.206005500 +736,Canon 580EXII Speedlite In Black - 1946B002,736,1616,88.04,Uncategorized,2005-06-19T16:57:53.206005500 +737,Canon Black 8.0 Megapixel PowerShot Digital Camera - A590IS,737,1334,169.72,Uncategorized,2011-09-08T09:28:09.206005500 +738,Yamaha All-Weather Pair Speaker System - NSAW390WH,738,841,199.23,Uncategorized,2002-08-18T03:20:48.206005500 +739,LG DLEX7177RM Cherry Red XL Capacity Electric SteamDryer - DLEX7177RD,739,254,203.11,Uncategorized,2010-09-20T14:39:36.206005500 +740,Sony Progressive Scan Black DVD Player - DVPNS57PB,740,1835,38.49,Uncategorized,2006-09-17T01:30:00.206005500 +741,Polk Audio 5.1 Channel Black Home Theater Speaker System - RM705BK,741,2036,45.62,Uncategorized,2020-08-20T19:43:01.206005500 +742,Sony VAIO RT Series Black All-In-One Desktop Computer - VGCRT150Y,742,846,314.43,Uncategorized,2006-10-08T18:24:53.206005500 +743,Panasonic Digital Camera Battery - CGAS007A1B,743,1503,210.25,Uncategorized,2005-02-19T06:43:09.206005500 +744,Sirius ST4-TK1 Starmate 4 Radio With Car Kit - ST4TK1,744,1071,273.95,Uncategorized,2022-10-09T04:35:04.206005500 +745,Griffin Elevator Brushed Aluminum Laptop Stand - 1093CURV2,745,159,53.84,Uncategorized,2010-12-22T17:15:50.206005500 +746,Samsung 46' Series 6 LCD Black Flat Panel HDTV - LN46A650,746,2316,320.8,Uncategorized,2020-10-14T12:46:32.206005500 +747,Logitech diNovo Edge Keyboard Mac Edition - 920000924,747,546,288.25,Uncategorized,2002-06-22T09:32:09.206005500 +748,Garmin 010-10823-00 Black Nuvi 660 Vehicle Suction Cup Mount - 0101082300,748,2430,77.61,Uncategorized,2002-07-01T12:23:33.206005500 +749,Samsung 7.1-Channel Blu-ray Home Theater System - HTBD2TXAA,749,1881,88.35,Uncategorized,2009-03-21T21:40:01.206005500 +750,Sony DVP-FX820 Black 8' Portable DVD Player - DVPFX820,750,2190,131.63,Uncategorized,2015-10-01T07:33:14.206005500 +751,Waring Professional Cool-Touch Deep Fryer - Black/Stainless Steel Finish - DF100,751,638,256.15,Uncategorized,2019-07-22T07:06:03.206005500 +752,Samsung 22' Black Flat Panel LCD HDTV - LN22A450,752,2332,286.55,Uncategorized,2015-04-07T20:55:00.206005500 +753,Polk Audio 5.1 Channel Black Home Theater Speaker System - RM705BK,753,1861,297.67,Uncategorized,2001-07-04T15:01:18.206005500 +754,Canon Silver Dual Flash Memory Camcorder - FS10,754,380,135,Uncategorized,2014-02-16T05:32:50.206005500 +755,Speck SeeThru Blue Hard Shell Case For 13' MacBook - MB13BLUSEEV2,755,565,325.37,Uncategorized,2016-03-10T18:03:21.206005500 +756,LG Titanium Bottom-Freezer Refrigerator - LRBP1031TT,756,219,222.98,Uncategorized,2003-02-02T21:12:28.206005500 +757,Canon PowerShot Black 10 Megapixel Digital Camera - SX10IS,757,365,308.45,Uncategorized,2009-03-27T14:04:35.206005500 +758,Universal MRF-350 RF Black Base Station - MRF350,758,769,88.85,Uncategorized,2010-01-20T14:07:15.206005500 +759,Speck SeeThru Pink Hard Shell Case For MacBook Air - MBAPNKSEE,759,865,176.33,Uncategorized,2008-01-23T20:46:20.206005500 +760,Sony 5.1 Channel Black A/V Receiver - STRDG520,760,1032,112.21,Uncategorized,2020-09-04T07:04:12.206005500 +761,Denon Black Home Theater Surround Sound Receiver - AVR1709,761,1071,113.67,Uncategorized,2018-03-26T22:25:36.206005500 +762,Linksys Wireless-N Security Router - WRVS4400N,762,1700,251.62,Uncategorized,2019-12-23T22:41:04.206005500 +763,Yamaha High Performance Subwoofer - Black Finish - YSTFSW100BK,763,734,114.52,Uncategorized,2014-02-11T07:23:45.206005500 +764,Sony Black Cyber-Shot W Series Digital Camera Carrying Case - LCSCSL,764,1451,68.26,Uncategorized,2012-06-21T03:46:22.206005500 +765,Nintendo DS Lite Onyx Black Portable Gaming System - NDSUSGSKB,765,585,219.06,Uncategorized,2013-11-18T02:18:11.206005500 +766,Canon PowerShot Black 14.7 Megapixel Digital Camera - SD990ISB,766,2067,171.03,Uncategorized,2003-07-08T09:03:30.206005500 +767,Sony High Definition HDV Handycam Camcorder - HDRHC9,767,1026,15.34,Uncategorized,2002-10-09T15:13:27.206005500 +768,Apple USB Power Adapter - MB352LLB,768,1625,326.92,Uncategorized,2004-09-19T23:26:35.206005500 +769,Sony EX Ear Bud Headphones In White - MDREX32LPWHI,769,1754,115.97,Uncategorized,2008-06-12T03:31:42.206005500 +770,Speck ToughSkin Black Case For 4th Generation iPod Nano - NN4TSBLK,770,1992,220.52,Uncategorized,2007-12-22T20:40:01.206005500 +771,Speck Clear 13' MacBook See Thru Hard Shell Case - MB13CLRSEEV2,771,24,123,Uncategorized,2022-04-09T12:02:56.206005500 +772,Garmin Nuvi Portable Friction Mount - 0101090800,772,290,32.92,Uncategorized,2019-01-05T10:51:00.206005500 +773,Canon PowerShot Silver 14.7 Megapixel Digital Camera - SD990IS,773,1639,210.8,Uncategorized,2010-02-15T00:41:42.206005500 +774,Panasonic DECT 6.0 Expandable Digital Cordless Phone With All-Digital Answering System - KXTG9341T,774,1634,322.7,Uncategorized,2013-05-08T20:21:19.206005500 +775,Sony VAIO Neoprene Laptop Carrying Case - Black Finish - VGPAMC3,775,166,68.33,Uncategorized,2003-04-12T04:59:44.206005500 +776,Apple 8GB Silver 4th Generation iPod Nano - MB598LLA,776,169,244.17,Uncategorized,2003-02-09T10:23:08.206005500 +777,Sharp 26' Black LCD HDTV With Built In DVD Player - LC26DV24U,777,2470,53.44,Uncategorized,2010-04-04T08:17:38.206005500 +778,LG Pearl Gray XL Capacity Electric Dryer - DLE5955G,778,1912,294.14,Uncategorized,2006-06-04T19:40:25.206005500 +779,Linksys EtherFast4116 16-Port 10/100 Ethernet Switch - EF4116,779,2235,170.76,Uncategorized,2008-11-20T07:08:27.206005500 +780,Peerless 10' - 22' Flat Panel TV Black Pivot Wall Arm - PP730,780,833,267.81,Uncategorized,2017-08-04T03:44:19.206005500 +781,Belkin Pro Series 16 Ft. USB 2.0 Cable - F3U13316,781,202,288.41,Uncategorized,2011-10-19T13:50:32.206005500 +782,Terk Mini Tuner Home Dock For XM Ready Home Products - Black Finish - CNP2000H,782,2220,182.96,Uncategorized,2013-11-08T09:43:06.206005500 +783,Panasonic PT-AX200U White Home Theater Projector - PTAX200,783,171,78.49,Uncategorized,2000-01-23T03:24:29.206005500 +784,Linksys Ultra RangePlus Wireless-N Broadband Router - WRT160N,784,399,199.73,Uncategorized,2006-12-24T17:05:03.206005500 +785,Speck SeeThru Pink Hard Shell Case For MacBook Air - MBAPNKSEE,785,67,188.27,Uncategorized,2015-07-25T10:22:11.206005500 +786,Speck SeeThru Pink Hard Shell Case For 13' MacBook - MB13PNKSEEV2,786,791,118.12,Uncategorized,2013-11-18T09:26:17.206005500 +787,Samsung 2.1 Channel Bluetooth Home Theater System - HTX710T,787,716,122.93,Uncategorized,2006-02-05T18:44:10.206005500 +788,KitchenAid 5-Speed Blender - Red Finish - KSB560ER,788,1346,93.28,Uncategorized,2000-08-25T09:40:29.206005500 +789,Speck SeeThru Pink Hard Shell Case For 13' MacBook - MB13PNKSEEV2,789,884,159.05,Uncategorized,2000-10-06T08:09:34.206005500 +790,Panasonic Yeast Pro Automatic Breadmaker - SDYD250,790,1971,8.39,Uncategorized,2020-05-23T21:12:02.206005500 +791,Sony VAIO Black USB Docking Station - VGPUPR1,791,236,113.83,Uncategorized,2006-08-11T10:35:40.206005500 +792,Kenwood KCA-IP200 Black iPod Direct Cable - KCAIP200,792,1574,109.06,Uncategorized,2008-02-07T12:01:59.206005500 +793,Canon Blue 8.0 Megapixel PowerShot Digital Camera - SD1100ISB,793,102,94.07,Uncategorized,2019-08-07T03:15:00.206005500 +794,LG Titanium Bottom-Freezer Refrigerator - LRBP1031TT,794,453,248,Uncategorized,2005-09-26T11:49:04.206005500 +795,Sanus VMAV Black VisionMount Component Wall Shelf VMAVB In Black - VMAVB,795,344,295.57,Uncategorized,2014-04-23T05:10:46.206005500 +796,Toshiba Black DVD Recorder With Built-In Digital Tuner - DR560,796,1968,263.46,Uncategorized,2016-09-24T13:47:39.206005500 +797,Sanus VMAV Black VisionMount Component Wall Shelf VMAVB In Black - VMAVB,797,2426,16.99,Uncategorized,2001-11-03T19:52:05.206005500 +798,Sony 46' BRAVIA S-Series Black LCD Flat Panel HDTV - KDL46S4100,798,1721,162.37,Uncategorized,2020-02-05T00:10:01.206005500 +799,Panasonic Black Dect 6.0 Cordless Telephone - KXTG9333T,799,2345,174.27,Uncategorized,2013-07-14T16:03:18.206005500 +800,Panasonic 26' LCD HDTV In Black - TC26LX85,800,1132,195.7,Uncategorized,2018-04-06T05:09:54.206005500 +801,Garmin Nuvi 765T GPS Navigation System - 0100071520,801,418,116.3,Uncategorized,2018-01-23T18:41:12.206005500 +802,Samsung 7.1-Channel Blu-ray Home Theater System - HTBD2TXAA,802,1518,266.45,Uncategorized,2006-07-17T13:41:06.206005500 +803,Audiovox 7' Acrylic Digital Photo Frame - DPF701,803,789,263.94,Uncategorized,2004-08-07T09:35:25.206005500 +804,Kenwood Sirius Radio Translator For In-Dash Head Units - KCASR50,804,2143,192.54,Uncategorized,2004-11-14T19:45:54.206005500 +805,Samsung Hi Definition Conversion DVD Player - DVD1080P8,805,1523,58.44,Uncategorized,2017-10-08T16:52:34.206005500 +806,Garmin Nuvi Portable Friction Mount - 0101090800,806,1198,153.7,Uncategorized,2005-12-03T17:08:45.206005500 +807,Samsung 37' Series 5 LCD Black Flat Panel HDTV - LN37A550,807,1156,167.27,Uncategorized,2004-04-05T20:29:22.206005500 +808,Panasonic PT-AX200U White Home Theater Projector - PTAX200,808,1536,285.92,Uncategorized,2019-03-24T00:28:48.206005500 +809,Sony Stereo Bluetooth Speaker - SRSBTM30,809,1635,252.33,Uncategorized,2014-02-21T14:00:25.206005500 +810,Garmin Nuvi 265WT GPS Navigation System - 0100057510,810,765,54.23,Uncategorized,2000-11-19T22:51:05.206005500 +811,Canon EOS Rebel XS Black Digital SLR Camera - XSREB1855B,811,1863,5.63,Uncategorized,2006-08-19T05:55:56.206005500 +812,Sony Lightweight Tripod - Black Finish - VCTR100,812,1522,300.98,Uncategorized,2014-12-04T11:32:10.206005500 +813,Transcend 8GB Micro Secure Digital Memory Card - TS8GUSDHC6,813,782,37.42,Uncategorized,2010-09-01T18:46:00.206005500 +814,Sony VAIO CS Series Red Notebook Computer - VGNCS110ER,814,1924,173.99,Uncategorized,2003-06-06T15:44:44.206005500 +815,Escort Cordless Solo Radar Detector - S2E,815,801,252.19,Uncategorized,2020-06-04T20:19:28.206005500 +816,Panasonic KX-TGA820B Black DECT 6.0 Cordless Handset - KXTGA820B,816,1120,291.32,Uncategorized,2018-09-24T01:13:20.206005500 +817,Canon Color Ink Tank - CL41CL,817,2046,55.4,Uncategorized,2004-11-23T15:19:10.206005500 +818,Panasonic Silver Dect 6.0 Cordless Telephone - KXTG1033S,818,897,283.04,Uncategorized,2001-02-26T10:59:47.206005500 +819,Nikon EN-EL9 Black Rechargeable Li-ion Battery - ENEL9,819,1677,101.43,Uncategorized,2012-10-09T05:26:06.206005500 +820,Panasonic KX-TG4500B Black 5.8 GHz Cordless Phone System - KXTG4500B,820,844,306.72,Uncategorized,2011-11-24T09:41:29.206005500 +821,Sharp 26' Black LCD HDTV With Built In DVD Player - LC26DV24U,821,1087,173.27,Uncategorized,2013-06-03T08:31:57.206005500 +822,Sanus Universal Projector Ceiling Mount - Black Finish - VMPR1B,822,1882,218.23,Uncategorized,2016-12-12T17:30:53.206005500 +823,Garmin 010-10823-00 Black Nuvi 660 Vehicle Suction Cup Mount - 0101082300,823,1267,242.47,Uncategorized,2005-03-27T06:28:22.206005500 +824,Sony BRAVIA Theater Black Micro System - DAVIS50B,824,20,240.83,Uncategorized,2004-10-14T14:44:01.206005500 +825,Sony Silver 1080p Upscaling 5-Disc DVD Player - DVPNC800HS,825,2099,217.97,Uncategorized,2014-05-07T21:25:25.206005500 +826,Panasonic Genius Countertop Microwave In White - NNH965WH,826,2439,163.96,Uncategorized,2010-03-27T06:35:33.206005500 +827,Sony VAIO JS Series Black All-In-One Desktop Computer - VGCJS130JB,827,1070,11.24,Uncategorized,2009-02-17T14:41:55.206005500 +828,GE Pre-Amplifier For Stereo Turntable - AV23292,828,230,14.94,Uncategorized,2002-04-24T13:20:21.206005500 +829,Panasonic VIERA 50' Plasma Flat Panel HDTV In Black - TH50PX80U,829,1062,133.03,Uncategorized,2019-04-08T06:33:49.206005500 +830,Universal MRF-350 RF Black Base Station - MRF350,830,1956,65.61,Uncategorized,2006-07-08T16:39:02.206005500 +831,Sony Black DVD Recorder And VHS Combo Player - RDRVX560,831,2225,31.96,Uncategorized,2018-12-08T11:14:31.206005500 +832,Sony 7.1 Channel Black A/V Receiver - STRDG820,832,1621,189.81,Uncategorized,2000-07-18T09:17:26.206005500 +833,Transcend 2GB Micro SD Memory Card - TS2GUSD,833,1949,263.92,Uncategorized,2007-05-13T06:50:09.206005500 +834,Panasonic Expandable Digital Cordless DECT 6.0 Answering System In Silver - KXTG1034S,834,82,315.98,Uncategorized,2018-08-03T00:13:40.206005500 +835,Speck Clear 13' MacBook See Thru Hard Shell Case - MB13CLRSEEV2,835,1568,322.97,Uncategorized,2019-02-15T11:38:54.206005500 +836,Sony BRAVIA Black SXRD 1080p Home Theater Front Projector - VPLHW10,836,760,312.62,Uncategorized,2022-10-25T12:47:46.206005500 +837,Sony 1GB Memory Stick PRO Duo Mark 2 Media Card - MSMT1G,837,928,20.94,Uncategorized,2016-09-05T19:36:17.206005500 +838,Sony 19' BRAVIA M-Series Silver LCD Flat Panel HDTV - KDL19M4000S,838,2369,120.48,Uncategorized,2003-02-18T16:44:48.206005500 +839,Monster iFreePlay Cordless Headphones For iPod Shuffle - AISHHPHONE,839,2426,62.04,Uncategorized,2012-10-03T15:42:31.206005500 +840,Canon Vixia High Definition Camcorder - HV30,840,343,6.3,Uncategorized,2021-03-12T08:58:27.206005500 +841,Apple USB Power Adapter - MB352LLB,841,1906,213.82,Uncategorized,2005-03-08T12:12:49.206005500 +842,Bose Second Zone Remote - PMC2,842,6,268.66,Uncategorized,2014-12-03T04:01:26.206005500 +843,Sony 32' BRAVIA M-Series Gloss Black LCD Flat Panel HDTV - KDL32M4000,843,1936,127.33,Uncategorized,2021-09-19T04:59:51.206005500 +844,Sharp Over The Counter White Microwave Oven - R1211WH,844,2028,108.07,Uncategorized,2009-04-04T05:27:57.206005500 +845,Speck Black ToughSkin iPod Classic Case - ICBLKTS,845,1584,98.03,Uncategorized,2003-12-12T19:01:57.206005500 +846,Linksys Wireless N Access Point - WAP4400N,846,81,164.34,Uncategorized,2019-06-25T18:08:30.206005500 +847,Netgear ProSafe 5 Port 10/100 Desktop Switch - FS105,847,1633,191.41,Uncategorized,2002-09-13T18:35:04.206005500 +848,Belkin Cush Top For Computer Laptop - F8N044SLV,848,475,17.41,Uncategorized,2012-05-19T20:45:18.206005500 +849,Sony Home Entertainment Server In Black - HESV1000,849,672,325.05,Uncategorized,2008-05-15T13:31:47.206005500 +850,Sony Black DVDirect MC5 Multi-Function DVD Recorder - VRDMC5,850,1026,101.84,Uncategorized,2001-08-04T08:12:17.206005500 +851,Panasonic 5.8GHz Add-On Handset For The KXTG6700B Phone System - Black Finish - KXTGA670B,851,396,3.98,Uncategorized,2006-07-15T09:39:53.206005500 +852,Sony 32' BRAVIA L-Series Black LCD Flat Panel HDTV - KDL32L4000,852,569,28.83,Uncategorized,2011-04-20T20:39:03.206005500 +853,LG 30' Stainless Steel Freestanding Gas Range - LRG30357SS,853,1660,215.18,Uncategorized,2015-12-11T14:58:06.206005500 +854,Mosquito Magnet Defender Replacement Net - MM4000NET1,854,383,278.76,Uncategorized,2005-03-05T12:14:18.206005500 +855,Delonghi Oil Filters - FK8,855,1869,245.21,Uncategorized,2005-03-06T10:39:05.206005500 +856,Transcend 133X High-Speed 8GB Compact Flash Card - TS8GCF133,856,190,222.16,Uncategorized,2012-08-20T13:32:38.206005500 +857,Denon Blu-ray Disc DVD/CD Digital Player/Transport - DVD2500BTCI,857,1217,217.62,Uncategorized,2006-09-14T18:45:50.206005500 +858,Omnimount TV Top Shelf Mount - CCH1B,858,2070,324.07,Uncategorized,2005-10-09T09:43:28.206005500 +859,LG 32' Black LCD Flat Panel HDTV - 32LG30,859,800,133.62,Uncategorized,2017-07-01T03:11:24.206005500 +860,Linksys Ultra RangePlus Wireless-N Broadband Router - WRT160N,860,609,98.47,Uncategorized,2002-11-27T19:02:47.206005500 +861,LG DLEX8377WM White XL Capacity Electric SteamDryer - DLEX8377WH,861,321,269.99,Uncategorized,2003-04-27T08:32:17.206005500 +862,Garmin Nuvi 765T GPS Navigation System - 0100071520,862,2489,6.93,Uncategorized,2001-09-05T08:48:26.206005500 +863,Nikon Pink 10 Megapixel COOLPIX Digital Camera - COOLPIXS60PNK,863,1738,277.45,Uncategorized,2022-10-19T07:21:37.206005500 +864,Apple 1GB Pink 2nd Generation iPod Shuffle - MB811LLA,864,2408,36.7,Uncategorized,2018-07-05T20:12:40.206005500 +865,Panasonic Hands-Free Headset - KXTCA86,865,2477,6.91,Uncategorized,2004-02-18T00:34:16.206005500 +866,Weber Cast Iron Griddle - 7531,866,1873,317.36,Uncategorized,2019-09-16T12:18:48.206005500 +867,Sharp Over The Counter White Microwave Oven - R1211WH,867,5,89.3,Uncategorized,2006-02-25T20:54:41.206005500 +868,Linksys Simultaneous Dual-N Band Wireless Router - WRT610N,868,1756,239.66,Uncategorized,2017-02-12T20:18:28.206005500 +869,Speck SeeThru Green Hard Shell Case For 15' MacBook - MB15GRNSEEV2,869,1714,49.41,Uncategorized,2002-01-09T00:51:15.206005500 +870,Delonghi Twenty Four Seven Coffee Maker In Black - DC50B,870,2083,13.82,Uncategorized,2002-09-24T09:01:48.206005500 +871,Monster PS3 HDMI-2M Playstation 3 GameLink HDMI Digital Video/Audio Cable - PS3HDMI2M,871,774,218.94,Uncategorized,2000-07-03T05:42:32.206005500 +872,Toshiba Black DVD/VCR Combinaton Player - SDV296,872,1826,210.52,Uncategorized,2006-01-14T00:02:13.206005500 +873,LEGO Star Wars II: The Original Trilogy Video Game For The Sony PSP - 023272329396,873,1806,166.77,Uncategorized,2014-04-17T10:50:20.206005500 +874,Samsung Hi Definition Conversion DVD Player - DVD1080P8,874,2328,263.59,Uncategorized,2008-02-17T06:57:41.206005500 +875,Panasonic DECT 6.0 Pearl Silver Expandable Digital Cordless Phone System - KXTG6313S,875,2153,307.13,Uncategorized,2001-05-26T18:02:01.206005500 +876,LG LMX25981ST 24.7 Cu. Ft. Capacity Stainless Steel French Door Refrigerator - LMX25981SS,876,1598,326.62,Uncategorized,2014-11-04T00:36:20.206005500 +877,Olympus Pink 8 Megapixel Digital Camera - FE360PNK,877,1230,96.24,Uncategorized,2005-07-17T01:10:07.206005500 +878,Speck Green 13' MacBook See Thru Hard Shell Case - MB13GRNSEEV2,878,1540,19.05,Uncategorized,2012-09-18T01:56:54.206005500 +879,Nikon VR 55-200MM Zoom-Nikkor Lens Accessory - 2166,879,2046,221.67,Uncategorized,2011-12-17T06:24:39.206005500 +880,LG LMX25981ST 24.7 Cu. Ft. Capacity Stainless Steel French Door Refrigerator - LMX25981SS,880,581,32.17,Uncategorized,2006-02-20T02:57:25.206005500 +881,Terk Mini Tuner Home Dock For XM Ready Home Products - Black Finish - CNP2000H,881,59,122.75,Uncategorized,2009-07-25T13:30:22.206005500 +882,Sony VAIO NS Series Silver Notebook Computer - VGNNS190JS,882,29,326.61,Uncategorized,2019-09-02T12:38:51.206005500 +883,Panasonic Genius Prestige Inverter Microwave Convection Oven NNC994SS In Stainless Steel - NNC994SS,883,749,321.22,Uncategorized,2002-03-08T16:05:42.206005500 +884,Yamaha 5.1 Channel Home Theater In A Box System In Black - YHT390BK,884,1861,114.73,Uncategorized,2005-10-21T20:53:12.206005500 +885,Speck SeeThru Blue Hard Shell Case For 15' MacBook - MB15BLUSEEV2,885,905,322.95,Uncategorized,2011-05-07T04:40:11.206005500 +886,LG LFC25770SB 25.0 Cu. Ft. Smooth Black French Door Bottom Freezer Refrigerator - LFC25770BK,886,1733,211.19,Uncategorized,2000-11-04T06:54:11.206005500 +887,Nikon AF Speedlight Accessory - SB600,887,2195,61.02,Uncategorized,2014-07-05T13:54:07.206005500 +888,Linksys EtherFast10/100 5-Port Auto-Sensing Switch - EZXS55W,888,1504,310.41,Uncategorized,2008-08-02T01:22:55.206005500 +889,Griffin iPhone 3G Black Elan Form Hard-Shell Leather Case - 8223IP2EFRMB,889,618,163.17,Uncategorized,2016-08-16T02:02:54.206005500 +890,Toshiba Black Portable DVD Player - SDP71S,890,2013,39.12,Uncategorized,2021-06-08T11:28:18.206005500 +891,Waring Professional Cool-Touch Deep Fryer - Black/Stainless Steel Finish - DF100,891,778,316.23,Uncategorized,2000-04-16T05:21:55.206005500 +892,Canon Pink 8.0 Megapixel PowerShot Digital Camera - SD1100ISP,892,2229,30.29,Uncategorized,2008-12-15T15:08:57.206005500 +893,Delonghi Twenty Four Seven Coffee Maker In Black - DC50B,893,847,304.75,Uncategorized,2017-04-06T19:49:27.206005500 +894,Samsung 32' Black Flat Panel Series 4 LCD HDTV - LN32A450,894,2407,245.6,Uncategorized,2002-06-07T16:20:41.206005500 +895,Canon 2GB SD Secure Digital Card - 3505B001,895,1340,217.38,Uncategorized,2007-08-07T20:49:45.206005500 +896,Canon VIXIA 120GB High Definition Hard Disc Drive Black Camcorder - HG21,896,105,6.53,Uncategorized,2012-11-21T06:18:47.206005500 +897,LG LRBP1031 White Bottom-Freezer Refrigerator - LRBP1031WH,897,1328,114.3,Uncategorized,2004-08-16T08:14:05.206005500 +898,Linksys Black Media Center Extender - DMA2100,898,407,188.1,Uncategorized,2003-12-26T09:34:33.206005500 +899,Sanus 15' - 37' VisionMount Full-Motion Flat Panel TV Black Wall Mount - MF215B1,899,1477,99.63,Uncategorized,2009-07-07T19:09:26.206005500 +900,Sony HD-Handycam 1.5 Meters (5 Feet) HDMI Mini Cable - VMC15MHD,900,1926,199,Uncategorized,2005-08-08T05:53:16.206005500 +901,Panasonic Stainless Steel Luxury Full Size Countertop Microwave Oven - NNSD967SS,901,593,269.05,Uncategorized,2006-08-15T07:27:12.206005500 +902,Weber Performer 22-1/2' Charcoal Grill - 841001,902,2185,85.35,Uncategorized,2019-03-15T12:27:45.206005500 +903,Panasonic Expandable Digital Cordless DECT 6.0 Answering System In Silver - KXTG1034S,903,779,49.58,Uncategorized,2020-11-06T22:52:53.206005500 +904,TomTom ONE XL 330S Car GPS Navigation System - 1EG005201,904,1553,280.41,Uncategorized,2009-01-23T01:48:06.206005500 +905,Canon Magenta Photo Ink Cartridge - Magenta - CLI8PM,905,1633,22.63,Uncategorized,2017-12-16T15:17:40.206005500 +906,Sanus 30' - 50' Full-Motion Flat Panel TV Black Wall Mount - LRF118B1,906,910,317.5,Uncategorized,2008-05-08T19:39:26.206005500 +907,Panasonic VIERA 46' Plasma Flat Panel 1080p HDTV In Black - TH46PZ80U,907,839,80.81,Uncategorized,2001-05-21T01:33:33.206005500 +908,Omnimount Stellar Series Audio Tower - G303DARK,908,930,6.93,Uncategorized,2006-05-26T14:48:55.206005500 +909,Apple 1TB Time Capsule Wireless Hard Drive - MB277LLA,909,422,159.8,Uncategorized,2004-03-03T04:29:06.206005500 +910,Yamaha 5.1 Channel Home Theater In A Box System In Black - YHT390BK,910,1860,63.95,Uncategorized,2021-05-02T20:26:58.206005500 +911,Griffin iPod RoadTrip With SmartScan - 4040RDTRPB,911,1964,269.13,Uncategorized,2020-03-23T06:09:22.206005500 +912,Monster PS3 CV/FO-10 Playstation 3 GameLink Component Video And Fiber Optic Digital Audio AV Kit - PS3CVFO10,912,1384,221.73,Uncategorized,2016-11-03T02:28:46.206005500 +913,Kensington Orbit Optical Trackball Mouse - 64327,913,821,222.66,Uncategorized,2022-07-23T22:24:39.206005500 +914,Flip Video F360 Black Mino Series Camcorder - F360B,914,1979,40.3,Uncategorized,2009-08-14T21:04:49.206005500 +915,Skagen Premium Steel Slimline Mesh Womens Watch - 233XSGG,915,1041,325.23,Uncategorized,2006-12-26T09:02:42.206005500 +916,Sony Pink Earbud Style Headphones - MDREX55P,916,2241,160.01,Uncategorized,2020-06-23T23:03:59.206005500 +917,Panasonic DECT 6.0 Expandable Digital Cordless Phone With All-Digital Answering System - KXTG9344T,917,1979,53.45,Uncategorized,2013-11-13T08:03:46.206005500 +918,Sony EX Ear Bud Headphones In Black - MDREX32LPBLK,918,362,169.83,Uncategorized,2009-02-23T13:39:17.206005500 +919,Canon PIXMA Photo All-In-One Printer - MP980,919,1243,212.52,Uncategorized,2000-09-14T07:15:12.206005500 +920,Sony DVP-FX820 Pink 8' Portable DVD Player - DVPFX820P,920,946,322.62,Uncategorized,2007-03-17T01:25:47.206005500 +921,Canon Deluxe Burgundy Leather Case - 2350B001,921,1928,135.03,Uncategorized,2011-10-07T14:41:43.206005500 +922,Sony VAIO JS Series Black All-In-One Desktop Computer - VGCJS130JB,922,1764,227.6,Uncategorized,2001-02-08T13:48:44.206005500 +923,Bracketron iPod Docking Kit - IPM202BL,923,1945,304.76,Uncategorized,2020-09-03T10:15:01.206005500 +924,Olympus Premium Slim Leather Case In Black - 202087,924,394,33.2,Uncategorized,2001-05-15T00:24:56.206005500 +925,Sony MiniDV Cleaning Cassette - DVM12CLD,925,1707,288.26,Uncategorized,2019-08-11T23:56:25.206005500 +926,Apple 8GB Blue 4th Generation iPod Nano - MB732LLA,926,707,190.98,Uncategorized,2011-04-25T00:27:10.206005500 +927,Canon Red Photo Ink Cartridge - CLI8R,927,1496,69.75,Uncategorized,2003-03-20T17:02:19.206005500 +928,Samsung 50' Widescreen Plasma HDTV - PN50A650,928,2461,256.82,Uncategorized,2019-12-24T23:08:59.206005500 +929,Peerless 32' - 50' Articulating Flat Panel TV Black Wall Arm - SA750PU,929,139,54.66,Uncategorized,2011-07-12T05:53:48.206005500 +930,Sony HD-Handycam 3 Meters (10 Feet) HDMI Mini Cable - VMC30MHD,930,1919,142.68,Uncategorized,2005-06-05T23:31:34.206005500 +931,Monster iFreePlay Cordless Headphones For iPod Shuffle - AISHHPHONE,931,251,327.49,Uncategorized,2003-02-15T08:45:46.206005500 +932,Sony 400-Disc DVD/SA-CD/CD Mega Changer - DVPCX995V,932,2284,139.53,Uncategorized,2002-11-23T21:45:47.206005500 +933,Kenwood 6.1' All-In-One Double-Din In-Dash Navigation - DNX5120,933,2432,323.8,Uncategorized,2007-08-15T17:23:44.206005500 +934,Toshiba 52' Regza Black Flat Panel LCD HDTV - 52RV535U,934,1927,64.4,Uncategorized,2006-04-12T10:58:38.206005500 +935,Kenwood 6-Disc CD Changer - KDCC669,935,326,204.6,Uncategorized,2003-09-20T19:42:25.206005500 +936,Weber Genesis E-310 Liquid Propane Black Outdoor Grill - 3741001,936,424,140.55,Uncategorized,2012-12-18T18:31:51.206005500 +937,Haier 20' ATSC Color Tube Television - HTR20,937,1845,30.75,Uncategorized,2002-10-27T04:57:16.206005500 +938,Nintendo DS Lite Metallic Rose Portable Gaming System - NDSUSGSZPB,938,761,22.8,Uncategorized,2007-05-19T19:58:33.206005500 +939,LG LFX25971SW 24.7 Cu. Ft. Smooth White French Door Bottom Freezer Refrigerator - LFX25971WH,939,1549,59.32,Uncategorized,2012-08-07T23:56:57.206005500 +940,LG 32' Black LCD Flat Panel HDTV With Built In DVD Player - 32LG40,940,2167,216.61,Uncategorized,2007-02-15T13:10:51.206005500 +941,Sony LCS-CSQ/B Black Soft Carrying Case - LCSCSQB,941,789,262.88,Uncategorized,2004-10-05T03:10:06.206005500 +942,Canon Vixia High Definition Camcorder - HV30,942,1242,102.64,Uncategorized,2007-03-17T04:52:52.206005500 +943,Sony Black Camcorder Tripod - VCT80AV,943,159,188.27,Uncategorized,2004-03-05T11:28:36.206005500 +944,Logitech diNovo Edge Keyboard Mac Edition - 920000924,944,397,31.96,Uncategorized,2008-09-24T21:43:23.206005500 +945,Yamaha 7.2 Channel Black Digital Home Theater Receiver - RXV663BK,945,2042,98.45,Uncategorized,2009-07-06T17:14:54.206005500 +946,Boston Acoustics Solo AM/FM Large Display Clock Radio - HSOLOMDNT,946,543,261.24,Uncategorized,2001-02-25T11:21:02.206005500 +947,LG DLEX7177RM Cherry Red XL Capacity Electric SteamDryer - DLEX7177RD,947,2039,35.61,Uncategorized,2006-10-21T12:52:56.206005500 +948,Samsung 52' Series 8 LCD Black Flat Panel HDTV - LN52A850,948,1211,139.17,Uncategorized,2012-02-06T14:30:08.206005500 +949,Panasonic Hands-Free Headset - KXTCA86,949,390,120.69,Uncategorized,2019-12-27T10:19:13.206005500 +950,Terk XM Outdoor Home Antenna - Grey Finish - XM6,950,74,114.44,Uncategorized,2010-08-09T11:22:56.206005500 +951,Weber Stainless Steel Genesis S320 LP Grill - 3780001,951,523,167.64,Uncategorized,2012-01-03T00:50:57.206005500 +952,Panasonic All-in-One Flatbed Laser Fax - KXFLB801,952,832,290.86,Uncategorized,2002-07-16T22:10:47.206005500 +953,Sony 7.1 Channel Black A/V Receiver - STRDG720,953,512,223.83,Uncategorized,2020-12-21T22:49:00.206005500 +954,Samsung 42' Black Flat Panel Series 4 Plasma HDTV - PN42A450P,954,1041,138.86,Uncategorized,2020-12-14T14:10:05.206005500 +955,Whirlpool 24' Built-In Dishwasher - DU1100SS,955,472,264.71,Uncategorized,2020-05-07T20:05:41.206005500 +956,Sharp AQUOS 42' Black LCD HDTV - LC42D85U,956,1589,53.51,Uncategorized,2002-06-01T23:10:11.206005500 +957,Samsung L200 Black 10.2 Megapixel Digital Camera - ECL200ZBBA,957,751,117.88,Uncategorized,2021-01-11T19:37:13.206005500 +958,Sony Silver Cyber-Shot Digital Camera - DSCW150,958,757,40.92,Uncategorized,2011-12-23T09:13:03.206005500 +959,Audiovox Commander MT XM Satellite Radio Receiver - XMRVRFM002,959,445,308.56,Uncategorized,2019-02-19T16:12:42.206005500 +960,Samsung S3 Black Multimedia Player - YPS3JAB,960,54,177.09,Uncategorized,2011-04-27T07:14:56.206005500 +961,Toshiba 19' Black LCD HDTV - 19AV500U,961,1245,289.82,Uncategorized,2001-04-13T07:28:45.206005500 +962,Universal IR/RF Remote - MX350,962,1169,37.19,Uncategorized,2013-11-14T23:00:46.206005500 +963,Apple 8GB Green 4th Generation iPod Nano - MB745LLA,963,291,183.21,Uncategorized,2015-06-14T18:23:29.206005500 +964,Canon Black 8.0 Megapixel PowerShot Digital Camera - A590IS,964,557,61.33,Uncategorized,2011-08-04T05:01:01.206005500 +965,Sony DVD Remote Control For PS2 - Black Finish - 711719707608,965,1417,31.63,Uncategorized,2011-03-12T06:48:39.206005500 +966,Sanus 15' - 40' VisionMount Flat Panel TV Black Wall Mount - MT25B1,966,200,141.15,Uncategorized,2021-02-05T02:58:17.206005500 +967,Samsung 72' Series 6 Black Widescreen DLP HDTV - HL72A650,967,349,279.93,Uncategorized,2001-06-20T02:22:37.206005500 +968,Waring Professional Cool-Touch Deep Fryer - Black/Stainless Steel Finish - DF100,968,207,258.2,Uncategorized,2022-09-01T13:36:03.206005500 +969,Monster Mini-To-Mini iCable For Car - AICMINIIP3S,969,479,123.06,Uncategorized,2010-12-27T00:58:16.206005500 +970,Panasonic VIERA 37' 1080p LCD HDTV In Black - TC37LZ85,970,2109,251.88,Uncategorized,2008-02-10T23:52:26.206005500 +971,Canon Deluxe Grey Leather Case - 2349B001,971,2267,290.42,Uncategorized,2015-07-23T06:26:01.206005500 +972,Delonghi Coffee Maker In Black - DCF212T,972,2205,108.38,Uncategorized,2018-03-21T07:55:27.206005500 +973,Sony Black Handycam Camcorder Soft Carrying Case - LCSX20,973,238,226.04,Uncategorized,2012-01-02T22:14:31.206005500 +974,Audiovox XpressEZ XM Satellite Radio Receiver - XMCK5P,974,1757,71.84,Uncategorized,2018-03-05T00:44:09.206005500 +975,Toshiba Rechargeable 5-Hour Battery Pack - MEDB05LX,975,412,89.57,Uncategorized,2021-12-12T06:23:55.206005500 +976,Kensington Orbit Optical Trackball Mouse - 64327,976,732,106.77,Uncategorized,2006-07-17T03:06:59.206005500 +977,Polk Audio CSI A4 Black Center Channel Loudspeaker - CSIA4BK,977,1812,217.08,Uncategorized,2021-01-04T21:07:03.206005500 +978,Sony 10' Black LCD Digital Photo Frame - DPFD100,978,2378,10.94,Uncategorized,2011-08-05T06:23:31.206005500 +979,Logitech diNovo Edge Keyboard Mac Edition - 920000924,979,904,219.48,Uncategorized,2014-10-18T01:23:49.206005500 +980,Whirlpool WED6400SB Cabrio Super Capacity Plus Electric Black Dryer - WED6400SBK,980,2224,77.87,Uncategorized,2008-08-22T01:10:03.206005500 +981,KitchenAid Pasta Roller And Cutter - KPRA,981,2302,102.03,Uncategorized,2017-11-06T11:18:03.206005500 +982,Denon Blu-ray Disc DVD/CD Player - DVD3800BDCI,982,118,137.9,Uncategorized,2005-11-23T16:06:04.206005500 +983,BlueAnt Bluetooth Voice Control Headset - V1,983,927,305.67,Uncategorized,2001-08-19T15:25:50.206005500 +984,Sennheisser Hi-Fi Wireless Headphone - RS120,984,1846,134.58,Uncategorized,2013-07-20T08:57:26.206005500 +985,Sony BRAVIA Black SXRD 1080p Home Theater Front Projector - VPLHW10,985,1006,202.78,Uncategorized,2012-12-11T01:42:09.206005500 +986,Logitech QuickCam Vision Pro For Mac - 960000254,986,849,302.26,Uncategorized,2016-06-18T14:50:28.206005500 +987,Sony 5.1 Channel Black A/V Receiver - STRDG520,987,887,126.1,Uncategorized,2006-04-14T10:18:20.206005500 +988,Escort Passport 9500IX Radar Detector - 9500IX,988,2316,88.75,Uncategorized,2001-05-15T13:15:30.206005500 +989,Sony Active Style Headphones In Black - MDRAS50G,989,2285,192.75,Uncategorized,2008-09-18T16:09:10.206005500 +990,Canon Black 21.1 Megapixel EOS Digital SLR Camera Body - EOS5DMARKIIBODY,990,1368,126.37,Uncategorized,2022-06-06T10:46:14.206005500 +991,Weber Stainless Steel Genesis S320 Natural Gas Grill - 3880001,991,276,25.41,Uncategorized,2016-10-23T16:58:11.206005500 +992,Onkyo 7.1-Channel Black Home Theater Receiver - TXSR506B,992,761,27.25,Uncategorized,2010-10-16T13:07:35.206005500 +993,Altec Lansing Orbit-MP3 Portable Audio System - IM207,993,720,308.83,Uncategorized,2007-09-20T00:46:20.206005500 +994,Denon Progressive Scan Universal DVD Player - DVD2930CI,994,1710,24.66,Uncategorized,2003-02-04T01:16:30.206005500 +995,Sennheiser Rechargeable Nickel-Metal Hydride Battery - BA151,995,1954,152.29,Uncategorized,2001-04-25T03:51:18.206005500 +996,Samsung 37' Series 5 LCD Black Flat Panel HDTV - LN37A550,996,1189,15.68,Uncategorized,2006-09-03T05:46:00.206005500 +997,Panasonic Silver Dect 6.0 Cordless Telephone - KXTG1033S,997,2386,40.01,Uncategorized,2007-04-24T21:16:29.206005500 +998,Weber Genesis E-310 Natural Gas Black Outdoor Grill - 3841001,998,805,311.19,Uncategorized,2009-04-11T05:35:12.206005500 +999,Kenwood KCA-IP200 Black iPod Direct Cable - KCAIP200,999,91,127.47,Uncategorized,2007-09-18T05:53:12.206005500 +1000,LG LFC25770ST 25.0 Cu. Ft. Stainless Steel French Door Bottom Freezer Refrigerator - LFC25770SS,1000,2198,4.97,Uncategorized,2013-09-23T00:10:11.206005500 +1001,Sony 32' BRAVIA M-Series Gloss Black LCD Flat Panel HDTV - KDL32M4000,1001,1002,241.71,Uncategorized,2021-05-09T20:29:04.206005500 +1002,Panasonic VIERA 58' 1080p Plasma HDTV In Black - TH58PZ850U,1002,1473,208.02,Uncategorized,2013-08-27T05:40:28.206005500 +1003,Weber Performer 22-1/2' Charcoal Grill - 841001,1003,138,258.67,Uncategorized,2001-09-26T20:53:18.206005500 +1004,Speck SeeThru Purple Hard Shell Case For 15' MacBook - MB15PURSEEV2,1004,1888,196.88,Uncategorized,2008-04-27T18:10:36.206005500 +1005,Sony 37' BRAVIA XBR Series Black LCD Flat Panel HDTV - KDL37XBR6,1005,639,43.91,Uncategorized,2008-05-25T06:28:37.206005500 +1006,Sony InfoLithium H Series Standard Rechargeable Battery Pack - NPFH70,1006,386,41.39,Uncategorized,2017-05-09T00:28:56.206005500 +1007,Belkin Leather Folio For 2G iPod Touch - F8Z373,1007,2314,11.83,Uncategorized,2018-05-22T05:19:47.206005500 +1008,Cuisinart Stainless Steel 4-Quart Programmable Slow Cooker - PSC400,1008,1102,322.07,Uncategorized,2001-01-17T20:32:11.206005500 +1009,Toshiba 22' Black LCD HDTV - 22AV500U,1009,2221,72.73,Uncategorized,2011-08-02T19:32:34.206005500 +1010,Yamaha NS-AW190BL All-Weather Pair Speaker System - NSAW190BK,1010,431,246.28,Uncategorized,2003-08-10T07:05:40.206005500 +1011,Case-Mate Carbon Fiber Black Leather Case For iPhone 3G - IPH3GCBCF,1011,1991,97.72,Uncategorized,2015-04-23T08:33:41.206005500 +1012,Canon Black BP-808 Camcorder Battery Pack - 2740B002,1012,717,53,Uncategorized,2018-12-25T08:38:29.206005500 +1013,Sennheisser Hi-Fi Wireless Headphone - RS120,1013,694,76.58,Uncategorized,2004-03-23T18:42:55.206005500 +1014,Sony BRAVIA Black SXRD 1080p Home Theater Front Projector - VPLHW10,1014,1078,138.54,Uncategorized,2003-09-09T18:54:25.206005500 +1015,Panasonic Silver Rice Cooker/Warmer - SRTMB10,1015,49,278.83,Uncategorized,2015-02-08T14:47:58.206005500 +1016,Panasonic Stainless Steel Luxury Full Size Countertop Microwave Oven - NNSD967SS,1016,1968,315.94,Uncategorized,2007-08-09T07:49:08.206005500 +1017,Frigidaire 24' PLD4375RFC Built-In Stainless Steel Dishwasher - PLD4375SS,1017,1513,183,Uncategorized,2022-11-04T07:57:50.206005500 +1018,Canon PowerShot Black 10 Megapixel Digital Camera - SX10IS,1018,991,233.4,Uncategorized,2002-05-21T06:04:40.206005500 +1019,Sony Switcher - SBV40S,1019,183,238.75,Uncategorized,2010-08-02T19:04:57.206005500 +1020,Onkyo 7.1-Channel Black Home Theater Receiver - TXSR506B,1020,261,187.64,Uncategorized,2006-12-08T07:15:57.206005500 +1021,LaCie 500GB d2 Quadra External Hard Drive - 301825U,1021,2166,103,Uncategorized,2015-06-25T22:44:19.206005500 +1022,Panasonic 2 Line Integrated Corded Phone System - KXTSC14B,1022,457,256.05,Uncategorized,2004-05-26T12:22:32.206005500 +1023,LEGO Star Wars II: The Original Trilogy Video Game For The Sony PSP - 023272329396,1023,1388,206.31,Uncategorized,2000-10-18T09:22:33.206005500 +1024,Pioneer HD Radio Tuner - GEXP10HD,1024,1095,282.27,Uncategorized,2020-07-10T18:28:27.206005500 +1025,Sanus 9' - 17' VisionMount Series Under Cabinet Flat Panel TV Silver Wall Mount - VMUC1S,1025,1138,266.33,Uncategorized,2001-03-02T05:35:05.206005500 +1026,KitchenAid ProLine Series 16 Cup Food Processor - KPFP850OB,1026,618,227.41,Uncategorized,2006-05-15T19:33:06.206005500 +1027,LG LMX25981ST 24.7 Cu. Ft. Capacity Stainless Steel French Door Refrigerator - LMX25981SS,1027,1095,157.07,Uncategorized,2000-03-17T02:28:02.206005500 +1028,Kenwood KCA-IP300V iPod Video Direct Cable - KCAIP300V,1028,72,105.06,Uncategorized,2008-08-12T04:24:38.206005500 +1029,Sony DVD-R Recordable Camcorder Media - 3DMR30L1H,1029,32,187.4,Uncategorized,2000-06-16T15:49:30.206005500 +1030,Canon PowerShot Black 14.7 Megapixel Digital Camera - G10,1030,1913,47.88,Uncategorized,2012-01-27T02:25:44.206005500 +1031,Polk Audio Sirius Satellite Radio Home Tuner - SRH1000,1031,2376,182.84,Uncategorized,2010-07-20T18:59:03.206005500 +1032,Apple 16GB Green 4th Generation iPod Nano - MB913LLA,1032,1597,278.22,Uncategorized,2000-10-16T12:46:25.206005500 +1033,Linksys Ultra RangePlus Wireless-N Broadband Router - WRT160N,1033,888,11.43,Uncategorized,2001-12-02T07:57:52.206005500 +1034,Cuisinart Convection-Oven-Toaster-Broiler With Exact Heat Sensor - TOB165WH,1034,1397,46.82,Uncategorized,2012-06-09T16:07:28.206005500 +1035,Samsung 52' Series 8 LCD Black Flat Panel HDTV - LN52A860,1035,2000,196.15,Uncategorized,2015-03-25T11:11:08.206005500 +1036,Canon KP-36IP Color Ink & Paper Set - 7737A001,1036,472,64.9,Uncategorized,2001-07-01T07:08:04.206005500 +1037,Canon Deluxe Soft Black Camera Case - 0716B001,1037,406,212.89,Uncategorized,2002-08-15T19:21:09.206005500 +1038,Canon Silver PowerShot Digital Camera - SD880IS,1038,1785,214.26,Uncategorized,2006-04-04T05:38:11.206005500 +1039,Canon Black 8.0 Megapixel PowerShot Digital Camera - A590IS,1039,1805,249.85,Uncategorized,2005-11-10T02:00:41.206005500 +1040,Panasonic Countertop Microwave Oven In White - NNSN667WH,1040,13,113.47,Uncategorized,2009-08-14T00:25:25.206005500 +1041,Sony 40GB High Definition Hard Disk Drive Handycam Camcorder - HDRSR10,1041,1331,152.81,Uncategorized,2010-12-14T11:04:27.206005500 +1042,Sony VAIO LV Series Silver All-In-One Desktop Computer - VGCLV150J,1042,372,255.02,Uncategorized,2007-06-04T21:39:01.206005500 +1043,TiVo HD Digital Video Recorder (180 Hour) - TCD652160,1043,1316,294.09,Uncategorized,2002-03-04T17:49:47.206005500 +1044,Omnimount Stellar Series Audio Tower - G303DARK,1044,536,192.64,Uncategorized,2002-08-21T03:35:25.206005500 +1045,Panasonic Countertop Microwave Oven In Black - NNSN667BK,1045,2239,297.55,Uncategorized,2000-06-10T01:59:27.206005500 +1046,Weber Stainless Steel Genesis S320 Natural Gas Grill - 3880001,1046,1749,147.79,Uncategorized,2004-08-24T03:56:18.206005500 +1047,Sony Active Style Headphones In Black - MDRAS50G,1047,139,323.06,Uncategorized,2007-06-21T21:11:49.206005500 +1048,Cuisinart Countertop Griddler - GR4,1048,2278,201.42,Uncategorized,2005-04-03T18:39:01.206005500 +1049,Sony High Definition HDV Handycam Camcorder - HDRHC9,1049,1375,285.84,Uncategorized,2017-02-20T17:33:31.206005500 +1050,Logitech QuickCam Communicate STX - 961464,1050,1753,72.53,Uncategorized,2001-12-09T20:20:46.206005500 +1051,Canon Easy Photo Pack - 1335B001,1051,47,61.64,Uncategorized,2012-10-04T09:13:22.206005500 +1052,Canon VIXIA 120GB High Definition Hard Disc Drive Black Camcorder - HG21,1052,90,122.42,Uncategorized,2015-10-13T16:05:05.206005500 +1053,LG DLG2526W White Super Capacity Gas Dryer - DLG2526WH,1053,2173,268.26,Uncategorized,2009-02-06T20:28:06.206005500 +1054,LG DLE5955W White XL Capacity Electric Dryer - DLE5955WH,1054,1115,44.13,Uncategorized,2000-07-10T05:21:49.206005500 +1055,Linksys Wireless-G Range Expander - WRE54G,1055,1689,127.16,Uncategorized,2010-11-09T03:42:13.206005500 +1056,Panasonic VIERA 58' 1080p Plasma HDTV In Black - TH58PZ850U,1056,130,321.43,Uncategorized,2011-05-06T06:04:41.206005500 +1057,Audiovox XpressEZ XM Satellite Radio Receiver - XMCK5P,1057,1848,327.19,Uncategorized,2013-07-06T17:03:29.206005500 +1058,Sharp AQUOS 42' Black LCD HDTV - LC42D85U,1058,992,81.68,Uncategorized,2003-06-04T15:10:18.206005500 +1059,Canon Printer Yellow Ink Cartridge - CLI221YEL,1059,1926,212.02,Uncategorized,2019-12-11T07:36:40.206005500 +1060,Klipsch Black Wireless iPod Speaker - ROOMGROOVE,1060,2314,155.46,Uncategorized,2018-08-16T20:06:26.206005500 +1061,Whirlpool 24' Built-In Dishwasher - DU1100SS,1061,1398,158.68,Uncategorized,2021-07-02T12:23:19.206005500 +1062,Tripp-Lite Black 25 Foot SVGA HD15M To HD15M Computer Monitor Cable - P502025,1062,1873,268.43,Uncategorized,2021-10-10T01:40:57.206005500 +1063,Transcend 2GB Micro SD Memory Card - TS2GUSD,1063,37,154.58,Uncategorized,2020-11-12T11:28:54.206005500 +1064,Apple iWork 09 Software Individual Pack For Mac - MB942ZA,1064,900,224.27,Uncategorized,2013-10-22T01:56:43.206005500 +1065,Speck SeeThru Blue Hard Shell Case For 15' MacBook - MB15BLUSEEV2,1065,2147,50.21,Uncategorized,2004-11-25T02:23:16.206005500 +1066,Garmin Nuvi 265T GPS Navigation System - 0100057610,1066,718,220.85,Uncategorized,2021-05-08T05:51:46.206005500 +1067,Samsung Sound Bar Home Theater System - HTX810,1067,1355,99.42,Uncategorized,2006-01-15T02:49:54.206005500 +1068,Panasonic Black High Defintion 60GB Hard Disk Drive/SD Hybrid Camcorder - HDCHS100K,1068,1,1.82,Uncategorized,2007-02-26T13:04:21.206005500 +1069,Sharp 26' Black LCD HDTV With Built In DVD Player - LC26DV24U,1069,1112,92.75,Uncategorized,2009-08-04T12:23:25.206005500 +1070,Yamaha YAS-71 Black Front Surround System - YAS71BK,1070,2213,271.17,Uncategorized,2017-02-13T06:44:24.206005500 +1071,Lasonic ATSC Digital To Analog TV Converter Box - LTA260,1071,2066,43.72,Uncategorized,2009-01-16T03:05:13.206005500 +1072,Sony 7.1 Channel Black A/V Receiver - STRDG720,1072,1843,114.65,Uncategorized,2013-03-17T06:50:56.206005500 +1073,Toshiba 22' Black LCD HDTV - 22AV500U,1073,1204,299.67,Uncategorized,2014-09-14T12:55:14.206005500 +1074,Danby Silhouette 60 Cans Beverage Center - DBC2760BLS,1074,2462,277.25,Uncategorized,2003-12-19T17:57:38.206005500 +1075,Sony Black Cyber-Shot W Series Digital Camera Carrying Case - LCSCSL,1075,2359,213.79,Uncategorized,2004-07-22T12:46:27.206005500 +1076,NetGear ProSafe 24 Port Smart Switch - FS726TP,1076,283,20.71,Uncategorized,2008-06-10T01:53:47.206005500 +1077,LG 30' Black Freestanding Gas Range - LRG30357BK,1077,2389,209.17,Uncategorized,2001-11-01T21:39:14.206005500 +1078,Logitech Cordless Desktop Wave Keyboard And Mouse Combo - 920000264,1078,32,2.53,Uncategorized,2006-06-01T03:27:17.206005500 +1079,Sharp Aquos 37' LCD HDTV In Black - LC37D44U,1079,685,274.91,Uncategorized,2022-04-23T10:06:33.206005500 +1080,Samsung 5 Disc Black Home Theater System - HTZ410T,1080,2224,27.9,Uncategorized,2010-10-10T11:46:58.206005500 +1081,Sony White Cybershot T Series Digital Camera Jacket Case With Stylus - LCJTHCW,1081,1702,315.23,Uncategorized,2020-03-03T07:58:12.206005500 +1082,Polk Audio CSI A4 Cherry Center Channel Loudspeaker - CSIA4CH,1082,2483,256.84,Uncategorized,2014-01-07T18:07:50.206005500 +1083,Yamaha Black Digital Sound Projector - YSP3050BK,1083,1327,128.92,Uncategorized,2004-05-02T03:42:39.206005500 +1084,Speck SeeThru Purple Hard Shell Case For 15' MacBook - MB15PURSEEV2,1084,2385,44.21,Uncategorized,2021-12-24T15:30:33.206005500 +1085,Sony EX Ear Bud Headphones In White - MDREX32LPWHI,1085,636,299.15,Uncategorized,2011-07-16T10:55:30.206005500 +1086,Audiovox XpressR XM Satellite Radio Receiver - XMCK20P,1086,1075,220.92,Uncategorized,2019-02-16T16:04:01.206005500 +1087,Samsung S2 White 1GB Flash MP3 Player - YPS2ZW,1087,703,302.93,Uncategorized,2021-05-15T23:39:58.206005500 +1088,Monster PS3 CV/FO-10 Playstation 3 GameLink Component Video And Fiber Optic Digital Audio AV Kit - PS3CVFO10,1088,2008,66.73,Uncategorized,2018-11-27T01:44:24.206005500 +1089,Belkin Pro Series 16 Ft. USB 2.0 Cable - F3U13316,1089,130,11.18,Uncategorized,2004-03-04T18:27:22.206005500 +1090,Panasonic 5.8GHz Add-On Handset For The KXTG6700B Phone System - Black Finish - KXTGA670B,1090,1689,303.72,Uncategorized,2018-06-24T20:31:30.206005500 +1091,Canon Black BP-808 Camcorder Battery Pack - 2740B002,1091,1660,96.09,Uncategorized,2016-02-27T02:21:09.206005500 +1092,Samsung 7.1-Channel Blu-ray Home Theater System - HTBD2TXAA,1092,2239,44.09,Uncategorized,2008-06-22T19:09:53.206005500 +1093,Sony DVD Recorder In Black - RDRGX360,1093,1686,140.5,Uncategorized,2012-10-10T02:48:14.206005500 +1094,Speck Clear 13' MacBook See Thru Hard Shell Case - MB13CLRSEEV2,1094,1173,57.07,Uncategorized,2014-03-15T18:08:59.206005500 +1095,Samsung 67' Black Widescreen Series 7 LED DLP HDTV - HL67A750,1095,1984,7.27,Uncategorized,2003-02-21T14:35:44.206005500 +1096,Panasonic Black DVD Home Theater Sound System - SCPT660,1096,435,187.52,Uncategorized,2008-05-19T15:11:01.206005500 +1097,Sony 7.1 Channel Black A/V Receiver - STRDG720,1097,1956,3.26,Uncategorized,2022-09-06T05:50:40.206005500 +1098,Onkyo 7.1 Channel Home Theater Black Receiver - TXSR876B,1098,1528,168.91,Uncategorized,2016-09-04T14:49:34.206005500 +1099,Sharp AQUOS 37' Black LCD HDTV - LC37D64U,1099,1131,57.21,Uncategorized,2019-10-06T17:31:05.206005500 +1100,Canon Black BP-808 Camcorder Battery Pack - 2740B002,1100,663,20.5,Uncategorized,2005-04-07T06:35:51.206005500 +1101,Canon VIXIA 60GB High Definition Hard Disc Drive Black Camcorder - HG20,1101,1681,200.37,Uncategorized,2008-12-19T02:32:22.206005500 +1102,Canon CB-2LV Battery Charger - 9764A001,1102,607,25.94,Uncategorized,2002-01-12T03:33:36.206005500 +1103,Sanus WMS3S Silver Weather Resistant Small Speaker Wall Mount - WMS3S,1103,392,200.22,Uncategorized,2000-12-26T18:08:06.206005500 +1104,Kenwood KCA-IP300V iPod Video Direct Cable - KCAIP300V,1104,1298,191.29,Uncategorized,2018-06-17T08:19:52.206005500 +1105,Danby Designer Portable Dishwasher - DDW1805WH,1105,409,38.17,Uncategorized,2021-11-09T15:17:00.206005500 +1106,Sharp Over The Counter White Microwave Oven - R1211WH,1106,2455,194.64,Uncategorized,2016-04-21T18:23:51.206005500 +1107,Nikon CoolPix S550 Blue 10.0 Megapixels Compact Digital Camera - COOLPIXS550CB,1107,2493,9.54,Uncategorized,2018-10-19T09:33:31.206005500 +1108,Nikon COOLPIX P80 Digital Camera In Black - COOLPIXP80,1108,272,95.37,Uncategorized,2005-01-07T11:27:36.206005500 +1109,LG Black Freestanding Electric Range - LRE30757BK,1109,20,85.13,Uncategorized,2002-02-18T00:40:12.206005500 +1110,Apple 1GB Silver iPod Shuffle - MB225LLA,1110,966,0.45,Uncategorized,2016-11-18T16:46:20.206005500 +1111,Weber Genesis E-310 Natural Gas Black Outdoor Grill - 3841001,1111,1985,226.93,Uncategorized,2013-10-23T22:36:59.206005500 +1112,Monster Mini-To-Mini iCable For Car - AICMINIIP3S,1112,783,247.29,Uncategorized,2015-03-24T00:39:34.206005500 +1113,Microsoft Office 2008 For Mac Home And Student Edition - GZA00006,1113,1807,85.32,Uncategorized,2010-03-21T09:16:17.206005500 +1114,Sony SLV-D380P Black DVD VHS Combo Player - SLVD380P,1114,518,209.78,Uncategorized,2004-10-14T00:55:52.206005500 +1115,Speck SeeThru Purple Hard Shell Case For 15' MacBook - MB15PURSEEV2,1115,1532,83.86,Uncategorized,2008-06-04T17:55:41.206005500 +1116,Olympus Silver 8 Megapixel Digital Camera - FE370S,1116,244,155.33,Uncategorized,2016-05-05T03:33:14.206005500 +1117,Panasonic DECT 6.0 Silver Expandable Digital Cordless Phone System - KXTG9332S,1117,1805,308.07,Uncategorized,2019-03-10T09:48:31.206005500 +1118,Yamaha Silver USB Powered Stereo Speaker - NXU10SIL,1118,208,11.46,Uncategorized,2003-07-04T02:01:47.206005500 +1119,Panasonic VIERA 50' 1080p Plasma HDTV In Black - TH50PZ850U,1119,2427,193.87,Uncategorized,2009-07-05T03:05:21.206005500 +1120,Canon DVD Camcorder - DC310,1120,2003,310.57,Uncategorized,2012-09-22T03:08:44.206005500 +1121,Mosquito Magnet Defender Replacement Net - MM4000NET1,1121,36,159.01,Uncategorized,2009-04-18T16:54:01.206005500 +1122,Canon Pink 8.0 Megapixel PowerShot Digital Camera - SD1100ISP,1122,357,268.33,Uncategorized,2000-05-18T19:00:05.206005500 +1123,Canon PIXMA Black Photo Printer - IP4600,1123,1132,8.1,Uncategorized,2004-10-16T20:36:29.206005500 +1124,Sanus Center Channel Speaker Mount - Black Finish - VMCC1B,1124,619,27.03,Uncategorized,2019-05-17T18:00:06.206005500 +1125,LG LFX25971SB 24.7 Cu. Ft. Smooth Black French Door Bottom Freezer Refrigerator - LFX25971BK,1125,946,165.9,Uncategorized,2007-11-08T20:30:48.206005500 +1126,Peerless Flat Panel Display Mount Black Finish - SGLB01,1126,208,269.56,Uncategorized,2019-04-05T14:06:33.206005500 +1127,LaCie Little Disk 320GB Black Portable Hard Drive - 301829,1127,444,289.14,Uncategorized,2003-08-10T13:49:33.206005500 +1128,Sony LCS-TWA/R Red Soft Leather Carrying Case - LCSTWAR,1128,1131,72.04,Uncategorized,2005-09-20T22:11:49.206005500 +1129,Samsung 46' Series 7 LCD Black Flat Panel HDTV - LN46A750,1129,2031,181.38,Uncategorized,2000-06-24T15:46:44.206005500 +1130,Yamaha NS-AW390BL All-Weather Pair Speaker System - NSAW390BK,1130,1674,282.1,Uncategorized,2008-02-26T02:29:52.206005500 +1131,Logitech Blue V470 Cordless Laser Mouse For Notebooks - 910000298,1131,1719,250.38,Uncategorized,2020-03-16T08:09:13.206005500 +1132,Canon High Capacity Color Ink Cartridge - Color Ink - CL51,1132,166,185.03,Uncategorized,2020-02-11T16:57:44.206005500 +1133,Kensington Combosaver Ultra Combination Notebook Lock - K64516US - K64516US,1133,889,243.66,Uncategorized,2017-07-10T12:12:25.206005500 +1134,Toshiba Black 15' LCD Flat Panel HDTV/DVD Combo - 15LV505,1134,810,80.91,Uncategorized,2014-10-13T05:29:43.206005500 +1135,Denon 7.1 Channel Home Theater MultiMedia A/V Receiver With Networking And WiFi - AVR4308CI,1135,1588,143.77,Uncategorized,2004-03-06T06:35:57.206005500 +1136,Toshiba Black 9-Inch LCD Widescreen Portable DVD Player - SDP91S,1136,920,96.43,Uncategorized,2015-09-14T20:47:58.206005500 +1137,Panasonic Silver Rice Cooker/Warmer - SRTMB10,1137,1249,214.15,Uncategorized,2003-02-22T19:07:35.206005500 +1138,TomTom ONE 130S Car GPS Navigation System - 1EE005202,1138,1859,185.83,Uncategorized,2005-08-16T08:45:15.206005500 +1139,Pioneer USB iPod Interface Cable - CDIU230V,1139,1821,253.9,Uncategorized,2001-01-09T00:26:16.206005500 +1140,Whirlpool Cabrio White Top Loading Washer - WTW6700TWH,1140,2001,42.93,Uncategorized,2019-02-23T09:09:31.206005500 +1141,Weber Gas Barbecue Rotisserie - 7519,1141,1628,45.5,Uncategorized,2018-03-20T02:17:01.206005500 +1142,Apple 8GB Pink 4th Generation iPod Nano - MB735LLA,1142,304,244.66,Uncategorized,2018-05-21T20:15:32.206005500 +1143,Frigidaire 27' Electric Stack Washer Dryer Combo - FEX831WH,1143,421,200.02,Uncategorized,2020-05-07T17:41:10.206005500 +1144,Nikon Pink 10 Megapixel COOLPIX Digital Camera - COOLPIXS60PNK,1144,565,215.85,Uncategorized,2003-05-17T10:09:41.206005500 +1145,Peerless Black Flat Panel TV Stand - SS550PBK,1145,810,75.88,Uncategorized,2017-11-04T06:56:58.206005500 +1146,Linksys Wireless-G PrintServer - WPSM54G,1146,2254,307.09,Uncategorized,2000-05-17T05:25:27.206005500 +1147,Panasonic NNSD797S Stainless Steel Countertop Microwave Oven - NNSD797SS,1147,901,317.28,Uncategorized,2005-12-03T19:19:40.206005500 +1148,Canon PIXMA Multifunction Printer - MX310,1148,181,53.93,Uncategorized,2001-05-05T13:59:39.206005500 +1149,Whirlpool Cabrio Diamond Dust Top Loading Washer - WTW6700TU,1149,53,253.83,Uncategorized,2013-12-22T09:40:05.206005500 +1150,Sanus SC1A Black VisionMount Series Ceiling Mount For Small LCD Flat Panels - SC1AB,1150,795,84.63,Uncategorized,2016-10-18T05:21:45.206005500 +1151,Griffin iPhone SmartTalk - 3016SMRTLKB,1151,508,171.56,Uncategorized,2013-10-10T00:12:10.206005500 +1152,Sony Stereo Audio Receiver - STRDE197,1152,2421,94.31,Uncategorized,2006-11-13T03:27:17.206005500 +1153,Jabra Black Bluetooth Headset - BT5010,1153,2390,310.92,Uncategorized,2020-11-09T12:08:23.206005500 +1154,Sony Compact Disc Player/Recorder - RCDW500C,1154,667,302.61,Uncategorized,2013-06-19T19:05:36.206005500 +1155,Sony VAIO LV Series Silver All-In-One Desktop Computer - VGCLV150J,1155,874,239,Uncategorized,2016-08-16T19:01:43.206005500 +1156,Denon 7.1 Channel Home Theater MultiMedia A/V Receiver With Networking In Black - AVR3808CI,1156,211,83.88,Uncategorized,2010-09-17T09:20:17.206005500 +1157,Coby 7' Black Widescreen TFT Portable DVD CD MP3 Player - TFDVD7006,1157,1315,114.31,Uncategorized,2015-06-23T16:57:42.206005500 +1158,LG 32' Black LCD Flat Panel HDTV With Built In DVD Player - 32LG40,1158,1246,256.39,Uncategorized,2005-08-24T20:24:36.206005500 +1159,Sony Black Handycam Camcorder Soft Carrying Case - LCSX20,1159,414,166.03,Uncategorized,2013-04-07T15:58:22.206005500 +1160,Panasonic DECT 6.0 Expandable Digital Cordless Phone With All-Digital Answering System - KXTG9344T,1160,1746,324.64,Uncategorized,2001-12-07T05:30:49.206005500 +1161,Microsoft Office 2008 For Mac Home And Student Edition - GZA00006,1161,592,250.24,Uncategorized,2009-06-25T09:15:56.206005500 +1162,Griffin iPhone 3G Black Elan Form Hard-Shell Leather Case - 8223IP2EFRMB,1162,297,265.48,Uncategorized,2019-11-24T17:00:47.206005500 +1163,Linksys EtherFast4116 16-Port 10/100 Ethernet Switch - EF4116,1163,171,296.62,Uncategorized,2001-11-21T15:58:52.206005500 +1164,Sony Stereo Audio Receiver - STRDE197,1164,1862,283,Uncategorized,2001-06-05T04:37:02.206005500 +1165,Canon PowerShot Black 14.7 Megapixel Digital Camera - G10,1165,668,104.63,Uncategorized,2020-07-21T19:53:40.206005500 +1166,LG 30' Stainless Steel Freestanding Gas Range - LRG30357SS,1166,1307,188.47,Uncategorized,2022-09-08T03:40:17.206005500 +1167,Nikon CoolPix S550 Blue 10.0 Megapixels Compact Digital Camera - COOLPIXS550CB,1167,1536,210.11,Uncategorized,2000-07-04T23:23:53.206005500 +1168,TomTom GPS Mount And USB Car Charger - 9N00101,1168,1080,125.82,Uncategorized,2015-09-07T11:27:49.206005500 +1169,Denon Progressive Scan Universal DVD Player - DVD2930CI,1169,2266,45.3,Uncategorized,2021-02-12T09:12:17.206005500 +1170,Canon Black Leather Case - 3528B001,1170,1241,71.07,Uncategorized,2009-06-18T03:47:43.206005500 +1171,Panasonic VIERA 50' Plasma Flat Panel Black HDTV - TH50PZ800U,1171,1303,300.88,Uncategorized,2010-07-05T09:57:25.206005500 +1172,Tivo Wireless Adapter - AG0100,1172,1717,196.28,Uncategorized,2020-08-19T19:12:52.206005500 +1173,Sony PlayStation 2 8MB Memory Card (2 Pack) - Red/Blue Finish - 711719706700,1173,793,56.77,Uncategorized,2018-06-18T11:03:41.206005500 +1174,LG WM2016CW 3.6 Cu Ft White Front Load Washer - WM2016CWH,1174,133,316.04,Uncategorized,2022-03-24T06:09:32.206005500 +1175,Canon PowerShot Black 14.7 Megapixel Digital Camera - SD990ISB,1175,416,143.37,Uncategorized,2000-04-04T19:48:04.206005500 +1176,Lowepro SlingShot 200 AW Digital Camera Back Pack - SLINGSHOT200AW,1176,1747,160.2,Uncategorized,2019-03-11T09:01:32.206005500 +1177,Twenty20 VholdR Mount Adhesive - 2200MA,1177,495,121.54,Uncategorized,2017-06-17T22:45:59.206005500 +1178,Motorola Portable Bluetooth Car Kit Speaker Phone - T305,1178,2074,238.47,Uncategorized,2007-12-02T09:06:00.206005500 +1179,Canon PIXMA Photo All-In-One Printer - MP620,1179,798,1.41,Uncategorized,2013-01-11T09:16:43.206005500 +1180,Frigidaire Electric Dryer - FEQ1442WH,1180,691,44.74,Uncategorized,2008-08-13T13:00:24.206005500 +1181,Sony Black DVDirect MC5 Multi-Function DVD Recorder - VRDMC5,1181,1568,269.3,Uncategorized,2008-09-06T09:34:00.206005500 +1182,Yamaha Black Digital Sound Projector - YSP3050BK,1182,24,259.4,Uncategorized,2018-07-15T00:05:13.206005500 +1183,Apple 8GB Black 2nd Generation iPod Touch - MB528LLA,1183,566,208.26,Uncategorized,2007-09-10T22:39:20.206005500 +1184,Panasonic SR-NA18 White Deluxe Fuzzy Logic Rice Cooker - SRNA18,1184,1701,312.74,Uncategorized,2010-02-24T19:21:48.206005500 +1185,Apple 8GB Silver 4th Generation iPod Nano - MB598LLA,1185,1215,17.41,Uncategorized,2003-07-04T22:54:18.206005500 +1186,Sony DVP-FX820 Red 8' Portable DVD Player - DVPFX820R,1186,2047,47.62,Uncategorized,2008-11-18T20:30:24.206005500 +1187,Logitech MX Air Rechargeable Cordless Air Mouse - 931633,1187,1115,188.87,Uncategorized,2016-11-02T08:23:59.206005500 +1188,Linksys Wireless-G PrintServer - WPSM54G,1188,2449,245.44,Uncategorized,2000-11-18T08:28:18.206005500 +1189,Canon Deluxe Soft Black Camera Case - 0716B001,1189,585,39.25,Uncategorized,2006-03-19T23:23:39.206005500 +1190,Peerless 23' - 46' Universal Flat Panel TV Black Wall Mount - SF640P,1190,2001,156.51,Uncategorized,2005-01-11T12:32:00.206005500 +1191,Apple USB Modem - White Finish - MA034ZA,1191,744,42.82,Uncategorized,2022-02-05T12:10:19.206005500 +1192,Weber Cast Iron Griddle - 7542,1192,1642,296.44,Uncategorized,2002-05-02T22:01:09.206005500 +1193,Panasonic Network Camera - White Finish - BLC1A,1193,1827,213.45,Uncategorized,2017-10-05T18:58:00.206005500 +1194,Panasonic DECT 6.0 Silver Expandable Digital Cordless Phone System - KXTG9332S,1194,61,121.04,Uncategorized,2014-06-13T12:16:28.206005500 +1195,Bose In-Ear Black Headphones - BOSEIE,1195,2431,233.46,Uncategorized,2015-11-06T22:48:53.206005500 +1196,Canon Magenta Photo Ink Cartridge - Magenta - CLI8PM,1196,1892,153.23,Uncategorized,2013-03-03T02:16:40.206005500 +1197,Samsung 40' Series 6 LCD Black Flat Panel HDTV - LN40A650,1197,33,167.03,Uncategorized,2002-11-08T07:21:21.206005500 +1198,Skagen Premium Steel Slimline Mesh Womens Watch - 233XSGG,1198,2185,234.15,Uncategorized,2012-05-02T21:34:09.206005500 +1199,Unreal Tournament III Video Game For The Sony PS3 - UNREALPS3,1199,1398,7.98,Uncategorized,2021-04-24T12:48:31.206005500 +1200,Denon 7.1 Channel Home Theater MultiMedia A/V Receiver With Networking And WiFi - AVR4308CI,1200,2481,134.91,Uncategorized,2020-09-18T20:59:10.206005500 +1201,Sirius STILETTO 2 Home Docking Kit - SLH2,1201,734,70.26,Uncategorized,2022-03-15T08:56:36.206005500 +1202,LG WDP3N 14' Tall Navy Blue Pedestal With Drawer - WDP3BL,1202,1926,295.23,Uncategorized,2018-11-15T12:29:31.206005500 +1203,Fellowes MicroShred Shredder - MS450CS,1203,168,251.98,Uncategorized,2020-02-08T04:09:40.206005500 +1204,Olympus Digital Camera Neoprene Soft Case - Black With Grey Finish - 202066,1204,1312,284.14,Uncategorized,2013-03-24T17:28:04.206005500 +1205,Sony Xplod 10-Disc Add-On CD/MP3 Changer - CDX565MXRF,1205,1214,259.49,Uncategorized,2006-11-14T17:40:12.206005500 +1206,Sony High Definition HDV Handycam Camcorder - HDRHC9,1206,2450,256.28,Uncategorized,2016-04-03T07:00:06.206005500 +1207,Nikon Black 13.5 Megapixel COOLPIX Digital Camera - COOLPIXP6000BK,1207,1939,262.18,Uncategorized,2000-01-23T05:46:49.206005500 +1208,LG 32' Black LCD Flat Panel HDTV With Built In DVD Player - 32LG40,1208,2338,194.35,Uncategorized,2009-06-24T21:43:10.206005500 +1209,Bracketron Nav-Mat Portable GPS Dash Mount - UFM100BL,1209,2453,67.19,Uncategorized,2003-11-27T02:23:21.206005500 +1210,Sony PlayStation 2 DUALSHOCK 2 Analog Controller - Emerald Finish - 711719706205,1210,655,318.24,Uncategorized,2017-03-04T20:56:04.206005500 +1211,LG WM2455HG 4.2 Cu Ft Pearl Gray Front Load Washer - WM2455G,1211,319,39.05,Uncategorized,2006-05-21T11:28:55.206005500 +1212,Sony Black Handycam Camcorder Soft Carrying Case - LCSX20,1212,1986,156,Uncategorized,2010-07-09T03:35:37.206005500 +1213,Sony Silver 1080p Upscaling 5-Disc DVD Player - DVPNC800HS,1213,962,6.1,Uncategorized,2022-10-22T18:38:48.206005500 +1214,Samsung Hi Definition Conversion DVD Player - DVD1080P8,1214,2222,160.16,Uncategorized,2020-05-06T11:23:28.206005500 +1215,Sharp Over The Counter Microwave Oven - R1214SS,1215,2070,204.52,Uncategorized,2019-05-05T06:11:47.206005500 +1216,Sony VAIO CS Series Red Notebook Computer - VGNCS110ER,1216,846,109.63,Uncategorized,2008-10-07T17:12:28.206005500 +1217,LG Laundry Remote Monitor - RLM20K,1217,2040,149.9,Uncategorized,2018-07-10T13:39:32.206005500 +1218,Yamaha High Performance Subwoofer In Black - YSTFSW150BK,1218,2450,96.71,Uncategorized,2012-02-11T06:32:46.206005500 +1219,Sony Black Speaker Dock And Clock Radio For iPod And iPhone - ICFC1IPMK2BLK,1219,1241,5.31,Uncategorized,2009-04-05T03:32:38.206005500 +1220,Garmin Nuvi Portable Friction Mount - 0101090800,1220,1022,266.02,Uncategorized,2018-05-20T14:05:42.206005500 +1221,Tech Craft Veneto Series Black TV Stand - ABS60BK,1221,1400,168.34,Uncategorized,2010-10-22T08:38:14.206005500 +1222,Speck SeeThru Aqua Hard Shell Case For 13' MacBook - MB13AQUSEEV2,1222,1518,242,Uncategorized,2011-05-06T15:24:29.206005500 +1223,Sony Silver Cyber-Shot 7.2 Megapixel Digital Camera - DSCW120,1223,557,252.7,Uncategorized,2004-04-11T20:53:31.206005500 +1224,Onkyo 7.1-Channel Black Home Theater Receiver - TXSR506B,1224,2473,208.96,Uncategorized,2020-09-13T15:19:55.206005500 +1225,Sony Progressive Scan Silver DVD Player - DVPNS57PS,1225,1159,84.84,Uncategorized,2015-04-07T03:34:45.206005500 +1226,Panasonic 27' Stainless Steel Microwave Trim Kit - TK903SS,1226,2421,147.75,Uncategorized,2018-05-03T18:15:59.206005500 +1227,Pioneer Black Premier Single CD Receiver - DEHP700BT,1227,2444,190.56,Uncategorized,2012-10-23T05:17:42.206005500 +1228,Mitsubishi 835 Diamond Series 65' 1080p DLP Rear Projection HDTV - WD65835,1228,2038,13.38,Uncategorized,2006-10-10T02:29:07.206005500 +1229,Mosquito Magnet Defender Replacement Net - MM4000NET1,1229,621,5.67,Uncategorized,2005-03-13T15:08:55.206005500 +1230,Sony MiniDV Cleaning Cassette - DVM12CLD,1230,1745,236.58,Uncategorized,2015-03-21T11:31:09.206005500 +1231,Samsung 22' Black Flat Panel LCD HDTV - LN22A450,1231,1449,57.45,Uncategorized,2004-05-22T07:18:42.206005500 +1232,Canon Color Image Silver Scanner - 8800F,1232,1697,194.18,Uncategorized,2010-09-08T17:33:55.206005500 +1233,Weber 3758301 Blue Genesis EP-320 LP Gas Grill - 3758301,1233,434,182.54,Uncategorized,2020-01-02T01:52:18.206005500 +1234,Sharp AQUOS Black Blu-ray Disc Player - BDHP50U,1234,1261,289.43,Uncategorized,2020-10-06T10:31:19.206005500 +1235,Apple 8GB Green 4th Generation iPod Nano - MB745LLA,1235,731,300.9,Uncategorized,2009-02-25T02:16:41.206005500 +1236,Transcend 2.5' SATA Solid State Disk - TS128GSSD25SM,1236,466,86.43,Uncategorized,2006-11-18T18:16:54.206005500 +1237,Speck SeeThru Aqua Hard Shell Case For 20' iMac - IM20AQUSEE,1237,2248,312.95,Uncategorized,2002-10-18T23:34:30.206005500 +1238,Kenwood Sirius Radio Translator For In-Dash Head Units - KCASR50,1238,1927,240.17,Uncategorized,2022-01-22T06:32:32.206005500 +1239,Nikon D300 Digital SLR Digital Camera - D300BODY,1239,1037,34.61,Uncategorized,2004-04-23T05:52:50.206005500 +1240,Sony 46' BRAVIA XBR Series Black LCD Flat Panel HDTV - KDL46XBR6,1240,945,319.66,Uncategorized,2019-08-06T05:22:47.206005500 +1241,Canon Yellow Ink Cartridge - Yellow - CLI8Y,1241,1210,95.63,Uncategorized,2005-12-24T18:31:58.206005500 +1242,Sony 46' BRAVIA XBR Series Black LCD Flat Panel HDTV - KDL46XBR6,1242,2464,174.62,Uncategorized,2003-04-15T07:37:25.206005500 +1243,OmniMount G-303 Gray Stellar Series Audio Tower - G303GR,1243,2185,114.44,Uncategorized,2022-10-25T17:04:39.206005500 +1244,Logitech Harmony 890 Advanced Universal Remote Control - H890,1244,994,139.47,Uncategorized,2013-09-18T23:56:15.206005500 +1245,LaCie Little Disk 320GB Black Portable Hard Drive - 301829,1245,2163,272.92,Uncategorized,2022-11-03T03:48:13.206005500 +1246,Canon Easy Photo Pack - 1335B001,1246,1090,199.8,Uncategorized,2012-01-08T07:21:21.206005500 +1247,D-Link Broadband Cable Modem - DCM202,1247,299,316.89,Uncategorized,2020-09-06T14:08:21.206005500 +1248,Belkin Leather Folio For 2G iPod Touch - F8Z373,1248,926,154.5,Uncategorized,2003-09-12T06:45:45.206005500 +1249,LG 5.6 Cu. Ft. White Freestanding Electric Range - LRE30453WH,1249,1629,279.35,Uncategorized,2015-09-23T10:35:59.206005500 +1250,Sony VAIO Black USB Docking Station - VGPUPR1,1250,1120,29.48,Uncategorized,2006-04-09T02:13:29.206005500 +1251,Sony 46' BRAVIA Z Series Black LCD Flat Panel HDTV - KDL46Z4100B,1251,339,255.76,Uncategorized,2019-10-11T21:10:56.206005500 +1252,Alpine CD/MP3/WMA/AAC Receiver - CDA9887,1252,799,278.83,Uncategorized,2021-02-27T05:54:04.206005500 +1253,Apple 32GB Black 2nd Generation iPod Touch - MB533LLA,1253,1523,247.87,Uncategorized,2016-07-22T04:42:25.206005500 +1254,LG DLEX8377NM Navy Blue XL Capacity Electric SteamDryer - DLEX8377BLUE,1254,1792,262.71,Uncategorized,2007-01-09T04:42:43.206005500 +1255,Canon Silver Flash Memory Camcorder - FS100S,1255,2290,74.17,Uncategorized,2015-11-09T07:55:07.206005500 +1256,Sharp AQUOS 52' D85U Series Black LCD Flat Panel HDTV - LC52D85U,1256,2033,171.08,Uncategorized,2016-11-27T17:33:01.206005500 +1257,LG DLEX8377NM Navy Blue XL Capacity Electric SteamDryer - DLEX8377BLUE,1257,517,216.18,Uncategorized,2013-05-17T03:43:57.206005500 +1258,Yamaha Black Digital Sound Projector - YSP3050BK,1258,1553,286.15,Uncategorized,2004-01-22T03:03:08.206005500 +1259,Canon PIXMA Photo All-In-One Printer - MP480,1259,545,62.1,Uncategorized,2006-05-22T04:54:24.206005500 +1260,Panasonic VIERA 42' Plasma Flat Panel HDTV In Black - TH42PX80U,1260,1069,132.35,Uncategorized,2000-05-22T03:57:46.206005500 +1261,Sony Cyber-Shot Black Digital Camera - DSCH10B,1261,2224,24.78,Uncategorized,2003-03-11T20:24:01.206005500 +1262,Panasonic 2-Line Integrated Phone System - White Finish - KXTS3282W,1262,426,19.84,Uncategorized,2010-08-03T22:03:55.206005500 +1263,Transcend 2.5' SATA Solid State Disk - TS128GSSD25SM,1263,1438,151.55,Uncategorized,2010-11-13T07:40:43.206005500 +1264,Speck SeeThru Black Hard Shell Case For 13' MacBook - MB13BLKSEEV2,1264,95,261.47,Uncategorized,2004-02-07T00:24:34.206005500 +1265,LG 42' Glossy Piano Black LCD Flat Panel HDTV - 42LG30,1265,1382,285.9,Uncategorized,2003-08-05T20:59:06.206005500 +1266,Panasonic Black 1080p Up-Conversion DVD Recorder And VHS Combo Player - DMREZ48VK,1266,2351,109.44,Uncategorized,2014-05-22T06:06:46.206005500 +1267,Sanus WMS3B Black Weather Resistant Small Speaker Wall Mount - WMS3B,1267,540,78.1,Uncategorized,2005-12-05T17:44:21.206005500 +1268,Samsung S2 White 1GB Flash MP3 Player - YPS2ZW,1268,2003,89.63,Uncategorized,2019-01-22T23:37:38.206005500 +1269,Denon 7.1 Channel AV Receiver With Network Client Compatible D-Dock Port In Black - AVR2809CI,1269,335,50.51,Uncategorized,2001-11-04T19:49:31.206005500 +1270,Panasonic Expandable Digital Cordless DECT 6.0 Handset In Silver - KXTGA101S,1270,107,247.95,Uncategorized,2007-10-19T19:05:07.206005500 +1271,Sony Silver Cyber-Shot 7.2 Megapixel Digital Camera - DSCW120,1271,1266,177.86,Uncategorized,2001-10-14T13:15:07.206005500 +1272,Garmin Streetpilot C Series Vehicle Suction Mount - Black Finish - 0101060900,1272,1507,97.16,Uncategorized,2012-04-10T18:42:11.206005500 +1273,Cuisinart Automatic Brew And Serve Coffeemaker - DTC975BK,1273,1096,72.21,Uncategorized,2005-04-17T13:40:11.206005500 +1274,Cuisinart Automatic Brew And Serve Coffeemaker - DTC975BK,1274,2458,60.51,Uncategorized,2005-09-22T01:55:23.206005500 +1275,Alpine CD/MP3/WMA/AAC Receiver - CDA9887,1275,1579,3.98,Uncategorized,2012-05-27T19:20:08.206005500 +1276,Linksys Gigabit 5-Port Workgroup Switch - EG005W,1276,823,125.78,Uncategorized,2001-06-18T16:21:17.206005500 +1277,Samsung 52' Series 7 Black Flat Panel LCD HDTV - LN52A750,1277,2254,86.5,Uncategorized,2005-08-08T13:33:44.206005500 +1278,Yamaha High Performance Subwoofer In Black - YSTFSW150BK,1278,771,268.95,Uncategorized,2000-11-20T19:30:50.206005500 +1279,Canon PIXMA Photo All-In-One Printer - MP620,1279,809,302.59,Uncategorized,2012-06-01T16:54:03.206005500 +1280,Case-Mate Carbon Fiber Black Leather Case For iPhone 3G - IPH3GCBCF,1280,1644,21.19,Uncategorized,2017-05-27T17:31:20.206005500 +1281,Pioneer KURO 50' Black Plasma HDTV - PDP5020FD,1281,1018,314.65,Uncategorized,2002-04-05T12:55:45.206005500 +1282,LG Over-The-Range Black Microwave Oven - LMV1680BK,1282,824,50.18,Uncategorized,2003-09-04T23:02:24.206005500 +1283,Sony VAIO CS Series Pink Notebook Computer - VGNCS180JP,1283,1382,289.1,Uncategorized,2002-06-01T12:54:04.206005500 +1284,Nikon COOLPIX Leather Camera Case In Black - 5811,1284,594,140.59,Uncategorized,2016-11-13T19:36:40.206005500 +1285,Logitech MX Air Rechargeable Cordless Air Mouse - 931633,1285,1340,198.27,Uncategorized,2005-11-07T10:13:51.206005500 +1286,Tech Craft Avalon Series TV Stand - SWP48,1286,1685,101.58,Uncategorized,2006-05-27T03:32:58.206005500 +1287,Griffin 4046-TRPAUTOC iTrip AutoPilot - 4046TRPAUTOC,1287,1154,24.74,Uncategorized,2001-10-18T21:15:39.206005500 +1288,Audiovox Xpress XM Satellite Radio Receiver Home Kit - XMH10A,1288,677,179.03,Uncategorized,2012-07-16T03:26:10.206005500 +1289,Canon Black 21.1 Megapixel EOS Digital SLR Camera Body - EOS5DMARKIIBODY,1289,565,314.1,Uncategorized,2001-09-21T03:42:30.206005500 +1290,Toshiba 22' Black LCD HDTV - 22AV500U,1290,1231,118.42,Uncategorized,2011-10-05T16:50:15.206005500 +1291,Sanus WMS3B Black Weather Resistant Small Speaker Wall Mount - WMS3B,1291,1230,162.06,Uncategorized,2004-11-02T11:07:50.206005500 +1292,LG WM2233W 4.0 Cu Ft White Front Load Washer - WM2233WH,1292,1970,174.84,Uncategorized,2002-03-16T07:24:05.206005500 +1293,Apple 120GB Silver 7th Generation iPod Classic - MB562LLA,1293,1182,147.33,Uncategorized,2004-03-13T05:19:41.206005500 +1294,Sony MDR-NC22/BLK Black Noise Canceling Headphones - MDRNC22,1294,5,196.49,Uncategorized,2021-02-21T05:26:04.206005500 +1295,LG Over-The-Range Stainless Steel Microwave Oven - LMV1680SS,1295,496,11.66,Uncategorized,2003-01-15T12:04:26.206005500 +1296,Altec Lansing Orbit-MP3 Portable Audio System - IM207,1296,2143,181.98,Uncategorized,2007-11-27T18:42:47.206005500 +1297,Weber Premium Black Grill Cover - 7550,1297,98,294.36,Uncategorized,2014-01-01T16:33:39.206005500 +1298,LG 5.6 Cu. Ft. White Freestanding Electric Range - LRE30453WH,1298,128,107.97,Uncategorized,2012-06-22T22:56:06.206005500 +1299,LG WDP3N 14' Tall Navy Blue Pedestal With Drawer - WDP3BL,1299,1840,289.28,Uncategorized,2010-04-10T03:34:28.206005500 +1300,Sony Black Camcorder Tripod - VCT80AV,1300,1267,176.05,Uncategorized,2010-04-08T08:58:48.206005500 +1301,Sony High Definition HDV Handycam Camcorder - HDRHC9,1301,2035,134.96,Uncategorized,2019-11-25T22:40:48.206005500 +1302,Logitech Harmony RF Wireless Extender - RFEXT,1302,942,65.3,Uncategorized,2014-07-08T06:28:35.206005500 +1303,Toshiba 26' Black LCD HDTV - 26AV502U,1303,298,26.73,Uncategorized,2004-07-23T03:46:11.206005500 +1304,LG LFC25770ST 25.0 Cu. Ft. Stainless Steel French Door Bottom Freezer Refrigerator - LFC25770SS,1304,530,285.98,Uncategorized,2012-02-17T12:45:55.206005500 +1305,Denon 7.1 Channel AV Receiver With Network Client Compatible D-Dock Port In Black - AVR2809CI,1305,1876,200.22,Uncategorized,2022-07-24T20:50:45.206005500 +1306,Fellowes MicroShred Shredder - MS450CS,1306,1884,198.06,Uncategorized,2014-08-20T10:52:28.206005500 +1307,Toshiba Rechargeable 5-Hour Battery Pack - MEDB05LX,1307,882,231.59,Uncategorized,2007-09-20T01:11:54.206005500 +1308,Altec Lansing Orbit-MP3 Portable Audio System - IM207,1308,1565,296.79,Uncategorized,2011-07-21T16:51:23.206005500 +1309,Denon Networked Audio System With Built-In iPod Dock - S32,1309,940,276.04,Uncategorized,2012-05-23T00:32:31.206005500 +1310,Weber Genesis E-310 Liquid Propane Black Outdoor Grill - 3741001,1310,2282,63.69,Uncategorized,2004-11-21T07:33:09.206005500 +1311,Canon PowerShot Silver Digital Camera - SX110IS,1311,2468,174.81,Uncategorized,2018-04-08T18:13:00.206005500 +1312,Canon 580EXII Speedlite In Black - 1946B002,1312,2500,153.93,Uncategorized,2010-05-12T12:31:16.206005500 +1313,LG 30' White Freestanding Gas Range - LRG30357WH,1313,1943,174.91,Uncategorized,2004-08-22T20:26:33.206005500 +1314,Peerless Flat Panel Display Mount Black Finish - SGLB01,1314,87,4.64,Uncategorized,2009-01-06T21:00:54.206005500 +1315,Peerless 42' - 71' Articulating Flat Panel TV Silver Dual Wall Arm Mount - PLAV70UNLPS,1315,348,201.73,Uncategorized,2009-03-26T18:52:43.206005500 +1316,Transcend 4GB Secure Digital High-Capacity (SDHC) Class 6 Memory Card - TS4GSDHC6,1316,1477,86.9,Uncategorized,2009-10-20T17:55:35.206005500 +1317,Nikon CoolPix S550 10 Megapixel Black Digital Camera - COOLPIXS550GB,1317,1353,114,Uncategorized,2001-08-11T03:25:48.206005500 +1318,Garmin Vehicle Suction Cup Mount - 0101093600,1318,505,102.4,Uncategorized,2001-12-12T13:32:25.206005500 +1319,LG LFC25770SW 25.0 Cu. Ft. Smooth White French Door Bottom Freezer Refrigerator - LFC25770WH,1319,1209,222.58,Uncategorized,2017-03-17T06:14:06.206005500 +1320,Panasonic KX-TGA820B Black DECT 6.0 Cordless Handset - KXTGA820B,1320,1324,116.43,Uncategorized,2009-06-05T23:08:51.206005500 +1321,Contour Design Showcase Premium Protection Case For 80 GB iPod Classic - SHCLS80B02,1321,971,95.49,Uncategorized,2006-01-04T11:30:14.206005500 +1322,Tripp-Lite PV375 PowerVerter 375-Watt Ultra-Compact Inverter - PV375,1322,176,179.04,Uncategorized,2014-04-14T16:38:03.206005500 +1323,Weber Cast Iron Griddle - 7542,1323,1728,241.26,Uncategorized,2001-05-10T19:39:40.206005500 +1324,Linksys Compact Wireless-G USB Adapter - WUSB54GC,1324,2208,184.45,Uncategorized,2013-04-07T04:37:05.206005500 +1325,Speck Green 13' MacBook See Thru Hard Shell Case - MB13GRNSEEV2,1325,27,142.68,Uncategorized,2005-07-11T11:40:02.206005500 +1326,Maytag Over-The-Range Microwave Oven - MMV5207BK,1326,1006,201.5,Uncategorized,2020-01-22T17:40:24.206005500 +1327,Apple iWork 09 Software Individual Pack For Mac - MB942ZA,1327,263,270.49,Uncategorized,2011-04-23T15:04:58.206005500 +1328,LG 47' Black LCD Flat Panel HDTV - 47LG50,1328,409,15.94,Uncategorized,2014-12-12T23:32:28.206005500 +1329,Logitech Harmony 1000 Silver Touch Screen Remote Control - H1000,1329,1569,132.13,Uncategorized,2007-06-13T13:11:55.206005500 +1330,Canon PIXMA Photo All-In-One Printer - MP480,1330,1707,279.34,Uncategorized,2004-02-21T12:34:53.206005500 +1331,Linksys EtherFast10/100 5-Port Auto-Sensing Switch - EZXS55W,1331,498,93.87,Uncategorized,2022-01-12T14:54:09.206005500 +1332,Kenwood KCA-IP200 Black iPod Direct Cable - KCAIP200,1332,2282,279.23,Uncategorized,2000-09-13T21:28:53.206005500 +1333,Canon PGI-5BK Black Ink Tank Cartridge - PGI5BK,1333,1259,92.47,Uncategorized,2001-12-07T23:47:11.206005500 +1334,Apple 120GB Black 7th Generation iPod Classic - MB565LLA,1334,794,266.39,Uncategorized,2004-07-02T08:19:16.206005500 +1335,Pioneer Black Premier Single CD Receiver - DEHP700BT,1335,814,155.06,Uncategorized,2009-10-27T09:24:11.206005500 +1336,Bose Second Zone Remote - PMC2,1336,653,221.89,Uncategorized,2013-03-24T11:36:23.206005500 +1337,Panasonic Black 1080p Up-Conversion DVD Recorder And VHS Combo Player - DMREZ48VK,1337,353,37.81,Uncategorized,2005-05-26T14:02:18.206005500 +1338,LG WM2016CW 3.6 Cu Ft White Front Load Washer - WM2016CWH,1338,247,123.36,Uncategorized,2016-07-13T18:26:30.206005500 +1339,GE Pre-Amplifier For Stereo Turntable - AV23292,1339,1364,102.64,Uncategorized,2017-11-02T12:27:16.206005500 +1340,Danby Twin Tub Washer - DTT420WH,1340,28,230.16,Uncategorized,2005-07-20T05:09:54.206005500 +1341,Sanus Black Single-Column AV Component System - VF2012,1341,2242,206.42,Uncategorized,2008-02-05T03:05:59.206005500 +1342,Sony SCPH-98046 PlayStation 3 Blu-Ray DVD Remote Control - 711719804604,1342,1546,68.58,Uncategorized,2016-09-12T03:32:04.206005500 +1343,Nikon COOLPIX Leather Camera Case In Black - 5811,1343,2189,202.75,Uncategorized,2014-02-02T22:25:30.206005500 +1344,Panasonic DECT 6.0 Black Metallic Expandable Digital Cordless Phone System - KXTG9332T,1344,1094,228.98,Uncategorized,2012-06-20T05:00:05.206005500 +1345,Nyko Charge Base 2 Charger For PlayStation 3 Controller - 743840830535,1345,679,117.19,Uncategorized,2002-05-15T17:56:03.206005500 +1346,Canon PIXMA iP2600 Photo Printer - IP2600,1346,957,35.67,Uncategorized,2022-07-20T05:45:48.206005500 +1347,Samsung Hi Definition Conversion DVD Player - DVD1080P8,1347,1568,182.21,Uncategorized,2010-06-07T21:12:05.206005500 +1348,Panasonic Laser Toner Cartridge - KXFA83,1348,694,76.88,Uncategorized,2000-10-03T07:46:48.206005500 +1349,Panasonic Black 1080p Up-Conversion DVD Recorder - DMREZ28K,1349,1651,263.62,Uncategorized,2006-07-18T06:49:51.206005500 +1350,Kenwood KCA-IP200 Black iPod Direct Cable - KCAIP200,1350,1665,86.66,Uncategorized,2010-12-21T01:01:09.206005500 +1351,LG 52' Black LCD Flat Panel HDTV - 52LG70,1351,2059,58.79,Uncategorized,2006-02-16T02:48:16.206005500 +1352,Yamaha NS-AW190BL All-Weather Pair Speaker System - NSAW190BK,1352,264,81.9,Uncategorized,2019-10-21T11:27:31.206005500 +1353,Olympus PS-BLS1 Lithium Ion Rechargeable Battery - LIIONPSBLS1,1353,407,270.5,Uncategorized,2009-03-21T02:59:15.206005500 +1354,Sony White Earbud Style Headphones - MDREX55WH,1354,1175,316.4,Uncategorized,2017-06-12T19:05:34.206005500 +1355,Alpine CD/MP3/WMA/AAC Receiver - CDA9887,1355,389,142.65,Uncategorized,2010-11-01T10:48:04.206005500 +1356,Frigidaire Electric Dryer - FEQ1442WH,1356,162,256,Uncategorized,2011-09-27T11:36:32.206005500 +1357,Yamaha High Performance Subwoofer - Black Finish - YSTFSW100BK,1357,606,281.94,Uncategorized,2010-11-22T21:12:16.206005500 +1358,Samsung 52' Series 8 LCD Black Flat Panel HDTV - LN52A860,1358,2252,258.3,Uncategorized,2003-07-04T00:58:34.206005500 +1359,Altec Lansing Orbit-MP3 Portable Audio System - IM207,1359,424,178.36,Uncategorized,2011-11-02T22:21:28.206005500 +1360,Sony 30GB Handycam Hard Disk Drive Camcorder - DCRSR45,1360,25,38.65,Uncategorized,2015-06-23T15:29:55.206005500 +1361,Sirius Stiletto 2 Vehicle Kit - SLV2,1361,57,61.4,Uncategorized,2015-01-09T05:27:37.206005500 +1362,TiVo HD XL Black Digital Video Recorder - TCD658000,1362,1837,259.48,Uncategorized,2012-09-12T16:41:52.206005500 +1363,Panasonic Genius Countertop Microwave In White - NNH965WH,1363,114,54.18,Uncategorized,2008-04-22T12:15:12.206005500 +1364,Sony Active Style Headphones In Black - MDRAS50G,1364,520,56.19,Uncategorized,2015-07-20T06:34:16.206005500 +1365,Panasonic Black Blu-ray Disc Theater Sound System - SCBT100,1365,345,278.63,Uncategorized,2001-11-11T22:02:10.206005500 +1366,Sharp AQUOS Black Blu-ray Disc Player - BDHP50U,1366,660,247.77,Uncategorized,2022-07-14T08:31:17.206005500 +1367,Toshiba White 19' LCD HDTV DVD Combo - 19LV506,1367,1305,81.97,Uncategorized,2014-08-17T06:36:46.206005500 +1368,Sony 3.1 Channel Home Theater Surround System In Black - HTCT100,1368,1276,111.03,Uncategorized,2017-02-04T15:10:57.206005500 +1369,Panasonic DECT 6.0 Silver Expandable Digital Cordless Phone System - KXTG9332S,1369,1533,136.43,Uncategorized,2022-02-17T20:15:56.206005500 +1370,Linksys Dual-Band Wireless-N USB Network Adapter - WUSB600N,1370,1111,324.8,Uncategorized,2002-11-26T18:27:23.206005500 +1371,Altec Lansing inMotion MAX iPod/iPhone Portable Audio System - IMT702,1371,1228,325.35,Uncategorized,2015-10-23T02:34:46.206005500 +1372,Speck SeeThru Black Hard Shell Case For 13' MacBook - MB13BLKSEEV2,1372,1700,210.14,Uncategorized,2014-10-02T08:16:05.206005500 +1373,Linksys EtherFast10/100 5-Port Auto-Sensing Switch - EZXS55W,1373,1101,71.94,Uncategorized,2016-11-27T06:13:33.206005500 +1374,Sony Memory Stick USB Adaptor - MSACUS40,1374,1360,245.95,Uncategorized,2019-09-10T16:22:37.206005500 +1375,Kenwood KCA-IP300V iPod Video Direct Cable - KCAIP300V,1375,999,256.25,Uncategorized,2019-08-26T03:37:37.206005500 +1376,Canon EF 75-300mm F/4-5.6 III Telephoto Zoom Lens - 6473A003,1376,358,137.6,Uncategorized,2021-10-02T05:24:20.206005500 +1377,Yamaha Black Digital Sound Projector - YSP3050BK,1377,1435,81.06,Uncategorized,2013-03-22T04:50:47.206005500 +1378,Sony VAIO CS Series White Notebook Computer - VGNCS180JW,1378,1505,255.33,Uncategorized,2002-01-15T06:31:46.206005500 +1379,Speck SeeThru Purple Hard Shell Case For 15' MacBook - MB15PURSEEV2,1379,2106,183.59,Uncategorized,2014-07-16T15:41:41.206005500 +1380,Sony 8cm MiniDVD-R Camcorder Media 3 Pack - 3DMR30R1H,1380,2211,120.84,Uncategorized,2017-11-23T12:10:07.206005500 +1381,Sony White Speaker Dock And Clock Radio For iPod And iPhone - ICFC1IPMK2WHT,1381,1014,106.74,Uncategorized,2013-01-26T04:14:22.206005500 +1382,Samsung 61' Black DLP Projection HDTV - HL61A650,1382,985,9.02,Uncategorized,2013-11-19T23:47:54.206005500 +1383,Sony Compact Disc Player/Recorder - RCDW500C,1383,1353,163.54,Uncategorized,2020-08-17T17:41:18.206005500 +1384,Peerless 42' - 71' Articulating Flat Panel TV Silver Dual Wall Arm Mount - PLAV70UNLPS,1384,1616,61.45,Uncategorized,2008-06-16T08:45:22.206005500 +1385,Omnimount Wall Speaker Mount - 20WLWH,1385,744,248.82,Uncategorized,2006-09-04T08:02:35.206005500 +1386,Panasonic Black Blu-ray Disc Theater Sound System - SCBT100,1386,801,20.5,Uncategorized,2018-01-13T02:02:02.206005500 +1387,Pioneer CD-I200 iBus Interface Cable For iPod - CDI200,1387,532,129.03,Uncategorized,2016-08-16T09:12:04.206005500 +1388,Linksys Compact Wireless-G USB Adapter - WUSB54GC,1388,1198,207.79,Uncategorized,2009-09-11T20:02:13.206005500 +1389,Sony HD Radio Add On Tuner - XT100HD,1389,156,27.28,Uncategorized,2011-03-20T04:34:11.206005500 +1390,Nikon D700 Digital SLR Digital Camera - D700BODY,1390,780,68.09,Uncategorized,2012-11-23T12:14:04.206005500 +1391,Samsung 56' Black Widescreen Series 6 DLP HDTV - HL56A650,1391,2009,224.63,Uncategorized,2021-11-02T10:54:11.206005500 +1392,Weber Stainless Steel Summit S-650 Liquid Propane Grill - 1780001,1392,1455,85.05,Uncategorized,2009-08-22T18:38:47.206005500 +1393,Sharp 26' Black LCD HDTV With Built In DVD Player - LC26DV24U,1393,788,26.87,Uncategorized,2002-08-08T21:00:53.206005500 +1394,Canon Photo Ink Cartridge - CL52,1394,2449,308.93,Uncategorized,2018-11-06T16:51:03.206005500 +1395,GE GSD4000NWW White Built-In Dishwasher - GSD4000WH,1395,949,169.35,Uncategorized,2000-08-23T20:27:47.206005500 +1396,Panasonic VIERA 37' 1080p LCD HDTV In Black - TC37LZ85,1396,1205,198.22,Uncategorized,2016-06-05T02:49:10.206005500 +1397,Pioneer 6.5' 2-Way Marine White Speakers - TSMR1640FM,1397,943,240.09,Uncategorized,2013-05-08T05:42:55.206005500 +1398,Sony Lightweight Tripod - Black Finish - VCTR100,1398,1451,194.49,Uncategorized,2006-12-26T06:40:40.206005500 +1399,Weber Genesis S-310 Natural Gas Stainless Steel Outdoor Grill - 3870001,1399,1344,237.94,Uncategorized,2022-12-21T02:55:21.206005500 +1400,Panasonic 2 Line Integrated Corded Phone System - KXTSC14B,1400,970,46.92,Uncategorized,2020-07-10T00:49:31.206005500 +1401,LG Stainless Steel Freestanding Electric Range - LRE30453SS,1401,2190,74.71,Uncategorized,2013-02-24T13:57:58.206005500 +1402,Sanus 32' - 50' Flat Panel TV Black Wall Mount - VMPL50B,1402,1027,277.02,Uncategorized,2021-03-05T02:22:53.206005500 +1403,Onkyo 7.1-Channel Black Home Theater Receiver - TXSR506B,1403,1403,61.73,Uncategorized,2008-04-04T13:09:09.206005500 +1404,Canon Black 21.1 Megapixel EOS Digital SLR Camera Body - EOS5DMARKIIBODY,1404,2089,244.49,Uncategorized,2015-01-25T00:03:08.206005500 +1405,Tech Craft ABS48 Antique Black Avalon Series 48' TV Stand - ABS48,1405,2048,241.03,Uncategorized,2013-04-20T18:51:39.206005500 +1406,Sony MRW62E/S1/181 17-In-1 External USB Memory Card Reader - MRW62ES1181,1406,232,35.87,Uncategorized,2000-10-18T14:43:05.206005500 +1407,Yamaha NS-AW390BL All-Weather Pair Speaker System - NSAW390BK,1407,1899,133.47,Uncategorized,2006-08-15T09:50:34.206005500 +1408,Canon Yellow Ink Cartridge - Yellow - CLI8Y,1408,1324,313.8,Uncategorized,2008-12-12T04:11:08.206005500 +1409,Toshiba Black DVD Recorder With 1080p Upconversion - DR410,1409,460,16.38,Uncategorized,2013-06-20T21:38:37.206005500 +1410,Fellowes MicroShred Shredder - MS450CS,1410,1363,89.64,Uncategorized,2019-05-09T16:52:16.206005500 +1411,LG LSC21943ST Stainless Steel Side By Side Refrigerator - LSC21943SS,1411,419,251.05,Uncategorized,2002-01-12T07:16:23.206005500 +1412,Griffin iPod DirectDeck Universal Cassette Adapter - 7256DDECK,1412,1975,280.32,Uncategorized,2015-02-27T02:02:53.206005500 +1413,Skullcandy CHOPS Headphones In Black Chrome - HH26SKC01,1413,2001,260.08,Uncategorized,2015-08-10T13:47:16.206005500 +1414,Logitech Cordless Desktop MX 5500 Revolution Keyboard And Mouse Combination - 920000383,1414,1692,284.91,Uncategorized,2015-06-16T23:06:16.206005500 +1415,Samsung 46' Series 7 LCD Black Flat Panel HDTV - LN46A750,1415,50,112.27,Uncategorized,2000-01-16T04:29:00.206005500 +1416,Canon Blue 8.0 Megapixel PowerShot Digital Camera - SD1100ISB,1416,2064,256.11,Uncategorized,2012-11-08T14:03:05.206005500 +1417,Toshiba 40' Black Flat Panel LCD HDTV - 40RV525U,1417,628,105.73,Uncategorized,2017-05-24T23:14:16.206005500 +1418,Transcend JetFlash V10 16GB USB Flash Drive - TS16GJFV10,1418,853,61.34,Uncategorized,2012-09-06T11:17:52.206005500 +1419,Samsung 2.1 Channel Bluetooth Home Theater System - HTX710T,1419,2130,227.67,Uncategorized,2013-05-21T09:24:40.206005500 +1420,Cuisinart Automatic Brew And Serve Coffeemaker - DTC975BK,1420,163,237.04,Uncategorized,2000-04-19T06:11:37.206005500 +1421,Nyko PlayStation 3 ChargeLink USB Charging Cable - 743840830009,1421,765,325.65,Uncategorized,2017-08-20T15:50:35.206005500 +1422,Sony 7.1 Channel Black AV Receiver - STRDG920,1422,765,120.56,Uncategorized,2018-12-19T05:17:40.206005500 +1423,Uniden DECT 6.0 Digital Accessory Handset - DCX300,1423,1061,171.62,Uncategorized,2006-11-22T03:21:40.206005500 +1424,Samsung 50' Widescreen Plasma HDTV - PN50A650,1424,1031,205.15,Uncategorized,2000-06-14T07:42:05.206005500 +1425,Garmin Nuvi 885T GPS Navigation System - 0100057730,1425,763,311.18,Uncategorized,2001-09-12T08:51:23.206005500 +1426,Sony Black DVD Recorder And VHS Combo Player - RDRVXD655,1426,2036,2.2,Uncategorized,2002-11-19T14:58:05.206005500 +1427,Logitech diNovo Edge Keyboard Mac Edition - 920000924,1427,190,202.97,Uncategorized,2011-02-04T13:40:03.206005500 +1428,Polk Audio I-Sonic ES2 - ISONIC,1428,473,137.07,Uncategorized,2000-10-13T11:41:26.206005500 +1429,Belkin Leather Folio For 2G iPod Touch - F8Z373,1429,94,25.24,Uncategorized,2004-08-18T09:06:52.206005500 +1430,Microsoft Office Home And Student 2007 For Windows Vista - 79G00007,1430,677,97.02,Uncategorized,2003-12-18T19:59:03.206005500 +1431,Belkin Pro Series 16 Ft. USB 2.0 Cable - F3U13316,1431,777,326.42,Uncategorized,2015-03-04T12:29:36.206005500 +1432,Denon Stereo Tuner - TU1500RD,1432,69,10.46,Uncategorized,2016-11-03T13:33:04.206005500 +1433,Toshiba Black Progressive Scan DVD Player - SD4100,1433,338,96.9,Uncategorized,2021-09-23T10:37:39.206005500 +1434,LG 30' Stainless Steel Freestanding Gas Range - LRG30357SS,1434,72,79.3,Uncategorized,2011-09-19T08:03:25.206005500 +1435,LG 2.0 Cu. Ft. Over-The-Range White Microwave Oven - LMVM2085WH,1435,1447,204.35,Uncategorized,2005-09-06T11:04:49.206005500 +1436,Nokia T-Mobile Unlocked Cellular Phone - N96,1436,2079,64.49,Uncategorized,2004-11-10T07:40:04.206005500 +1437,Panasonic Black Lumix 10.1 Megapixel Digital Camera - DMCFZ28K,1437,266,273.11,Uncategorized,2019-06-11T15:51:39.206005500 +1438,Frigidaire GLD4355RFS Gallery SpeedClean 24' White Dishwasher - GLD4355WH,1438,237,322.26,Uncategorized,2002-01-12T11:07:03.206005500 +1439,Panasonic All-in-One Flatbed Laser Fax - KXFLB801,1439,1736,216.25,Uncategorized,2007-11-05T23:08:49.206005500 +1440,Panasonic Silver 8.1 Megapixel Digital Camera - DMCFS3S,1440,2321,95.9,Uncategorized,2018-09-19T02:42:45.206005500 +1441,LG WM3988HWA 4.2 Cu Ft White Full Size SteamWasher And Dryer Combo - WM3988WH,1441,503,210.91,Uncategorized,2001-02-16T11:23:17.206005500 +1442,Sharp Plasmacluster Air Purifier - KCC100U,1442,384,244.6,Uncategorized,2017-12-25T12:22:45.206005500 +1443,Canon Black Ink Cartridge - PG50,1443,2426,194.28,Uncategorized,2012-12-17T13:10:36.206005500 +1444,LG LDC22720ST 22 Cu. Ft. Smooth White Bottom Freezer Refrigerator - LDC22720SS,1444,1846,12.66,Uncategorized,2018-06-03T07:23:37.206005500 +1445,Olympus PS-BLS1 Lithium Ion Rechargeable Battery - LIIONPSBLS1,1445,598,203.71,Uncategorized,2006-06-18T08:00:57.206005500 +1446,Maytag Over-The-Range Microwave Oven - MMV5207BK,1446,1386,152.17,Uncategorized,2003-05-18T10:58:46.206005500 +1447,Canon PIXMA Photo All-In-One Printer - MP980,1447,2155,64.11,Uncategorized,2007-04-06T01:27:45.206005500 +1448,Panasonic Plain Paper Fax/Copier With All-Digital Answering System - Silver Finish - KXFP145,1448,1392,98.94,Uncategorized,2012-03-14T05:43:42.206005500 +1449,Sony 1GB Memory Stick PRO Duo Mark 2 Media Card - MSMT1G,1449,2169,254.42,Uncategorized,2014-01-26T12:39:33.206005500 +1450,Toshiba Black 1080p Upconversion DVD Recorder/VCR Combinaton - DVR610,1450,2453,195.17,Uncategorized,2000-02-25T09:54:16.206005500 +1451,Apple 8GB Green 4th Generation iPod Nano - MB745LLA,1451,125,230.35,Uncategorized,2000-05-24T16:36:13.206005500 +1452,Canon DVD Camcorder - DC310,1452,316,264.45,Uncategorized,2020-07-21T11:58:06.206005500 +1453,Apple 500GB Time Capsule Wireless Hard Drive - MB276LLA,1453,2141,4.34,Uncategorized,2004-04-11T23:24:28.206005500 +1454,Panasonic Black Lumix 10.1 Megapixel Digital Camera - DMCFZ28K,1454,488,55.46,Uncategorized,2004-03-03T09:00:55.206005500 +1455,Apple iWork 09 Software Family Pack For Mac - MB943ZA,1455,233,37.65,Uncategorized,2011-04-21T10:20:54.206005500 +1456,Logitech Black V220 Cordless Optical Mouse For Notebooks - 910000153,1456,418,8.62,Uncategorized,2019-05-10T23:02:48.206005500 +1457,Case Logic Black In-Car DVD Player Case - PDVK10,1457,2414,224.18,Uncategorized,2011-02-13T20:14:43.206005500 +1458,Canon Printer Black Ink Cartridge - CLI221BLK,1458,2345,193.74,Uncategorized,2008-07-14T02:49:32.206005500 +1459,Sony HD Radio Add On Tuner - XT100HD,1459,1685,10.8,Uncategorized,2022-09-10T09:15:03.206005500 +1460,Sony Picture Station Digital Photo Printer - DPPFP95,1460,1445,11.08,Uncategorized,2021-08-12T07:41:52.206005500 +1461,Toshiba 22' LCD HDTV With Built In DVD Player In Black - 22LV505,1461,1922,184.25,Uncategorized,2004-10-05T13:22:31.206005500 +1462,Panasonic Blue 8.1 Megapixel Digital Camera - DMCFS3A,1462,1562,78.96,Uncategorized,2013-03-23T22:14:07.206005500 +1463,Sanus SC1A Black VisionMount Series Ceiling Mount For Small LCD Flat Panels - SC1AB,1463,266,306.83,Uncategorized,2004-04-15T14:30:02.206005500 +1464,Canon VIXIA 120GB High Definition Hard Disc Drive Black Camcorder - HG21,1464,308,197.56,Uncategorized,2009-12-13T15:47:20.206005500 +1465,Onkyo Black CD Receiver System - CS325,1465,223,129.79,Uncategorized,2005-07-17T11:42:49.206005500 +1466,Audiovox Commander MT XM Satellite Radio Receiver - XMRVRFM002,1466,2381,127.89,Uncategorized,2000-03-04T14:02:18.206005500 +1467,Panasonic DECT 6.0 Black Expandable Digital Cordless Phone System - KXTG9372B,1467,879,99.51,Uncategorized,2020-02-25T14:43:37.206005500 +1468,Cuisinart Automatic Brew And Serve Coffeemaker - DTC975BK,1468,611,107.97,Uncategorized,2003-12-10T19:03:24.206005500 +1469,Frigidaire 27' Electric Stack Washer Dryer Combo - FEX831WH,1469,2486,229.39,Uncategorized,2007-11-08T04:38:27.206005500 +1470,Sony VAIO NS Series Silver Notebook Computer - VGNNS190JS,1470,1395,156.09,Uncategorized,2020-02-15T17:26:21.206005500 +1471,Speck SeeThru Pink Hard Shell Case For MacBook Air - MBAPNKSEE,1471,402,159.39,Uncategorized,2008-12-26T15:39:41.206005500 +1472,Weber Genesis E-310 Liquid Propane Black Outdoor Grill - 3741001,1472,579,20.29,Uncategorized,2008-11-24T15:41:55.206005500 +1473,Nikon CoolPix S610 10 Megapixel Black Digital Camera - COOLPIXS610BK,1473,1983,307.29,Uncategorized,2014-07-13T07:54:27.206005500 +1474,Sanus 15' To 40' Flat Panel Black TV Wall Mount - ML22B1,1474,2480,84.75,Uncategorized,2013-06-11T09:48:15.206005500 +1475,Samsung 32' Black Flat Panel Series 4 LCD HDTV - LN32A450,1475,439,242.81,Uncategorized,2001-06-11T16:05:04.206005500 +1476,Garmin 010-10723-00 AC Adapter Cable With International Adapters - 0101072300,1476,1471,137.15,Uncategorized,2012-11-17T04:16:31.206005500 +1477,Canon Black Ink Cartridge - PG50,1477,2371,247.16,Uncategorized,2017-06-04T22:21:18.206005500 +1478,Sharp AQUOS 52' D85U Series Black LCD Flat Panel HDTV - LC52D85U,1478,613,292.49,Uncategorized,2005-12-01T07:59:34.206005500 +1479,Uniden 5.8GHz Accessory Handset And Charger - TCX905,1479,2482,106.48,Uncategorized,2020-10-24T17:52:14.206005500 +1480,Samsung 52' Series 5 LCD Black Flat Panel HDTV - LN52A550,1480,2484,221.04,Uncategorized,2016-01-26T20:57:47.206005500 +1481,Polk Audio CSI A6 Black Center Channel Loudspeaker - CSIA6BK,1481,2288,135.3,Uncategorized,2015-04-02T02:46:38.206005500 +1482,LG 5.6 Cu. Ft. Black Freestanding Electric Range - LRE30453BK,1482,2213,147.5,Uncategorized,2016-08-22T01:45:25.206005500 +1483,Griffin 4046-TRPAUTOC iTrip AutoPilot - 4046TRPAUTOC,1483,1116,20.98,Uncategorized,2004-01-05T00:07:51.206005500 +1484,Pioneer Voice Command Pack - Black Finish - CDVC1,1484,2439,261.95,Uncategorized,2001-09-25T09:32:39.206005500 +1485,Sharp Aquos 32' Black LCD HDTV - LC32D64U,1485,2148,30.78,Uncategorized,2017-04-27T04:05:18.206005500 +1486,LG LFC25770SB 25.0 Cu. Ft. Smooth Black French Door Bottom Freezer Refrigerator - LFC25770BK,1486,1708,301.03,Uncategorized,2005-04-17T02:57:17.206005500 +1487,Sony HD-Handycam 1.5 Meters (5 Feet) HDMI Mini Cable - VMC15MHD,1487,1923,97.04,Uncategorized,2001-02-12T13:53:34.206005500 +1488,Toshiba 42' Regza TheaterWide Black Flat Panel LCD HDTV - 42RV535U,1488,806,303.24,Uncategorized,2019-12-14T10:13:40.206005500 +1489,Sony MS-A1GD 1GB Memory Stick Micro (M2) - MSA1GD,1489,748,68.99,Uncategorized,2008-05-19T01:56:29.206005500 +1490,Sanus 15' - 32' Flat Panel TV Black Wall Mount - MF209B1,1490,1953,68.93,Uncategorized,2015-05-20T18:27:26.206005500 +1491,Panasonic VIERA 42' Plasma Flat Panel HDTV In Black - TH42PX80U,1491,1478,196.12,Uncategorized,2013-06-07T07:56:13.206005500 +1492,Canon KP-36IP Color Ink & Paper Set - 7737A001,1492,1723,9.75,Uncategorized,2000-11-12T07:26:56.206005500 +1493,Samsung 2.1 Channel Bluetooth Home Theater System - HTX710T,1493,1475,130.64,Uncategorized,2015-06-12T23:19:30.206005500 +1494,Yamaha NS-AW190BL All-Weather Pair Speaker System - NSAW190BK,1494,1435,69.35,Uncategorized,2015-07-17T07:43:20.206005500 +1495,Sony SLV-D380P Black DVD VHS Combo Player - SLVD380P,1495,1283,66.94,Uncategorized,2001-04-22T15:30:19.206005500 +1496,Panasonic SR-NA18 White Deluxe Fuzzy Logic Rice Cooker - SRNA18,1496,452,36.13,Uncategorized,2020-09-02T06:47:40.206005500 +1497,Sony 37' BRAVIA XBR Series Black LCD Flat Panel HDTV - KDL37XBR6,1497,97,110.43,Uncategorized,2005-12-10T23:00:31.206005500 +1498,Speck Black ToughSkin iPod Classic Case - ICBLKTS,1498,347,132.94,Uncategorized,2018-10-21T03:15:46.206005500 +1499,Panasonic Integrated White Telephone System With All-Digital Answering System - KXTS620W,1499,611,168.74,Uncategorized,2008-11-25T12:38:14.206005500 +1500,Terk Mini Tuner Cartridge For XM Ready Home Products - CNP2000,1500,1999,208.62,Uncategorized,2000-05-25T05:33:52.206005500 +1501,Sony Black DVD Recorder And VHS Combo Player - RDRVX560,1501,1633,17.46,Uncategorized,2018-04-01T10:31:37.206005500 +1502,LaCie 500GB USB 2.0 External Hard Drive - 301302U,1502,1135,32.15,Uncategorized,2000-01-02T07:52:13.206005500 +1503,Speck SeeThru Pink Hard Shell Case For 13' MacBook - MB13PNKSEEV2,1503,1369,201.37,Uncategorized,2008-04-25T08:14:31.206005500 +1504,Weber Cast Iron Griddle - 7542,1504,91,183.07,Uncategorized,2022-05-25T18:27:15.206005500 +1505,Sony Universal Remote Commander Remote Control - RMV310,1505,659,286.07,Uncategorized,2006-09-26T00:21:19.206005500 +1506,Sony 5 Disc CD Player - CDPCE375,1506,2318,254.67,Uncategorized,2022-10-04T23:29:00.206005500 +1507,Apple 8GB Black 2nd Generation iPod Touch - MB528LLA,1507,1735,62.94,Uncategorized,2009-08-17T18:53:42.206005500 +1508,Transcend 8GB SDHC Card And Compact Card Reader - TS8GSDHC6S5W,1508,876,213.54,Uncategorized,2011-02-04T01:58:28.206005500 +1509,Panasonic NNSD767S Stainless Steel Countertop Microwave Oven - NNSD767SS,1509,1045,218.66,Uncategorized,2003-03-08T22:23:01.206005500 +1510,Olympus Digital Camera Neoprene Soft Case - Black With Grey Finish - 202066,1510,1787,209.94,Uncategorized,2012-06-24T23:13:50.206005500 +1511,Apple 8GB Black 4th Generation iPod Nano - MB754LLA,1511,1393,255.15,Uncategorized,2015-02-03T05:56:22.206005500 +1512,Sony SLV-D380P Black DVD VHS Combo Player - SLVD380P,1512,788,157.86,Uncategorized,2020-09-26T05:05:44.206005500 +1513,Apple 8GB Blue 4th Generation iPod Nano - MB732LLA,1513,300,182.04,Uncategorized,2011-01-11T07:30:59.206005500 +1514,Whirlpool 24' Built-In Dishwasher - DU1100SS,1514,538,268.49,Uncategorized,2008-03-25T05:14:41.206005500 +1515,Garmin Nuvi 360 010-10723-06 Black 12 Volt Adapter Cable - 0101072306,1515,596,231,Uncategorized,2005-01-07T08:59:53.206005500 +1516,Brenthaven Sling II Titanium Laptop Carrying Bag For 15' MacBook Pro - TR654ZMA,1516,455,252.65,Uncategorized,2013-10-10T09:12:12.206005500 +1517,Sony 46' BRAVIA S-Series Black LCD Flat Panel HDTV - KDL46S4100,1517,198,235.78,Uncategorized,2018-05-09T05:44:25.206005500 +1518,Polk Audio Sirius Satellite Radio Home Tuner - SRH1000,1518,2254,107.92,Uncategorized,2011-03-12T00:30:34.206005500 +1519,LG LSC21943ST Stainless Steel Side By Side Refrigerator - LSC21943SS,1519,2106,224.75,Uncategorized,2009-12-12T22:10:04.206005500 +1520,Bose Lifestyle 48 Series IV 43479 Home Entertainment System - LS48IVWH,1520,60,145.71,Uncategorized,2013-11-19T16:00:26.206005500 +1521,Denon 7.1 Channel Home Theater MultiMedia A/V Receiver With Networking In Black - AVR3808CI,1521,939,158.96,Uncategorized,2011-05-10T00:46:21.206005500 +1522,Altec Lansing inMotion iPod Portable Audio System - IM600USB,1522,1887,93.12,Uncategorized,2006-10-24T00:38:24.206005500 +1523,Panasonic Black 8.5' Portable DVD Player - DVDLS86,1523,846,143.65,Uncategorized,2002-01-27T07:42:41.206005500 +1524,Sony 26' BRAVIA M-Series Black LCD Flat Panel HDTV - KDL26M4000,1524,92,46.13,Uncategorized,2015-03-06T02:43:19.206005500 +1525,Pioneer Black Premier Single CD Receiver - DEHP700BT,1525,616,107.36,Uncategorized,2010-11-19T07:56:00.206005500 +1526,Apple USB Power Adapter - MB352LLB,1526,300,130.36,Uncategorized,2016-06-02T23:09:37.206005500 +1527,Canon Blue 8.0 Megapixel PowerShot Digital Camera - SD1100ISB,1527,1110,78.2,Uncategorized,2000-07-23T07:28:16.206005500 +1528,Speck ToughSkin Black Case For 4th Generation iPod Nano - NN4TSBLK,1528,131,152.18,Uncategorized,2012-03-16T18:48:23.206005500 +1529,Sony VAIO CS Series Black Notebook Computer - VGNCS180JQ,1529,1682,313.78,Uncategorized,2015-12-23T14:36:53.206005500 +1530,Universal MRF-350 RF Black Base Station - MRF350,1530,1581,101.58,Uncategorized,2003-02-12T00:26:39.206005500 +1531,Panasonic Integrated Black Telephone System With All-Digital Answering System - KXTS620B,1531,1788,270.37,Uncategorized,2022-11-06T07:44:39.206005500 +1532,Sony 7.1 Channel Black AV Receiver - STRDG920,1532,581,251.32,Uncategorized,2021-05-11T05:06:37.206005500 +1533,Pioneer Single Din CD Receiver - DEHP3000IB,1533,2447,46.68,Uncategorized,2001-02-15T09:54:44.206005500 +1534,Nyko PlayStation 3 Dual Charger AC - 743840830153,1534,989,250.68,Uncategorized,2015-02-09T21:29:16.206005500 +1535,TomTom GPS Mount And USB Car Charger - 9S00006,1535,618,181.32,Uncategorized,2012-02-16T18:51:10.206005500 +1536,Sony 46' BRAVIA XBR Series Black LCD Flat Panel HDTV - KDL46XBR6,1536,986,239.98,Uncategorized,2012-03-02T21:53:36.206005500 +1537,Panasonic Black DVD Home Theater Sound System - SCPT960,1537,2454,138.05,Uncategorized,2020-05-02T07:55:45.206005500 +1538,LG 47' Black LCD Flat Panel HDTV - 47LG50,1538,323,57.48,Uncategorized,2008-09-12T23:27:17.206005500 +1539,Panasonic 27' Stainless Steel Microwave Trim Kit - TK903SS,1539,517,68.53,Uncategorized,2007-01-08T10:52:15.206005500 +1540,Nintendo DS Lite Crimson/Black Portable Gaming System - NDSUSGSRMKB,1540,2336,180.49,Uncategorized,2021-02-12T05:33:23.206005500 +1541,Altec Lansing inMotion iPod Portable Audio System - IM600USB,1541,2428,120.54,Uncategorized,2010-07-27T09:01:03.206005500 +1542,Panasonic Genius Countertop Microwave In Black - NNH965BK,1542,1696,197.09,Uncategorized,2006-12-05T17:04:15.206005500 +1543,LG DLEX7177WM White XL Capacity Electric SteamDryer - DLEX7177WH,1543,596,126.53,Uncategorized,2002-01-25T11:03:50.206005500 +1544,Panasonic Silver Rice Cooker/Warmer - SRTMB10,1544,2352,315.24,Uncategorized,2017-12-12T22:42:32.206005500 +1545,Tech Craft Avalon Series TV Stand - Black Finish - ABS32,1545,331,183.21,Uncategorized,2010-02-07T11:31:43.206005500 +1546,Panasonic VIERA 46' Plasma Flat Panel 1080p HDTV In Black - TH46PZ85U,1546,1088,222.22,Uncategorized,2020-06-06T12:01:54.206005500 +1547,Weber Genesis E-310 Liquid Propane Black Outdoor Grill - 3741001,1547,1788,273.3,Uncategorized,2022-03-07T15:54:35.206005500 +1548,Panasonic VIERA 50' Plasma Flat Panel 1080p HDTV In Black - TH50PZ85U,1548,808,310.89,Uncategorized,2010-10-19T11:59:46.206005500 +1549,Polk Audio I-Sonic ES2 - ISONIC,1549,1894,296.54,Uncategorized,2005-09-24T19:54:30.206005500 +1550,Canon PIXMA MX850 Multifunction Printer - MX850C,1550,130,170.6,Uncategorized,2004-07-02T01:18:01.206005500 +1551,Garmin StreetPilot C330 Dash Mount - Black Finish - 0101061300,1551,338,224.07,Uncategorized,2005-03-15T19:59:55.206005500 +1552,Samsung S2 White 1GB Flash MP3 Player - YPS2ZW,1552,305,118.52,Uncategorized,2004-02-13T09:51:24.206005500 +1553,Panasonic 27' Stainless Steel Microwave Trim Kit - TK903SS,1553,465,162.34,Uncategorized,2008-02-05T09:58:07.206005500 +1554,Sony Lithium-Ion Rechargeable Battery Pack - NPFD1,1554,2236,45.59,Uncategorized,2015-02-22T19:29:46.206005500 +1555,Canon PIXMA Black Photo Printer - IP4600,1555,1384,313.31,Uncategorized,2017-05-10T09:15:48.206005500 +1556,Hoover EmPower Bagless Upright Vacuum - U5269,1556,1785,84.46,Uncategorized,2003-05-08T18:09:56.206005500 +1557,Canon XH A1S Black High Definition HDV Camcorder - XHA1S,1557,1598,203.77,Uncategorized,2004-03-24T14:29:04.206005500 +1558,Sony Black Active Speaker System - SRSA212BK,1558,32,129.58,Uncategorized,2005-09-14T13:59:24.206005500 +1559,Maytag Over-The-Range Microwave Oven - MMV5207BK,1559,2309,85,Uncategorized,2001-04-17T22:38:41.206005500 +1560,Sanus 15' - 40' VisionMount Flat Panel TV Black Wall Mount - MF110B,1560,1810,76.03,Uncategorized,2017-04-09T18:39:50.206005500 +1561,Speck Black ToughSkin Case For iPhone 3G - IPH3GBLKTS,1561,968,41.99,Uncategorized,2011-12-20T10:00:11.206005500 +1562,Sony 46' BRAVIA W-Series Black LCD Flat Panel HDTV - KDL46W4100,1562,1060,10.2,Uncategorized,2015-11-02T11:35:50.206005500 +1563,Sanus 15' - 37' VisionMount Full-Motion Flat Panel TV Black Wall Mount - MF215B1,1563,1677,27.19,Uncategorized,2008-03-14T22:06:25.206005500 +1564,Case-Mate Carbon Fiber Black Leather Case For iPhone 3G - IPH3GCBCF,1564,1871,172.15,Uncategorized,2015-04-06T11:17:49.206005500 +1565,Griffin iPhone 3G Black Elan Form Hard-Shell Leather Case - 8223IP2EFRMB,1565,56,245.15,Uncategorized,2006-04-18T00:36:40.206005500 +1566,Samsung 46' Series 7 LCD Black Flat Panel HDTV - LN46A750,1566,700,262.01,Uncategorized,2012-12-15T12:57:26.206005500 +1567,Canon Vixia High Definition Camcorder - HF10,1567,476,194.34,Uncategorized,2007-08-13T13:44:51.206005500 +1568,Sony Learning Remote Control - Silver Finish - RMVL600,1568,1222,61.83,Uncategorized,2007-02-19T14:34:55.206005500 +1569,Lowepro SlingShot 200 AW Digital Camera Back Pack - SLINGSHOT200AW,1569,65,191.96,Uncategorized,2001-01-09T03:20:45.206005500 +1570,Garmin Nuvi Portable Friction Mount - 0101090800,1570,1246,76.28,Uncategorized,2019-08-14T23:21:10.206005500 +1571,Sony LCS-CSJ Black Soft Carrying Case - LCSCSJ,1571,2381,110.21,Uncategorized,2017-07-06T00:24:38.206005500 +1572,Sony HD DVC Tape - DVM63HD,1572,2343,27.82,Uncategorized,2003-11-22T10:32:44.206005500 +1573,Panasonic Silver Rice Cooker/Warmer - SRTMB10,1573,2448,129.19,Uncategorized,2021-01-09T22:16:12.206005500 +1574,Sanus 15' - 37' VisionMount Full-Motion Flat Panel TV Black Wall Mount - MF215B1,1574,341,24.24,Uncategorized,2008-07-24T13:56:41.206005500 +1575,Denon Progressive Scan Universal DVD Player - DVD2930CI,1575,1537,248.37,Uncategorized,2010-06-27T05:13:26.206005500 +1576,Speck Black ToughSkin Case For iPhone 3G - IPH3GBLKTS,1576,788,3.34,Uncategorized,2013-01-15T08:08:35.206005500 +1577,Sony LCS-TWA/R Red Soft Leather Carrying Case - LCSTWAR,1577,239,265.29,Uncategorized,2022-10-11T07:29:41.206005500 +1578,Terk Mini Tuner Cartridge For XM Ready Home Products - CNP2000,1578,1314,297.42,Uncategorized,2020-02-22T15:34:21.206005500 +1579,Canon EF 75-300mm F/4-5.6 III Telephoto Zoom Lens - 6473A003,1579,2076,308.26,Uncategorized,2002-10-04T23:25:35.206005500 +1580,Apple 1GB Silver iPod Shuffle - MB225LLA,1580,854,234.49,Uncategorized,2016-10-24T14:13:44.206005500 +1581,Sony 46' BRAVIA S-Series Black LCD Flat Panel HDTV - KDL46S4100,1581,1889,64.33,Uncategorized,2015-02-12T05:53:55.206005500 +1582,Panasonic DECT 6.0 Silver Expandable Digital Cordless Phone System - KXTG9332S,1582,1015,5.95,Uncategorized,2015-09-14T15:44:07.206005500 +1583,Peerless Wall TV Mounts In Black - PM1327BK,1583,1184,154.26,Uncategorized,2010-02-15T14:14:55.206005500 +1584,Canon Red Photo Ink Cartridge - CLI8R,1584,2299,36.15,Uncategorized,2006-10-07T20:45:56.206005500 +1585,Sharp 26' Black LCD HDTV With Built In DVD Player - LC26DV24U,1585,2239,85.28,Uncategorized,2017-12-07T11:06:32.206005500 +1586,Panasonic Laser Toner Cartridge - KXFA83,1586,1612,2.59,Uncategorized,2013-12-08T12:56:40.206005500 +1587,Toshiba 40' Black Flat Panel LCD HDTV - 40RV525U,1587,725,274.14,Uncategorized,2013-03-25T21:57:14.206005500 +1588,Kensington MicroSaver Keyed Notebook Lock - 64068F,1588,2052,140.18,Uncategorized,2020-03-03T05:47:03.206005500 +1589,Sony LCS-TWA/R Red Soft Leather Carrying Case - LCSTWAR,1589,2061,27.97,Uncategorized,2014-01-03T20:26:16.206005500 +1590,Weber Spirit SP-320 Stainless Steel Liquid Propane Gas Outdoor Grill - 3730001,1590,184,67.73,Uncategorized,2021-01-14T09:11:15.206005500 +1591,Canon PowerShot Black Digital Camera - SX110ISB,1591,1020,87.73,Uncategorized,2019-04-11T20:30:29.206005500 +1592,Sony Black Bravia Home Theater System - DAVHDX279W,1592,517,208.39,Uncategorized,2007-03-01T16:35:39.206005500 +1593,Sony Black LocationFree Base Station - LFV30,1593,2417,245.87,Uncategorized,2002-10-19T00:03:13.206005500 +1594,Logitech White V470 Cordless Laser Mouse For Apple Notebooks - 910000692,1594,1479,132.16,Uncategorized,2018-01-14T23:30:35.206005500 +1595,Bose In-Ear Black Headphones - BOSEIE,1595,278,137.19,Uncategorized,2004-10-18T17:20:56.206005500 +1596,Panasonic Black 1080p Up-Conversion DVD Recorder - DMREZ28K,1596,603,286.07,Uncategorized,2017-10-26T23:11:39.206005500 +1597,LG LFC23760ST 22.6 Cu. Ft. Stainless Steel French Door Bottom Freezer Refrigerator - LFC23760SS,1597,2207,59.65,Uncategorized,2004-01-09T23:28:29.206005500 +1598,Nikon EN-EL9 Black Rechargeable Li-ion Battery - ENEL9,1598,1349,304.93,Uncategorized,2008-08-09T11:16:35.206005500 +1599,Haier 20' ATSC Color Tube Television - HTR20,1599,1315,263.88,Uncategorized,2021-11-06T17:38:33.206005500 +1600,Omnimount Stellar Series Audio Tower - G303DARK,1600,1593,62.14,Uncategorized,2013-09-10T21:23:38.206005500 +1601,Sharp Over The Counter White Microwave Oven - R1211WH,1601,192,131.4,Uncategorized,2011-02-18T13:33:24.206005500 +1602,Yamaha 5.1 Channel Home Theater In A Box System In Black - YHT390BK,1602,60,208.13,Uncategorized,2010-05-15T02:15:34.206005500 +1603,Panasonic 5.8GHz Add-On Handset For The KXTG6700B Phone System - Black Finish - KXTGA670B,1603,388,130.77,Uncategorized,2012-06-19T04:26:52.206005500 +1604,Polk Audio CSI A4 Cherry Center Channel Loudspeaker - CSIA4CH,1604,1605,124.26,Uncategorized,2022-10-27T14:16:03.206005500 +1605,Danby White Countertop Dishwasher - DDW497WH,1605,2420,267.42,Uncategorized,2018-01-21T06:54:37.206005500 +1606,Sony VAIO Black USB Docking Station - VGPUPR1,1606,1557,250.21,Uncategorized,2003-04-05T11:33:20.206005500 +1607,Panasonic Black High Defintion 60GB Hard Disk Drive/SD Hybrid Camcorder - HDCHS100K,1607,2014,93.7,Uncategorized,2017-06-07T18:37:05.206005500 +1608,Kenwood KCA-IP300V iPod Video Direct Cable - KCAIP300V,1608,577,58.08,Uncategorized,2011-08-14T19:08:21.206005500 +1609,Sony Universal Remote Commander Remote Control - RMV310,1609,1354,237.31,Uncategorized,2015-09-02T03:49:46.206005500 +1610,LG DLG2526W White Super Capacity Gas Dryer - DLG2526WH,1610,1925,96.73,Uncategorized,2011-03-21T20:09:26.206005500 +1611,Sony Black 9 Megapixel Cyber-Shot Digital Camera - DSCH50B,1611,1040,260.77,Uncategorized,2021-04-06T15:20:06.206005500 +1612,Sony Alpha Digital SLR Black Camera Body - DSLRA350,1612,469,200.18,Uncategorized,2005-05-25T20:33:26.206005500 +1613,Apple 16GB Green 4th Generation iPod Nano - MB913LLA,1613,491,219.87,Uncategorized,2018-10-22T12:07:25.206005500 +1614,Panasonic Black Expandable Digital Cordless Dect 6.0 Phone System - KXTG8232B,1614,2193,247.02,Uncategorized,2011-05-15T17:42:40.206005500 +1615,Jabra Bluetooth Headset - BT2070,1615,555,2.94,Uncategorized,2007-10-20T13:21:29.206005500 +1616,Speck SeeThru Clear Hard Shell Case For 15' MacBook - MB15CLRSEEV2,1616,1868,255.8,Uncategorized,2014-06-24T10:27:50.206005500 +1617,Samsung 46' Series 7 LCD Black Flat Panel HDTV - LN46A750,1617,945,271.87,Uncategorized,2020-07-14T07:10:42.206005500 +1618,Netgear ProSafe 5 Port 10/100 Desktop Switch - FS105,1618,2150,9.63,Uncategorized,2011-10-18T18:35:21.206005500 +1619,Panasonic Expandable Digital Cordless DECT 6.0 Answering System In Silver - KXTG1034S,1619,2356,15.03,Uncategorized,2015-06-01T03:01:18.206005500 +1620,Apple 120GB Black 7th Generation iPod Classic - MB565LLA,1620,1791,279.93,Uncategorized,2020-04-10T21:30:13.206005500 +1621,LG DLEX7177WM White XL Capacity Electric SteamDryer - DLEX7177WH,1621,1729,17.45,Uncategorized,2005-05-27T08:56:19.206005500 +1622,Sony DSLR-A350 Digital Camera And 18-70mm Zoom Lens - DSLRA350K,1622,2179,78.66,Uncategorized,2000-11-07T04:24:51.206005500 +1623,Garmin Vehicle Adjustable Suction Cup Mount - 0101082303,1623,1693,15.13,Uncategorized,2012-02-08T02:05:45.206005500 +1624,Coby Black 15' Widescreen Flat Panel LCD HDTV - TFTV1514,1624,2148,182,Uncategorized,2020-05-11T02:17:48.206005500 +1625,Polk Audio Sirius Satellite Radio Home Tuner - SRH1000,1625,1723,248.05,Uncategorized,2004-04-03T11:42:51.206005500 +1626,Panasonic Countertop Microwave Oven In Stainless Steel - NNSD667SS,1626,1559,54.74,Uncategorized,2017-11-16T09:39:34.206005500 +1627,Nyko PlayStation 3 ChargeLink USB Charging Cable - 743840830009,1627,1483,79.83,Uncategorized,2009-05-13T00:18:51.206005500 +1628,Speck SeeThru Aqua Hard Shell Case For 20' iMac - IM20AQUSEE,1628,991,303.88,Uncategorized,2008-08-03T16:31:44.206005500 +1629,Panasonic Stainless Steel Luxury Full Size Countertop Microwave Oven - NNSD967SS,1629,1770,94.1,Uncategorized,2005-03-09T07:02:35.206005500 +1630,Canon Deluxe Grey Leather Case - 2349B001,1630,1960,96,Uncategorized,2008-10-11T11:11:34.206005500 +1631,Belkin F3H982-25 Black 25 Ft Pro Series High Integrity VGA/SVGA Monitor Replacement Cable - F3H98225,1631,1284,14.03,Uncategorized,2006-06-13T23:21:45.206005500 +1632,Yamaha 5.1 Channel Home Theater In A Box System In Black - YHT390BK,1632,185,214.11,Uncategorized,2000-12-06T20:12:36.206005500 +1633,Hoover EmPower Bagless Upright Vacuum - U5269,1633,235,305.56,Uncategorized,2007-09-23T20:45:08.206005500 +1634,Toshiba Black DVD/VCR Combinaton Player - SDV296,1634,796,319.34,Uncategorized,2022-01-05T13:45:07.206005500 +1635,Speck SeeThru Pink Hard Shell Case For 15' MacBook - MB15PNKSEEV2,1635,2025,165.19,Uncategorized,2013-03-27T07:10:53.206005500 +1636,Samsung 46' Series 8 LCD Black Flat Panel HDTV - LN46A860,1636,2011,234.37,Uncategorized,2019-10-16T18:00:25.206005500 +1637,Fellowes Confetti Cut Shredder - W11C,1637,1014,76.75,Uncategorized,2020-03-10T08:25:16.206005500 +1638,Garmin 010-10823-01 Carrying Case - 0101082301,1638,2125,256.2,Uncategorized,2003-02-27T20:16:59.206005500 +1639,Frigidaire Electric Dryer - FEQ1442WH,1639,634,46.94,Uncategorized,2007-09-18T01:49:51.206005500 +1640,Frigidaire Electric Dryer - FEQ1442WH,1640,1261,219.69,Uncategorized,2008-06-04T15:02:51.206005500 +1641,Peerless 37' - 60' Flat Panel TV Black Wall Mount - ST660P,1641,1774,246.23,Uncategorized,2010-03-20T22:46:07.206005500 +1642,D-Link Wireless N USB Adapter - DWA130,1642,2420,175.09,Uncategorized,2000-09-10T21:02:04.206005500 +1643,TomTom Black Carry Case - 9UEA01700,1643,2153,147.87,Uncategorized,2008-06-06T23:19:47.206005500 +1644,LaCie 1TB USB 2.0 External Hard Drive - 301304U,1644,442,108.2,Uncategorized,2000-12-20T19:03:09.206005500 +1645,Polk Audio CSI A6 Black Center Channel Loudspeaker - CSIA6BK,1645,628,307.25,Uncategorized,2018-03-27T23:24:37.206005500 +1646,Logitech diNovo Edge Keyboard Windows Edition - 967685,1646,1394,21.56,Uncategorized,2000-03-16T08:39:56.206005500 +1647,Logitech Harmony One Advanced Universal Remote Control - HARMONY1,1647,1871,13.69,Uncategorized,2016-06-08T10:46:33.206005500 +1648,Samsung 63' Black Flat Panel Series 6 Plasma HDTV - PN63A650,1648,434,38.99,Uncategorized,2004-07-05T11:40:17.206005500 +1649,Sharp AQUOS 52' Special Edition LCD Black Flat Panel HDTV - LC52SE94U,1649,539,93.39,Uncategorized,2019-07-14T04:08:10.206005500 +1650,Sony PlayStation 2 8MB Memory Card - Black Finish - 711719702702,1650,1475,81.52,Uncategorized,2017-06-25T21:02:31.206005500 +1651,Speck SeeThru Pink Hard Shell Case For 15' MacBook - MB15PNKSEEV2,1651,2497,272.36,Uncategorized,2007-07-08T04:31:41.206005500 +1652,Canon Black BP-808 Camcorder Battery Pack - 2740B002,1652,1917,293.86,Uncategorized,2021-09-18T16:06:25.206005500 +1653,Sony 1GB Memory Stick PRO Duo Mark 2 Media Card - MSMT1G,1653,714,128.48,Uncategorized,2006-03-06T11:54:05.206005500 +1654,Belkin Cush Top For Computer Laptop - F8N044GRN,1654,118,101.64,Uncategorized,2020-10-15T05:38:44.206005500 +1655,Delonghi Coffee Maker In Black - DCF212T,1655,1290,51.91,Uncategorized,2022-03-02T22:18:08.206005500 +1656,Sony Black Camcorder Tripod - VCT80AV,1656,432,172.28,Uncategorized,2022-12-13T09:16:49.206005500 +1657,OmniMount G-303 Gray Stellar Series Audio Tower - G303GR,1657,1891,36.78,Uncategorized,2022-04-05T17:23:49.206005500 +1658,Sony Digital Photo Printer Paper 40 Pack - SVMF40P,1658,1312,317.55,Uncategorized,2009-06-04T11:39:50.206005500 +1659,Sony Black DVD Recorder And VHS Combo Player - RDRVX560,1659,1381,82.06,Uncategorized,2021-07-13T11:08:27.206005500 +1660,Linksys Simultaneous Dual-N Band Wireless Router - WRT610N,1660,933,315.25,Uncategorized,2014-05-08T07:22:42.206005500 +1661,Canon Black Leather Camera Case - 1588B001,1661,1195,143.47,Uncategorized,2005-09-11T08:46:30.206005500 +1662,Panasonic Silver 8.1 Megapixel Digital Camera - DMCFS3S,1662,660,140.26,Uncategorized,2022-02-04T10:44:56.206005500 +1663,Sony Turntable - PSLX350H,1663,2110,307.89,Uncategorized,2017-01-06T05:17:11.206005500 +1664,Panasonic VIERA 50' 1080p Plasma HDTV In Black - TH50PZ850U,1664,1224,50.61,Uncategorized,2005-08-04T02:52:26.206005500 +1665,Toshiba 52' Regza Black Flat Panel LCD HDTV - 52RV535U,1665,2402,90.85,Uncategorized,2010-12-20T02:45:42.206005500 +1666,Frigidaire GLD4355RFB Gallery SpeedClean 24' Black Dishwasher - GLD4355BK,1666,475,245.52,Uncategorized,2021-07-05T18:15:31.206005500 +1667,Peerless Flat Panel Display Mount Black Finish - SGLB01,1667,1708,12.9,Uncategorized,2015-02-22T07:56:48.206005500 +1668,Pioneer 6.5' 2-Way Marine White Speakers - TSMR1640FM,1668,2431,173.91,Uncategorized,2007-11-15T14:13:13.206005500 +1669,Apple 8GB Purple 4th Generation iPod Nano - MB739LLA,1669,2016,255.81,Uncategorized,2003-11-12T13:13:15.206005500 +1670,Panasonic VIERA 58' 1080p Plasma HDTV In Black - TH58PZ850U,1670,697,211.87,Uncategorized,2011-08-25T07:43:15.206005500 +1671,Garmin Nuvi 360 010-10723-06 Black 12 Volt Adapter Cable - 0101072306,1671,1014,93.12,Uncategorized,2004-06-25T20:39:41.206005500 +1672,Panasonic Lithium Ion Rechargeable Battery - Black Finish - CGRS006A1B,1672,218,115.78,Uncategorized,2006-06-23T19:49:16.206005500 +1673,Sony MS-A1GD 1GB Memory Stick Micro (M2) - MSA1GD,1673,31,121.58,Uncategorized,2006-08-13T08:29:52.206005500 +1674,Canon Black Leather Case - 3528B001,1674,556,73.72,Uncategorized,2020-03-05T02:34:13.206005500 +1675,Griffin iPhone 3G Black Elan Form Hard-Shell Leather Case - 8223IP2EFRMB,1675,1350,78.77,Uncategorized,2004-11-13T23:49:24.206005500 +1676,Lowepro Digital Camera Case In Black - REZO15BK,1676,507,237.67,Uncategorized,2020-10-02T12:33:56.206005500 +1677,Samsung 52' Series 7 Black Flat Panel LCD HDTV - LN52A750,1677,79,44.63,Uncategorized,2007-04-01T23:42:33.206005500 +1678,Sony VAIO CS Series Black Notebook Computer - VGNCS180JQ,1678,715,228.85,Uncategorized,2019-07-24T11:39:23.206005500 +1679,Netgear Wireless Access Point - WG102,1679,169,30.77,Uncategorized,2008-11-25T12:19:46.206005500 +1680,Panasonic Genius Countertop Microwave In White - NNH965WH,1680,2255,172.99,Uncategorized,2012-04-01T23:33:41.206005500 +1681,Garmin Suction Cup Mount And 12-Volt Adapter Kit - 0101097900,1681,140,242.07,Uncategorized,2001-12-08T03:38:25.206005500 +1682,Canon Silver 8.0 Megapixel PowerShot Digital Camera - SD1100IS,1682,1538,202.32,Uncategorized,2022-09-07T21:05:04.206005500 +1683,Samsung Hi Definition Conversion DVD Player - DVD1080P8,1683,1260,236.3,Uncategorized,2011-09-04T22:19:50.206005500 +1684,Pioneer 6.5' 2-Way Marine White Speakers - TSMR1640,1684,1490,23.34,Uncategorized,2008-04-10T22:34:47.206005500 +1685,Canon EOS 40D Digital SLR Camera In Black - EOS40DBODY,1685,1212,163.68,Uncategorized,2019-11-27T04:13:38.206005500 +1686,Sony Telephoto Converter Lens - VCLDH1774,1686,2472,209.07,Uncategorized,2010-04-10T04:29:06.206005500 +1687,Griffin Black TuneBuds Mobile For iPod And iPhone - 9410TUNBMBLB,1687,886,311.1,Uncategorized,2013-10-24T09:43:59.206005500 +1688,Logitech 2.1 Multimedia Silver Speaker System - Z2300,1688,1391,242.04,Uncategorized,2009-07-17T05:29:56.206005500 +1689,Speck Black ToughSkin Case For iPhone 3G - IPH3GBLKTS,1689,820,265.89,Uncategorized,2020-08-06T18:49:56.206005500 +1690,Toshiba 19' Black LCD HDTV With Built In DVD Player - 19LV505,1690,1505,118.74,Uncategorized,2008-02-26T20:00:29.206005500 +1691,Sony Progressive Scan Silver DVD Player - DVPNS57PS,1691,220,135.32,Uncategorized,2004-09-18T02:13:47.206005500 +1692,Denon Stereo Tuner - TU1500RD,1692,40,133.39,Uncategorized,2004-02-01T20:44:56.206005500 +1693,Sony LCS-TWA/B Black Soft Leather Carrying Case - LCSTWAB,1693,1359,176.79,Uncategorized,2013-10-01T09:05:42.206005500 +1694,LEGO Star Wars II: The Original Trilogy Video Game For The Sony PSP - 023272329396,1694,1289,92.84,Uncategorized,2009-12-14T18:01:50.206005500 +1695,Sanus 13' - 30' Flat Panel TV Black Wall Mount - VM1B,1695,1333,298.52,Uncategorized,2006-06-07T12:45:50.206005500 +1696,Olympus Lithium Ion Rechargeable Battery - LI42B,1696,2033,302.62,Uncategorized,2000-12-23T14:23:50.206005500 +1697,Speck Black ToughSkin iPod Classic Case - ICBLKTS,1697,2100,184.62,Uncategorized,2022-05-04T04:11:55.206005500 +1698,Samsung 22' White Flat Panel LCD HDTV - LN22A451,1698,177,119.22,Uncategorized,2018-01-03T16:25:55.206005500 +1699,Maytag Over-The-Range Microwave Oven - MMV5207BK,1699,514,220.86,Uncategorized,2004-10-24T05:36:49.206005500 +1700,Sharp AQUOS Blu Ray Disc Player In Black And Silver - BDHP21U,1700,954,137.52,Uncategorized,2013-02-21T02:34:00.206005500 +1701,Frigidaire Professional 24' PLD4555RFC Built-In Stainless Steel Dishwasher - PLD4555SS,1701,1567,38.93,Uncategorized,2016-09-19T21:28:44.206005500 +1702,Nikon CoolPix S610 10 Megapixel Black Digital Camera - COOLPIXS610BK,1702,832,92.36,Uncategorized,2010-01-18T20:44:28.206005500 +1703,Weber Cast Iron Griddle - 7531,1703,617,145.6,Uncategorized,2012-09-24T18:04:39.206005500 +1704,Garmin 010-10823-00 Black Nuvi 660 Vehicle Suction Cup Mount - 0101082300,1704,690,244.35,Uncategorized,2022-12-24T00:58:56.206005500 +1705,Uniden Dect 6.0 Accessory Handset And Charging Cradle - DCX200,1705,3,30.8,Uncategorized,2011-04-10T19:32:05.206005500 +1706,Garmin 010-10823-00 Black Nuvi 660 Vehicle Suction Cup Mount - 0101082300,1706,648,286.13,Uncategorized,2003-07-09T17:19:11.206005500 +1707,Delonghi Coffee Maker In Black - DCF212T,1707,1227,254.81,Uncategorized,2006-12-24T07:28:25.206005500 +1708,Onkyo Black CD Receiver System - CS325,1708,689,263.55,Uncategorized,2000-11-02T07:28:23.206005500 +1709,Canon Deluxe Black Digital Camera Case - 2595B002,1709,1746,307.29,Uncategorized,2014-09-24T04:27:31.206005500 +1710,Speck SeeThru Red Hard Shell Case For 13' MacBook - MB13REDSEEV2,1710,1899,262.89,Uncategorized,2016-05-15T02:06:33.206005500 +1711,Lasonic ATSC Digital To Analog TV Converter Box - LTA260,1711,224,154.4,Uncategorized,2001-05-05T19:21:13.206005500 +1712,Speck SeeThru Purple Hard Shell Case For 15' MacBook - MB15PURSEEV2,1712,1382,21.73,Uncategorized,2014-01-08T06:05:34.206005500 +1713,Sony VAIO CS Series White Notebook Computer - VGNCS180JW,1713,1714,109.67,Uncategorized,2003-06-27T11:24:09.206005500 +1714,LG WDP3N 14' Tall Navy Blue Pedestal With Drawer - WDP3BL,1714,48,325.41,Uncategorized,2013-11-21T03:40:13.206005500 +1715,Whirlpool 24' Built-In Dishwasher - DU1055SS,1715,686,172.22,Uncategorized,2014-01-26T10:16:34.206005500 +1716,Linksys Wireless-G Broadband Router - WRT54GL,1716,2089,16.29,Uncategorized,2016-04-21T17:06:48.206005500 +1717,Garmin 010-10823-01 Carrying Case - 0101082301,1717,1342,99.77,Uncategorized,2016-01-26T04:32:30.206005500 +1718,Electrolux Oxygen 3 Canister HEPA H12 Filter - EL012A,1718,390,278.8,Uncategorized,2019-03-27T01:17:00.206005500 +1719,Onkyo THX Ultra2 Certified 7.1 Channel Home Theater Black Receiver - TXNR906B,1719,1566,178.72,Uncategorized,2017-12-15T04:10:22.206005500 +1720,Transcend 133X High-Speed 8GB Compact Flash Card - TS8GCF133,1720,2455,13.76,Uncategorized,2014-07-26T22:28:19.206005500 +1721,Panasonic NNSD797S Stainless Steel Countertop Microwave Oven - NNSD797SS,1721,952,288.75,Uncategorized,2005-10-21T23:52:30.206005500 +1722,Sony Compact Disc Player/Recorder - RCDW500C,1722,1431,264.15,Uncategorized,2018-07-13T12:40:13.206005500 +1723,Sony Red Cyber-Shot Digital Camera - DSCW170R,1723,978,323.21,Uncategorized,2000-03-27T05:14:00.206005500 +1724,Escort Passport 9500IX Radar Detector - 9500IX,1724,2408,278.06,Uncategorized,2021-01-01T07:40:46.206005500 +1725,Sony Stereo Audio Receiver - STRDE197,1725,2186,9.52,Uncategorized,2014-04-17T11:46:55.206005500 +1726,Whirlpool Cabrio Diamond Dust Top Loading Washer - WTW6700TU,1726,1256,69.65,Uncategorized,2019-03-12T11:16:42.206005500 +1727,Canon Silver Dual Flash Memory Camcorder - FS10,1727,1770,50.31,Uncategorized,2006-06-18T13:50:34.206005500 +1728,Sony Black LocationFree Base Station - LFV30,1728,1696,277.72,Uncategorized,2021-12-03T01:47:11.206005500 +1729,Linksys Dual-Band Wireless-N Notebook Adapter - WPC600N,1729,706,311.44,Uncategorized,2021-07-13T20:29:41.206005500 +1730,Logitech MX Air Rechargeable Cordless Air Mouse - 931633,1730,1469,42.28,Uncategorized,2010-05-23T00:43:35.206005500 +1731,Olympus Olympus Ni-MH Quick Charger And Battery Set - B90SU,1731,1713,117.47,Uncategorized,2009-04-22T02:17:05.206005500 +1732,Audiovox XpressR XM Satellite Radio Receiver - XMCK20P,1732,1848,43.35,Uncategorized,2003-09-02T05:40:36.206005500 +1733,Apple 1GB Silver iPod Shuffle - MB225LLA,1733,1194,145.22,Uncategorized,2003-05-05T15:20:09.206005500 +1734,Logitech Cordless Desktop Wave Keyboard And Mouse Combo - 920000264,1734,731,5.9,Uncategorized,2016-06-14T20:53:02.206005500 +1735,Transcend 2GB Micro SD Memory Card - TS2GUSD,1735,2183,46.06,Uncategorized,2013-08-25T03:35:04.206005500 +1736,Canon Vixia High Definition Camcorder - HF100,1736,719,7.72,Uncategorized,2013-01-22T14:28:03.206005500 +1737,Omnimount 42' - 63' Wishbone Cantilever Extra Large Flat Panel TV Silver Wall Mount - UCLXB,1737,460,151.56,Uncategorized,2004-07-12T20:57:15.206005500 +1738,Frigidaire GLD4355RFB Gallery SpeedClean 24' Black Dishwasher - GLD4355BK,1738,1965,292.09,Uncategorized,2012-11-10T05:43:51.206005500 +1739,Sony HD Radio Add On Tuner - XT100HD,1739,1845,314.16,Uncategorized,2022-04-15T15:14:39.206005500 +1740,Cuisinart Countertop Griddler - GR4,1740,1388,239.67,Uncategorized,2021-07-07T20:15:27.206005500 +1741,Garmin Vehicle Suction Cup Mount - 0101093600,1741,1147,178.49,Uncategorized,2014-02-08T13:31:46.206005500 +1742,Panasonic Integrated Black Telephone System With All-Digital Answering System - KXTS620B,1742,1324,306.17,Uncategorized,2014-04-07T14:24:33.206005500 +1743,Sony Learning Remote Control - Silver Finish - RMVL600,1743,928,85.48,Uncategorized,2000-03-01T23:23:42.206005500 +1744,Sirius External Home Antenna - 14240,1744,771,147.21,Uncategorized,2002-06-22T00:17:21.206005500 +1745,Panasonic Lithium Ion Rechargeable Battery - Black Finish - CGRS006A1B,1745,2119,81.24,Uncategorized,2001-05-20T05:44:48.206005500 +1746,Nikon SB-900 AF Speedlight In Black - SB900,1746,2432,45.74,Uncategorized,2018-08-17T22:32:34.206005500 +1747,Peerless Wall TV Mounts In Black - PM1327BK,1747,278,109.94,Uncategorized,2006-10-08T00:40:36.206005500 +1748,Omnimount TV Top Shelf Mount - CCH1B,1748,1744,216.47,Uncategorized,2017-02-16T15:44:27.206005500 +1749,Samsung 52' Series 5 LCD Black Flat Panel HDTV - LN52A550,1749,773,87.56,Uncategorized,2003-05-25T03:03:13.206005500 +1750,Nikon CoolPix S550 Blue 10.0 Megapixels Compact Digital Camera - COOLPIXS550CB,1750,1624,321.77,Uncategorized,2014-09-20T13:42:36.206005500 +1751,Sony Bluetooth Adaptor/Portable Transmitter - TMRBT10,1751,761,279.8,Uncategorized,2003-09-20T13:44:28.206005500 +1752,Samsung Black Combo DVD/VHS Player - DVDV9800,1752,310,308,Uncategorized,2018-02-15T03:16:14.206005500 +1753,Logitech diNovo Edge Keyboard Windows Edition - 967685,1753,1497,124.32,Uncategorized,2022-04-10T16:09:08.206005500 +1754,Boston Acoustics Duo-I AM/FM Clock Radio With iPod Dock - HDUOIMDNT,1754,1673,218.19,Uncategorized,2002-01-17T12:13:47.206005500 +1755,Toshiba White 19' LCD HDTV DVD Combo - 19LV506,1755,261,166.13,Uncategorized,2007-04-24T04:31:33.206005500 +1756,Logitech V-UBM46 QuickCam Pro 9000 Black Webcam For Windows - 960000048,1756,813,9.5,Uncategorized,2010-01-01T16:18:13.206005500 +1757,Panasonic 2-Line Integrated Telephone - KXTSC14W,1757,2023,286.51,Uncategorized,2015-06-14T13:50:41.206005500 +1758,Sanus Universal Projector Ceiling Mount - Black Finish - VMPR1B,1758,1449,319.74,Uncategorized,2018-01-20T11:23:12.206005500 +1759,Sony Cyber-Shot Black Digital Camera - DSCT500B,1759,84,211.33,Uncategorized,2015-12-11T14:40:16.206005500 +1760,Electrolux Harmony Series Canister Vacuum - EL6985B,1760,700,153.92,Uncategorized,2002-04-05T03:09:45.206005500 +1761,Lowepro Digital Camera Case In Black - EDIT100BK,1761,1636,206.1,Uncategorized,2012-10-05T18:02:46.206005500 +1762,Microsoft Office Home And Student 2007 For Windows Vista - 79G00007,1762,248,85.82,Uncategorized,2007-12-03T00:10:19.206005500 +1763,Sony Mylo Black Personal Communicator - COM2BLACK,1763,508,106.33,Uncategorized,2007-03-15T12:17:56.206005500 +1764,Transcend 133X High-Speed 8GB Compact Flash Card - TS8GCF133,1764,1634,188.46,Uncategorized,2020-07-14T09:10:28.206005500 +1765,Nikon SB-900 AF Speedlight In Black - SB900,1765,47,157.17,Uncategorized,2000-07-26T12:28:21.206005500 +1766,Nikon COOLPIX P80 Digital Camera In Black - COOLPIXP80,1766,1001,193.86,Uncategorized,2001-11-07T06:04:49.206005500 +1767,iHome iPod & iPhone Clock Radio & Audio System - IP99BR,1767,2301,219.86,Uncategorized,2015-04-08T23:06:01.206005500 +1768,Sony Super Audio CD Player - SCDCE595,1768,1443,6.29,Uncategorized,2010-07-08T05:04:26.206005500 +1769,Logitech Harmony 1000 Silver Touch Screen Remote Control - H1000,1769,2216,16.43,Uncategorized,2001-06-20T14:56:20.206005500 +1770,Netgear RangeMax Wireless Access Point - White Finish - WPN802NA,1770,871,195.98,Uncategorized,2013-08-21T11:24:21.206005500 +1771,Canon Battery Charger - 0763B001,1771,1619,314.83,Uncategorized,2007-12-21T07:16:50.206005500 +1772,Panasonic Hands-Free Headset - KXTCA86,1772,525,271.08,Uncategorized,2007-03-04T19:52:11.206005500 +1773,Sony PSP 2000 Playstation Portable Gaming System Core 98510 In Piano Black - 711719851004,1773,1691,226.34,Uncategorized,2011-11-01T18:44:09.206005500 +1774,Apple USB Modem - White Finish - MA034ZA,1774,1082,18.92,Uncategorized,2000-01-07T13:01:00.206005500 +1775,iHome Black Clock Radio Audio System For iPod - IH9BR,1775,914,108.56,Uncategorized,2005-10-02T08:11:08.206005500 +1776,Apple 8GB Pink 4th Generation iPod Nano - MB735LLA,1776,674,15.75,Uncategorized,2021-12-04T04:17:01.206005500 +1777,Coby Black 15' Widescreen Flat Panel LCD HDTV - TFTV1514,1777,256,224.38,Uncategorized,2021-09-14T09:52:17.206005500 +1778,Samsung 32' Series 5 LCD Black Flat Panel HDTV - LN32A550,1778,1483,238.28,Uncategorized,2017-11-01T15:55:42.206005500 +1779,Bracketron Black GPS Low-Pro Windshield Mount - SWM400BL,1779,1468,171.48,Uncategorized,2007-09-01T17:53:45.206005500 +1780,Sony Silver Cyber-Shot 7.2 Megapixel Digital Camera - DSCW120,1780,2430,291.16,Uncategorized,2000-01-11T10:53:40.206005500 +1781,Logitech Harmony 890 Advanced Universal Remote Control - H890,1781,365,124.25,Uncategorized,2011-03-13T00:02:24.206005500 +1782,Canon Silver Flash Memory Camcorder - FS100S,1782,2137,154.41,Uncategorized,2017-03-07T23:16:20.206005500 +1783,Canon White Selphy CP760 Compact Photo Printer - 2565B001,1783,643,184.66,Uncategorized,2005-12-27T22:49:29.206005500 +1784,Netgear Prosafe 16 Port 10/100 Rackmount Switch - Black Finish - JFS516NA,1784,550,194.28,Uncategorized,2012-07-12T21:33:15.206005500 +1785,Canon Black Leather Case - 3528B001,1785,2368,129.47,Uncategorized,2009-05-04T20:59:15.206005500 +1786,LG DLE5955W White XL Capacity Electric Dryer - DLE5955WH,1786,1340,69.89,Uncategorized,2010-07-17T03:41:35.206005500 +1787,Apple Mini-DVI To DVI Adapter - M9321GB,1787,1868,259.68,Uncategorized,2012-05-01T23:16:35.206005500 +1788,Apple 1GB Silver iPod Shuffle - MB225LLA,1788,15,277.54,Uncategorized,2022-03-11T06:51:56.206005500 +1789,Panasonic DECT 6.0 Black Expandable Digital Cordless Phone - KXTG9361B,1789,1572,188.34,Uncategorized,2005-04-19T00:03:40.206005500 +1790,Toshiba Black DVD Recorder With Built-In Digital Tuner - DR560,1790,1591,242.22,Uncategorized,2005-04-13T20:48:22.206005500 +1791,Sony Pink Earbud Style Headphones - MDREX55P,1791,447,47.28,Uncategorized,2001-06-06T09:43:04.206005500 +1792,Sony DVD-R Recordable Camcorder Media - 3DMR30L1H,1792,2099,324.25,Uncategorized,2006-09-15T20:48:25.206005500 +1793,Onkyo 6 Disc CD Player Changer - DXC390B,1793,2042,269.01,Uncategorized,2019-01-05T21:51:17.206005500 +1794,Coby 7' Black Widescreen TFT Portable DVD CD MP3 Player - TFDVD7006,1794,2093,290.25,Uncategorized,2008-06-01T10:00:02.206005500 +1795,Sony Soft Cyber-Shot Carrying Case - LCSCST,1795,1792,27.84,Uncategorized,2017-04-14T04:22:45.206005500 +1796,Linksys Wireless-G PrintServer - WPSM54G,1796,510,265.71,Uncategorized,2010-05-16T20:49:53.206005500 +1797,Canon Black Leather Camera Case - 1588B001,1797,2124,159.01,Uncategorized,2003-07-24T03:37:11.206005500 +1798,Pioneer 4'x6' 2-Way Component Plate Speaker - TSP462,1798,1891,47.67,Uncategorized,2020-12-01T02:19:53.206005500 +1799,Onkyo Black CD Receiver System - CS325,1799,2297,37.64,Uncategorized,2007-08-06T22:39:58.206005500 +1800,LG Pearl Gray XL Capacity Electric Dryer - DLE5955G,1800,2104,72.45,Uncategorized,2002-09-03T13:45:53.206005500 +1801,Belkin AC Anywhere - F5C400300W,1801,2049,151.24,Uncategorized,2015-03-14T23:48:01.206005500 +1802,Sony SLV-D380P Black DVD VHS Combo Player - SLVD380P,1802,1449,71.5,Uncategorized,2010-02-09T20:44:49.206005500 +1803,Sanus Silver LCD Television Turntable - TVLCDS,1803,1,79.29,Uncategorized,2004-11-22T16:06:53.206005500 +1804,Sony Black LocationFree Base Station - LFV30,1804,1930,186.34,Uncategorized,2022-10-25T03:59:15.206005500 +1805,Sony Mylo White Personal Communicator - COM2WHITE,1805,1102,209.94,Uncategorized,2022-12-22T20:28:46.206005500 +1806,Sony Cyber-Shot Black Digital Camera - DSCT500B,1806,2102,177.55,Uncategorized,2013-12-15T17:25:18.206005500 +1807,Linksys Wireless-G PrintServer - WPSM54G,1807,161,108.83,Uncategorized,2020-01-08T06:55:35.206005500 +1808,Microsoft Office 2008 For Mac Home And Student Edition - GZA00006,1808,1943,291.75,Uncategorized,2017-10-22T03:20:34.206005500 +1809,Garmin 010-10723-02 Carrying Case - 0101072302,1809,1528,289.24,Uncategorized,2015-07-08T22:44:03.206005500 +1810,LG WM2233W 4.0 Cu Ft White Front Load Washer - WM2233WH,1810,213,108.86,Uncategorized,2003-05-11T04:30:11.206005500 +1811,Speck SeeThru Pink Hard Shell Case For MacBook Air - MBAPNKSEE,1811,1813,243.3,Uncategorized,2000-06-01T03:00:01.206005500 +1812,Kenwood iPod Mobile Interface - KCAIP500,1812,71,286.51,Uncategorized,2005-05-19T16:36:11.206005500 +1813,Denon D-M37 Black CD/AM/FM Micro System - DM37SBK,1813,294,53.43,Uncategorized,2012-04-17T03:42:29.206005500 +1814,Logitech diNovo Edge Keyboard Windows Edition - 967685,1814,1729,53.89,Uncategorized,2002-12-03T08:43:45.206005500 +1815,Sony Black Earbud Style Headphones - MDREX55BK,1815,1,47.3,Uncategorized,2015-01-04T21:09:55.206005500 +1816,Nikon 70-300mm f/4.5-5.6G ED-IF AF-S VR Zoom-Nikkor Lens - 2161,1816,794,267.87,Uncategorized,2015-06-03T20:32:08.206005500 +1817,Toshiba 22' Black LCD HDTV - 22AV500U,1817,2213,15.97,Uncategorized,2004-05-26T12:42:45.206005500 +1818,Sanus WMS3B Black Weather Resistant Small Speaker Wall Mount - WMS3B,1818,27,205.25,Uncategorized,2015-10-07T09:50:44.206005500 +1819,Uniden DECT 6.0 Digital Accessory Handset - DCX300,1819,1527,308.58,Uncategorized,2017-09-26T14:21:33.206005500 +1820,Canon Black EOS 50D Digital SLR Camera With 28-135MM Lens - 50D28135,1820,1222,117.16,Uncategorized,2022-05-21T02:43:48.206005500 +1821,Sanus 15' - 40' VisionMount Flat Panel TV Black Wall Mount - MF110B,1821,1651,52.69,Uncategorized,2001-06-22T12:39:52.206005500 +1822,Canon Black 8.0 Megapixel PowerShot Digital Camera - A590IS,1822,1583,24.69,Uncategorized,2001-05-27T14:37:46.206005500 +1823,Panasonic Blue 8.1 Megapixel Digital Camera - DMCFS3A,1823,612,62.87,Uncategorized,2019-08-16T04:39:06.206005500 +1824,Peerless Flat Panel Display Mount Black Finish - SGLB01,1824,1776,86.09,Uncategorized,2020-06-15T19:41:10.206005500 +1825,LG DLG2526W White Super Capacity Gas Dryer - DLG2526WH,1825,44,255.45,Uncategorized,2006-06-24T14:47:17.206005500 +1826,Canon Black 8.0 Megapixel PowerShot Digital Camera - A590IS,1826,2449,9.88,Uncategorized,2011-11-23T06:26:05.206005500 +1827,LG LDC22720ST 22 Cu. Ft. Smooth White Bottom Freezer Refrigerator - LDC22720SS,1827,1855,142.24,Uncategorized,2011-10-24T03:45:53.206005500 +1828,Onkyo 6 Disc CD Player Changer - DXC390B,1828,662,19.18,Uncategorized,2008-05-18T23:17:53.206005500 +1829,Whirlpool 24' Built-In Dishwasher - DU1055SS,1829,1815,81.39,Uncategorized,2014-10-17T21:02:45.206005500 +1830,Netgear ProSafe 24-Port Gigabit Rackmount Switch With 2 SFP Slots - JGS524F,1830,1325,74.93,Uncategorized,2006-05-24T01:12:45.206005500 +1831,Delonghi Coffee Maker In Black - DCF212T,1831,2349,109.08,Uncategorized,2001-06-02T00:31:58.206005500 +1832,Samsung 52' Series 8 LCD Black Flat Panel HDTV - LN52A850,1832,2273,253.66,Uncategorized,2000-12-20T13:24:54.206005500 +1833,Canon PIXMA Photo All-In-One Printer - MP980,1833,1279,109.04,Uncategorized,2015-03-04T23:45:39.206005500 +1834,Sony 120GB High Definition Hard Disk Drive Handycam Camcorder - HDRSR12,1834,2112,289.29,Uncategorized,2011-09-03T09:49:54.206005500 +1835,Sirius STILETTO 2 Home Docking Kit - SLH2,1835,1764,177.53,Uncategorized,2018-03-20T08:39:41.206005500 +1836,Samsung Hi Definition Conversion DVD Player - DVD1080P8,1836,1689,192.89,Uncategorized,2021-08-12T13:21:27.206005500 +1837,Linksys Wireless-G Ethernet Bridge - WET54G,1837,259,62.49,Uncategorized,2017-01-20T19:26:24.206005500 +1838,Yamaha 5.1 Channel Home Theater In A Box System In Black - YHT390BK,1838,220,53.17,Uncategorized,2019-05-04T10:17:35.206005500 +1839,Logitech MX Air Rechargeable Cordless Air Mouse - 931633,1839,1961,227.51,Uncategorized,2017-05-05T17:08:24.206005500 +1840,Garmin Nuvi Portable Friction Mount - 0101090800,1840,226,216.25,Uncategorized,2007-12-21T13:34:37.206005500 +1841,Canon PIXMA Photo All-In-One Printer - MP480,1841,2041,36.23,Uncategorized,2005-05-13T20:06:16.206005500 +1842,LG LDC22720ST 22 Cu. Ft. Smooth White Bottom Freezer Refrigerator - LDC22720SS,1842,2389,143.32,Uncategorized,2003-03-03T23:38:15.206005500 +1843,Onkyo 7.1-Channel Home Theater Black Receiver - TXSR606B,1843,1868,304.06,Uncategorized,2001-08-09T00:13:03.206005500 +1844,Cuisinart Stainless Steel Convection Toaster Oven - TOB195,1844,75,299.89,Uncategorized,2016-10-21T10:11:25.206005500 +1845,Logitech Driving Force Pro Steering Wheel With Pedals Set For Sony Playstation 2 - 9632930403,1845,1124,220.46,Uncategorized,2003-06-08T14:46:33.206005500 +1846,Onkyo THX Select2 Plus Certified 7.1 Channel Home Theater Black Receiver - TXSR706B,1846,378,102.87,Uncategorized,2021-02-06T06:31:14.206005500 +1847,Sirius External Home Antenna - 14240,1847,397,277.72,Uncategorized,2002-01-14T04:48:55.206005500 +1848,KitchenAid ProLine Series 16 Cup Food Processor - KPFP850OB,1848,2298,28.38,Uncategorized,2002-12-17T16:01:04.206005500 +1849,Sony PlayStation 2 8MB Memory Card - Black Finish - 711719702702,1849,1452,161.17,Uncategorized,2013-04-22T07:07:08.206005500 +1850,Whirlpool WED6400SB Cabrio Super Capacity Plus Electric Black Dryer - WED6400SBK,1850,1391,324.19,Uncategorized,2005-10-09T07:54:28.206005500 +1851,Griffin iPhone 3G Black Elan Form Hard-Shell Leather Case - 8223IP2EFRMB,1851,2163,109.71,Uncategorized,2013-09-07T02:37:52.206005500 +1852,Sony Compact Disc Player/Recorder - RCDW500C,1852,2358,252.9,Uncategorized,2005-02-19T12:13:11.206005500 +1853,Canon Rechargeable Battery - 9763A001,1853,165,63.64,Uncategorized,2008-12-15T16:02:02.206005500 +1854,Linksys EtherFast4116 16-Port 10/100 Ethernet Switch - EF4116,1854,964,315.55,Uncategorized,2013-03-16T07:29:49.206005500 +1855,LG DLEX7177RM Cherry Red XL Capacity Electric SteamDryer - DLEX7177RD,1855,1642,35.78,Uncategorized,2021-11-11T09:52:12.206005500 +1856,Panasonic KX-TG4500B Black 5.8 GHz Cordless Phone System - KXTG4500B,1856,947,262.54,Uncategorized,2001-04-16T18:15:20.206005500 +1857,Canon NB-5L Lithium Battery - 1135B001,1857,2497,258.61,Uncategorized,2017-12-14T21:42:52.206005500 +1858,Belkin F3H982-25 Black 25 Ft Pro Series High Integrity VGA/SVGA Monitor Replacement Cable - F3H98225,1858,2247,206.71,Uncategorized,2021-06-22T10:05:20.206005500 +1859,Universal RF Series MasterControl Remote Control - RF20,1859,1948,146.57,Uncategorized,2015-02-12T16:29:44.206005500 +1860,Panasonic Rechargeable Lithium-Ion 1320 mAh Battery Pack - VWVBG130,1860,453,227.21,Uncategorized,2015-02-08T09:33:31.206005500 +1861,Peerless 37' - 60' Flat Panel TV Black Wall Mount - ST660P,1861,322,29.02,Uncategorized,2002-10-21T02:11:50.206005500 +1862,Sanus 15' To 40' Flat Panel Black TV Wall Mount - ML22B1,1862,1330,261,Uncategorized,2015-05-20T18:06:02.206005500 +1863,Omnimount Moda 2 Shelf Wall Furniture - MWFS,1863,945,316.82,Uncategorized,2011-06-03T21:18:37.206005500 +1864,Sony Progressive Scan Black DVD Player - DVPNS57PB,1864,1585,157.02,Uncategorized,2015-06-24T23:17:39.206005500 +1865,Sony VAIO Black USB Docking Station - VGPUPR1,1865,1660,108.47,Uncategorized,2017-03-03T15:43:41.206005500 +1866,Peerless 10' - 22' Flat Panel TV Black Pivot Wall Arm - PP730,1866,1491,206.22,Uncategorized,2015-12-21T02:13:42.206005500 +1867,Toshiba XDE Black 1080p Upconversion Extended Detail DVD Player - XDE500,1867,2179,288.69,Uncategorized,2007-09-13T00:01:17.206005500 +1868,Belkin AC Anywhere - F5C400300W,1868,2065,221.69,Uncategorized,2021-10-26T01:46:40.206005500 +1869,LG LFC23760ST 22.6 Cu. Ft. Stainless Steel French Door Bottom Freezer Refrigerator - LFC23760SS,1869,2396,218.97,Uncategorized,2012-10-20T23:27:35.206005500 +1870,LG 30' Black Freestanding Gas Range - LRG30357BK,1870,1179,33.06,Uncategorized,2012-04-05T07:07:19.206005500 +1871,Canon Red Photo Ink Cartridge - CLI8R,1871,2383,206.43,Uncategorized,2020-05-11T09:34:23.206005500 +1872,Samsung 46' Series 5 LCD Black Flat Panel HDTV - LN46A550,1872,75,228.36,Uncategorized,2007-11-17T18:24:53.206005500 +1873,LEGO Star Wars II: The Original Trilogy Video Game For The Sony PSP - 023272329396,1873,2437,219.03,Uncategorized,2009-05-10T20:40:35.206005500 +1874,Nikon Coolpix S210 Plum 8.1 Megapixels Digital Camera - COOLPIXS210P,1874,1108,141.43,Uncategorized,2008-02-02T00:09:51.206005500 +1875,Sony Alpha DSLR Black Camera Body With 18-70mm Zoom Lens - DSLRA300K,1875,813,96.87,Uncategorized,2005-08-18T23:51:00.206005500 +1876,LG LMX25981ST 24.7 Cu. Ft. Capacity Stainless Steel French Door Refrigerator - LMX25981SS,1876,2066,152.19,Uncategorized,2021-05-19T23:10:49.206005500 +1877,Panasonic Blue 8.1 Megapixel Digital Camera - DMCFS3A,1877,502,161.76,Uncategorized,2009-07-22T06:54:01.206005500 +1878,Logitech diNovo Edge Keyboard Mac Edition - 920000924,1878,733,189.42,Uncategorized,2005-07-21T03:53:01.206005500 +1879,Speck SeeThru Clear Hard Shell Case For 15' MacBook - MB15CLRSEEV2,1879,1709,231.21,Uncategorized,2015-12-26T09:01:00.206005500 +1880,LG 42' Glossy Piano Black LCD Flat Panel HDTV - 42LG30,1880,1113,173.49,Uncategorized,2009-12-05T01:04:40.206005500 +1881,Whirlpool Cabrio Diamond Dust Top Loading Washer - WTW6700TU,1881,1741,297.32,Uncategorized,2019-06-14T06:09:22.206005500 +1882,Denon 5 Disc CD Player - Black Finish - DCM390,1882,2344,95.92,Uncategorized,2006-11-23T12:36:33.206005500 +1883,Cuisinart Stainless Steel Convection Toaster Oven - TOB195,1883,859,207.48,Uncategorized,2001-04-20T17:22:08.206005500 +1884,LG WM2455HG 4.2 Cu Ft Pearl Gray Front Load Washer - WM2455G,1884,563,149.81,Uncategorized,2013-06-14T04:38:27.206005500 +1885,LG Titanium Bottom-Freezer Refrigerator - LRBP1031TT,1885,674,251.65,Uncategorized,2002-10-09T12:31:04.206005500 +1886,Garmin 010-10723-00 AC Adapter Cable With International Adapters - 0101072300,1886,1683,257.93,Uncategorized,2000-04-12T01:40:40.206005500 +1887,Canon Black 21.1 Megapixel EOS Digital SLR Camera Body - EOS5DMARKIIBODY,1887,2377,327.37,Uncategorized,2012-03-02T07:33:57.206005500 +1888,Sony 2GB Memory Stick PRO Duo Mark 2 Media Card - MSMT2G,1888,1696,253.38,Uncategorized,2014-02-21T15:52:48.206005500 +1889,Skullcandy CHOPS Headphones In Black Chrome - HH26SKC01,1889,798,54.25,Uncategorized,2010-07-21T09:57:01.206005500 +1890,Panasonic Stainless Steel Luxury Full Size Countertop Microwave Oven - NNSD967SS,1890,676,173.63,Uncategorized,2016-12-20T16:11:23.206005500 +1891,Maytag MED5900TW White Electric Dryer - MED5900TWH,1891,2483,157.72,Uncategorized,2005-11-03T02:20:01.206005500 +1892,Canon PowerShot A1000 IS Gray Digital Camera - A1000ISG,1892,230,80.91,Uncategorized,2005-08-05T20:34:31.206005500 +1893,Panasonic 26' LCD HDTV In Black - TC26LX85,1893,41,280.71,Uncategorized,2000-04-12T17:05:34.206005500 +1894,Canon PowerShot Black 10 Megapixel Digital Camera - SX10IS,1894,1610,69.01,Uncategorized,2005-09-24T13:53:56.206005500 +1895,Peerless 10' - 22' Flat Panel TV Black Pivot Wall Arm - PP730,1895,2116,144.14,Uncategorized,2012-05-24T21:20:24.206005500 +1896,Panasonic 60GB Hard Drive Camcorder - SDRH60,1896,278,260.06,Uncategorized,2021-02-02T17:23:31.206005500 +1897,LG LDC22720ST 22 Cu. Ft. Smooth White Bottom Freezer Refrigerator - LDC22720SS,1897,1715,50.72,Uncategorized,2009-05-10T15:22:30.206005500 +1898,Audiovox 9' LCD Drop Down TV With Built-In DVD - VE927,1898,2011,131.49,Uncategorized,2005-04-12T21:43:23.206005500 +1899,Sony Mylo White Personal Communicator - COM2WHITE,1899,678,184.04,Uncategorized,2010-03-27T17:46:42.206005500 +1900,Belkin AC Anywhere - F5C400300W,1900,73,254.89,Uncategorized,2002-07-27T23:21:41.206005500 +1901,Weber Q 300 Liquid Propane Outdoor Grill - 426001,1901,1399,305.35,Uncategorized,2012-03-24T22:06:03.206005500 +1902,Sanus Euro Foundations Satellite Speaker Stand - EFSATS,1902,899,309.94,Uncategorized,2018-04-25T00:48:53.206005500 +1903,Haier 13' TV/DVD Combo - TCR13,1903,805,43.43,Uncategorized,2016-02-06T14:09:07.206005500 +1904,Tivo Wireless Adapter - AG0100,1904,838,326.89,Uncategorized,2019-06-22T01:14:34.206005500 +1905,Sony Black Bravia Home Theater System - DAVHDX279W,1905,1561,290.82,Uncategorized,2015-05-20T14:49:04.206005500 +1906,AppleCare Protection Plan For iPod Touch Or iPod Classic - MB591LLA,1906,2453,199.9,Uncategorized,2018-09-04T21:45:03.206005500 +1907,Samsung 19' Black Flat Panel Series 4 LCD HDTV - LN19A450,1907,292,112.37,Uncategorized,2017-01-27T07:48:03.206005500 +1908,LG Over-The-Range Stainless Steel Microwave Oven - LMV1680SS,1908,2117,43.14,Uncategorized,2019-01-22T01:02:24.206005500 +1909,LG WM2455HG 4.2 Cu Ft Pearl Gray Front Load Washer - WM2455G,1909,2001,243.15,Uncategorized,2000-01-16T22:27:59.206005500 +1910,Canon Pink 8.0 Megapixel PowerShot Digital Camera - SD1100ISP,1910,2053,7.07,Uncategorized,2022-04-21T07:11:00.206005500 +1911,Sony Pink Cyber-Shot 7.2 Megapixel Digital Camera - DSCW120P,1911,2125,174.39,Uncategorized,2006-10-15T06:41:44.206005500 +1912,Linksys Wireless-G Internet Home Monitoring Camera - WVC54GCA,1912,1661,305.2,Uncategorized,2021-02-15T23:59:43.206005500 +1913,Coby 7' Black Widescreen TFT Portable DVD CD MP3 Player - TFDVD7006,1913,703,166.89,Uncategorized,2001-11-21T00:28:01.206005500 +1914,Toshiba 22' Black LCD HDTV - 22AV500U,1914,821,141.95,Uncategorized,2003-05-20T08:20:36.206005500 +1915,Sony Remote Control Tripod - VCT60AV,1915,1896,255.39,Uncategorized,2022-03-04T20:22:52.206005500 +1916,LG Black Freestanding Electric Range - LRE30757BK,1916,2193,307.17,Uncategorized,2022-10-15T02:26:36.206005500 +1917,Panasonic Genius Countertop Microwave In White - NNH965WH,1917,1589,165.95,Uncategorized,2021-01-22T02:42:48.206005500 +1918,LG LMX25981ST 24.7 Cu. Ft. Capacity Stainless Steel French Door Refrigerator - LMX25981SS,1918,596,111.1,Uncategorized,2017-10-09T03:38:20.206005500 +1919,LG TROMM WM2688HNM 4.2 Cu. Ft. Navy Blue Front Load Allergiene SteamWasher - WM2688HNBL,1919,237,244.28,Uncategorized,2011-03-20T21:31:19.206005500 +1920,Motorola MotoRokr Portable Bluetooth Car Kit Speaker Phone - T505,1920,904,1.07,Uncategorized,2007-08-22T11:48:28.206005500 +1921,Sony 300 Disc CD Changer - CDPCX355,1921,2311,83.75,Uncategorized,2005-11-13T02:59:08.206005500 +1922,Sony SCPH-98046 PlayStation 3 Blu-Ray DVD Remote Control - 711719804604,1922,715,155.83,Uncategorized,2001-06-20T16:18:46.206005500 +1923,Linksys Wireless-G Range Expander - WRE54G,1923,1069,57.03,Uncategorized,2018-07-05T03:24:08.206005500 +1924,Electrolux Oxygen 3 Canister HEPA H12 Filter - EL012A,1924,2327,133.31,Uncategorized,2003-08-05T14:11:26.206005500 +1925,Sony InfoLithium H Series Standard Rechargeable Battery Pack - NPFH70,1925,186,306.3,Uncategorized,2009-09-04T02:30:57.206005500 +1926,Transcend 2.5' SATA Solid State Disk - TS128GSSD25SM,1926,1510,78.23,Uncategorized,2018-05-10T18:45:43.206005500 +1927,Sony VAIO CS Series White Notebook Computer - VGNCS180JW,1927,2402,313.36,Uncategorized,2005-03-09T17:45:55.206005500 +1928,Canon PowerShot Silver Digital Camera - SX110IS,1928,1687,272.29,Uncategorized,2000-08-11T20:50:23.206005500 +1929,Sony 32' BRAVIA XBR Series Black LCD Flat Panel HDTV - KDL32XBR6,1929,1203,174.91,Uncategorized,2022-11-20T06:15:04.206005500 +1930,Logitech 2.1 Multimedia Silver Speaker System - Z2300,1930,2387,15.9,Uncategorized,2021-02-17T12:11:42.206005500 +1931,Sony DSLR-A350 Digital Camera And 18-70mm Zoom Lens - DSLRA350K,1931,1390,54.7,Uncategorized,2005-05-16T09:39:07.206005500 +1932,Toshiba 52' Regza Black Flat Panel LCD HDTV - 52RV535U,1932,1143,325.86,Uncategorized,2018-03-20T06:02:07.206005500 +1933,Sony VAIO CS Series Black Notebook Computer - VGNCS180JQ,1933,205,121.74,Uncategorized,2020-04-19T11:31:24.206005500 +1934,Samsung 46' Series 8 LCD Black Flat Panel HDTV - LN46A850,1934,1638,226.62,Uncategorized,2003-11-19T05:49:26.206005500 +1935,Twenty20 VholdR Wearable Camcorder Bundle - 1102,1935,189,320.03,Uncategorized,2017-11-04T17:25:49.206005500 +1936,Bose 27028 161 Bookshelf Pair Speakers In White - 161WH,1936,1927,70.32,Uncategorized,2013-01-02T20:27:52.206005500 +1937,Garmin GPS Carrying Case - Black Finish - 0101070400,1937,29,42.75,Uncategorized,2016-07-09T10:50:35.206005500 +1938,iHome iPod & iPhone Clock Radio & Audio System - IP99BR,1938,765,57.05,Uncategorized,2008-11-03T16:12:02.206005500 +1939,Samsung 26' Black Flat Panel Series 4 LCD HDTV - LN26A450,1939,1110,278,Uncategorized,2013-04-06T18:18:05.206005500 +1940,Canon Vixia High Definition Camcorder - HF100,1940,246,223.73,Uncategorized,2022-06-26T06:11:21.206005500 +1941,Altec Lansing inMotion iPod Portable Audio System - IM600USB,1941,1009,21.51,Uncategorized,2004-06-08T11:04:05.206005500 +1942,Altec Lansing inMotion MAX iPod/iPhone Portable Audio System - IMT702,1942,1000,37.8,Uncategorized,2020-09-07T16:42:57.206005500 +1943,Omnimount Wall Speaker Mount - 20WLWH,1943,108,302.23,Uncategorized,2014-01-10T18:36:43.206005500 +1944,Griffin iPhone SmartTalk - 3016SMRTLKB,1944,925,240.55,Uncategorized,2013-03-13T01:01:09.206005500 +1945,Whirlpool 24' Built-In Dishwasher - DU1100SS,1945,503,177.97,Uncategorized,2014-11-14T06:21:16.206005500 +1946,Sony VAIO AW Series Titanium Grey Notebook Computer - VGNAW110JH,1946,1051,70.05,Uncategorized,2008-07-13T11:53:29.206005500 +1947,Panasonic 26' LCD HDTV In Black - TC26LX85,1947,1480,326.81,Uncategorized,2005-10-12T04:34:41.206005500 +1948,Samsung 5 Disc Black Home Theater System - HTZ410T,1948,2284,292.42,Uncategorized,2003-01-12T05:16:32.206005500 +1949,Boston Acoustics Duo-I AM/FM Clock Radio With iPod Dock - HDUOIMDNT,1949,1444,185.16,Uncategorized,2001-03-22T07:31:28.206005500 +1950,Sony Black LocationFree Base Station - LFV30,1950,1162,267.46,Uncategorized,2003-02-18T06:51:48.206005500 +1951,Speck SeeThru Pink Hard Shell Case For 13' MacBook - MB13PNKSEEV2,1951,687,4.51,Uncategorized,2011-04-25T13:54:51.206005500 +1952,Waring Professional Cool-Touch Deep Fryer - Black/Stainless Steel Finish - DF100,1952,781,318.49,Uncategorized,2017-10-06T14:44:35.206005500 +1953,Sony DSCH2 Soft Carrying Camera Case - Black Finish - LCSCSH,1953,100,143.32,Uncategorized,2013-04-15T01:52:33.206005500 +1954,Sony 8' Black LCD Digital Photo Frame - DPFD80,1954,1369,40.12,Uncategorized,2015-10-04T00:01:53.206005500 +1955,LG Over-The-Range Stainless Steel Microwave Oven - LMV1680SS,1955,1973,145.71,Uncategorized,2006-03-07T02:50:50.206005500 +1956,Sharp Aquos 32' Black LCD HDTV - LC32D64U,1956,2219,5.62,Uncategorized,2017-05-04T17:37:34.206005500 +1957,Sony Memory Stick Duo Replacement Adaptor - Silver/Blue Finish - MSACM2,1957,87,77.38,Uncategorized,2015-04-16T22:13:27.206005500 +1958,Linksys Ultra RangePlus Wireless-N Broadband Router - WRT160N,1958,282,18.03,Uncategorized,2020-05-19T18:46:07.206005500 +1959,Garmin 010-10823-00 Black Nuvi 660 Vehicle Suction Cup Mount - 0101082300,1959,495,164.41,Uncategorized,2009-07-23T15:00:37.206005500 +1960,Pioneer USB iPod Interface Cable - CDIU230V,1960,1712,118.29,Uncategorized,2010-01-20T07:04:57.206005500 +1961,Logitech Harmony 890 Advanced Universal Remote Control - H890,1961,1389,75.06,Uncategorized,2017-04-10T21:46:50.206005500 +1962,Garmin 010-10702-00 Black GA 25MCX Remote GPS Antenna - 0101070200,1962,2360,107.22,Uncategorized,2003-03-04T14:45:30.206005500 +1963,Nintendo DS Lite Cobalt/Black Portable Gaming System - NDSUSGBMKB,1963,2333,183.95,Uncategorized,2005-02-27T18:56:33.206005500 +1964,Audiovox Xpress XM Satellite Radio Receiver Home Kit - XMH10A,1964,454,191.48,Uncategorized,2009-11-24T16:51:57.206005500 +1965,Sanus 15' - 40' VisionMount Flat Panel TV Black Wall Mount - MT25B1,1965,174,297.63,Uncategorized,2010-10-03T04:54:50.206005500 +1966,Canon PGI-5BK Black Ink Tank Cartridge - PGI5BK,1966,1094,242.05,Uncategorized,2010-03-27T07:20:02.206005500 +1967,Sony 60GB Handycam Hard Disk Drive Camcorder - DCRSR85,1967,735,235.35,Uncategorized,2021-06-06T08:05:40.206005500 +1968,Apple MacBook Pro 2.4GHz Intel Core 2 Duo Silver Notebook Computer - MB470LLA,1968,1390,215.21,Uncategorized,2001-01-17T01:28:44.206005500 +1969,Samsung 52' Series 6 LCD Black Flat Panel HDTV - LN52A650,1969,2193,259.2,Uncategorized,2012-01-24T06:50:32.206005500 +1970,Sony Lightweight Tripod - Black Finish - VCTR100,1970,2211,75.84,Uncategorized,2010-03-21T17:16:58.206005500 +1971,Panasonic Yellow 4GB SDHC Memory Card - RPSDV04GU1K,1971,1534,285.67,Uncategorized,2004-05-14T07:38:25.206005500 +1972,Cuisinart Cordless Electric Kettle - KUA17,1972,1226,13.07,Uncategorized,2000-05-11T07:12:08.206005500 +1973,Sirius STILETTO 2 Home Docking Kit - SLH2,1973,802,210.85,Uncategorized,2006-12-08T16:25:29.206005500 +1974,Sony Switcher - SBV40S,1974,1646,241.39,Uncategorized,2012-06-24T00:11:18.206005500 +1975,Fellowes Personal Powershred Shredder - SB97CS,1975,470,82.66,Uncategorized,2004-04-24T21:02:26.206005500 +1976,Canon EOS Rebel XSi Silver Digital SLR Camera - XSIREB1855S,1976,1489,11.61,Uncategorized,2017-05-14T08:20:38.206005500 +1977,Microsoft Office 2008 For Mac Home And Student Edition - GZA00006,1977,1237,93.51,Uncategorized,2006-10-04T16:19:51.206005500 +1978,Denon D-M37 Black CD/AM/FM Micro System - DM37SBK,1978,517,112.61,Uncategorized,2018-03-27T22:01:03.206005500 +1979,Sony Digital SLR Camera With Lens Kit - DSLRA200W,1979,2481,259.59,Uncategorized,2018-04-11T16:18:22.206005500 +1980,Olympus Stylus 1050 SW Black Digital Camera - STYLUS1050SWB,1980,357,51.87,Uncategorized,2005-07-23T15:44:01.206005500 +1981,Sony DSCH2 Soft Carrying Camera Case - Black Finish - LCSCSH,1981,1389,206.65,Uncategorized,2008-05-12T22:26:58.206005500 +1982,Nikon COOLPIX P80 Digital Camera In Black - COOLPIXP80,1982,2286,269.5,Uncategorized,2019-04-03T01:15:46.206005500 +1983,LG LFC25770ST 25.0 Cu. Ft. Stainless Steel French Door Bottom Freezer Refrigerator - LFC25770SS,1983,270,82.06,Uncategorized,2021-05-12T14:02:56.206005500 +1984,Sanus 13' - 30' VisionMount Flat Panel TV Silver Wall Mount - VMFS,1984,2176,267.5,Uncategorized,2002-05-11T15:04:54.206005500 +1985,Nokia T-Mobile Unlocked Cellular Phone - N96,1985,1769,39.47,Uncategorized,2017-03-14T22:40:28.206005500 +1986,LG DLE2516W White Super Capacity Electric Dryer - DLE2516WH,1986,2398,10.24,Uncategorized,2019-12-06T18:55:47.206005500 +1987,Linksys EtherFast4116 16-Port 10/100 Ethernet Switch - EF4116,1987,1659,161.77,Uncategorized,2020-05-04T07:10:47.206005500 +1988,Pioneer Premier In-Dash CD/WMA/MP3/AAC Receiver - DEHP500UB,1988,402,25.6,Uncategorized,2008-11-06T19:44:14.206005500 +1989,Toshiba 22' Black LCD HDTV - 22AV500U,1989,1966,67.32,Uncategorized,2002-12-15T05:43:52.206005500 +1990,Belkin Neoprene Sleeve For MacBook Air - F8N065BLK,1990,1817,78.56,Uncategorized,2007-09-05T20:20:03.206005500 +1991,Alpine 2-DIN DVD/CD/MP3/WMA Receiver/AV Head Unit - IVAW205,1991,1792,276.23,Uncategorized,2022-01-14T17:27:15.206005500 +1992,Panasonic 2-Line Integrated Phone System - White Finish - KXTS3282W,1992,1853,265.32,Uncategorized,2005-04-04T20:11:00.206005500 +1993,LG 24' LDS4821WW Semi Integrated Built In White Dishwasher - LDS4821WH,1993,2273,10.74,Uncategorized,2005-03-21T19:09:39.206005500 +1994,Logitech diNovo Edge Keyboard Mac Edition - 920000924,1994,1890,294.8,Uncategorized,2000-06-08T04:13:49.206005500 +1995,Canon Photo Ink Cartridge - CL52,1995,1226,291.87,Uncategorized,2010-07-01T10:44:12.206005500 +1996,Sony 16GB Memory Stick PRO Duo Mark 2 Media Card - MSMT16G,1996,1866,315.19,Uncategorized,2019-02-05T11:57:39.206005500 +1997,Canon Silver 8.0 Megapixel PowerShot Digital Camera - SD1100IS,1997,2250,325.93,Uncategorized,2012-11-08T17:24:45.206005500 +1998,Canon Black 21.1 Megapixel EOS Digital SLR Camera Body - EOS5DMARKIIBODY,1998,1607,292.95,Uncategorized,2004-01-08T13:03:29.206005500 +1999,Griffin iPod RoadTrip With SmartScan - 4040RDTRPB,1999,2294,227.56,Uncategorized,2001-04-07T13:14:17.206005500 +2000,Linksys Wireless-G VPN Broadband Silver Router - WRV54G,2000,2340,94.75,Uncategorized,2000-08-11T09:05:13.206005500 +2001,Linksys EtherFast 8-Port 10/100 Switch - EZXS88W,2001,873,96.42,Uncategorized,2017-01-24T13:33:35.206005500 +2002,Frigidaire 27' Electric Stack Washer Dryer Combo - FEX831WH,2002,680,260.84,Uncategorized,2001-10-01T14:04:33.206005500 +2003,Nikon 70-300mm f/4.5-5.6G ED-IF AF-S VR Zoom-Nikkor Lens - 2161,2003,1225,247.16,Uncategorized,2011-11-22T06:44:20.206005500 +2004,LG 2.0 Cu. Ft. Over-The-Range Stainless Steel Microwave Oven - LMVM2085SS,2004,742,92.19,Uncategorized,2012-05-02T04:45:33.206005500 +2005,Samsung 46' Series 5 LCD Black Flat Panel HDTV - LN46A550,2005,44,60.84,Uncategorized,2000-01-13T03:47:01.206005500 +2006,Canon Silver Dual Flash Memory Camcorder - FS10,2006,472,55.36,Uncategorized,2001-11-19T07:56:43.206005500 +2007,Canon PowerShot Silver Digital Camera - SX110IS,2007,799,222.62,Uncategorized,2010-05-24T07:35:37.206005500 +2008,Sony Alpha DSLR Black Camera Body With 18-70mm Zoom Lens - DSLRA300K,2008,1001,193.19,Uncategorized,2008-07-22T20:17:51.206005500 +2009,Sony EX Ear Bud Headphones In Black - MDREX32LPBLK,2009,2273,14.4,Uncategorized,2021-08-15T13:22:53.206005500 +2010,LG WDP3N 14' Tall Navy Blue Pedestal With Drawer - WDP3BL,2010,2460,143.63,Uncategorized,2019-07-05T16:27:44.206005500 +2011,LG WM2233W 4.0 Cu Ft White Front Load Washer - WM2233WH,2011,2463,311.39,Uncategorized,2004-05-04T15:53:32.206005500 +2012,D-Link Broadband Cable Modem - DCM202,2012,146,238.41,Uncategorized,2021-08-03T14:23:42.206005500 +2013,Panasonic Integrated Telephone System - KXTS108W,2013,197,301.85,Uncategorized,2020-12-24T04:00:45.206005500 +2014,Garmin Nuvi 885T GPS Navigation System - 0100057730,2014,11,120.49,Uncategorized,2014-04-23T04:06:28.206005500 +2015,LG 5.6 Cu. Ft. White Freestanding Electric Range - LRE30453WH,2015,271,223.89,Uncategorized,2009-03-27T16:35:50.206005500 +2016,Tripp-Lite PV375 PowerVerter 375-Watt Ultra-Compact Inverter - PV375,2016,733,108.01,Uncategorized,2021-12-13T16:19:15.206005500 +2017,Sony 8GB Memory Stick PRO Duo Mark 2 Media Card - MSMT8G,2017,1426,244.26,Uncategorized,2020-10-21T16:04:25.206005500 +2018,Panasonic 2GB SD Memory Card - SDV02GU1A,2018,121,219.25,Uncategorized,2008-02-04T13:34:33.206005500 +2019,Canon Cyan Photo Ink Cartridge - Cyan - CLI8PC,2019,752,263.03,Uncategorized,2020-09-06T17:28:50.206005500 +2020,Yamaha High Performance Subwoofer In Black - YSTFSW150BK,2020,1320,244.53,Uncategorized,2002-03-16T05:59:11.206005500 +2021,Sony 8cm MiniDVD-R Camcorder Media 3 Pack - 3DMR30R1H,2021,125,268.19,Uncategorized,2002-03-26T22:22:53.206005500 +2022,Apple 120GB Black 7th Generation iPod Classic - MB565LLA,2022,2416,255.42,Uncategorized,2007-01-10T09:43:48.206005500 +2023,Apple iPod Nano Gray Armband - MB769GA,2023,804,173.08,Uncategorized,2005-11-08T21:56:24.206005500 +2024,Linksys Black Media Center Extender - DMA2100,2024,1442,84.99,Uncategorized,2019-06-24T09:35:41.206005500 +2025,Altec Lansing Orbit-MP3 Portable Audio System - IM207,2025,91,251.82,Uncategorized,2001-02-26T09:10:13.206005500 +2026,Sony Universal Remote Control - RMEZ4,2026,264,109.6,Uncategorized,2007-10-08T05:47:25.206005500 +2027,Canon PIXMA Photo All-In-One Printer - MP980,2027,746,190.7,Uncategorized,2021-04-03T11:01:35.206005500 +2028,Mitsubishi 736 Series 65' 1080p DLP Rear Projection Black HDTV - WD65736,2028,1223,228.59,Uncategorized,2010-08-03T08:31:57.206005500 +2029,Transcend 133X High-Speed 4GB Compact Flash Card - TS4GCF133,2029,264,201.26,Uncategorized,2013-01-07T12:40:25.206005500 +2030,Boston Acoustics Duo-I AM/FM Clock Radio With iPod Dock - HDUOIMDNT,2030,158,121.49,Uncategorized,2008-08-23T07:56:31.206005500 +2031,Garmin Nuvi 755T GPS Navigation System - 0100071530,2031,1690,7.76,Uncategorized,2005-07-22T06:00:08.206005500 +2032,Apple Mac Mini 1.83GHz Intel Core 2 Duo Computer - MB138LLA,2032,451,240.23,Uncategorized,2014-05-21T20:49:36.206005500 +2033,Canon 9517A002 EF-S 17mm - 85mm f/4.0-5.6 USM IS Zoom Lens - 9517A002,2033,660,31.6,Uncategorized,2005-02-04T21:43:20.206005500 +2034,Nikon D700 Digital SLR Digital Camera - D700BODY,2034,1619,258.2,Uncategorized,2020-04-16T09:16:12.206005500 +2035,Sony Black Cyber-Shot W Series Digital Camera Carrying Case - LCSCSL,2035,1770,38.71,Uncategorized,2017-10-20T15:24:10.206005500 +2036,Sanus 30' - 58' VisionMount Flat Panel TV Black Tilting Wall Mount - LT25B1,2036,1728,210.3,Uncategorized,2013-06-14T21:28:57.206005500 +2037,Skullcandy CHOPS Headphones In Black Chrome - HH26SKC01,2037,1714,305.98,Uncategorized,2020-04-14T04:33:56.206005500 +2038,Whirlpool Cabrio WTW6400SW Top Loading White Washer - WTW6400SWH,2038,830,33.38,Uncategorized,2004-03-06T11:39:14.206005500 +2039,Sony 40' BRAVIA Z Series Black LCD Flat Panel HDTV - KDL40Z4100B,2039,1728,46.69,Uncategorized,2011-08-01T16:26:15.206005500 +2040,Panasonic Black DVD Home Theater Sound System - SCPT660,2040,478,264.41,Uncategorized,2012-02-14T21:11:55.206005500 +2041,Speck SeeThru Clear Hard Shell Case For 15' MacBook - MB15CLRSEEV2,2041,1983,51.76,Uncategorized,2010-06-16T05:14:28.206005500 +2042,Toshiba 52' Regza Black Flat Panel LCD HDTV - 52RV535U,2042,1679,6.39,Uncategorized,2022-08-22T02:07:18.206005500 +2043,Tivo Wireless Adapter - AG0100,2043,916,176.71,Uncategorized,2012-11-06T11:28:14.206005500 +2044,LG 52' Black LCD Flat Panel HDTV - 52LG70,2044,1837,245.41,Uncategorized,2000-05-15T03:57:48.206005500 +2045,Uniden Dect 6.0 Accessory Handset And Charging Cradle - DCX200,2045,1492,60.92,Uncategorized,2010-06-04T04:09:44.206005500 +2046,Sirius Satellite Radio Universal Car Tuner - SCC1,2046,21,284.51,Uncategorized,2003-06-12T15:32:24.206005500 +2047,Maytag Bisque Over-The-Range Microwave Oven - MMV4205BT,2047,1356,105.28,Uncategorized,2010-02-22T19:32:15.206005500 +2048,Yamaha Black Digital Sound Projector - YSP4000BK,2048,2429,314.97,Uncategorized,2018-03-24T23:26:09.206005500 +2049,Hoover Bagged Tempo Widepath Upright Vacuum - U5140,2049,1646,256.97,Uncategorized,2017-02-23T00:51:57.206005500 +2050,LG DLE5955W White XL Capacity Electric Dryer - DLE5955WH,2050,1615,134.1,Uncategorized,2020-06-21T02:53:47.206005500 +2051,D-Link Wireless N USB Adapter - DWA130,2051,2339,44.15,Uncategorized,2002-10-09T02:48:48.206005500 +2052,Sony Progressive Scan Black DVD Player - DVPNS57PB,2052,596,109.52,Uncategorized,2007-12-02T14:22:27.206005500 +2053,iRobot Robotic Floor Washer - 74249,2053,2293,190.8,Uncategorized,2016-08-24T02:09:44.206005500 +2054,Canon PIXMA MX850 Multifunction Printer - MX850C,2054,250,21.97,Uncategorized,2005-12-04T16:23:06.206005500 +2055,Canon PowerShot Black 10 Megapixel Digital Camera - SX10IS,2055,87,290.54,Uncategorized,2009-11-07T05:19:05.206005500 +2056,Peerless 32' - 45' Articulating Flat Panel TV Black Wall Arm - SA745PU,2056,144,146.98,Uncategorized,2000-09-12T00:49:30.206005500 +2057,Panasonic DECT 6.0 2-Line Digital Expandable Corded/Cordless Phone System - KXTG9391T,2057,2314,95.32,Uncategorized,2005-12-01T23:40:35.206005500 +2058,Sanus WMS3B Black Weather Resistant Small Speaker Wall Mount - WMS3B,2058,295,34.9,Uncategorized,2021-02-11T09:35:08.206005500 +2059,Fellowes Personal Powershred Shredder - SB97CS,2059,2199,112.52,Uncategorized,2020-04-21T12:41:54.206005500 +2060,Speck SeeThru Blue Hard Shell Case For 15' MacBook - MB15BLUSEEV2,2060,817,169.83,Uncategorized,2016-05-02T15:43:40.206005500 +2061,LG 30' Stainless Steel Freestanding Gas Range - LRG30357SS,2061,402,92.34,Uncategorized,2002-02-09T18:11:43.206005500 +2062,Garmin Nuvi 360 010-10815-00 Black Replacement Vehicle Suction Cup Mount - 0101081500,2062,1402,258.3,Uncategorized,2018-10-20T14:01:11.206005500 +2063,Sirius Stiletto 2 Vehicle Kit - SLV2,2063,1827,198.44,Uncategorized,2011-03-06T21:15:40.206005500 +2064,Toshiba Black 9-Inch LCD Widescreen Portable DVD Player - SDP91S,2064,2268,87.26,Uncategorized,2001-05-09T09:12:24.206005500 +2065,Garmin GPS Carrying Case - Black Finish - 0101070400,2065,2384,224.51,Uncategorized,2000-12-22T06:57:47.206005500 +2066,Olympus Black 10 Megapixels Digital Camera - SP565UZ,2066,1501,11.05,Uncategorized,2016-01-13T01:11:43.206005500 +2067,Canon Black Ink Cartridge - PG50,2067,1953,284.06,Uncategorized,2008-07-24T18:13:10.206005500 +2068,Sony Silver Cyber-Shot 7.2 Megapixel Digital Camera - DSCW120,2068,802,167.8,Uncategorized,2018-09-02T09:15:35.206005500 +2069,Altec Lansing Orbit-MP3 Portable Audio System - IM207,2069,2217,216.4,Uncategorized,2012-12-24T04:35:14.206005500 +2070,Sanus 30' - 50' Full-Motion Flat Panel TV Black Wall Mount - LRF118B1,2070,1247,206.89,Uncategorized,2008-07-26T06:51:02.206005500 +2071,Apple Mac Mini 1.83GHz Intel Core 2 Duo Computer - MB138LLA,2071,2468,118.45,Uncategorized,2015-10-04T16:28:48.206005500 +2072,LG 2.0 Cu. Ft. Over-The-Range White Microwave Oven - LMVM2085WH,2072,998,247.11,Uncategorized,2021-12-13T11:30:50.206005500 +2073,Canon Black Rechargeable Battery - 9612A001,2073,2474,326.94,Uncategorized,2009-06-16T10:48:55.206005500 +2074,Netgear ProSafe 24-Port Smart Switch - GS724TP,2074,1231,168.82,Uncategorized,2006-02-10T03:50:42.206005500 +2075,Sony DVP-FX820 Black 8' Portable DVD Player - DVPFX820,2075,2030,297.53,Uncategorized,2006-03-21T11:04:13.206005500 +2076,Sony DSLR-A350 Digital Camera And 18-70mm Zoom Lens - DSLRA350K,2076,2328,172.76,Uncategorized,2001-01-07T22:21:26.206005500 +2077,Sony LCS-TWA/R Red Soft Leather Carrying Case - LCSTWAR,2077,1518,231.16,Uncategorized,2013-09-26T12:59:29.206005500 +2078,Sony Cyber-Shot Black Digital Camera - DSCT500B,2078,142,48.05,Uncategorized,2006-01-25T03:53:27.206005500 +2079,Onkyo Black 7.1-Channel Home Theater System - HTS5100B,2079,1435,312.88,Uncategorized,2015-01-09T23:06:40.206005500 +2080,Speck SeeThru Pink Hard Shell Case For 13' MacBook - MB13PNKSEEV2,2080,1606,267.67,Uncategorized,2014-11-24T05:56:53.206005500 +2081,Sanus 15' - 32' Flat Panel TV Black Wall Mount - MF209B1,2081,974,242.49,Uncategorized,2015-03-20T05:10:22.206005500 +2082,Canon Deluxe Soft Black Camera Case - 0716B001,2082,1675,174.08,Uncategorized,2010-02-21T16:36:13.206005500 +2083,Nikon D300 Digital SLR Digital Camera - D300BODY,2083,900,174.96,Uncategorized,2011-09-18T01:53:32.206005500 +2084,Sony Silver Cyber-Shot 7.2 Megapixel Digital Camera - DSCW120,2084,1377,101.95,Uncategorized,2020-02-24T00:22:25.206005500 +2085,Samsung 5 Disc Black Home Theater System - HTZ410T,2085,513,175.39,Uncategorized,2019-02-15T00:08:46.206005500 +2086,Kenwood 6.1' All-In-One Double-Din In-Dash Navigation - DNX5120,2086,1436,295.42,Uncategorized,2019-03-17T09:24:53.206005500 +2087,SIRIUS SiriusConnect Vehicle Kit In Black - SCVDOC1,2087,242,9.51,Uncategorized,2015-05-04T15:18:02.206005500 +2088,Twenty20 VholdR Wearable Camcorder Bundle - 1102,2088,721,252.97,Uncategorized,2016-11-17T15:08:06.206005500 +2089,Sony Soft Camera Carrying Case - LCSMX100,2089,420,159.24,Uncategorized,2019-05-19T20:32:21.206005500 +2090,Nikon Rechargeable Li-Ion Battery - Black Finish - 25334,2090,282,195.59,Uncategorized,2018-11-19T00:45:52.206005500 +2091,Sony Silver 1080p Upscaling DVD Player - DVPNS700HS,2091,2120,53.89,Uncategorized,2013-07-01T21:21:35.206005500 +2092,Olympus DS40 Digital Voice Recorder - DS40R,2092,1888,100.61,Uncategorized,2021-06-04T16:57:31.206005500 +2093,Canon PGI-5BK Black Ink Tank Cartridge - PGI5BK,2093,2002,14.3,Uncategorized,2022-04-27T22:27:49.206005500 +2094,Samsung 55' Series 9 LCD Black Flat Panel HDTV - LN55A950,2094,1332,56.42,Uncategorized,2010-05-04T17:29:19.206005500 +2095,Sharp HEPA Air Purifier - FPP35CX,2095,1422,39.68,Uncategorized,2009-11-19T08:47:29.206005500 +2096,Tech Craft Dark Cherry Veneto Series TV Stand - SWP60,2096,2168,269.5,Uncategorized,2020-06-01T10:19:53.206005500 +2097,Canon Battery Charger - 1133B001,2097,607,189.78,Uncategorized,2014-03-25T10:26:29.206005500 +2098,Flip Video F360 Black Mino Series Camcorder - F360B,2098,2018,87.13,Uncategorized,2006-05-15T15:35:02.206005500 +2099,Sony HD-Handycam 3 Meters (10 Feet) HDMI Mini Cable - VMC30MHD,2099,254,60.74,Uncategorized,2006-02-10T07:48:48.206005500 +2100,Sony MRW62E/S1/181 17-In-1 External USB Memory Card Reader - MRW62ES1181,2100,1294,143.97,Uncategorized,2020-09-09T02:50:23.206005500 +2101,Canon EF-S 55-250mm f/4-5.6 IS Telephoto Zoom Lens - 2044B002,2101,42,219.4,Uncategorized,2001-11-23T11:54:22.206005500 +2102,Cuisinart Stainless Steel Convection Toaster Oven - TOB195,2102,2392,85.09,Uncategorized,2021-07-08T16:24:46.206005500 +2103,Canon Magenta Ink Tank - Magenta - CLI8M,2103,275,274.48,Uncategorized,2013-11-17T07:18:26.206005500 +2104,Pioneer KURO 50' Black Plasma HDTV - PDP5020FD,2104,1206,50.49,Uncategorized,2007-12-17T21:00:53.206005500 +2105,Terk XM Outdoor Home Antenna - Grey Finish - XM6,2105,2091,316.19,Uncategorized,2017-09-27T01:31:06.206005500 +2106,Speck Black ToughSkin Case For iPhone 3G - IPH3GBLKTS,2106,196,85.07,Uncategorized,2009-08-20T03:42:16.206005500 +2107,Panasonic VIERA 58' 1080p Plasma HDTV In Black - TH58PZ850U,2107,1117,224.99,Uncategorized,2007-12-14T23:19:25.206005500 +2108,Sony 40GB High Definition Hard Disk Drive Handycam Camcorder - HDRSR10,2108,505,171.61,Uncategorized,2017-09-16T22:12:40.206005500 +2109,Panasonic Lithium Ion Rechargeable Battery - Black Finish - CGRS006A1B,2109,1907,95.51,Uncategorized,2022-11-03T20:20:59.206005500 +2110,Sony 32' BRAVIA M-Series Gloss Black LCD Flat Panel HDTV - KDL32M4000,2110,336,141.42,Uncategorized,2016-10-19T15:37:56.206005500 +2111,Fellowes MicroShred Shredder - MS450CS,2111,2264,50.91,Uncategorized,2008-12-07T20:05:56.206005500 +2112,Sony PlayStation 2 DUALSHOCK 2 Analog Controller - Emerald Finish - 711719706205,2112,174,215.79,Uncategorized,2009-03-13T10:38:33.206005500 +2113,Canon DVD Camcorder - DC310,2113,2226,48.26,Uncategorized,2005-06-24T00:23:25.206005500 +2114,Sony 26' BRAVIA M-Series Black LCD Flat Panel HDTV - KDL26M4000,2114,230,72.38,Uncategorized,2021-12-13T15:43:07.206005500 +2115,Sennheiser Rechargeable Nickel-Metal Hydride Battery - BA151,2115,612,106.73,Uncategorized,2021-10-03T23:20:07.206005500 +2116,Panasonic Countertop Microwave Oven In Stainless Steel - NNSD667SS,2116,2448,99,Uncategorized,2019-02-25T01:07:50.206005500 +2117,Sanus 15' To 40' Flat Panel Black TV Wall Mount - ML22B1,2117,2219,80.91,Uncategorized,2008-03-27T01:04:27.206005500 +2118,Nyko PlayStation 3 ChargeLink USB Charging Cable - 743840830009,2118,926,160,Uncategorized,2005-02-25T20:50:25.206005500 +2119,Panasonic Black DVD Home Theater Sound System - SCPT760,2119,448,277.57,Uncategorized,2016-10-16T21:16:06.206005500 +2120,Universal RF Base Station - MRF260,2120,734,92,Uncategorized,2004-04-10T06:21:41.206005500 +2121,Panasonic Black 8.5' Portable DVD Player - DVDLS86,2121,2387,88.79,Uncategorized,2018-05-07T16:49:03.206005500 +2122,Panasonic 5.8 GHz Black Expandable Digital Cordless Phone System - KXTG4323B,2122,85,30.47,Uncategorized,2009-01-05T19:29:21.206005500 +2123,Toshiba Black DVD Recorder With Built-In Digital Tuner - DR560,2123,669,103.53,Uncategorized,2015-06-14T21:21:12.206005500 +2124,Sony Black Component Home Theater System - HT7200DH,2124,428,33.79,Uncategorized,2021-10-05T02:34:30.206005500 +2125,Garmin Nuvi 255W GPS Navigation System - 0100071820,2125,685,156.34,Uncategorized,2008-09-10T21:34:32.206005500 +2126,Panasonic Laser Toner Cartridge - KXFA83,2126,1920,312.74,Uncategorized,2022-06-24T08:23:37.206005500 +2127,Apple 16GB Black 2nd Generation iPod Touch - MB531LLA,2127,2,10.61,Uncategorized,2006-08-10T01:59:29.206005500 +2128,Maytag MED5900TW White Electric Dryer - MED5900TWH,2128,2089,324.95,Uncategorized,2005-07-15T13:42:03.206005500 +2129,Nikon 70-300mm f/4.5-5.6G ED-IF AF-S VR Zoom-Nikkor Lens - 2161,2129,862,107.66,Uncategorized,2007-07-04T14:14:36.206005500 +2130,Toshiba 10.2' Portable DVD Player In Black - SDP101S,2130,1689,40.46,Uncategorized,2006-03-12T18:51:28.206005500 +2131,Sharp AQUOS 52' D85U Series Black LCD Flat Panel HDTV - LC52D85U,2131,1814,176.83,Uncategorized,2015-06-10T22:09:37.206005500 +2132,Cuisinart Convection-Oven-Toaster-Broiler With Exact Heat Sensor - TOB165WH,2132,1290,41.6,Uncategorized,2020-06-25T06:10:06.206005500 +2133,Uniden 5.8GHz Accessory Handset And Charger - TCX905,2133,1026,260.98,Uncategorized,2022-08-23T00:56:18.206005500 +2134,Toshiba 22' Black LCD HDTV - 22AV500U,2134,1804,293.35,Uncategorized,2010-11-26T15:01:11.206005500 +2135,TomTom GPS Mount And USB Car Charger - 9N00101,2135,985,279.64,Uncategorized,2001-10-14T13:57:51.206005500 +2136,Apple 8GB Blue 4th Generation iPod Nano - MB732LLA,2136,1150,126.46,Uncategorized,2009-11-20T04:58:31.206005500 +2137,Coby 7' Black Widescreen TFT Portable DVD CD MP3 Player - TFDVD7006,2137,415,161.34,Uncategorized,2009-12-27T05:36:42.206005500 +2138,Altec Lansing inMotion iPod Portable Audio System - IM600USB,2138,1177,161.63,Uncategorized,2010-07-08T02:36:28.206005500 +2139,Yamaha 7.2 Channel Black Digital Home Theater Receiver - RXV663BK,2139,1487,257.72,Uncategorized,2015-12-20T22:01:49.206005500 +2140,Nikon D90 Black Digital SLR Camera With Nikkor 18-105mm Lens - D90OUTFIT,2140,894,116.59,Uncategorized,2001-08-23T21:33:14.206005500 +2141,Speck SeeThru Blue Hard Shell Case For 15' MacBook - MB15BLUSEEV2,2141,1642,94.05,Uncategorized,2002-02-22T22:47:06.206005500 +2142,Sony Switcher - SBV40S,2142,1279,117.34,Uncategorized,2021-01-18T19:01:09.206005500 +2143,Pioneer Remote Control With DVD/Audio Controls - CDR55,2143,873,90.35,Uncategorized,2007-08-05T19:21:33.206005500 +2144,Sony 7.1 Channel Black AV Receiver - STRDG920,2144,371,296.36,Uncategorized,2002-07-07T21:20:11.206005500 +2145,Sony 52' BRAVIA XBR Series Black LCD Flat Panel HDTV - KDL52XBR6,2145,2222,187.31,Uncategorized,2008-09-09T17:32:46.206005500 +2146,Linksys Wireless-G Ethernet Bridge - WET54G,2146,1624,186.84,Uncategorized,2008-04-21T00:54:52.206005500 +2147,Canon Red Photo Ink Cartridge - CLI8R,2147,346,38.28,Uncategorized,2013-12-19T02:33:25.206005500 +2148,Netgear ProSafe 5 Port 10/100 Desktop Switch - FS105,2148,118,29.08,Uncategorized,2022-03-10T10:12:41.206005500 +2149,Olympus Pink 8 Megapixel Digital Camera - FE360PNK,2149,2193,268.08,Uncategorized,2001-02-19T05:36:36.206005500 +2150,Panasonic LM-AF30U3 Three Pack Of Single-Sided 30 Minute DVD-RAM Discs - LMAF30U3,2150,1883,143.79,Uncategorized,2006-09-15T10:50:01.206005500 +2151,Sony 400 Disc MegaStorage CD Changer - CDPCX455,2151,2125,4.58,Uncategorized,2021-06-16T06:32:25.206005500 +2152,Panasonic Rechargeable Lithium-Ion 1320 mAh Battery Pack - VWVBG130,2152,1648,223.5,Uncategorized,2013-10-04T07:00:48.206005500 +2153,LG 52' Black LCD Flat Panel HDTV - 52LG50,2153,2164,194.77,Uncategorized,2011-08-03T04:59:06.206005500 +2154,Panasonic Lithium Ion Rechargeable Battery - Black Finish - CGRS006A1B,2154,2286,258.32,Uncategorized,2016-04-18T17:15:21.206005500 +2155,Panasonic 5.8 GHz Black Expandable Digital Cordless Phone System - KXTG4323B,2155,471,114.64,Uncategorized,2018-09-22T14:57:09.206005500 +2156,OmniMount G-303 Gray Stellar Series Audio Tower - G303GR,2156,841,33.46,Uncategorized,2015-02-08T22:06:14.206005500 +2157,Panasonic Black 1080p Up-Conversion DVD Recorder And VHS Combo Player - DMREZ48VK,2157,1299,226.37,Uncategorized,2008-03-13T02:40:33.206005500 +2158,Sony Black DVD Recorder And VHS Combo Player - RDRVXD655,2158,1473,318.84,Uncategorized,2007-09-11T11:53:02.206005500 +2159,Sony BRAVIA Black SXRD 1080p Home Theater Front Projector - VPLHW10,2159,139,190.97,Uncategorized,2021-06-26T07:28:21.206005500 +2160,Terk Mini Tuner Cartridge For XM Ready Home Products - CNP2000,2160,2341,6.67,Uncategorized,2017-09-08T11:24:55.206005500 +2161,Mitsubishi 835 Diamond Series 73' 1080p DLP Rear Projection HDTV - WD73835,2161,988,168.62,Uncategorized,2017-12-13T05:26:45.206005500 +2162,Delonghi Twenty Four Seven Coffee Maker - DC50W,2162,59,49.68,Uncategorized,2021-08-23T18:11:31.206005500 +2163,BlueAnt Supertooth Light Bluetooth Handsfree In Black - SUPERTOOTH,2163,932,221.85,Uncategorized,2016-08-18T23:40:05.206005500 +2164,Sony Xplod 10-Disc Add-On CD/MP3 Changer - CDX565MXRF,2164,2017,142.39,Uncategorized,2012-01-14T14:06:39.206005500 +2165,Apple iWork 09 Software Family Pack For Mac - MB943ZA,2165,1668,133.53,Uncategorized,2018-07-03T04:36:33.206005500 +2166,Garmin 010-10823-01 Carrying Case - 0101082301,2166,2200,279.42,Uncategorized,2016-11-23T21:40:45.206005500 +2167,Weber Q 300 Liquid Propane Outdoor Grill - 426001,2167,175,154.83,Uncategorized,2016-04-17T11:28:19.206005500 +2168,Sony 40' BRAVIA Z Series Black LCD Flat Panel HDTV - KDL40Z4100B,2168,407,158.96,Uncategorized,2017-07-11T16:11:28.206005500 +2169,Sanus Black Single-Column AV Component System - VF2012,2169,1027,14.48,Uncategorized,2010-09-27T12:22:37.206005500 +2170,Panasonic NNSD767S Stainless Steel Countertop Microwave Oven - NNSD767SS,2170,302,118.88,Uncategorized,2015-08-22T17:44:33.206005500 +2171,Apple 16GB Black 2nd Generation iPod Touch - MB531LLA,2171,78,131.16,Uncategorized,2004-11-05T18:24:37.206005500 +2172,Apple Mac Mini 1.83GHz Intel Core 2 Duo Computer - MB138LLA,2172,1081,261.21,Uncategorized,2003-06-06T01:25:49.206005500 +2173,Canon PIXMA Photo All-In-One Printer - MP480,2173,2060,185.59,Uncategorized,2017-05-10T15:45:46.206005500 +2174,LaCie 500GB USB 2.0 External Hard Drive - 301302U,2174,2216,317.02,Uncategorized,2010-02-12T08:35:56.206005500 +2175,LG DLEX8377WM White XL Capacity Electric SteamDryer - DLEX8377WH,2175,644,147.42,Uncategorized,2003-01-14T02:58:11.206005500 +2176,Canon Printer Gray Ink Cartridge - CLI221GRY,2176,2271,206.12,Uncategorized,2015-08-01T16:05:23.206005500 +2177,Panasonic NNSD797S Stainless Steel Countertop Microwave Oven - NNSD797SS,2177,1249,199.89,Uncategorized,2007-06-27T15:21:14.206005500 +2178,KitchenAid ProLine Series 16 Cup Food Processor - KPFP850OB,2178,2296,189.23,Uncategorized,2005-12-24T09:29:09.206005500 +2179,Sony LCS-TWA/B Black Soft Leather Carrying Case - LCSTWAB,2179,366,260.56,Uncategorized,2006-11-22T19:48:45.206005500 +2180,LG 2.0 Cu. Ft. Over-The-Range Black Microwave Oven - LMVM2085BK,2180,1607,199.47,Uncategorized,2020-05-05T19:10:02.206005500 +2181,Nintendo DS Lite Metallic Silver Portable Gaming System - NDSUSGSVB,2181,608,288.67,Uncategorized,2007-07-15T03:56:27.206005500 +2182,Sony Silver MiniDV Handycam Camcorder - DCRHC52,2182,1844,252.64,Uncategorized,2001-03-14T18:14:54.206005500 +2183,Tech Craft Avalon Series TV Stand - SWP48,2183,1078,322.45,Uncategorized,2006-08-14T01:55:52.206005500 +2184,Sanus SC1A Black VisionMount Series Ceiling Mount For Small LCD Flat Panels - SC1AB,2184,1685,111.24,Uncategorized,2012-11-25T17:44:50.206005500 +2185,Sony Soft Cyber-Shot Carrying Case - LCSCST,2185,203,142.85,Uncategorized,2022-02-01T16:58:12.206005500 +2186,Griffin iPod RoadTrip With SmartScan - 4040RDTRPB,2186,1559,256.52,Uncategorized,2002-04-04T10:20:50.206005500 +2187,Onkyo Black Stereo Receiver - TX8255,2187,1613,32.59,Uncategorized,2017-07-22T07:16:11.206005500 +2188,Linksys Dual-Band Wireless-N USB Network Adapter - WUSB600N,2188,2283,214.9,Uncategorized,2012-01-27T21:52:26.206005500 +2189,LaCie 1TB USB 2.0 External Hard Drive - 301304U,2189,2471,106.4,Uncategorized,2013-01-01T19:39:42.206005500 +2190,Toshiba 19' Black LCD HDTV With Built In DVD Player - 19LV505,2190,976,154.83,Uncategorized,2019-02-18T11:14:13.206005500 +2191,Samsung Sound Bar Home Theater System - HTX810,2191,2450,261.18,Uncategorized,2003-04-07T10:54:36.206005500 +2192,Logitech Driving Force Pro Steering Wheel With Pedals Set For Sony Playstation 2 - 9632930403,2192,527,265.76,Uncategorized,2021-06-14T04:22:56.206005500 +2193,Whirlpool 24' Built-In Dishwasher - DU1055BK,2193,1759,245.71,Uncategorized,2009-10-07T12:41:13.206005500 +2194,Samsung S2 Green 1GB Flash MP3 Player - YPS2ZG,2194,2159,262.69,Uncategorized,2008-12-24T07:48:17.206005500 +2195,Weber Stainless Steel Summit S-650 Liquid Propane Grill - 1780001,2195,1873,205.17,Uncategorized,2017-07-04T18:53:00.206005500 +2196,Sony 300 Disc CD Changer - CDPCX355,2196,1954,123.84,Uncategorized,2021-09-02T02:43:14.206005500 +2197,Onkyo THX Ultra2 Certified 7.1 Channel Home Theater Black Receiver - TXNR906B,2197,815,131.22,Uncategorized,2014-12-25T14:31:23.206005500 +2198,Apple 32GB Black 2nd Generation iPod Touch - MB533LLA,2198,1203,279.54,Uncategorized,2019-10-13T09:00:43.206005500 +2199,Linksys Wireless-G Internet Home Monitoring Camera - WVC54GCA,2199,37,176.92,Uncategorized,2012-05-19T23:18:43.206005500 +2200,Sanus WMS3S Silver Weather Resistant Small Speaker Wall Mount - WMS3S,2200,1651,46.93,Uncategorized,2016-07-05T01:29:05.206005500 +2201,Delonghi Twenty Four Seven Coffee Maker In Black - DC50B,2201,1250,37.92,Uncategorized,2014-06-04T22:45:36.206005500 +2202,Terk Mini Tuner Home Dock For XM Ready Home Products - Black Finish - CNP2000H,2202,1956,301.88,Uncategorized,2013-05-21T07:19:33.206005500 +2203,Peerless 23' - 46' Universal Flat Panel TV Black Wall Mount - SF640P,2203,1557,0.59,Uncategorized,2001-02-07T02:46:50.206005500 +2204,Monster PS3 CV/FO-10 Playstation 3 GameLink Component Video And Fiber Optic Digital Audio AV Kit - PS3CVFO10,2204,1257,254.84,Uncategorized,2012-11-19T19:44:52.206005500 +2205,Sanus WMS3S Silver Weather Resistant Small Speaker Wall Mount - WMS3S,2205,2385,175.32,Uncategorized,2015-04-02T17:25:03.206005500 +2206,Sony Vertical-In-The-Ear Stereo Headphones - MDRJ10,2206,335,231.72,Uncategorized,2017-05-11T13:56:22.206005500 +2207,Frigidaire GLD4355RFS Gallery SpeedClean 24' White Dishwasher - GLD4355WH,2207,1929,194.38,Uncategorized,2002-06-24T10:43:03.206005500 +2208,Samsung 46' Series 7 LCD Black Flat Panel HDTV - LN46A750,2208,1813,184.49,Uncategorized,2005-05-10T01:49:00.206005500 +2209,Sony SCPH-98046 PlayStation 3 Blu-Ray DVD Remote Control - 711719804604,2209,1101,291.83,Uncategorized,2007-12-15T10:32:15.206005500 +2210,Canon Photo Ink Cartridge - CL52,2210,1942,48.25,Uncategorized,2016-06-13T04:12:10.206005500 +2211,Nikon Pink 10 Megapixel COOLPIX Digital Camera - COOLPIXS60PNK,2211,1169,173.65,Uncategorized,2015-09-04T10:01:59.206005500 +2212,Panasonic VIERA 42' Plasma Flat Panel 1080p HDTV In Black - TH42PZ85U,2212,1119,313.28,Uncategorized,2000-12-22T12:28:45.206005500 +2213,Sony Mylo Black Personal Communicator - COM2BLACK,2213,256,196.2,Uncategorized,2013-06-20T19:21:02.206005500 +2214,LG 32' Black LCD Flat Panel HDTV With Built In DVD Player - 32LG40,2214,216,297.81,Uncategorized,2020-10-26T04:32:57.206005500 +2215,KitchenAid ProLine Series 16 Cup Food Processor - KPFP850OB,2215,617,325.34,Uncategorized,2014-12-14T16:49:35.206005500 +2216,Nikon 70-300mm f/4.5-5.6G ED-IF AF-S VR Zoom-Nikkor Lens - 2161,2216,206,89.38,Uncategorized,2009-10-24T19:14:03.206005500 +2217,Samsung 50' Black Flat Panel Series 5 Plasma HDTV - PN50A550,2217,691,264.31,Uncategorized,2011-03-11T03:35:06.206005500 +2218,LG 2.0 Cu. Ft. Over-The-Range Stainless Steel Microwave Oven - LMVM2085SS,2218,300,27.06,Uncategorized,2008-08-09T23:22:14.206005500 +2219,Canon PowerShot Black Digital Camera - SX110ISB,2219,2271,222.56,Uncategorized,2000-05-06T00:52:49.206005500 +2220,Yamaha High Performance Subwoofer - Black Finish - YSTFSW100BK,2220,91,89.22,Uncategorized,2009-11-19T12:33:02.206005500 +2221,Yamaha 5.1 Channel Home Theater In A Box System In Black - YHT390BK,2221,1255,180.18,Uncategorized,2016-11-21T08:01:29.206005500 +2222,Canon VIXIA 60GB High Definition Hard Disc Drive Black Camcorder - HG20,2222,1052,33.88,Uncategorized,2012-04-17T07:54:56.206005500 +2223,Onkyo 7.1 Channel Home Theater Black Receiver - TXSR876B,2223,862,157.63,Uncategorized,2006-06-21T01:49:28.206005500 +2224,Panasonic All-in-One Flatbed Laser Fax - KXFLB801,2224,387,302.32,Uncategorized,2012-08-25T08:24:42.206005500 +2225,Sony Black Active Speaker System - SRSA212BK,2225,717,222.21,Uncategorized,2005-05-11T14:39:54.206005500 +2226,Coby Black 15' Widescreen Flat Panel LCD HDTV - TFTV1514,2226,2082,141.35,Uncategorized,2008-07-13T02:56:47.206005500 +2227,Elgato TV Receiver And Video Converter For Analog & Digital TV - 10020780,2227,559,228.29,Uncategorized,2012-12-20T08:36:56.206005500 +2228,Griffin Black TuneBuds Mobile For iPod And iPhone - 9410TUNBMBLB,2228,1299,42.36,Uncategorized,2013-10-16T17:09:16.206005500 +2229,Garmin Nuvi 360 010-10723-06 Black 12 Volt Adapter Cable - 0101072306,2229,2434,66.93,Uncategorized,2013-03-23T23:27:32.206005500 +2230,Audiovox 9' LCD Drop Down TV With Built-In DVD - VE927,2230,810,7.71,Uncategorized,2010-02-27T04:25:07.206005500 +2231,Jabra Black Bluetooth Headset - BT5010,2231,805,223.43,Uncategorized,2020-08-26T10:22:18.206005500 +2232,Logitech diNovo Media Desktop Laser Keyboard And Mouse Combo - 967562,2232,392,232.06,Uncategorized,2012-04-10T07:20:25.206005500 +2233,Sharp AQUOS Blu Ray Disc Player In Black And Silver - BDHP21U,2233,2139,76.55,Uncategorized,2015-02-02T12:17:55.206005500 +2234,Sony Cyber-Shot Black Digital Camera - DSCT500B,2234,2351,41.91,Uncategorized,2019-06-05T20:27:58.206005500 +2235,Toshiba Black 15' LCD Flat Panel HDTV/DVD Combo - 15LV505,2235,1717,113.45,Uncategorized,2008-05-15T23:53:48.206005500 +2236,LG DLEX8377NM Navy Blue XL Capacity Electric SteamDryer - DLEX8377BLUE,2236,2170,125.72,Uncategorized,2017-04-02T03:37:24.206005500 +2237,Canon Silver 10 Megapixel PowerShot Digital Camera - SD790IS,2237,1961,42.54,Uncategorized,2012-03-14T12:55:13.206005500 +2238,Sony Black 5.1 Channel Home Theater System - HTDDWG700,2238,2195,141.23,Uncategorized,2001-05-01T11:41:51.206005500 +2239,Denon D-M37 Black CD/AM/FM Micro System - DM37SBK,2239,2230,131.77,Uncategorized,2009-12-08T12:29:41.206005500 +2240,Samsung 32' Series 6 LCD Black Flat Panel HDTV - LN32A650,2240,1,30.6,Uncategorized,2000-06-10T17:30:06.206005500 +2241,Case-Mate Carbon Fiber Black Leather Case For iPhone 3G - IPH3GCBCF,2241,2304,23.86,Uncategorized,2022-06-14T04:35:15.206005500 +2242,Canon Printer Ink Cartridge 4 Colors Pack - 2946B004,2242,479,29.61,Uncategorized,2006-08-11T09:19:15.206005500 +2243,Garmin 010-10823-00 Black Nuvi 660 Vehicle Suction Cup Mount - 0101082300,2243,1605,252.83,Uncategorized,2011-07-14T16:07:36.206005500 +2244,Sony 9' Digital Photo Frame In Black - DPFV900,2244,2343,124.85,Uncategorized,2021-09-09T20:39:39.206005500 +2245,Sony Black Bravia Home Theater System - DAVHDX279W,2245,745,218.26,Uncategorized,2021-07-10T23:46:48.206005500 +2246,Bose Second Zone Remote - PMC2,2246,2120,223.73,Uncategorized,2016-08-25T17:38:43.206005500 +2247,Canon White Selphy CP760 Compact Photo Printer - 2565B001,2247,137,18.77,Uncategorized,2012-07-01T18:18:49.206005500 +2248,Nikon CoolPix S550 10 Megapixel Compact Plum Digital Camera - COOLPIXS550P,2248,1904,51.76,Uncategorized,2016-08-16T14:17:44.206005500 +2249,Sony 7.1 Channel Black A/V Receiver - STRDG720,2249,1822,245.33,Uncategorized,2015-03-19T14:37:12.206005500 +2250,Denon 7.1 Channel AV Receiver With Network Client Compatible D-Dock Port In Black - AVR2809CI,2250,2466,196.59,Uncategorized,2013-01-22T15:35:27.206005500 +2251,Samsung 22' White Flat Panel LCD HDTV - LN22A451,2251,1390,158.89,Uncategorized,2022-06-26T02:55:56.206005500 +2252,Linksys Wireless-G Internet Home Monitoring Camera - WVC54GCA,2252,1851,201.79,Uncategorized,2015-08-20T14:44:39.206005500 +2253,Pioneer Single Din CD Receiver - DEHP3000IB,2253,1517,22.52,Uncategorized,2006-05-24T10:18:13.206005500 +2254,Denon 7.1 Channel Home Theater MultiMedia A/V Receiver With Networking And WiFi - AVR4308CI,2254,2234,302.33,Uncategorized,2010-05-13T00:13:05.206005500 +2255,Samsung 55' Series 9 LCD Black Flat Panel HDTV - LN55A950,2255,383,72.71,Uncategorized,2015-05-14T22:33:41.206005500 +2256,LG 32' Black LCD Flat Panel HDTV - 32LG30,2256,188,186.81,Uncategorized,2000-11-24T14:49:26.206005500 +2257,Pioneer Premier In-Dash CD/WMA/MP3/AAC Receiver - DEHP500UB,2257,1375,319.31,Uncategorized,2012-09-23T17:29:02.206005500 +2258,Samsung 50' Black Flat Panel Series 5 Plasma HDTV - PN50A550,2258,1907,99.82,Uncategorized,2020-01-16T02:16:49.206005500 +2259,Sony 37' BRAVIA XBR Series Black LCD Flat Panel HDTV - KDL37XBR6,2259,112,157.23,Uncategorized,2008-07-22T07:24:36.206005500 +2260,Speck SeeThru Aqua Hard Shell Case For 13' MacBook - MB13AQUSEEV2,2260,1695,5.55,Uncategorized,2003-08-19T13:19:40.206005500 +2261,Panasonic Genius Prestige Inverter Microwave Convection Oven NNC994SS In Stainless Steel - NNC994SS,2261,346,255.29,Uncategorized,2021-08-13T23:47:05.206005500 +2262,Sony Stereo Bluetooth Speaker - SRSBTM30,2262,693,294.1,Uncategorized,2008-05-21T21:23:59.206005500 +2263,Flip Video F360 Black Mino Series Camcorder - F360B,2263,493,100.2,Uncategorized,2019-01-10T21:33:05.206005500 +2264,LG White XL Load Capacity Electric Dryer - DLE0442WH,2264,504,60.34,Uncategorized,2014-04-20T01:53:40.206005500 +2265,LG 32' Black LCD Flat Panel HDTV With Built In DVD Player - 32LG40,2265,1253,313.17,Uncategorized,2010-04-06T14:47:15.206005500 +2266,Panasonic Stainless Steel Countertop Microwave Oven - NNSD377SS,2266,150,277.91,Uncategorized,2015-09-03T01:34:53.206005500 +2267,Linksys Wireless-G Range Expander - WRE54G,2267,1581,153.98,Uncategorized,2001-11-04T23:59:47.206005500 +2268,Panasonic Plain Paper Fax/Copier With Cordless Phone Answering System - Grey Finish - KXFG2451,2268,212,280.97,Uncategorized,2013-12-27T00:08:35.206005500 +2269,Kensington MicroSaver Keyed Notebook Lock - 64068F,2269,251,268.26,Uncategorized,2007-10-23T08:03:00.206005500 +2270,Canon PIXMA Multifunction Printer - MX310,2270,2300,130.72,Uncategorized,2005-04-16T08:28:15.206005500 +2271,Sony Super Audio CD Player - SCDCE595,2271,1293,116.17,Uncategorized,2009-06-11T14:13:16.206005500 +2272,Sony Bravia Wireless Home Theater System In Black - DAVHDX576WF,2272,403,86.29,Uncategorized,2011-04-09T08:09:09.206005500 +2273,Tripp-Lite Black 25 Foot SVGA HD15M To HD15M Computer Monitor Cable - P502025,2273,1623,277.65,Uncategorized,2009-02-23T18:50:37.206005500 +2274,Panasonic 2-Line Integrated Telephone - KXTSC14W,2274,455,40.56,Uncategorized,2004-08-02T15:55:08.206005500 +2275,Frigidaire 24' PLD4375RFC Built-In Stainless Steel Dishwasher - PLD4375SS,2275,1297,82.5,Uncategorized,2013-08-11T19:43:44.206005500 +2276,TiVo HD XL Black Digital Video Recorder - TCD658000,2276,2377,95.04,Uncategorized,2019-11-24T21:27:03.206005500 +2277,LG Washer Dryer White Stacking Kit - WSTK1,2277,375,101.18,Uncategorized,2011-11-06T04:03:48.206005500 +2278,Panasonic 5-Pack DVD-RAM Discs - LMAF120LU5,2278,1243,107.89,Uncategorized,2017-10-11T16:22:11.206005500 +2279,Sony 7.1 Channel Black A/V Receiver - STRDG720,2279,1535,319.62,Uncategorized,2000-01-24T15:25:43.206005500 +2280,Linksys Wireless-G VPN Broadband Silver Router - WRV54G,2280,1534,107.26,Uncategorized,2018-08-18T02:58:36.206005500 +2281,Denon Home Theater Receiver And Boston Acoustics 5.1 Speaker System Package - DHT589BA,2281,522,109.96,Uncategorized,2013-02-21T08:36:51.206005500 +2282,Sanus Black Single-Column AV Component System - VF2012,2282,2233,50.29,Uncategorized,2012-11-11T10:49:10.206005500 +2283,Samsung 52' Series 7 Black Flat Panel LCD HDTV - LN52A750,2283,1805,63.4,Uncategorized,2013-07-14T03:30:20.206005500 +2284,Linksys Wireless-G Broadband Router - WRT54GL,2284,796,166.14,Uncategorized,2008-05-20T10:06:47.206005500 +2285,LG LRBP1031 White Bottom-Freezer Refrigerator - LRBP1031WH,2285,282,37.65,Uncategorized,2012-10-10T17:40:25.206005500 +2286,Sony Alpha DSLR Black Camera Body With 18-70mm Zoom Lens - DSLRA300K,2286,2194,128.89,Uncategorized,2015-11-18T21:35:14.206005500 +2287,Sony Compact Disc Player/Recorder - RCDW500C,2287,1030,127.16,Uncategorized,2013-01-01T00:53:16.206005500 +2288,LG DLE3733W White XL Capacity Electric Dryer - DLE3733WH,2288,1568,204.76,Uncategorized,2011-02-14T00:33:19.206005500 +2289,Weber Premium Black Grill Cover - 7550,2289,1249,113.1,Uncategorized,2009-10-04T21:34:44.206005500 +2290,LG LRBP1031 White Bottom-Freezer Refrigerator - LRBP1031WH,2290,275,193.84,Uncategorized,2001-09-27T07:00:02.206005500 +2291,Peerless 32' - 50' Articulating Flat Panel TV Black Wall Arm - SA750PU,2291,580,277.81,Uncategorized,2017-11-19T17:38:50.206005500 +2292,Apple 8GB Green 4th Generation iPod Nano - MB745LLA,2292,966,172.21,Uncategorized,2020-12-22T12:46:34.206005500 +2293,Panasonic 2GB SD Memory Card - SDV02GU1A,2293,991,201.98,Uncategorized,2001-04-06T21:43:56.206005500 +2294,Samsung 32' Series 5 LCD Black Flat Panel HDTV - LN32A550,2294,2127,135.91,Uncategorized,2018-04-22T04:30:44.206005500 +2295,Twenty20 VholdR Wearable Camcorder Bundle - 1102,2295,960,196.75,Uncategorized,2021-09-08T22:27:28.206005500 +2296,Transcend 4GB Micro Secure Digital Memory Card - TS4GUSDHC6,2296,393,75.87,Uncategorized,2022-02-17T00:44:31.206005500 +2297,Sirius Sportster 5 Dock And Play Radio With Car Kit - SP5TK1,2297,2389,285.45,Uncategorized,2021-02-25T19:38:54.206005500 +2298,Panasonic VIERA 42' Plasma Flat Panel 1080p HDTV In Black - TH42PZ80U,2298,578,279.74,Uncategorized,2009-05-26T05:50:22.206005500 +2299,Transcend 133X High-Speed 4GB Compact Flash Card - TS4GCF133,2299,1065,226.26,Uncategorized,2011-08-12T19:13:57.206005500 +2300,Sony 7' Digital Photo Frame In Black - DPFD70,2300,1527,195.87,Uncategorized,2017-12-10T12:42:12.206005500 +2301,Microsoft Office 2008 For Mac Home And Student Edition - GZA00006,2301,1037,196.9,Uncategorized,2020-12-24T03:34:09.206005500 +2302,Netgear ProSafe 24-Port Smart Switch - GS724TP,2302,1760,90.85,Uncategorized,2020-04-19T22:59:30.206005500 +2303,Denon Multi-Channel Digital Surround Sound Speaker System - DHTFS5,2303,2442,232.45,Uncategorized,2013-01-07T18:40:45.206005500 +2304,KitchenAid 5-Speed Blender - Red Finish - KSB560ER,2304,222,253.08,Uncategorized,2010-10-11T06:09:58.206005500 +2305,Panasonic Black DVD Home Theater Sound System - SCPT760,2305,2326,306.73,Uncategorized,2015-03-20T07:11:40.206005500 +2306,Speck SeeThru Clear Hard Shell Case For MacBook Air - MBACLRSEE,2306,1065,285.36,Uncategorized,2015-03-05T06:34:56.206005500 +2307,Sony Red Cyber-Shot Digital Camera - DSCW150R,2307,718,322.26,Uncategorized,2019-05-03T21:25:42.206005500 +2308,Panasonic 60GB Hard Drive Camcorder - SDRH60,2308,307,80.58,Uncategorized,2008-11-22T13:31:21.206005500 +2309,Peerless 32' - 45' Articulating Flat Panel TV Black Wall Arm - SA745PU,2309,2029,93.03,Uncategorized,2021-12-02T21:01:36.206005500 +2310,Bose 27028 161 Bookshelf Pair Speakers In White - 161WH,2310,1986,160.95,Uncategorized,2022-12-20T17:34:20.206005500 +2311,Sony MS-A1GD 1GB Memory Stick Micro (M2) - MSA1GD,2311,1097,107.01,Uncategorized,2004-10-20T15:12:41.206005500 +2312,Canon Color Ink Tank - CL41CL,2312,1951,252.11,Uncategorized,2013-02-25T06:04:23.206005500 +2313,Sony 30GB Handycam Hard Disk Drive Camcorder - DCRSR45,2313,2188,220.23,Uncategorized,2017-09-02T10:41:29.206005500 +2314,Kenwood Sirius Radio Translator For In-Dash Head Units - KCASR50,2314,604,153.38,Uncategorized,2001-10-16T09:30:06.206005500 +2315,Canon Easy Photo Pack - 1335B001,2315,512,250.11,Uncategorized,2002-04-25T04:13:44.206005500 +2316,Nikon 70-300mm f/4.5-5.6G ED-IF AF-S VR Zoom-Nikkor Lens - 2161,2316,179,302.33,Uncategorized,2002-01-19T23:30:33.206005500 +2317,Sanus 15' To 40' Flat Panel Black TV Wall Mount - ML22B1,2317,1926,148.54,Uncategorized,2001-01-10T04:17:31.206005500 +2318,Nyko PlayStation 3 ChargeLink USB Charging Cable - 743840830009,2318,475,126.13,Uncategorized,2005-07-24T22:33:05.206005500 +2319,Sony VAIO CS Series Red Notebook Computer - VGNCS180JR,2319,1666,42.33,Uncategorized,2019-01-27T15:07:13.206005500 +2320,Polk Audio CSI A4 Cherry Center Channel Loudspeaker - CSIA4CH,2320,1762,201.36,Uncategorized,2013-01-04T04:57:09.206005500 +2321,Peerless 32' - 45' Articulating Flat Panel TV Black Wall Arm - SA745PU,2321,2127,172.93,Uncategorized,2002-01-02T11:54:31.206005500 +2322,Yamaha High Performance Subwoofer - Black Finish - YSTFSW100BK,2322,1314,120.79,Uncategorized,2002-01-05T18:53:40.206005500 +2323,Griffin iPod RoadTrip With SmartScan - 4040RDTRPB,2323,901,312.69,Uncategorized,2021-12-05T12:10:34.206005500 +2324,Nikon Rechargeable Li-Ion Battery - Black Finish - 25334,2324,2224,96.97,Uncategorized,2006-09-06T23:25:30.206005500 +2325,Onkyo THX Select2 Plus Certified 7.1 Channel Home Theater Black Receiver - TXSR706B,2325,1197,242.14,Uncategorized,2001-01-01T09:16:38.206005500 +2326,LG LDC22720ST 22 Cu. Ft. Smooth White Bottom Freezer Refrigerator - LDC22720SS,2326,1832,301.84,Uncategorized,2016-02-26T01:43:22.206005500 +2327,Peerless 42' - 71' Articulating Flat Panel TV Silver Dual Wall Arm Mount - PLAV70UNLPS,2327,1307,175.56,Uncategorized,2021-12-07T15:44:50.206005500 +2328,LG WM2455HG 4.2 Cu Ft Pearl Gray Front Load Washer - WM2455G,2328,2098,54.71,Uncategorized,2000-02-19T21:08:29.206005500 +2329,Sanus 15' - 37' VisionMount Full-Motion Flat Panel TV Black Wall Mount - MF215B1,2329,847,196.67,Uncategorized,2011-07-10T04:50:54.206005500 +2330,Pioneer Voice Command Pack - Black Finish - CDVC1,2330,151,269.55,Uncategorized,2022-05-19T16:53:52.206005500 +2331,SIRIUS SiriusConnect Vehicle Kit In Black - SCVDOC1,2331,2013,198.85,Uncategorized,2014-10-08T11:38:45.206005500 +2332,Speck SeeThru Green Hard Shell Case For 15' MacBook - MB15GRNSEEV2,2332,671,52.25,Uncategorized,2010-10-07T05:23:00.206005500 +2333,Panasonic DECT 6.0 Expandable Digital Cordless Phone With All-Digital Answering System - KXTG9344T,2333,2057,2.3,Uncategorized,2014-12-22T00:59:26.206005500 +2334,Samsung 22' Black Flat Panel LCD HDTV - LN22A450,2334,1588,45.37,Uncategorized,2020-06-24T20:05:51.206005500 +2335,Transcend 133X High-Speed 4GB Compact Flash Card - TS4GCF133,2335,2043,166.13,Uncategorized,2021-05-11T14:21:11.206005500 +2336,Transcend 8GB Micro Secure Digital Memory Card - TS8GUSDHC6,2336,1460,319.85,Uncategorized,2020-12-06T11:39:28.206005500 +2337,Panasonic KX-TGA450B Black 5.8 GHz Cordless Handset - KXTGA450B,2337,1685,30.22,Uncategorized,2019-09-10T01:44:10.206005500 +2338,Sony 46' BRAVIA W-Series Black LCD Flat Panel HDTV - KDL46W4100,2338,1638,282.16,Uncategorized,2004-04-03T14:09:41.206005500 +2339,Panasonic DECT 6.0 Expandable Digital Cordless Phone With All-Digital Answering System - KXTG9342T,2339,578,85.47,Uncategorized,2010-05-07T04:13:03.206005500 +2340,Sony DVP-FX820 Black 8' Portable DVD Player - DVPFX820,2340,2467,317.07,Uncategorized,2008-12-09T13:51:46.206005500 +2341,Weber Stainless Steel Genesis S-310 Liquid Propane Grill - 3770001,2341,676,288.3,Uncategorized,2002-11-07T16:51:27.206005500 +2342,Skullcandy CHOPS Headphones In Black Chrome - HH26SKC01,2342,888,71.3,Uncategorized,2004-09-21T13:00:29.206005500 +2343,Panasonic VIERA 42' Plasma Flat Panel HDTV In Black - TH42PX80U,2343,2078,154.46,Uncategorized,2001-04-24T02:57:50.206005500 +2344,Samsung Black DVD/VHS Combo Recorder - DVDVR375,2344,1613,42.24,Uncategorized,2008-11-13T20:32:41.206005500 +2345,Apple 8GB Black 2nd Generation iPod Touch - MB528LLA,2345,2024,293,Uncategorized,2004-02-04T12:59:24.206005500 +2346,Linksys Dual-Band Wireless-N USB Network Adapter - WUSB600N,2346,1572,57.3,Uncategorized,2014-10-18T03:25:37.206005500 +2347,Nikon Graphite Black 14.5 Megapixel COOLPIX Digital Camera - COOLPIXS710BK,2347,1972,142.13,Uncategorized,2019-08-05T05:47:13.206005500 +2348,Panasonic Black DVD Home Theater Sound System - SCPT960,2348,2198,326.28,Uncategorized,2009-12-04T14:29:02.206005500 +2349,Denon Multi-Channel Digital Surround Sound Speaker System - DHTFS5,2349,944,124.55,Uncategorized,2001-07-05T04:04:14.206005500 +2350,Canon Easy Photo Pack - 1335B001,2350,2333,56.67,Uncategorized,2021-01-13T11:49:26.206005500 +2351,Canon Silver 8.0 Megapixel PowerShot Digital Camera - SD1100IS,2351,1163,123.26,Uncategorized,2006-02-06T11:33:47.206005500 +2352,Uniden Dect 6.0 Accessory Handset And Charging Cradle - DCX200,2352,838,236.87,Uncategorized,2008-12-23T19:13:53.206005500 +2353,Logitech Harmony RF Wireless Extender - RFEXT,2353,1228,95.37,Uncategorized,2021-08-23T11:14:21.206005500 +2354,Samsung L200 Black 10.2 Megapixel Digital Camera - ECL200ZBBA,2354,443,202.67,Uncategorized,2022-11-02T02:09:17.206005500 +2355,Pioneer 6.5' 2-Way Marine White Speakers - TSMR1640,2355,249,76.66,Uncategorized,2013-12-03T10:08:41.206005500 +2356,Logitech QuickCam Vision Pro For Mac - 960000254,2356,1457,41.04,Uncategorized,2005-08-20T22:57:05.206005500 +2357,Garmin Deluxe Carrying Case - Black Finish - 0101023101,2357,144,229.58,Uncategorized,2011-12-05T04:13:56.206005500 +2358,Alpine V-Power Series 4/3/2 Channel Power Amplifier - MRPF300,2358,902,55.35,Uncategorized,2016-01-12T21:16:49.206005500 +2359,Pioneer 6.5' 2-Way Marine White Speakers - TSMR1640FM,2359,16,282.79,Uncategorized,2015-05-14T15:31:28.206005500 +2360,Nikon D90 Black Digital SLR Camera - D90BODY,2360,222,315.68,Uncategorized,2002-01-03T05:50:14.206005500 +2361,Microsoft Office Standard 2007 - 02107746,2361,663,260.37,Uncategorized,2009-03-26T08:32:37.206005500 +2362,Sony Black Soft Carrying Case - LCSX30,2362,872,111.11,Uncategorized,2012-06-26T19:06:17.206005500 +2363,Case Logic Black In-Car DVD Player Case - PDVK10,2363,1234,32.47,Uncategorized,2019-02-14T23:56:37.206005500 +2364,Nikon Coolpix S210 Plum 8.1 Megapixels Digital Camera - COOLPIXS210P,2364,2488,83.16,Uncategorized,2010-08-21T20:42:21.206005500 +2365,Garmin Nuvi 275T GPS Navigation System - 0100057600,2365,2064,32.38,Uncategorized,2002-11-21T21:30:40.206005500 +2366,Speck SeeThru Pink Hard Shell Case For 15' MacBook - MB15PNKSEEV2,2366,211,151.16,Uncategorized,2012-01-14T19:38:11.206005500 +2367,Alpine CD/MP3/WMA/AAC Receiver - CDA9887,2367,46,186.41,Uncategorized,2000-09-25T12:43:47.206005500 +2368,Altec Lansing inMotion MAX iPod/iPhone Portable Audio System - IMT702,2368,1716,290.51,Uncategorized,2015-10-17T22:54:19.206005500 +2369,Sony LCS-CSQ/B Black Soft Carrying Case - LCSCSQB,2369,439,32.83,Uncategorized,2018-04-22T00:00:30.206005500 +2370,Panasonic Black Blu-ray Disc Theater Sound System - SCBT100,2370,1721,173.76,Uncategorized,2017-09-01T08:21:17.206005500 +2371,Samsung 7.1-Channel Blu-ray Home Theater System - HTBD2TXAA,2371,208,216.05,Uncategorized,2009-06-22T02:31:07.206005500 +2372,Sony DVP-FX820 Black 8' Portable DVD Player - DVPFX820,2372,571,108.26,Uncategorized,2021-10-21T12:08:01.206005500 +2373,Jabra Black Bluetooth Headset - BT5010,2373,1940,300.19,Uncategorized,2005-09-04T05:49:05.206005500 +2374,Linksys EtherFast4116 16-Port 10/100 Ethernet Switch - EF4116,2374,1094,315.83,Uncategorized,2011-11-07T19:59:35.206005500 +2375,Audiovox Xpress XM Satellite Radio FM Direct Adapter - XMFM1,2375,1583,180.77,Uncategorized,2010-02-18T08:21:42.206005500 +2376,Sony VAIO AW Series Titanium Grey Notebook Computer - VGNAW110JH,2376,1271,231.66,Uncategorized,2002-01-06T02:34:43.206005500 +2377,Sharp 26' Black LCD HDTV With Built In DVD Player - LC26DV24U,2377,397,55.39,Uncategorized,2021-03-08T13:22:06.206005500 +2378,Sony White Speaker Dock And Clock Radio For iPod And iPhone - ICFC1IPMK2WHT,2378,688,265.8,Uncategorized,2001-06-19T16:17:49.206005500 +2379,Pioneer HD Radio Tuner - GEXP10HD,2379,72,237.77,Uncategorized,2003-03-01T15:30:38.206005500 +2380,Panasonic Black 8.5' Portable DVD Player - DVDLS86,2380,503,5.13,Uncategorized,2007-11-07T07:11:20.206005500 +2381,Panasonic Silver 8.1 Megapixel Digital Camera - DMCFS3S,2381,1954,236.79,Uncategorized,2016-01-08T16:38:54.206005500 +2382,Sharp HEPA Air Purifier - FPP35CX,2382,2130,143.97,Uncategorized,2014-05-27T05:44:43.206005500 +2383,Electrolux Pronto 2 In 1 Lightweight Upright Vacuum - EL1000B,2383,9,275.63,Uncategorized,2006-03-21T13:08:58.206005500 +2384,Bracketron Black GPS Low-Pro Windshield Mount - SWM400BL,2384,892,258.87,Uncategorized,2009-04-27T13:40:54.206005500 +2385,Samsung 40' Series 5 LCD Black Flat Panel HDTV - LN40A550,2385,582,142.57,Uncategorized,2007-09-16T04:09:49.206005500 +2386,Canon Yellow Ink Cartridge - Yellow - CLI8Y,2386,1607,75.38,Uncategorized,2022-04-01T00:54:30.206005500 +2387,Sony EX Ear Bud Headphones In Black - MDREX32LPBLK,2387,1955,132.03,Uncategorized,2018-12-08T09:20:15.206005500 +2388,LG DLE2516W White Super Capacity Electric Dryer - DLE2516WH,2388,2441,316.82,Uncategorized,2004-11-17T01:26:34.206005500 +2389,Samsung 5 Disc Home Theater Surround Sound System - HTZ510,2389,2131,192.25,Uncategorized,2015-06-16T14:27:32.206005500 +2390,Apple 500GB Time Capsule Wireless Hard Drive - MB276LLA,2390,334,103.71,Uncategorized,2001-07-26T07:18:29.206005500 +2391,Sony SLV-D380P Black DVD VHS Combo Player - SLVD380P,2391,582,37.56,Uncategorized,2020-01-13T21:02:45.206005500 +2392,Escort Passport Radar And Laser Detector - Black Finish - 8500,2392,2471,81.88,Uncategorized,2001-06-06T11:13:54.206005500 +2393,Apple 16GB Black 2nd Generation iPod Touch - MB531LLA,2393,1840,44.92,Uncategorized,2004-02-23T08:35:09.206005500 +2394,Garmin StreetPilot C330 Dash Mount - Black Finish - 0101061300,2394,769,292.81,Uncategorized,2021-08-15T21:00:43.206005500 +2395,Garmin Nuvi 255W GPS Navigation System - 0100071820,2395,1927,107.68,Uncategorized,2007-11-13T16:33:13.206005500 +2396,Transcend JetFlash V10 8GB USB Flash Drive - TS8GJFV10,2396,2198,245.16,Uncategorized,2022-10-09T01:52:46.206005500 +2397,Logitech diNovo Edge Keyboard Windows Edition - 967685,2397,1270,153.77,Uncategorized,2021-02-10T03:16:52.206005500 +2398,Samsung 7.1-Channel Blu-ray Home Theater System - HTBD2TXAA,2398,691,42.87,Uncategorized,2019-03-09T02:41:18.206005500 +2399,Belkin Leather Folio For 2G iPod Touch - F8Z373,2399,1138,163.13,Uncategorized,2017-10-21T19:01:37.206005500 +2400,Panasonic Countertop Microwave Oven In Black - NNSN667BK,2400,1155,56.35,Uncategorized,2013-09-15T16:12:55.206005500 +2401,Sirius FMDA25 Wired FM Modulation Relay - FMDA25,2401,833,254.17,Uncategorized,2004-12-23T05:48:36.206005500 +2402,Panasonic Black 8.5' Portable DVD Player - DVDLS83,2402,1619,72.25,Uncategorized,2008-12-13T19:20:41.206005500 +2403,Sony PlayStation 2 DUALSHOCK 2 Analog Controller - Emerald Finish - 711719706205,2403,1672,11.69,Uncategorized,2018-12-22T13:59:32.206005500 +2404,Panasonic Expandable Digital Cordless DECT 6.0 Handset In Silver - KXTGA101S,2404,1349,119.85,Uncategorized,2020-01-20T12:22:54.206005500 +2405,Sirius Sportster 4 With Car Kit - SP4TK1,2405,1565,243.65,Uncategorized,2002-08-11T21:07:42.206005500 +2406,LG Stainless Steel Freestanding Electric Range - LRE30757SS,2406,1192,193.81,Uncategorized,2000-04-18T11:19:38.206005500 +2407,Logitech White V470 Cordless Laser Mouse For Apple Notebooks - 910000692,2407,26,160.74,Uncategorized,2022-02-05T10:32:58.206005500 +2408,Belkin Leather Folio For 2G iPod Touch - F8Z373,2408,313,150.98,Uncategorized,2022-11-01T17:05:48.206005500 +2409,Pioneer Single Din CD Receiver - DEHP3000IB,2409,2217,227.81,Uncategorized,2002-10-08T13:51:13.206005500 +2410,Sony DVP-FX820 Pink 8' Portable DVD Player - DVPFX820P,2410,1225,268.88,Uncategorized,2022-07-13T09:00:07.206005500 +2411,Sony HD DVC Tape - DVM63HD,2411,628,144.49,Uncategorized,2011-10-05T00:52:04.206005500 +2412,Sony Silver Cyber-Shot Digital Camera - DSCW150,2412,457,140.23,Uncategorized,2014-05-07T10:31:46.206005500 +2413,Yamaha 5.1 Channel Home Theater In A Box System In Black - YHT390BK,2413,2190,275.11,Uncategorized,2016-03-23T01:38:27.206005500 +2414,Sanus 15' - 40' Flat Panel TV Silver Wall Mount - VM400S,2414,1631,89.23,Uncategorized,2000-10-17T11:14:38.206005500 +2415,Canon Black Leather Camera Case - 1588B001,2415,1201,5.76,Uncategorized,2012-09-04T03:52:12.206005500 +2416,Panasonic Black 1080p Up-Conversion DVD Recorder And VHS Combo Player - DMREZ48VK,2416,692,102.33,Uncategorized,2014-04-02T09:39:36.206005500 +2417,Sony 4GB Memory Stick PRO Duo Mark 2 Media Card - MSMT4G,2417,147,259.26,Uncategorized,2002-02-17T07:07:19.206005500 +2418,Samsung 52' Series 8 LCD Black Flat Panel HDTV - LN52A860,2418,41,327.18,Uncategorized,2015-11-23T02:26:35.206005500 +2419,Griffin iPod DirectDeck Universal Cassette Adapter - 7256DDECK,2419,1012,150.26,Uncategorized,2005-03-27T19:09:15.206005500 +2420,Sony Bluetooth Adaptor/Portable Transmitter - TMRBT10,2420,2096,304.87,Uncategorized,2019-04-18T15:23:10.206005500 +2421,Coby 7' Black Widescreen TFT Portable DVD CD MP3 Player - TFDVD7006,2421,1311,4.44,Uncategorized,2001-05-13T22:20:15.206005500 +2422,Toshiba XDE Black 1080p Upconversion Extended Detail DVD Player - XDE500,2422,1307,304.29,Uncategorized,2010-01-16T07:25:05.206005500 +2423,Canon Black BP-808 Camcorder Battery Pack - 2740B002,2423,2038,198.04,Uncategorized,2013-11-16T11:55:14.206005500 +2424,LaCie 500GB d2 Quadra External Hard Drive - 301825U,2424,1612,102.19,Uncategorized,2013-09-17T22:10:30.206005500 +2425,Samsung 46' Series 7 LCD Black Flat Panel HDTV - LN46A750,2425,1424,112.03,Uncategorized,2015-08-25T11:35:04.206005500 +2426,Panasonic Black Hi-Definition Camcorder Starter Kit - VBGVBB1STRKIT,2426,1931,289.29,Uncategorized,2015-02-06T06:05:43.206005500 +2427,Sony 2GB Memory Stick Micro (M2) - MSA2GU2,2427,2256,241.85,Uncategorized,2010-03-08T04:14:03.206005500 +2428,Canon PIXMA MX700 Multifunction Printer - MX700C,2428,309,218.33,Uncategorized,2020-02-05T20:33:03.206005500 +2429,Microsoft Office Home And Student 2007 For Windows Vista - 79G00007,2429,1703,79.51,Uncategorized,2002-01-02T17:12:52.206005500 +2430,Sony VAIO VGP-PRSZ1 SZ Series Docking Station - VGPPRSZ1,2430,1000,143.61,Uncategorized,2009-02-09T01:48:36.206005500 +2431,Microsoft Office Standard 2007 - 02107746,2431,1892,222.13,Uncategorized,2020-11-05T10:52:08.206005500 +2432,Boston Acoustics Duo-I AM/FM Clock Radio With iPod Dock - HDUOIMDNT,2432,1343,51.37,Uncategorized,2009-04-17T17:09:33.206005500 +2433,Samsung 67' Black Widescreen Series 7 LED DLP HDTV - HL67A750,2433,1347,316.39,Uncategorized,2001-09-17T07:15:56.206005500 +2434,Kensington Orbit Optical Trackball Mouse - 64327,2434,696,58.98,Uncategorized,2020-10-04T23:52:05.206005500 +2435,Panasonic Silver Lumix Wide Angle Lens Digital Camera - DMCTZ5S,2435,1195,172.93,Uncategorized,2018-08-12T15:32:41.206005500 +2436,LG DLE3733W White XL Capacity Electric Dryer - DLE3733WH,2436,483,85.66,Uncategorized,2022-02-27T19:28:54.206005500 +2437,Samsung 26' Black Flat Panel Series 4 LCD HDTV - LN26A450,2437,147,80.04,Uncategorized,2005-06-17T00:38:14.206005500 +2438,Toshiba Black 9-Inch LCD Widescreen Portable DVD Player - SDP91S,2438,1909,120.68,Uncategorized,2014-09-16T21:24:58.206005500 +2439,Panasonic DECT 6.0 Pearl Silver Expandable Digital Cordless Phone System - KXTG6313S,2439,869,325.17,Uncategorized,2007-09-06T22:41:46.206005500 +2440,Weber Premium Black Grill Cover - 7550,2440,423,1.27,Uncategorized,2020-02-07T09:18:53.206005500 +2441,Panasonic DECT 6.0 Expandable Digital Cordless Phone With All-Digital Answering System - KXTG9342T,2441,1126,230.18,Uncategorized,2009-01-03T06:37:20.206005500 +2442,Weber Performer 22-1/2' Charcoal Grill - 848001,2442,1050,181.18,Uncategorized,2019-02-16T05:21:47.206005500 +2443,Canon Silver Flash Memory Camcorder - FS100S,2443,581,217.24,Uncategorized,2005-05-23T10:34:46.206005500 +2444,Polk Audio I-Sonic ES2 - ISONIC,2444,1640,273.41,Uncategorized,2001-02-11T07:22:17.206005500 +2445,Panasonic Silver Rice Cooker/Warmer - SRTMB10,2445,1509,203.42,Uncategorized,2011-05-15T23:24:25.206005500 +2446,Sony 7.1 Channel Black A/V Receiver - STRDG720,2446,1978,54.43,Uncategorized,2006-01-01T05:08:09.206005500 +2447,Pioneer CD-I200 iBus Interface Cable For iPod - CDI200,2447,1314,59.01,Uncategorized,2014-12-25T22:12:42.206005500 +2448,Toshiba Black DVD/VCR Combinaton Player - SDV296,2448,1035,144.93,Uncategorized,2000-08-14T09:37:08.206005500 +2449,Sony 32' BRAVIA M-Series Gloss Black LCD Flat Panel HDTV - KDL32M4000,2449,1924,72.72,Uncategorized,2021-01-21T19:20:23.206005500 +2450,Denon Blu-ray Disc DVD/CD Player - DVD3800BDCI,2450,1202,204.86,Uncategorized,2009-10-20T18:55:55.206005500 +2451,Samsung 26' Black Flat Panel Series 4 LCD HDTV - LN26A450,2451,2107,222.62,Uncategorized,2010-06-15T07:04:54.206005500 +2452,Nintendo DS Lite Onyx Black Portable Gaming System - NDSUSGSKB,2452,2095,92.31,Uncategorized,2009-03-24T18:32:44.206005500 +2453,Linksys EtherFast10/100 5-Port Auto-Sensing Switch - EZXS55W,2453,2492,42.26,Uncategorized,2005-07-27T05:58:02.206005500 +2454,Sharp AQUOS 52' Special Edition LCD Black Flat Panel HDTV - LC52SE94U,2454,1331,319.87,Uncategorized,2019-11-08T14:42:42.206005500 +2455,Panasonic DECT 6.0 Expandable Digital Cordless Phone With All-Digital Answering System - KXTG9343T,2455,2270,139.97,Uncategorized,2022-12-14T16:19:35.206005500 +2456,Samsung 72' Series 6 Black Widescreen DLP HDTV - HL72A650,2456,1013,29.83,Uncategorized,2013-07-27T05:57:01.206005500 +2457,Pioneer Single Din CD Receiver - DEHP3000IB,2457,1889,50.56,Uncategorized,2021-01-01T02:01:24.206005500 +2458,Sony 3.1 Channel Home Theater Surround System In Black - HTCT100,2458,1934,199.84,Uncategorized,2001-10-10T14:20:49.206005500 +2459,Sony 30GB Handycam Hard Disk Drive Camcorder - DCRSR45,2459,2046,16.8,Uncategorized,2003-02-06T13:43:36.206005500 +2460,Garmin StreetPilot C330 Dash Mount - Black Finish - 0101061300,2460,205,61.63,Uncategorized,2007-10-11T20:12:12.206005500 +2461,Toshiba Black 9-Inch LCD Widescreen Portable DVD Player - SDP91S,2461,778,24.41,Uncategorized,2003-04-07T15:02:54.206005500 +2462,Tech Craft Avalon Series TV Stand - SWP48,2462,1251,26.58,Uncategorized,2021-08-18T01:38:33.206005500 +2463,Nikon D700 Digital SLR Digital Camera - D700BODY,2463,1386,89.89,Uncategorized,2020-09-06T11:36:40.206005500 +2464,Denon Fully Automatic Analog Turntable - DP300F,2464,341,269.25,Uncategorized,2009-12-20T17:59:21.206005500 +2465,Sony Stereo Bluetooth Speaker - SRSBTM30,2465,1697,179.58,Uncategorized,2022-07-11T08:29:38.206005500 +2466,Logitech Harmony 1000 Silver Touch Screen Remote Control - H1000,2466,1839,184.59,Uncategorized,2001-11-11T21:12:56.206005500 +2467,Pioneer HD Radio Tuner - GEXP10HD,2467,1660,181.78,Uncategorized,2008-06-14T07:31:36.206005500 +2468,Nikon EN-EL9 Black Rechargeable Li-ion Battery - ENEL9,2468,636,118.42,Uncategorized,2020-12-27T11:27:40.206005500 +2469,Denon Black Blu-ray Disc DVD-CD Player - DVD1800BD,2469,1169,272.5,Uncategorized,2010-01-02T13:01:05.206005500 +2470,Panasonic DECT 6.0 Black Expandable Digital Cordless Phone System - KXTG9372B,2470,1114,317.32,Uncategorized,2010-06-07T10:06:15.206005500 +2471,Logitech Harmony RF Wireless Extender - RFEXT,2471,348,177.83,Uncategorized,2015-10-15T05:22:01.206005500 +2472,Weber Performer 22-1/2' Charcoal Grill - 848001,2472,1385,198.6,Uncategorized,2021-08-24T18:40:37.206005500 +2473,Sony Progressive Scan Black DVD Player - DVPNS57PB,2473,1737,148.01,Uncategorized,2018-10-22T13:16:58.206005500 +2474,Sony Silver Cyber-Shot 7.2 Megapixel Digital Camera - DSCW120,2474,216,86.63,Uncategorized,2007-04-19T04:32:01.206005500 +2475,Onkyo THX Ultra2 Certified 7.1 Channel Home Theater Black Receiver - TXNR906B,2475,406,247.78,Uncategorized,2014-11-26T11:56:41.206005500 +2476,Toshiba 22' LCD HDTV With Built In DVD Player In White - 22LV506,2476,79,325.4,Uncategorized,2019-03-23T13:47:47.206005500 +2477,Panasonic Black 1080p Up-Conversion DVD Recorder And VHS Combo Player - DMREA38VK,2477,1583,159.73,Uncategorized,2013-04-17T01:56:56.206005500 +2478,Samsung Black 8.1 Megapixel Digital Camera - ECNV30ZBBA,2478,23,7.03,Uncategorized,2016-06-01T04:08:22.206005500 +2479,KitchenAid ProLine Series 16 Cup Food Processor - KPFP850OB,2479,1933,126.02,Uncategorized,2018-07-19T15:42:55.206005500 +2480,Canon Printer Yellow Ink Cartridge - CLI221YEL,2480,1083,324.03,Uncategorized,2002-08-27T03:03:29.206005500 +2481,Sony Black HD Radio With Dock For iPod And iPhone - XDRS10HDIP,2481,1113,203.5,Uncategorized,2012-12-19T09:01:29.206005500 +2482,Linksys Wireless-G Range Expander - WRE54G,2482,2373,235.23,Uncategorized,2012-07-19T15:51:12.206005500 +2483,Netgear ProSafe 5 Port 10/100 Desktop Switch - FS105,2483,2124,204.87,Uncategorized,2000-12-26T12:25:12.206005500 +2484,Denon X-Space Surround Bar Home Theatre System In Black - DHTFS3,2484,288,145.13,Uncategorized,2002-06-13T08:10:12.206005500 +2485,Pioneer KURO 50' Black Plasma HDTV - PDP5020FD,2485,2298,200.49,Uncategorized,2017-10-01T11:45:00.206005500 +2486,Onkyo 7.1-Channel Black Home Theater Receiver - TXSR506B,2486,862,274.07,Uncategorized,2014-09-05T19:03:36.206005500 +2487,Canon Black BP-808 Camcorder Battery Pack - 2740B002,2487,1669,150.48,Uncategorized,2022-11-05T12:26:11.206005500 +2488,Nyko PlayStation 3 ChargeLink USB Charging Cable - 743840830009,2488,2142,60.7,Uncategorized,2009-02-26T09:57:56.206005500 +2489,Toshiba Black DVD/VCR Combinaton Player - SDV296,2489,252,114.99,Uncategorized,2005-05-17T21:04:04.206005500 +2490,Linksys Black Media Center Extender - DMA2100,2490,2413,93,Uncategorized,2014-06-27T14:09:13.206005500 +2491,Netgear ProSafe 16 Port 10/100 Desktop Switch - Purple Finish - FS116P,2491,548,89.58,Uncategorized,2016-05-03T01:32:47.206005500 +2492,Sony MDR-NC22/BLK Black Noise Canceling Headphones - MDRNC22,2492,827,212.89,Uncategorized,2000-09-23T18:21:02.206005500 +2493,Panasonic Yellow 4GB SDHC Memory Card - RPSDV04GU1K,2493,496,49.67,Uncategorized,2014-12-23T15:19:44.206005500 +2494,Panasonic Digital Camera Battery - CGAS007A1B,2494,1464,53.47,Uncategorized,2003-07-22T08:39:20.206005500 +2495,Nintendo DS Lite Cobalt/Black Portable Gaming System - NDSUSGBMKB,2495,2283,76.57,Uncategorized,2001-07-07T13:21:26.206005500 +2496,Toshiba 22' Black LCD HDTV - 22AV500U,2496,113,263.35,Uncategorized,2009-07-23T07:23:09.206005500 +2497,Panasonic Black 8.5' Portable DVD Player - DVDLS86,2497,603,141.73,Uncategorized,2005-02-25T05:38:06.206005500 +2498,TiVo HD Digital Video Recorder (180 Hour) - TCD652160,2498,1193,141.33,Uncategorized,2003-03-14T04:23:16.206005500 +2499,Samsung Stereo Bluetooth Headset In Black - SBH500,2499,1183,267.77,Uncategorized,2008-09-15T13:32:38.206005500 +2500,iHome Black Clock Radio Audio System For iPod - IH9BR,2500,116,54.37,Uncategorized,2022-11-16T18:31:08.206005500 +2501,Garmin Vehicle Suction Cup Mount - 0101093600,2501,2432,147.48,Uncategorized,2004-11-09T04:45:15.206005500 +2502,Griffin Black TuneBuds Mobile For iPod And iPhone - 9410TUNBMBLB,2502,1582,154.7,Uncategorized,2018-02-06T09:01:36.206005500 +2503,Sennheisser Hi-Fi Wireless Headphone - RS120,2503,1045,133.82,Uncategorized,2006-05-15T16:49:16.206005500 +2504,Sirius SiriusConnect Home Tuner - SCH1,2504,815,63.36,Uncategorized,2019-12-07T20:16:32.206005500 +2505,Sony DVD-R Recordable Camcorder Media - 3DMR30L1H,2505,434,77.07,Uncategorized,2018-03-09T13:53:13.206005500 +2506,Panasonic Silver Dect 6.0 Cordless Telephone - KXTG1033S,2506,1138,38.42,Uncategorized,2006-08-04T14:09:53.206005500 +2507,Sony DVD-R Recordable Camcorder Media - 3DMR30L1H,2507,899,120.03,Uncategorized,2020-01-27T21:09:05.206005500 +2508,Pioneer HD Radio Tuner - GEXP10HD,2508,1020,268.12,Uncategorized,2017-07-17T21:55:42.206005500 +2509,Netgear Prosafe 16 Port 10/100 Rackmount Switch - Black Finish - JFS516NA,2509,544,128.43,Uncategorized,2022-02-17T23:11:36.206005500 +2510,iRobot Robotic Floor Washer - 74249,2510,1454,47.59,Uncategorized,2001-05-04T23:00:54.206005500 +2511,Yamaha 7.2 Channel Black Digital Home Theater Receiver - RXV863BK,2511,1525,153.43,Uncategorized,2012-06-23T12:36:05.206005500 +2512,LG 30' Stainless Steel Freestanding Gas Range - LRG30357SS,2512,2297,136.66,Uncategorized,2019-09-03T08:40:23.206005500 +2513,Sony Blu-Ray Disc Player - BDPS550,2513,2453,299.36,Uncategorized,2018-09-19T17:57:29.206005500 +2514,Mitsubishi 835 Diamond Series 65' 1080p DLP Rear Projection HDTV - WD65835,2514,1327,258.99,Uncategorized,2000-12-12T02:20:36.206005500 +2515,Panasonic Silver Lumix Wide Angle Lens Digital Camera - DMCTZ5S,2515,1839,44.93,Uncategorized,2006-11-09T04:56:36.206005500 +2516,LG WM3431W All-In-One White Washer And Dryer Combo - WM3431WH,2516,2048,325.19,Uncategorized,2014-03-01T18:01:54.206005500 +2517,Linksys EtherFast 8-Port 10/100 Switch - EZXS88W,2517,777,220.33,Uncategorized,2010-12-18T23:19:44.206005500 +2518,Sony Picture Station Digital Photo Printer - DPPFP95,2518,2229,95.93,Uncategorized,2019-07-13T06:38:23.206005500 +2519,Apple MacBook Pro 2.4GHz Intel Core 2 Duo Silver Notebook Computer - MB470LLA,2519,1707,117.34,Uncategorized,2015-01-25T15:48:06.206005500 +2520,Denon Black AVR-1609 Home Theater Surround Sound Receiver - AVR1609,2520,1263,278.1,Uncategorized,2008-05-06T10:18:57.206005500 +2521,Garmin Streetpilot C Series Vehicle Suction Mount - Black Finish - 0101060900,2521,33,242.37,Uncategorized,2013-09-14T03:48:08.206005500 +2522,LG 25.0 Cu. Ft. Titanium French Door Bottom Freezer Refrigerator - LFC25770TT,2522,2457,6.63,Uncategorized,2008-11-15T13:36:22.206005500 +2523,Denon Black AVR-1609 Home Theater Surround Sound Receiver - AVR1609,2523,1442,226.36,Uncategorized,2000-12-16T10:57:13.206005500 +2524,Polk Audio I-Sonic ES2 - ISONIC,2524,1489,178.13,Uncategorized,2010-12-01T07:45:01.206005500 +2525,Linksys Black Media Center Extender - DMA2100,2525,746,62.88,Uncategorized,2006-11-03T07:30:48.206005500 +2526,TomTom GPS Mount And USB Car Charger - 9N00101,2526,1030,63.71,Uncategorized,2000-07-06T01:35:51.206005500 +2527,Samsung 46' Series 8 LCD Black Flat Panel HDTV - LN46A850,2527,2248,92.97,Uncategorized,2017-02-19T08:59:02.206005500 +2528,Universal MRF-350 RF Black Base Station - MRF350,2528,188,129.74,Uncategorized,2014-03-07T21:51:35.206005500 +2529,Canon Printer Gray Ink Cartridge - CLI221GRY,2529,1057,183.41,Uncategorized,2012-06-04T16:19:32.206005500 +2530,Toshiba 52' Regza Black Flat Panel LCD HDTV - 52RV535U,2530,925,246.07,Uncategorized,2006-02-12T04:39:19.206005500 +2531,Garmin GPS Carrying Case - Black Finish - 0101070400,2531,1505,97.2,Uncategorized,2003-06-04T01:19:42.206005500 +2532,Apple Wireless Mighty Mouse - MB111LLA,2532,287,108.63,Uncategorized,2014-08-27T08:55:19.206005500 +2533,Samsung 72' Series 6 Black Widescreen DLP HDTV - HL72A650,2533,2392,188.61,Uncategorized,2020-10-04T07:05:20.206005500 +2534,Polk Audio I-Sonic ES2 - ISONIC,2534,462,119.93,Uncategorized,2009-11-15T19:05:06.206005500 +2535,Linksys EtherFast10/100 5-Port Auto-Sensing Switch - EZXS55W,2535,1090,208.92,Uncategorized,2018-12-10T13:59:18.206005500 +2536,Belkin Pro Series 16 Ft. USB 2.0 Cable - F3U13316,2536,1661,114.04,Uncategorized,2010-06-19T22:33:18.206005500 +2537,Sony VAIO RT Series Black All-In-One Desktop Computer - VGCRT150Y,2537,105,123.35,Uncategorized,2000-03-07T20:22:32.206005500 +2538,Sanus VMAV Black VisionMount Component Wall Shelf VMAVB In Black - VMAVB,2538,1454,59.03,Uncategorized,2017-05-15T04:36:58.206005500 +2539,Haier 13' TV/DVD Combo - TCR13,2539,1124,137.75,Uncategorized,2020-07-04T22:59:25.206005500 +2540,Logitech QuickCam Communicate STX - 961464,2540,1958,124.68,Uncategorized,2001-06-08T23:05:42.206005500 +2541,Denon Multi-Channel Digital Surround Sound Speaker System - DHTFS5,2541,571,268.01,Uncategorized,2007-12-10T18:08:37.206005500 +2542,Sanus 30' - 50' Full-Motion Flat Panel TV Black Wall Mount - LRF118B1,2542,2134,82.09,Uncategorized,2015-06-25T22:03:40.206005500 +2543,Panasonic All-in-One Flatbed Laser Fax - KXFLB801,2543,530,16.2,Uncategorized,2006-02-10T23:59:52.206005500 +2544,Sony Bud Style Headphones In Silver - MDRED12LPSLV,2544,2274,277.96,Uncategorized,2005-02-15T00:57:34.206005500 +2545,Tripp-Lite PV375 PowerVerter 375-Watt Ultra-Compact Inverter - PV375,2545,1118,18.32,Uncategorized,2014-11-11T10:41:47.206005500 +2546,Canon Black Leather Case - 3528B001,2546,2395,86.16,Uncategorized,2022-07-23T18:13:20.206005500 +2547,Transcend 4GB Secure Digital High-Capacity (SDHC) Class 6 Memory Card - TS4GSDHC6,2547,2261,110.56,Uncategorized,2002-11-20T06:37:14.206005500 +2548,Speck SeeThru Black Hard Shell Case For 13' MacBook - MB13BLKSEEV2,2548,624,217.83,Uncategorized,2014-02-22T07:00:31.206005500 +2549,Weber Q 320 Liquid Propane Table And Outdoor Grill - 586002,2549,2024,17.07,Uncategorized,2019-12-27T01:42:44.206005500 +2550,Toshiba 22' Black LCD HDTV - 22AV500U,2550,704,175.27,Uncategorized,2021-04-14T08:18:15.206005500 +2551,Kenwood 6-Disc CD Changer - KDCC669,2551,2169,184.29,Uncategorized,2003-02-23T09:24:45.206005500 +2552,Apple 16GB Black 2nd Generation iPod Touch - MB531LLA,2552,508,324.97,Uncategorized,2006-09-20T00:41:19.206005500 +2553,Bracketron iPod Docking Kit - IPM202BL,2553,2415,52.3,Uncategorized,2005-07-11T04:09:36.206005500 +2554,Apple MacBook 2.4GHz Intel Core 2 Duo Silver Notebook Computer - MB467LLA,2554,1017,275.53,Uncategorized,2020-01-25T20:09:45.206005500 +2555,Omnimount 42' - 63' Wishbone Cantilever Extra Large Flat Panel TV Silver Wall Mount - UCLXB,2555,605,285.45,Uncategorized,2019-02-20T15:09:49.206005500 +2556,Flip Video F360 Black Mino Series Camcorder - F360B,2556,1529,169.89,Uncategorized,2014-06-03T17:04:31.206005500 +2557,Bose 27028 161 Bookshelf Pair Speakers In White - 161WH,2557,2070,145.72,Uncategorized,2012-07-19T23:35:13.206005500 +2558,Linksys EtherFast 4124 24-Port Ethernet Switch - EF4124,2558,2286,29.86,Uncategorized,2016-02-06T09:22:48.206005500 +2559,Sirius SiriusConnect Home Tuner - SCH1,2559,567,305.89,Uncategorized,2011-05-19T20:17:55.206005500 +2560,Speck SeeThru Orange Hard Shell Case For 15' MacBook - MB15ORGSEEV2,2560,424,179.56,Uncategorized,2015-12-16T09:15:06.206005500 +2561,Transcend 4GB Micro Secure Digital Memory Card - TS4GUSDHC6,2561,1214,295.41,Uncategorized,2008-12-27T17:07:48.206005500 +2562,OmniMount G-303 Gray Stellar Series Audio Tower - G303GR,2562,1459,129.61,Uncategorized,2009-07-13T13:59:30.206005500 +2563,Sony Home Entertainment Server In Black - HESV1000,2563,1561,83.93,Uncategorized,2008-12-09T19:23:41.206005500 +2564,Sennheisser Hi-Fi Wireless Headphone - RS130,2564,121,219.84,Uncategorized,2021-10-27T23:35:00.206005500 +2565,Frigidaire Electric Dryer - FEQ1442WH,2565,2393,70.5,Uncategorized,2011-12-04T11:13:25.206005500 +2566,Sony Black Active Speaker System - SRSA212BK,2566,77,177.89,Uncategorized,2006-11-26T15:06:33.206005500 +2567,Sony Digital Photo Printer Paper 120 Pack - SVMF120P,2567,1387,19.51,Uncategorized,2009-05-21T22:40:48.206005500 +2568,Onkyo THX Select2 Plus Certified 7.1 Channel Home Theater Black Receiver - TXSR706B,2568,239,101.12,Uncategorized,2003-11-24T09:52:56.206005500 +2569,Flip Video F360 White Mino Series Camcorder - F360W,2569,1301,75.42,Uncategorized,2008-02-21T02:42:11.206005500 +2570,Whirlpool Duet Sport 27' White Electric Dryer - WED8300SWH,2570,2053,140.22,Uncategorized,2022-06-04T05:49:01.206005500 +2571,Samsung 50' Black Flat Panel Series 5 Plasma HDTV - PN50A550,2571,1002,41.5,Uncategorized,2000-12-15T16:40:50.206005500 +2572,Monster iCarPlay Wireless 250 FM Transmitter With AutoScan for iPod And iPhone - AIPFMCH250,2572,765,297.1,Uncategorized,2020-05-03T11:26:54.206005500 +2573,Electrolux Oxygen 3 Canister HEPA H12 Filter - EL012A,2573,1734,255.67,Uncategorized,2021-03-02T10:12:40.206005500 +2574,Sony Stereo Audio Receiver - STRDE197,2574,67,149.67,Uncategorized,2000-08-14T10:04:58.206005500 +2575,Sanus 9' - 17' VisionMount Series Under Cabinet Flat Panel TV Silver Wall Mount - VMUC1S,2575,1004,172.97,Uncategorized,2000-03-11T22:47:41.206005500 +2576,Samsung 22' White Flat Panel LCD HDTV - LN22A451,2576,904,19.67,Uncategorized,2008-04-04T10:38:15.206005500 +2577,LG 30' Stainless Steel Freestanding Gas Range - LRG30357SS,2577,2354,11.63,Uncategorized,2016-10-04T12:52:27.206005500 +2578,Sony VAIO LV Series Silver All-In-One Desktop Computer - VGCLV140J,2578,130,151.38,Uncategorized,2001-04-11T23:46:08.206005500 +2579,LaCie Little Disk 250GB Black Portable Hard Drive - 301278,2579,253,206.32,Uncategorized,2000-02-02T10:51:35.206005500 +2580,Sony 60GB Handycam Hard Disk Drive Camcorder - DCRSR85,2580,2050,114.98,Uncategorized,2010-09-03T09:36:14.206005500 +2581,Garmin GPS Carrying Case - Black Finish - 0101070400,2581,1329,7.75,Uncategorized,2010-09-02T02:01:47.206005500 +2582,Nikon D90 Black Digital SLR Camera With Nikkor 18-105mm Lens - D90OUTFIT,2582,662,52.04,Uncategorized,2005-05-17T00:30:11.206005500 +2583,Delonghi Twenty Four Seven Coffee Maker - DC50W,2583,882,95.75,Uncategorized,2017-09-09T02:27:12.206005500 +2584,Sony 16GB Memory Stick PRO Duo Mark 2 Media Card - MSMT16G,2584,2342,59.32,Uncategorized,2016-12-15T11:22:11.206005500 +2585,Sony Black 9 Megapixel Cyber-Shot Digital Camera - DSCH50B,2585,1428,157.65,Uncategorized,2007-04-19T18:56:52.206005500 +2586,Sony BD/DVD Home Theater System - BDVIS1000,2586,1998,220.73,Uncategorized,2011-04-21T10:12:30.206005500 +2587,Panasonic VIERA 58' 1080p Plasma HDTV In Black - TH58PZ850U,2587,840,217.32,Uncategorized,2005-04-17T16:13:29.206005500 +2588,Sony 40GB High Definition Hard Disk Drive Handycam Camcorder - HDRSR10,2588,1729,124.26,Uncategorized,2018-03-16T16:01:46.206005500 +2589,Transcend 2GB 133x Ultra Speed Compact Flash Card - TS2GCF133,2589,1560,226.29,Uncategorized,2013-10-19T08:47:19.206005500 +2590,Plantronics .Audio 920 Bluetooth Headset - AUDIO920,2590,1403,57.61,Uncategorized,2014-10-11T18:25:08.206005500 +2591,Sony VAIO RT Series Black All-In-One Desktop Computer - VGCRT150Y,2591,1799,155.1,Uncategorized,2016-09-14T01:48:42.206005500 +2592,LG 2.0 Cu. Ft. Over-The-Range Stainless Steel Microwave Oven - LMVM2085SS,2592,1282,283.59,Uncategorized,2018-12-22T20:03:18.206005500 +2593,LG 2.0 Cu. Ft. Over-The-Range Black Microwave Oven - LMVM2085BK,2593,1807,151.1,Uncategorized,2007-02-21T16:39:10.206005500 +2594,Netgear Wireless Access Point - WG102,2594,317,47.4,Uncategorized,2008-07-13T16:11:44.206005500 +2595,Nikon CoolPix S550 10 Megapixel Black Digital Camera - COOLPIXS550GB,2595,2483,78.59,Uncategorized,2010-04-02T11:02:30.206005500 +2596,Escort Cordless Solo Radar Detector - S2E,2596,1378,50.15,Uncategorized,2000-05-23T06:12:47.206005500 +2597,AppleCare Protection Plan For iPod Touch Or iPod Classic - MB591LLA,2597,863,297.26,Uncategorized,2000-12-10T19:09:08.206005500 +2598,Belkin AC Anywhere - F5C400300W,2598,2392,98.91,Uncategorized,2008-03-01T21:04:41.206005500 +2599,Sony Turntable - PSLX350H,2599,1418,93.37,Uncategorized,2021-12-02T09:43:42.206005500 +2600,Panasonic Lithium Ion Rechargeable Battery - Black Finish - CGRS006A1B,2600,429,317.8,Uncategorized,2018-02-13T05:49:33.206005500 +2601,Samsung 7.1-Channel Blu-ray Home Theater System - HTBD2TXAA,2601,2420,59.75,Uncategorized,2011-04-21T16:22:42.206005500 +2602,Samsung 7.1-Channel Blu-ray Home Theater System - HTBD2TXAA,2602,925,243.04,Uncategorized,2014-04-26T18:08:18.206005500 +2603,Sony DSCH2 Soft Carrying Camera Case - Black Finish - LCSCSH,2603,952,319.36,Uncategorized,2007-12-22T02:21:03.206005500 +2604,Panasonic Lithium Ion Rechargeable Battery - Black Finish - CGRS006A1B,2604,333,255.52,Uncategorized,2020-10-09T17:10:34.206005500 +2605,Mitsubishi DLP Black TV Stand - MBS73V,2605,1451,270.36,Uncategorized,2015-02-21T14:41:59.206005500 +2606,Audiovox Xpress XM Satellite Radio Receiver Home Kit - XMH10A,2606,934,94.89,Uncategorized,2009-09-26T02:13:06.206005500 +2607,Samsung 7.1-Channel Blu-ray Home Theater System - HTBD2TXAA,2607,280,27.67,Uncategorized,2008-12-10T19:43:12.206005500 +2608,Nikon CoolPix S550 Blue 10.0 Megapixels Compact Digital Camera - COOLPIXS550CB,2608,1180,159.32,Uncategorized,2017-02-11T16:34:01.206005500 +2609,Nikon COOLPIX Leather Camera Case In Black - 5811,2609,1306,285.48,Uncategorized,2014-06-11T16:46:06.206005500 +2610,Sirius SiriusConnect Home Tuner - SCH1,2610,644,203.2,Uncategorized,2010-05-24T18:39:00.206005500 +2611,Weber Genesis S-310 Natural Gas Stainless Steel Outdoor Grill - 3870001,2611,948,228.93,Uncategorized,2001-09-14T00:28:11.206005500 +2612,Garmin Nuvi Portable Friction Mount - 0101090800,2612,776,32.08,Uncategorized,2017-02-03T14:45:47.206005500 +2613,Sony 9' Digital Photo Frame In Black - DPFV900,2613,794,128.12,Uncategorized,2010-09-26T02:01:33.206005500 +2614,LaCie 500GB USB 2.0 External Hard Drive - 301302U,2614,1388,54.61,Uncategorized,2014-02-20T14:04:48.206005500 +2615,Sanus 32' - 50' Flat Panel TV Black Wall Mount - VMPL50B,2615,1218,179.78,Uncategorized,2019-07-06T02:29:06.206005500 +2616,LG DLEX7177WM White XL Capacity Electric SteamDryer - DLEX7177WH,2616,2059,209.54,Uncategorized,2019-05-01T02:52:23.206005500 +2617,LG 37' Black LCD Flat Panel HDTV - 37LG50,2617,994,198.51,Uncategorized,2005-01-01T18:24:52.206005500 +2618,Panasonic Outdoor Network Camera - BBHCM331A,2618,864,115.59,Uncategorized,2014-12-06T15:25:53.206005500 +2619,Nikon Rechargeable Li-Ion Battery - Black Finish - 25334,2619,1343,64.63,Uncategorized,2013-09-08T04:37:05.206005500 +2620,Sanus 15' - 40' VisionMount Flat Panel TV Black Wall Mount - MT25B1,2620,1555,28.51,Uncategorized,2000-12-21T22:41:37.206005500 +2621,Polk Audio Sirius Satellite Radio Home Tuner - SRH1000,2621,2234,79.05,Uncategorized,2019-06-05T02:41:18.206005500 +2622,Oregon Scientific AT18 Wearable Waterproof Action Camcorder - ATC2000,2622,534,58.07,Uncategorized,2019-01-17T03:58:50.206005500 +2623,Plantronics Voyager 510 Bluetooth Headset - Silver Finish - 496915,2623,1048,319.38,Uncategorized,2007-02-18T07:52:07.206005500 +2624,Nikon Coolpix S210 Plum 8.1 Megapixels Digital Camera - COOLPIXS210P,2624,787,199.99,Uncategorized,2006-09-07T22:13:08.206005500 +2625,Sony Black Handycam Camcorder Soft Carrying Case - LCSX20,2625,1500,89.44,Uncategorized,2011-09-17T04:57:19.206005500 +2626,LG WDP3N 14' Tall Navy Blue Pedestal With Drawer - WDP3BL,2626,1933,224.15,Uncategorized,2005-06-10T04:03:07.206005500 +2627,Samsung Black DVD/VHS Combo Recorder - DVDVR375,2627,2332,23.97,Uncategorized,2020-02-14T17:10:02.206005500 +2628,Canon Pink 8.0 Megapixel PowerShot Digital Camera - SD1100ISP,2628,2266,295.97,Uncategorized,2015-02-10T04:50:20.206005500 +2629,Nikon Black 13.5 Megapixel COOLPIX Digital Camera - COOLPIXP6000BK,2629,1081,236.31,Uncategorized,2019-06-18T13:34:46.206005500 +2630,Jabra Bluetooth Headset - BT2070,2630,1778,114.1,Uncategorized,2005-11-27T13:51:06.206005500 +2631,Canon PIXMA iP2600 Photo Printer - IP2600,2631,1481,231.2,Uncategorized,2002-10-22T16:06:47.206005500 +2632,Nikon Black 13.5 Megapixel COOLPIX Digital Camera - COOLPIXP6000BK,2632,1176,289.28,Uncategorized,2020-07-15T10:59:01.206005500 +2633,Pioneer USB iPod Interface Cable - CDIU230V,2633,2288,213.07,Uncategorized,2010-04-13T14:48:17.206005500 +2634,Garmin Nuvi 660 010-10747-03 Black 12 Volt Adapter Cable - 0101074703,2634,742,297.81,Uncategorized,2001-11-12T02:49:21.206005500 +2635,Hoover Bagged Tempo Widepath Upright Vacuum - U5140,2635,19,240.85,Uncategorized,2018-08-19T04:42:13.206005500 +2636,Nokia T-Mobile Unlocked Cellular Phone - N96,2636,538,176.67,Uncategorized,2005-12-27T00:56:10.206005500 +2637,Yamaha Black Digital Sound Projector - YSP3050BK,2637,299,9.76,Uncategorized,2015-04-08T23:01:43.206005500 +2638,Omnimount 42' - 63' Wishbone Cantilever Extra Large Flat Panel TV Silver Wall Mount - UCLXB,2638,2287,223.09,Uncategorized,2019-03-07T14:21:01.206005500 +2639,Canon Printer Gray Ink Cartridge - CLI221GRY,2639,1501,223.24,Uncategorized,2013-06-25T04:09:12.206005500 +2640,Sony Bud Style Headphones In Red - MDRED12LPRED,2640,1695,71.07,Uncategorized,2000-08-12T00:22:33.206005500 +2641,Tech Craft Avalon Series TV Stand - SWP48,2641,426,200.89,Uncategorized,2020-10-11T22:39:42.206005500 +2642,Canon Cyan Photo Ink Cartridge - Cyan - CLI8PC,2642,1340,287.14,Uncategorized,2004-08-10T18:28:11.206005500 +2643,Speck SeeThru Orange Hard Shell Case For 15' MacBook - MB15ORGSEEV2,2643,333,167.28,Uncategorized,2017-02-02T01:22:21.206005500 +2644,Plantronics .Audio 920 Bluetooth Headset - AUDIO920,2644,733,35.76,Uncategorized,2014-08-17T07:18:15.206005500 +2645,Panasonic 5.8 GHz Black Expandable Digital Cordless Phone System - KXTG4323B,2645,412,160.35,Uncategorized,2022-11-08T00:41:54.206005500 +2646,Canon EF 75-300mm F/4-5.6 III Telephoto Zoom Lens - 6473A003,2646,2341,316.83,Uncategorized,2017-03-01T19:47:18.206005500 +2647,Nikon COOLPIX P80 Digital Camera In Black - COOLPIXP80,2647,2362,37.44,Uncategorized,2019-03-03T01:22:40.206005500 +2648,Garmin 010-10702-00 Black GA 25MCX Remote GPS Antenna - 0101070200,2648,288,80.69,Uncategorized,2000-05-14T14:52:50.206005500 +2649,Samsung 67' Black Widescreen Series 7 LED DLP HDTV - HL67A750,2649,114,152.87,Uncategorized,2017-04-13T07:06:56.206005500 +2650,Escort Passport 9500CI Radar Detector - 9500CI,2650,1602,202.75,Uncategorized,2011-04-11T11:53:34.206005500 +2651,Nikon 70-300mm f/4.5-5.6G ED-IF AF-S VR Zoom-Nikkor Lens - 2161,2651,1543,289.85,Uncategorized,2002-06-26T05:13:34.206005500 +2652,Sony Black DVDirect MC5 Multi-Function DVD Recorder - VRDMC5,2652,2453,248.82,Uncategorized,2013-03-04T17:39:53.206005500 +2653,Case-Mate Carbon Fiber Black Leather Case For iPhone 3G - IPH3GCBCF,2653,1422,307.92,Uncategorized,2016-10-11T12:05:49.206005500 +2654,Panasonic 2GB SD Memory Card - SDV02GU1A,2654,398,75.48,Uncategorized,2003-01-26T04:38:24.206005500 +2655,Sanus Universal Projector Ceiling Mount - Black Finish - VMPR1B,2655,1999,95.14,Uncategorized,2005-07-25T15:41:45.206005500 +2656,Logitech Cordless Desktop Wave Keyboard And Mouse Combo - 920000264,2656,62,229.66,Uncategorized,2002-11-25T07:40:31.206005500 +2657,Transcend 2GB 133x Ultra Speed Compact Flash Card - TS2GCF133,2657,729,131.94,Uncategorized,2014-02-22T05:59:57.206005500 +2658,Linksys Wireless-G Broadband Router - WRT54GL,2658,875,198.5,Uncategorized,2017-08-11T18:35:14.206005500 +2659,Panasonic VIERA 32' Class Widescreen LCD HDTV In Black - TC32LZ800,2659,827,282.73,Uncategorized,2004-05-14T13:52:20.206005500 +2660,Panasonic Black Lumix 10.1 Megapixel Digital Camera - DMCFZ28K,2660,2173,66.5,Uncategorized,2021-12-24T10:00:36.206005500 +2661,LG 2.0 Cu. Ft. Over-The-Range Black Microwave Oven - LMVM2085BK,2661,2253,84.53,Uncategorized,2005-06-09T09:11:04.206005500 +2662,Garmin Nuvi 765T GPS Navigation System - 0100071520,2662,2248,260.02,Uncategorized,2020-11-08T00:48:55.206005500 +2663,Sony Silver 1080p Upscaling 5-Disc DVD Player - DVPNC800HS,2663,2416,162.06,Uncategorized,2014-02-01T02:43:15.206005500 +2664,Polk Audio CSI A4 Cherry Center Channel Loudspeaker - CSIA4CH,2664,2022,83.47,Uncategorized,2021-11-12T00:50:49.206005500 +2665,Apple USB Power Adapter - MB352LLB,2665,970,26.98,Uncategorized,2000-04-27T19:07:48.206005500 +2666,Apple Wireless Mighty Mouse - MB111LLA,2666,1539,204.11,Uncategorized,2008-07-05T05:09:50.206005500 +2667,Sony 32' BRAVIA M-Series Gloss Black LCD Flat Panel HDTV - KDL32M4000,2667,2209,150.7,Uncategorized,2014-04-10T14:55:03.206005500 +2668,Samsung DLP TV Stand In Black - TR72BX,2668,1633,288.47,Uncategorized,2006-12-18T02:48:51.206005500 +2669,Garmin 010-10723-03 Nuvi Suction Cup Mount - 0101072303,2669,669,1.01,Uncategorized,2008-03-27T04:08:05.206005500 +2670,Linksys Ultra RangePlus Wireless-N Broadband Router - WRT160N,2670,1049,317.41,Uncategorized,2021-11-18T23:12:59.206005500 +2671,Sony NP-FH100 InfoLithium H Series Standard Rechargeable Battery Pack - NPFH100,2671,1123,20.26,Uncategorized,2012-05-04T11:43:14.206005500 +2672,TomTom GPS Mount And USB Car Charger - 9S00006,2672,1372,327.15,Uncategorized,2022-10-12T03:01:53.206005500 +2673,Panasonic Black 1080p Up-Conversion DVD Recorder - DMREZ28K,2673,634,112.18,Uncategorized,2004-01-09T05:08:05.206005500 +2674,Linksys Ultra RangePlus Wireless-N Broadband Router - WRT160N,2674,2343,90.32,Uncategorized,2009-07-20T07:57:15.206005500 +2675,Canon Deluxe Black Digital Camera Case - 2595B002,2675,1860,102.39,Uncategorized,2011-09-02T19:46:38.206005500 +2676,Samsung 22' White Flat Panel LCD HDTV - LN22A451,2676,68,243.88,Uncategorized,2003-04-04T04:19:13.206005500 +2677,Sony VAIO CS Series Pink Notebook Computer - VGNCS180JP,2677,26,60.67,Uncategorized,2014-11-11T05:57:18.206005500 +2678,Toshiba Black DVD Recorder With 1080p Upconversion - DR410,2678,1818,122.63,Uncategorized,2006-12-09T14:31:33.206005500 +2679,Belkin Hi-Speed USB 2.0 7-Port Hub - F5U237APLS,2679,2077,181.12,Uncategorized,2016-06-07T07:18:41.206005500 +2680,Lowepro Digital Camera Case In Black - EDIT100BK,2680,758,175.87,Uncategorized,2010-06-11T07:54:56.206005500 +2681,Garmin Nuvi 265T GPS Navigation System - 0100057610,2681,988,8.98,Uncategorized,2002-07-07T23:09:28.206005500 +2682,Logitech White V470 Cordless Laser Mouse For Apple Notebooks - 910000692,2682,1456,38.78,Uncategorized,2013-09-25T15:42:29.206005500 +2683,Panasonic VIERA 46' Plasma Flat Panel 1080p HDTV In Black - TH46PZ85U,2683,27,136.89,Uncategorized,2008-07-14T10:08:12.206005500 +2684,Peerless 42' - 71' Articulating Flat Panel TV Silver Dual Wall Arm Mount - PLAV70UNLPS,2684,89,219.49,Uncategorized,2014-11-26T18:08:08.206005500 +2685,Toshiba Rechargeable 5-Hour Battery Pack - MEDB05LX,2685,2381,52.51,Uncategorized,2017-01-19T14:19:10.206005500 +2686,Linksys Ultra RangePlus Wireless-N Broadband Router - WRT160N,2686,2428,287.21,Uncategorized,2002-10-23T14:46:44.206005500 +2687,Garmin Nuvi 265WT GPS Navigation System - 0100057510,2687,843,17.83,Uncategorized,2010-01-24T15:23:20.206005500 +2688,Onkyo THX Ultra 2 Plus Certified 7.1 Channel Home Theater Black Receiver - TXSR806B,2688,562,233.15,Uncategorized,2020-08-22T22:58:16.206005500 +2689,Samsung 46' Series 8 LCD Black Flat Panel HDTV - LN46A850,2689,1165,310.37,Uncategorized,2007-07-02T04:49:50.206005500 +2690,Panasonic KX-TG4500B Black 5.8 GHz Cordless Phone System - KXTG4500B,2690,1396,133.73,Uncategorized,2017-01-10T09:47:32.206005500 +2691,Apple 32GB Black 2nd Generation iPod Touch - MB533LLA,2691,2384,326.62,Uncategorized,2019-05-05T07:52:33.206005500 +2692,Samsung 5 Disc Home Theater Surround Sound System - HTZ510,2692,2203,160.54,Uncategorized,2003-07-22T08:11:42.206005500 +2693,Logitech Harmony RF Wireless Extender - RFEXT,2693,129,212.89,Uncategorized,2011-04-22T00:00:20.206005500 +2694,LG WM2233W 4.0 Cu Ft White Front Load Washer - WM2233WH,2694,2186,51,Uncategorized,2007-07-20T05:41:26.206005500 +2695,Olympus PS-BLS1 Lithium Ion Rechargeable Battery - LIIONPSBLS1,2695,873,198.66,Uncategorized,2019-06-02T15:55:55.206005500 +2696,Samsung 22' White Flat Panel LCD HDTV - LN22A451,2696,880,311.02,Uncategorized,2010-01-25T14:07:40.206005500 +2697,Panasonic 40GB Hard Drive Camcorder - SDRH40,2697,570,314.03,Uncategorized,2006-12-09T23:35:48.206005500 +2698,Panasonic Black DVD Home Theater Sound System - SCPT960,2698,805,158.52,Uncategorized,2020-08-23T19:26:48.206005500 +2699,Sony Clip-On Black Headphones - MDRQ68LW,2699,424,158.09,Uncategorized,2009-11-21T16:11:06.206005500 +2700,Sharp AQUOS 37' Black LCD HDTV - LC37D64U,2700,1924,214.68,Uncategorized,2012-08-11T05:35:39.206005500 +2701,Weber Summit E-620 Copper Liquid Propane Gas Outdoor Grill - 1752001,2701,611,289.92,Uncategorized,2016-10-25T22:52:07.206005500 +2702,LG DLG2526W White Super Capacity Gas Dryer - DLG2526WH,2702,2357,294.08,Uncategorized,2022-01-09T03:33:12.206005500 +2703,Peerless Black Flat Panel TV Stand - SS550PBK,2703,611,245.99,Uncategorized,2022-04-06T15:18:21.206005500 +2704,Denon 7.1 Channel Home Theater MultiMedia A/V Receiver With Networking In Black - AVR3808CI,2704,1162,76.46,Uncategorized,2013-01-08T09:32:35.206005500 +2705,Escort Passport 9500IX Radar Detector - 9500IX,2705,1853,56.24,Uncategorized,2015-12-26T06:12:25.206005500 +2706,Sony Memory Stick PRO DUO Adapter For CompactFlash Slot - ADMSCF1,2706,604,252.19,Uncategorized,2021-12-25T17:54:14.206005500 +2707,Electrolux Pronto 2 In 1 Lightweight Upright Vacuum - EL1000B,2707,909,207.47,Uncategorized,2004-06-06T15:23:53.206005500 +2708,Canon Black BP-808 Camcorder Battery Pack - 2740B002,2708,611,170.1,Uncategorized,2015-05-02T21:41:05.206005500 +2709,Sony Silver Cyber-Shot 7.2 Megapixel Digital Camera - DSCW120,2709,2370,287.09,Uncategorized,2001-09-04T08:49:13.206005500 +2710,Sony LCS-CSQ/B Black Soft Carrying Case - LCSCSQB,2710,1326,199.77,Uncategorized,2013-04-06T23:00:17.206005500 +2711,Panasonic DECT 6.0 Silver Expandable Digital Cordless Phone System - KXTG9332S,2711,635,68.5,Uncategorized,2002-11-15T05:40:14.206005500 +2712,Denon 7.1 Channel Home Theater MultiMedia A/V Receiver With Networking And WiFi - AVR4308CI,2712,2259,230.21,Uncategorized,2019-03-02T13:45:06.206005500 +2713,LG 2.0 Cu. Ft. Over-The-Range Stainless Steel Microwave Oven - LMVM2085SS,2713,1784,92.99,Uncategorized,2013-12-09T02:25:52.206005500 +2714,Haier 15' Black Flat Panel LCD HDTV DVD Combo - HLC15R,2714,1464,132.55,Uncategorized,2020-03-05T18:17:49.206005500 +2715,Panasonic Expandable Digital Cordless DECT 6.0 Phone System - KXTG1032S,2715,2043,252.57,Uncategorized,2020-11-06T03:56:10.206005500 +2716,Speck SeeThru Clear Hard Shell Case For MacBook Air - MBACLRSEE,2716,1842,81.41,Uncategorized,2016-09-11T17:00:57.206005500 +2717,Canon PGI-5BK Black Ink Tank Cartridge - PGI5BK,2717,183,264.9,Uncategorized,2014-01-09T18:32:57.206005500 +2718,Terk Mini Tuner Home Dock For XM Ready Home Products - Black Finish - CNP2000H,2718,2160,20.69,Uncategorized,2011-06-24T08:52:51.206005500 +2719,Electrolux Pronto 2 In 1 Lightweight Upright Vacuum - EL1000B,2719,388,223.52,Uncategorized,2012-11-17T00:33:53.206005500 +2720,Sanus 15' - 40' Flat Panel TV Silver Wall Mount - VM400S,2720,1577,286.05,Uncategorized,2002-02-27T13:32:01.206005500 +2721,Peerless Wall TV Mounts In Black - PM1327BK,2721,986,11.36,Uncategorized,2015-10-06T17:57:28.206005500 +2722,Linksys EtherFast10/100 5-Port Auto-Sensing Switch - EZXS55W,2722,2076,162.41,Uncategorized,2001-08-12T09:35:26.206005500 +2723,Sony 40' BRAVIA Z Series Black LCD Flat Panel HDTV - KDL40Z4100B,2723,580,47.24,Uncategorized,2012-11-12T07:37:45.206005500 +2724,Apple 8GB Green 4th Generation iPod Nano - MB745LLA,2724,713,117.37,Uncategorized,2000-07-15T14:54:35.206005500 +2725,Sony 9' Digital Photo Frame In Black - DPFV900,2725,1654,183.39,Uncategorized,2002-12-20T02:38:40.206005500 +2726,Maytag Bisque Over-The-Range Microwave Oven - MMV4205BT,2726,687,117.51,Uncategorized,2011-10-24T12:55:25.206005500 +2727,Bose Lifestyle 48 Series IV 43479 Home Entertainment System - LS48IVWH,2727,1014,254.36,Uncategorized,2020-03-10T06:18:07.206005500 +2728,Mitsubishi DLP Black TV Stand - MBS73V,2728,191,159.21,Uncategorized,2016-09-27T21:42:38.206005500 +2729,Sony 32' BRAVIA L-Series Black LCD Flat Panel HDTV - KDL32L4000,2729,1391,258.63,Uncategorized,2017-06-01T12:57:55.206005500 +2730,Canon 9517A002 EF-S 17mm - 85mm f/4.0-5.6 USM IS Zoom Lens - 9517A002,2730,2320,326.87,Uncategorized,2015-01-12T05:17:44.206005500 +2731,Sony White Speaker Dock And Clock Radio For iPod And iPhone - ICFC1IPMK2WHT,2731,564,136.71,Uncategorized,2004-02-06T02:00:13.206005500 +2732,Sanus Euro Foundations Satellite Speaker Stand - EFSATS,2732,364,285.62,Uncategorized,2002-03-02T10:45:29.206005500 +2733,Apple 120GB Black 7th Generation iPod Classic - MB565LLA,2733,791,113.4,Uncategorized,2009-04-18T05:55:23.206005500 +2734,Canon Black Ink Cartridge - PG50,2734,182,202.47,Uncategorized,2009-08-01T21:06:27.206005500 +2735,Oregon Scientific AT18 Wearable Waterproof Action Camcorder - ATC2000,2735,812,17.65,Uncategorized,2022-11-26T16:06:14.206005500 +2736,Sony Black DVD Recorder And VHS Combo Player - RDRVX560,2736,1459,321.3,Uncategorized,2003-12-14T18:54:19.206005500 +2737,Sony HD Radio Add On Tuner - XT100HD,2737,244,80.19,Uncategorized,2014-04-11T17:19:36.206005500 +2738,Samsung 26' Black Flat Panel Series 4 LCD HDTV - LN26A450,2738,796,70.74,Uncategorized,2006-04-01T01:15:21.206005500 +2739,Garmin 010-10723-00 AC Adapter Cable With International Adapters - 0101072300,2739,2289,92.53,Uncategorized,2000-08-08T05:15:31.206005500 +2740,Olympus Silver Digital Voice Recorder - VN4100PC,2740,1173,34.67,Uncategorized,2009-11-09T18:36:12.206005500 +2741,Sanus 9' - 17' VisionMount Series Under Cabinet Flat Panel TV Silver Wall Mount - VMUC1S,2741,2258,160.97,Uncategorized,2005-09-14T10:34:03.206005500 +2742,LG 32' Black LCD Flat Panel HDTV With Built In DVD Player - 32LG40,2742,1478,98.39,Uncategorized,2004-05-01T22:34:09.206005500 +2743,iHome Silver Computer Speakers With iPod Dock - IH70S,2743,1888,68.62,Uncategorized,2010-11-24T01:22:31.206005500 +2744,Apple 8GB Silver 4th Generation iPod Nano - MB598LLA,2744,1685,193.87,Uncategorized,2018-09-27T16:13:27.206005500 +2745,Terk Mini Tuner Cartridge For XM Ready Home Products - CNP2000,2745,209,85.95,Uncategorized,2015-01-14T17:38:29.206005500 +2746,Sony Black Handycam Camcorder Soft Carrying Case - LCSX20,2746,647,306.86,Uncategorized,2006-06-25T04:27:11.206005500 +2747,Microsoft Office 2008 For Mac Home And Student Edition - GZA00006,2747,304,65.12,Uncategorized,2000-02-21T00:15:21.206005500 +2748,Case Logic Vertical Universal Leather BlackBerry Case - CLP104BB,2748,1540,26.66,Uncategorized,2016-11-12T14:26:21.206005500 +2749,Panasonic All-in-One Flatbed Laser Fax - KXFLB801,2749,556,105.16,Uncategorized,2016-01-13T05:55:44.206005500 +2750,Canon PowerShot Silver 14.7 Megapixel Digital Camera - SD990IS,2750,37,47.2,Uncategorized,2020-12-08T18:38:13.206005500 +2751,Samsung 2.1 Channel Bluetooth Home Theater System - HTX710T,2751,1219,121.24,Uncategorized,2010-06-09T19:01:08.206005500 +2752,Sony Compact Disc Player/Recorder - RCDW500C,2752,762,23.65,Uncategorized,2007-12-02T18:05:04.206005500 +2753,Onkyo THX Select2 Plus Certified 7.1 Channel Home Theater Black Receiver - TXSR706B,2753,1566,270.2,Uncategorized,2000-06-02T11:49:13.206005500 +2754,Cuisinart Stainless Steel 4-Quart Programmable Slow Cooker - PSC400,2754,1982,58.69,Uncategorized,2011-11-07T02:11:04.206005500 +2755,Twenty20 VholdR Wearable Camcorder Bundle - 1102,2755,1453,83.71,Uncategorized,2006-03-17T14:25:11.206005500 +2756,Lowepro SlingShot 200 AW Digital Camera Back Pack - SLINGSHOT200AW,2756,2237,182.82,Uncategorized,2019-05-05T11:46:49.206005500 +2757,Linksys Wireless-G VPN Broadband Silver Router - WRV54G,2757,320,59.78,Uncategorized,2011-10-21T14:48:26.206005500 +2758,Sennheisser Hi-Fi Wireless Headphone - RS120,2758,416,240.11,Uncategorized,2019-09-11T06:39:41.206005500 +2759,Netgear ProSafe 24-Port Smart Switch - GS724TP,2759,1382,170.84,Uncategorized,2000-03-11T09:00:46.206005500 +2760,Linksys EtherFast 4124 24-Port Ethernet Switch - EF4124,2760,1297,13.4,Uncategorized,2006-08-03T05:10:48.206005500 +2761,LG Titanium Bottom-Freezer Refrigerator - LRBP1031TT,2761,243,38.45,Uncategorized,2017-11-01T16:56:54.206005500 +2762,Sony VAIO CS Series Pink Notebook Computer - VGNCS180JP,2762,1155,188.93,Uncategorized,2005-11-14T10:59:30.206005500 +2763,Sony 40' BRAVIA Z Series Black LCD Flat Panel HDTV - KDL40Z4100B,2763,1615,52.41,Uncategorized,2001-12-18T12:28:49.206005500 +2764,Peerless 32' - 50' Articulating Flat Panel TV Black Wall Arm - SA750PU,2764,389,227.44,Uncategorized,2005-05-04T00:50:50.206005500 +2765,Logitech Harmony 1000 Silver Touch Screen Remote Control - H1000,2765,1195,193.11,Uncategorized,2021-03-09T08:29:08.206005500 +2766,Frigidaire Electric White Dryer - FEQ332WH,2766,1709,225.05,Uncategorized,2019-02-21T02:59:54.206005500 +2767,Sony White Earbud Style Headphones - MDREX55WH,2767,2314,19.15,Uncategorized,2003-07-09T22:38:48.206005500 +2768,D-Link Wireless N USB Adapter - DWA130,2768,1914,312.96,Uncategorized,2006-04-06T13:00:11.206005500 +2769,LG 42' Glossy Piano Black LCD Flat Panel HDTV - 42LG30,2769,704,241.38,Uncategorized,2007-01-21T21:58:00.206005500 +2770,Sony 10' Black LCD Digital Photo Frame - DPFD100,2770,1918,123.97,Uncategorized,2020-02-13T14:36:12.206005500 +2771,Panasonic Network Camera - White Finish - BLC1A,2771,235,115.07,Uncategorized,2001-07-21T22:28:31.206005500 +2772,Sirius FMDA25 Wired FM Modulation Relay - FMDA25,2772,2282,109.03,Uncategorized,2001-11-27T18:03:41.206005500 +2773,Transcend 2GB 133x Ultra Speed Compact Flash Card - TS2GCF133,2773,431,160.78,Uncategorized,2005-07-18T11:47:12.206005500 +2774,Alpine V-Power Series 4/3/2 Channel Power Amplifier - MRPF300,2774,1098,157.15,Uncategorized,2009-01-09T04:45:27.206005500 +2775,Garmin Streetpilot C Series Vehicle Suction Mount - Black Finish - 0101060900,2775,769,151.15,Uncategorized,2022-09-05T05:26:43.206005500 +2776,Sony Splash Resistant Shower Radio - ICFS79W,2776,1258,232.05,Uncategorized,2008-06-04T15:07:07.206005500 +2777,Garmin Nuvi 255W GPS Navigation System - 0100071820,2777,209,6.82,Uncategorized,2004-01-03T12:33:09.206005500 +2778,Danby Twin Tub Washer - DTT420WH,2778,2360,26.12,Uncategorized,2001-10-01T06:46:27.206005500 +2779,Yamaha Silver USB Powered Stereo Speaker - NXU10SIL,2779,1412,77.98,Uncategorized,2003-01-23T02:10:20.206005500 +2780,Panasonic Black High Defintion 60GB Hard Disk Drive/SD Hybrid Camcorder - HDCHS100K,2780,1959,298.52,Uncategorized,2014-08-25T09:26:30.206005500 +2781,Canon PowerShot Black 14.7 Megapixel Digital Camera - G10,2781,1312,218.17,Uncategorized,2021-01-02T18:21:12.206005500 +2782,Garmin Deluxe Carrying Case - Black Finish - 0101023101,2782,1412,288.1,Uncategorized,2018-11-08T13:54:30.206005500 +2783,Toshiba Black 15' LCD Flat Panel HDTV/DVD Combo - 15LV505,2783,1963,31.41,Uncategorized,2019-01-06T14:53:12.206005500 +2784,Samsung 32' Series 5 LCD Black Flat Panel HDTV - LN32A550,2784,301,279.31,Uncategorized,2015-11-04T06:45:49.206005500 +2785,Sanus Black Single-Column AV Component System - VF2012,2785,1322,166.32,Uncategorized,2022-10-08T03:49:31.206005500 +2786,Sony Stereo Audio Receiver - STRDE197,2786,2010,221.38,Uncategorized,2006-04-04T13:43:13.206005500 +2787,Olympus Evolt-420 10 Megapixel Digital SLR Camera With 14-42mm Lens In Black - EVOLTE420KIT,2787,2438,184.27,Uncategorized,2014-04-21T18:38:12.206005500 +2788,Griffin Black iPhone 3G Clarifi Protective Case With Built-In Close-Up Lens - 8245IP2MGNFI,2788,260,326.26,Uncategorized,2018-12-21T16:35:59.206005500 +2789,Olympus Digital Camera Neoprene Soft Case - Black With Grey Finish - 202066,2789,274,79.91,Uncategorized,2002-06-04T21:34:48.206005500 +2790,Sony NP-FH100 InfoLithium H Series Standard Rechargeable Battery Pack - NPFH100,2790,16,4.81,Uncategorized,2009-04-03T10:28:49.206005500 +2791,Nikon Graphite Black 14.5 Megapixel COOLPIX Digital Camera - COOLPIXS710BK,2791,530,45.78,Uncategorized,2006-10-21T15:53:13.206005500 +2792,Linksys Wireless-G PrintServer - WPSM54G,2792,72,146.31,Uncategorized,2011-12-18T14:24:13.206005500 +2793,Weber Performer 22-1/2' Charcoal Grill - 848001,2793,168,169.1,Uncategorized,2016-07-02T11:53:38.206005500 +2794,Jabra Bluetooth Headset - BT2070,2794,906,176.76,Uncategorized,2014-06-19T18:18:50.206005500 +2795,Panasonic VIERA 46' Black Plasma Flat Panel 1080p HDTV - TH46PZ850U,2795,299,290.85,Uncategorized,2015-10-07T06:44:02.206005500 +2796,Speck SeeThru Aqua Hard Shell Case For 13' MacBook - MB13AQUSEEV2,2796,2152,145.19,Uncategorized,2001-11-25T01:40:20.206005500 +2797,Sony MS-A1GD 1GB Memory Stick Micro (M2) - MSA1GD,2797,497,114.09,Uncategorized,2004-02-19T00:12:57.206005500 +2798,Sony Black 13.6 Megapixel Cyber-Shot Digital Camera - DSCW300,2798,458,22.06,Uncategorized,2002-09-05T04:46:59.206005500 +2799,LG WM3988HWA 4.2 Cu Ft White Full Size SteamWasher And Dryer Combo - WM3988WH,2799,2054,207.36,Uncategorized,2018-12-25T17:40:00.206005500 +2800,BlueAnt Supertooth Light Bluetooth Handsfree In Black - SUPERTOOTH,2800,279,173.12,Uncategorized,2006-11-02T12:14:29.206005500 +2801,Weber Cast Iron Griddle - 7542,2801,1863,279.73,Uncategorized,2013-11-12T10:12:35.206005500 +2802,iHome iPod & iPhone Bluetooth Alarm Clock Radio System - IP47,2802,691,303.81,Uncategorized,2010-12-26T00:22:30.206005500 +2803,Canon Magenta Photo Ink Cartridge - Magenta - CLI8PM,2803,643,69.43,Uncategorized,2011-12-05T08:43:26.206005500 +2804,Samsung 52' Series 7 Black Flat Panel LCD HDTV - LN52A750,2804,914,60.45,Uncategorized,2005-03-01T23:23:20.206005500 +2805,Panasonic All-in-One Flatbed Laser Fax - KXFLB801,2805,1677,283.72,Uncategorized,2019-12-05T10:45:24.206005500 +2806,Sony Silver Cyber-Shot Digital Camera - DSCW170,2806,77,192.44,Uncategorized,2001-01-25T00:05:37.206005500 +2807,Panasonic Black High Defintion 60GB Hard Disk Drive/SD Hybrid Camcorder - HDCHS100K,2807,2217,214.11,Uncategorized,2008-10-10T15:17:11.206005500 +2808,Kensington MicroSaver Keyed Notebook Lock - 64068F,2808,1036,69.62,Uncategorized,2004-09-18T20:15:50.206005500 +2809,TomTom ONE XL 330S Car GPS Navigation System - 1EG005201,2809,1426,212.47,Uncategorized,2003-11-14T18:21:01.206005500 +2810,Canon Digital EOS Rebel XS Starter Kit - 9320A010,2810,440,34.72,Uncategorized,2018-10-15T07:24:53.206005500 +2811,Sony Black LocationFree Base Station - LFV30,2811,1938,231.39,Uncategorized,2013-12-24T15:17:16.206005500 +2812,Samsung 19' Black Flat Panel Series 6 LCD HDTV - LN19A650,2812,90,208.43,Uncategorized,2008-04-16T17:29:03.206005500 +2813,Yamaha Black Digital Sound Projector - YSP3050BK,2813,918,112.19,Uncategorized,2003-01-06T23:20:01.206005500 +2814,Sony DVD-R Recordable Camcorder Media - 3DMR30L1H,2814,1544,142.52,Uncategorized,2011-04-23T08:02:50.206005500 +2815,Linksys Dual-Band Wireless-N Gaming Adapter - WGA600N,2815,2328,202.74,Uncategorized,2020-09-21T19:46:58.206005500 +2816,Sony 2GB Memory Stick Micro (M2) - MSA2GU2,2816,1282,135.35,Uncategorized,2019-02-25T00:50:58.206005500 +2817,Nikon VR 55-200MM Zoom-Nikkor Lens Accessory - 2166,2817,2138,100.13,Uncategorized,2004-04-25T00:55:40.206005500 +2818,Canon Charger And Rechargable AA Battery Kit - 1169B001,2818,510,35.51,Uncategorized,2014-04-24T01:44:59.206005500 +2819,Sony Super Audio CD Player - SCDCE595,2819,928,189.32,Uncategorized,2010-07-24T13:57:03.206005500 +2820,Denon Black AVR-1609 Home Theater Surround Sound Receiver - AVR1609,2820,251,240.57,Uncategorized,2003-05-22T22:48:22.206005500 +2821,Nikon 18-200mm Nikkor Zoom Lens - Black Finish - 2159,2821,518,0.34,Uncategorized,2020-05-23T22:17:13.206005500 +2822,Denon Fully Automatic Analog Turntable - DP300F,2822,1968,113.76,Uncategorized,2021-07-02T08:17:03.206005500 +2823,Canon Color Image Silver Scanner - 8800F,2823,53,232.86,Uncategorized,2001-07-27T08:00:48.206005500 +2824,Canon PowerShot A1000 IS Gray Digital Camera - A1000ISG,2824,487,62.65,Uncategorized,2004-08-02T08:32:33.206005500 +2825,Transcend 8GB Micro Secure Digital Memory Card - TS8GUSDHC6,2825,983,193.37,Uncategorized,2020-06-21T22:14:45.206005500 +2826,Whirlpool 24' Built-In Dishwasher - DU1055SS,2826,659,36.38,Uncategorized,2009-10-26T06:52:16.206005500 +2827,Samsung 42' Black Flat Panel Series 4 Plasma HDTV - PN42A450P,2827,532,19.17,Uncategorized,2015-12-03T16:19:23.206005500 +2828,Panasonic Genius Prestige Inverter Microwave Convection Oven NNC994SS In Stainless Steel - NNC994SS,2828,2251,195.11,Uncategorized,2018-04-20T03:50:58.206005500 +2829,Canon Black EOS 50D Digital SLR Camera With 28-135MM Lens - 50D28135,2829,1421,290.83,Uncategorized,2011-05-13T12:54:04.206005500 +2830,Yamaha High Performance Subwoofer - Black Finish - YSTFSW100BK,2830,392,42.22,Uncategorized,2004-02-14T18:48:15.206005500 +2831,Sony Super Audio CD Player - SCDCE595,2831,1975,139.82,Uncategorized,2009-09-20T09:22:10.206005500 +2832,Panasonic VIERA 50' Plasma Flat Panel 1080p HDTV In Black - TH50PZ85U,2832,2138,238.49,Uncategorized,2018-03-06T21:35:57.206005500 +2833,Belkin Leather Folio For 2G iPod Touch - F8Z373,2833,1893,273.1,Uncategorized,2014-07-10T01:05:56.206005500 +2834,Canon White Selphy CP760 Compact Photo Printer - 2565B001,2834,663,143.77,Uncategorized,2017-04-11T08:03:25.206005500 +2835,Panasonic VIERA 32' Class Widescreen LCD HDTV In Black - TC32LZ800,2835,1874,169.75,Uncategorized,2010-07-23T13:48:24.206005500 +2836,Coby Black 15' Widescreen Flat Panel LCD HDTV - TFTV1514,2836,493,262.79,Uncategorized,2022-05-05T23:43:53.206005500 +2837,Fellowes Personal Powershred Shredder - SB97CS,2837,1708,45.72,Uncategorized,2011-06-03T07:14:07.206005500 +2838,Samsung 19' Black Flat Panel Series 6 LCD HDTV - LN19A650,2838,1252,153.79,Uncategorized,2017-08-23T03:34:28.206005500 +2839,Sony Black Earbud Style Headphones - MDREX55BK,2839,2253,83.82,Uncategorized,2000-06-07T17:39:06.206005500 +2840,Skullcandy CHOPS Headphones In Black Chrome - HH26SKC01,2840,1941,301.88,Uncategorized,2008-02-01T05:40:13.206005500 +2841,Garmin StreetPilot C330 Dash Mount - Black Finish - 0101061300,2841,545,86.98,Uncategorized,2021-01-24T20:14:10.206005500 +2842,LG DLG0452W White XL Capacity Gas Dryer - DLG0452WH,2842,1986,63.3,Uncategorized,2007-07-13T07:00:53.206005500 +2843,Skullcandy CHOPS Headphones In Black Chrome - HH26SKC01,2843,2339,230.08,Uncategorized,2020-06-11T16:04:37.206005500 +2844,TomTom GPS Mount And USB Car Charger - 9N00101,2844,448,102.06,Uncategorized,2013-08-06T00:43:00.206005500 +2845,Sony NP-FH100 InfoLithium H Series Standard Rechargeable Battery Pack - NPFH100,2845,2159,124.87,Uncategorized,2021-01-12T04:38:03.206005500 +2846,Onkyo Black 7.1-Channel Home Theater System - HTS5100B,2846,66,125.73,Uncategorized,2021-03-20T11:13:24.206005500 +2847,Sony Active Style Headphones In Black - MDRAS50G,2847,2030,156.91,Uncategorized,2019-02-10T16:27:33.206005500 +2848,Sony DSLR-A350 Digital Camera And 18-70mm Zoom Lens - DSLRA350K,2848,1552,199.84,Uncategorized,2016-05-22T02:34:25.206005500 +2849,Canon Printer Black Ink Cartridge - CLI221BLK,2849,2402,154.59,Uncategorized,2018-11-26T03:09:27.206005500 +2850,Panasonic Expandable Digital Cordless DECT 6.0 Handset In Silver - KXTGA101S,2850,2387,166.12,Uncategorized,2011-06-12T22:00:40.206005500 +2851,Hoover EmPower Bagless Upright Vacuum - U5269,2851,981,31.42,Uncategorized,2013-12-04T05:26:13.206005500 +2852,Sony 32' BRAVIA XBR Series Black LCD Flat Panel HDTV - KDL32XBR6,2852,1624,325.19,Uncategorized,2018-03-01T11:29:08.206005500 +2853,Sony 8cm MiniDVD-R Camcorder Media 3 Pack - 3DMR30R1H,2853,170,79.37,Uncategorized,2009-01-18T18:35:01.206005500 +2854,Yamaha 5.1 Channel Home Theater In A Box System In Black - YHT390BK,2854,1696,91.52,Uncategorized,2011-06-19T01:56:53.206005500 +2855,Apple 1GB Silver iPod Shuffle - MB225LLA,2855,127,31.04,Uncategorized,2016-07-20T05:46:50.206005500 +2856,Haier 15' Black Flat Panel LCD HDTV DVD Combo - HLC15R,2856,2113,137.55,Uncategorized,2001-09-22T02:25:12.206005500 +2857,Garmin GPS Carrying Case - Black Finish - 0101070400,2857,972,319.67,Uncategorized,2003-09-20T00:57:37.206005500 +2858,Sirius Stiletto 2 Vehicle Kit - SLV2,2858,1055,138.43,Uncategorized,2014-11-11T13:16:20.206005500 +2859,Uniden DECT 6.0 Digital Accessory Handset - DCX300,2859,120,135.04,Uncategorized,2018-01-02T19:11:09.206005500 +2860,Sony Memory Stick Duo Replacement Adaptor - Silver/Blue Finish - MSACM2,2860,1772,256.96,Uncategorized,2001-08-25T07:18:05.206005500 +2861,Netgear Prosafe 16 Port 10/100 Rackmount Switch - Black Finish - JFS516NA,2861,2349,1.17,Uncategorized,2008-04-11T21:34:24.206005500 +2862,Denon Black AVR-1609 Home Theater Surround Sound Receiver - AVR1609,2862,115,212.02,Uncategorized,2005-01-15T04:01:42.206005500 +2863,Sirius FMDA25 Wired FM Modulation Relay - FMDA25,2863,369,285.4,Uncategorized,2010-11-07T14:25:13.206005500 +2864,GE 24' GSD2400NWW White Built-In Dishwasher - GSD2400WH,2864,1711,77.81,Uncategorized,2006-08-24T01:27:17.206005500 +2865,Netgear ProSafe 24-Port Smart Switch - GS724TP,2865,1632,309.54,Uncategorized,2009-03-07T02:25:54.206005500 +2866,Sony VAIO CS Series Red Notebook Computer - VGNCS110ER,2866,601,129.69,Uncategorized,2008-07-15T21:16:35.206005500 +2867,Canon Color Image Silver Scanner - 8800F,2867,1179,67.01,Uncategorized,2018-03-19T19:55:12.206005500 +2868,Transcend 16GB SDHC Card And Compact Card Reader - TS16GSDHC6S5W,2868,1963,158.03,Uncategorized,2006-09-19T02:32:45.206005500 +2869,Pioneer KURO 60' Black Plasma HDTV - PDP6020FD,2869,1088,119.82,Uncategorized,2001-02-07T11:32:26.206005500 +2870,Panasonic Black High Defintion 60GB Hard Disk Drive/SD Hybrid Camcorder - HDCHS100K,2870,2098,123.83,Uncategorized,2017-08-04T11:24:00.206005500 +2871,Sennheisser Hi-Fi Wireless Headphone - RS130,2871,2440,170.26,Uncategorized,2018-08-12T01:35:49.206005500 +2872,LG 5.6 Cu. Ft. Black Freestanding Electric Range - LRE30453BK,2872,1927,100.73,Uncategorized,2006-06-16T03:19:43.206005500 +2873,Escort Passport Radar And Laser Detector - Black Finish - 8500,2873,217,7.73,Uncategorized,2007-06-19T01:25:54.206005500 +2874,Maytag MED5900TW White Electric Dryer - MED5900TWH,2874,920,139.46,Uncategorized,2008-05-10T15:53:14.206005500 +2875,Logitech Digital Precision PC Gaming Headset - 981000040,2875,809,198.59,Uncategorized,2021-04-24T13:30:46.206005500 +2876,Samsung S2 White 1GB Flash MP3 Player - YPS2ZW,2876,150,48.62,Uncategorized,2013-11-06T20:27:30.206005500 +2877,LG WDP3N 14' Tall Navy Blue Pedestal With Drawer - WDP3BL,2877,975,112.64,Uncategorized,2006-09-12T02:15:03.206005500 +2878,Lowepro Digital Camera Case In Black - EDIT100BK,2878,1785,230.78,Uncategorized,2022-04-24T15:50:09.206005500 +2879,Sony Vertical-In-The-Ear Stereo Headphones - MDRJ10,2879,2402,326.95,Uncategorized,2021-03-27T15:58:06.206005500 +2880,Audiovox XpressEZ XM Satellite Radio Receiver - XMCK5P,2880,366,312.88,Uncategorized,2022-08-23T10:57:02.206005500 +2881,Sony Clip-On Black Headphones - MDRQ68LW,2881,1737,95.21,Uncategorized,2016-03-10T11:14:12.206005500 +2882,Sony Digital SLR Camera With Lens Kit - DSLRA200W,2882,1612,264.49,Uncategorized,2009-12-10T21:25:53.206005500 +2883,Olympus Lithium Ion Rechargeable Battery - LI42B,2883,1080,62.97,Uncategorized,2001-10-19T12:25:05.206005500 +2884,Canon Printer Gray Ink Cartridge - CLI221GRY,2884,513,47.72,Uncategorized,2018-06-16T23:24:04.206005500 +2885,Garmin Nuvi 360 010-10815-00 Black Replacement Vehicle Suction Cup Mount - 0101081500,2885,1507,94.07,Uncategorized,2006-03-14T08:43:44.206005500 +2886,Coby Black 15' Widescreen Flat Panel LCD HDTV - TFTV1514,2886,959,251.13,Uncategorized,2005-12-18T04:40:56.206005500 +2887,DLO Black HybridShell For iPhone 3G - DLA4010717,2887,1472,306,Uncategorized,2002-06-18T04:47:31.206005500 +2888,Toshiba Black DVD/VCR Combinaton Player - SDV296,2888,124,305.82,Uncategorized,2004-09-09T14:03:43.206005500 +2889,Sony MDR-NC22/BLK Black Noise Canceling Headphones - MDRNC22,2889,1887,111.28,Uncategorized,2005-10-25T02:06:40.206005500 +2890,Sony Black DVDirect MC5 Multi-Function DVD Recorder - VRDMC5,2890,1264,167.46,Uncategorized,2012-04-18T23:17:05.206005500 +2891,Kenwood KCA-IP300V iPod Video Direct Cable - KCAIP300V,2891,1837,317.57,Uncategorized,2022-05-08T13:22:59.206005500 +2892,Skullcandy CHOPS Headphones In Black Chrome - HH26SKC01,2892,478,261.7,Uncategorized,2016-08-26T13:52:16.206005500 +2893,Audiovox Commander MT XM Satellite Radio Receiver - XMRVRFM002,2893,1780,7.74,Uncategorized,2007-04-11T18:53:13.206005500 +2894,Sanus 32' - 84' Flat Panel TV Black Tilting Wall Mount - VMPL3B,2894,2336,263.37,Uncategorized,2017-05-08T03:41:47.206005500 +2895,Sony Gold Cyber-Shot Digital Camera - DSCW150N,2895,1072,58.26,Uncategorized,2022-05-14T08:17:14.206005500 +2896,Panasonic 5.8 GHz Black Expandable Digital Cordless Phone System - KXTG4324B,2896,2478,130.18,Uncategorized,2000-12-11T23:07:15.206005500 +2897,Apple MacBook Pro 2.4GHz Intel Core 2 Duo Silver Notebook Computer - MB470LLA,2897,1722,159.72,Uncategorized,2009-08-18T12:53:19.206005500 +2898,Linksys Wireless N Access Point - WAP4400N,2898,833,61.33,Uncategorized,2015-09-09T15:46:41.206005500 +2899,Canon PowerShot A1000 IS Gray Digital Camera - A1000ISG,2899,1310,159.68,Uncategorized,2019-05-13T04:32:59.206005500 +2900,LG Washer Dryer White Stacking Kit - WSTK1,2900,1912,222.42,Uncategorized,2012-10-14T10:13:31.206005500 +2901,Panasonic DECT 6.0 Black Metallic Expandable Digital Cordless Phone System - KXTG9332T,2901,2464,42.41,Uncategorized,2021-05-19T14:55:43.206005500 +2902,Transcend 4GB Micro Secure Digital Memory Card - TS4GUSDHC6,2902,2232,318.32,Uncategorized,2001-11-02T10:48:40.206005500 +2903,Speck SeeThru Pink Hard Shell Case For 15' MacBook - MB15PNKSEEV2,2903,422,156.4,Uncategorized,2009-01-04T09:23:55.206005500 +2904,Panasonic Black DVD Home Theater Sound System - SCPT760,2904,81,163.86,Uncategorized,2001-08-14T05:23:41.206005500 +2905,Canon Color Image Silver Scanner - 8800F,2905,1832,34.61,Uncategorized,2010-02-25T18:33:23.206005500 +2906,Transcend 16GB SDHC Card And Compact Card Reader - TS16GSDHC6S5W,2906,1386,260.09,Uncategorized,2020-04-03T22:41:09.206005500 +2907,LG Titanium Bottom-Freezer Refrigerator - LRBP1031TT,2907,1931,25.97,Uncategorized,2002-09-07T07:09:11.206005500 +2908,Klipsch Black Wireless iPod Speaker - ROOMGROOVE,2908,1605,168.51,Uncategorized,2018-01-14T06:06:00.206005500 +2909,LG 24' LDS4821WW Semi Integrated Built In White Dishwasher - LDS4821WH,2909,926,105.96,Uncategorized,2020-01-19T09:30:11.206005500 +2910,Sony 60GB Handycam Hard Disk Drive Camcorder - DCRSR85,2910,882,256.13,Uncategorized,2022-10-13T11:27:41.206005500 +2911,Canon PowerShot Silver 14.7 Megapixel Digital Camera - SD990IS,2911,2284,91.2,Uncategorized,2018-04-09T23:53:53.206005500 +2912,Canon PowerShot Silver Digital Camera - SX110IS,2912,1501,201.89,Uncategorized,2017-08-04T09:48:59.206005500 +2913,Panasonic 5.8 GHz Black Expandable Digital Cordless Phone System - KXTG4323B,2913,1272,25.44,Uncategorized,2002-04-03T01:31:54.206005500 +2914,Toshiba Rechargeable 5-Hour Battery Pack - MEDB05LX,2914,2103,278.87,Uncategorized,2007-08-03T13:57:38.206005500 +2915,Panasonic Black Blu-ray Disc Theater Sound System - SCBT100,2915,1637,73.18,Uncategorized,2014-01-21T00:29:16.206005500 +2916,LG LFX25971SB 24.7 Cu. Ft. Smooth Black French Door Bottom Freezer Refrigerator - LFX25971BK,2916,33,237.67,Uncategorized,2000-10-08T12:26:54.206005500 +2917,Mitsubishi 736 Series 65' 1080p DLP Rear Projection Black HDTV - WD65736,2917,585,323.22,Uncategorized,2019-12-14T09:38:54.206005500 +2918,Linksys Compact Wireless-G USB Adapter - WUSB54GC,2918,2497,55.72,Uncategorized,2014-06-20T01:21:08.206005500 +2919,Sony Memory Stick PRO DUO Adapter For CompactFlash Slot - ADMSCF1,2919,889,213.34,Uncategorized,2010-07-05T14:15:44.206005500 +2920,Panasonic Black 8.5' Portable DVD Player - DVDLS86,2920,1987,61.91,Uncategorized,2018-11-01T02:35:13.206005500 +2921,Onkyo 7.1-Channel Home Theater Black Receiver - TXSR606B,2921,19,124.75,Uncategorized,2007-03-14T20:19:28.206005500 +2922,Sony PlayStation 2 DUALSHOCK 2 Analog Controller - Emerald Finish - 711719706205,2922,942,104.99,Uncategorized,2016-07-26T20:53:52.206005500 +2923,Samsung Black Combo DVD/VHS Player - DVDV9800,2923,2078,10.38,Uncategorized,2013-05-13T07:22:10.206005500 +2924,Yamaha Black Digital Sound Projector - YSP4000BK,2924,116,191.48,Uncategorized,2000-03-03T05:26:27.206005500 +2925,Canon Printer Gray Ink Cartridge - CLI221GRY,2925,565,264.22,Uncategorized,2017-11-25T12:26:31.206005500 +2926,Samsung S3 Black Multimedia Player - YPS3JAB,2926,475,61.31,Uncategorized,2018-12-06T06:57:12.206005500 +2927,Altec Lansing inMotion MAX iPod/iPhone Portable Audio System - IMT702,2927,697,111.6,Uncategorized,2009-08-11T15:18:40.206005500 +2928,Samsung Stereo Bluetooth Headset In Black - SBH500,2928,1555,66.73,Uncategorized,2011-09-26T17:59:03.206005500 +2929,Apple 16GB Black 2nd Generation iPod Touch - MB531LLA,2929,1276,259.86,Uncategorized,2016-03-07T16:45:14.206005500 +2930,Pioneer Premier In-Dash CD/WMA/MP3/AAC Receiver - DEHP500UB,2930,213,35.42,Uncategorized,2012-06-09T07:55:55.206005500 +2931,Samsung 2.1 Channel Bluetooth Home Theater System - HTX710T,2931,607,283.04,Uncategorized,2005-04-06T15:30:32.206005500 +2932,Sony Red Cyber-Shot Digital Camera - DSCW150R,2932,1144,0.36,Uncategorized,2011-04-03T22:59:12.206005500 +2933,Sony SLV-D380P Black DVD VHS Combo Player - SLVD380P,2933,1641,179.34,Uncategorized,2011-09-15T15:58:00.206005500 +2934,LaCie Little Disk 250GB Black Portable Hard Drive - 301278,2934,1445,103.1,Uncategorized,2021-02-22T08:16:10.206005500 +2935,Yamaha High Performance Subwoofer - Black Finish - YSTFSW100BK,2935,1351,308.88,Uncategorized,2011-04-06T00:53:53.206005500 +2936,Mitsubishi 835 Diamond Series 65' 1080p DLP Rear Projection HDTV - WD65835,2936,555,93.27,Uncategorized,2018-12-26T21:57:54.206005500 +2937,Speck SeeThru Blue Hard Shell Case For 13' MacBook - MB13BLUSEEV2,2937,1316,237.81,Uncategorized,2019-01-19T22:26:08.206005500 +2938,Speck Clear 13' MacBook See Thru Hard Shell Case - MB13CLRSEEV2,2938,1589,63.67,Uncategorized,2002-08-11T04:55:58.206005500 +2939,Samsung 5 Disc Home Theater Surround Sound System - HTTZ515,2939,2485,21.1,Uncategorized,2018-06-24T12:31:41.206005500 +2940,Hoover Bagged Tempo Widepath Upright Vacuum - U5140,2940,1169,305.65,Uncategorized,2002-11-03T21:16:38.206005500 +2941,Mitsubishi DLP Black TV Stand - MBS73V,2941,424,309.39,Uncategorized,2018-05-24T16:15:53.206005500 +2942,Samsung L200 Black 10.2 Megapixel Digital Camera - ECL200ZBBA,2942,1712,133.4,Uncategorized,2014-03-16T15:23:36.206005500 +2943,Sony VAIO LV Series Silver All-In-One Desktop Computer - VGCLV140J,2943,1594,67.01,Uncategorized,2004-03-24T15:53:01.206005500 +2944,Panasonic VIERA 50' Plasma Flat Panel Black HDTV - TH50PZ800U,2944,142,137.04,Uncategorized,2021-04-05T23:06:46.206005500 +2945,Sony Memory Stick USB Adaptor - MSACUS40,2945,335,58.95,Uncategorized,2003-02-10T05:27:59.206005500 +2946,LG Stainless Steel Freestanding Electric Range - LRE30757SS,2946,1840,126.77,Uncategorized,2006-07-14T14:26:03.206005500 +2947,Oregon Scientific AT18 Wearable Waterproof Action Camcorder - ATC2000,2947,529,271.07,Uncategorized,2002-10-08T11:48:18.206005500 +2948,Panasonic DECT 6.0 Black Expandable Digital Cordless Phone System - KXTG9372B,2948,1979,137.38,Uncategorized,2003-08-07T00:38:27.206005500 +2949,Panasonic VIERA 50' Plasma Flat Panel HDTV In Black - TH50PX80U,2949,2419,236.67,Uncategorized,2015-10-13T13:18:07.206005500 +2950,Canon High Capacity Color Ink Cartridge - Color Ink - CL51,2950,387,84.56,Uncategorized,2018-12-23T16:11:09.206005500 +2951,Denon Blu-ray Disc DVD/CD Player - DVD3800BDCI,2951,2417,147.71,Uncategorized,2005-06-22T19:18:41.206005500 +2952,DLO Black HybridShell For iPhone 3G - DLA4010717,2952,770,98.41,Uncategorized,2008-07-21T23:25:27.206005500 +2953,Toshiba 10.2' Portable DVD Player In Black - SDP101S,2953,129,271.52,Uncategorized,2001-02-02T21:10:48.206005500 +2954,LG WM3431W All-In-One White Washer And Dryer Combo - WM3431WH,2954,1305,229.5,Uncategorized,2006-06-02T13:47:09.206005500 +2955,Nikon CoolPix S550 10 Megapixel Compact Plum Digital Camera - COOLPIXS550P,2955,240,59.94,Uncategorized,2007-09-08T18:09:38.206005500 +2956,Sony Progressive Scan Black DVD Player - DVPNS57PB,2956,1116,79.67,Uncategorized,2000-05-25T15:01:06.206005500 +2957,iRobot Robotic Floor Washer - 74249,2957,1909,243.03,Uncategorized,2014-06-03T18:29:46.206005500 +2958,Toshiba Rechargeable 5-Hour Battery Pack - MEDB05LX,2958,2055,259.37,Uncategorized,2013-12-02T06:59:39.206005500 +2959,LG WM2016CW 3.6 Cu Ft White Front Load Washer - WM2016CWH,2959,2203,43.9,Uncategorized,2006-04-12T04:36:36.206005500 +2960,Griffin Elevator Brushed Aluminum Laptop Stand - 1093CURV2,2960,1390,101.3,Uncategorized,2016-11-12T13:19:51.206005500 +2961,Panasonic Black DVD Home Theater Sound System - SCPT960,2961,910,73.4,Uncategorized,2009-07-04T13:23:31.206005500 +2962,LG 2.0 Cu. Ft. Over-The-Range Black Microwave Oven - LMVM2085BK,2962,578,117.95,Uncategorized,2022-05-16T12:57:36.206005500 +2963,Sanus 13' - 30' VisionMount Flat Panel TV Silver Wall Mount - VMFS,2963,143,36.85,Uncategorized,2020-01-21T19:58:16.206005500 +2964,Polk Audio CSI A4 Black Center Channel Loudspeaker - CSIA4BK,2964,483,70.49,Uncategorized,2013-11-19T21:38:35.206005500 +2965,Canon PIXMA MX850 Multifunction Printer - MX850C,2965,1775,87.49,Uncategorized,2006-12-03T07:04:59.206005500 +2966,Panasonic Silver Dect 6.0 Cordless Telephone - KXTG1033S,2966,1402,287.86,Uncategorized,2017-01-21T03:05:28.206005500 +2967,Canon EF 75-300mm F/4-5.6 III Telephoto Zoom Lens - 6473A003,2967,1728,167.3,Uncategorized,2014-06-25T22:46:10.206005500 +2968,LG 52' Black LCD Flat Panel HDTV - 52LG70,2968,333,33.67,Uncategorized,2022-11-01T17:12:34.206005500 +2969,Canon Black Ink Cartridge - PG50,2969,2263,42.35,Uncategorized,2017-07-19T06:21:20.206005500 +2970,Canon PowerShot A1000 IS Gray Digital Camera - A1000ISG,2970,489,140.98,Uncategorized,2004-01-01T02:15:33.206005500 +2971,Logitech 2.1 Multimedia Silver Speaker System - Z2300,2971,644,257.35,Uncategorized,2015-03-20T14:33:36.206005500 +2972,Sony White Earbud Style Headphones - MDREX55WH,2972,1378,27.48,Uncategorized,2008-08-07T11:19:13.206005500 +2973,Delonghi Twenty Four Seven Coffee Maker In Black - DC50B,2973,233,118.54,Uncategorized,2018-02-20T08:18:47.206005500 +2974,LG 52' Black LCD Flat Panel HDTV - 52LG70,2974,505,254.99,Uncategorized,2019-05-27T11:14:26.206005500 +2975,TiVo Series2 Dual Tuner Digital Video Recorder - TCD649080,2975,798,144.71,Uncategorized,2013-09-22T01:58:02.206005500 +2976,Yamaha Mounting Installation Bracket - SPMK30,2976,1001,275.85,Uncategorized,2008-01-25T20:33:18.206005500 +2977,Sony Silver Cyber-Shot 7.2 Megapixel Digital Camera - DSCW120,2977,294,319.67,Uncategorized,2000-09-02T22:14:22.206005500 +2978,Logitech Cordless Desktop MX 5500 Revolution Keyboard And Mouse Combination - 920000383,2978,2328,22.67,Uncategorized,2011-01-14T01:10:48.206005500 +2979,Toshiba Black 9-Inch LCD Widescreen Portable DVD Player - SDP91S,2979,1487,302.49,Uncategorized,2012-05-27T20:28:46.206005500 +2980,Canon Printer Ink Cartridge 4 Colors Pack - 2946B004,2980,2097,23.39,Uncategorized,2021-11-26T05:01:45.206005500 +2981,Belkin Pro Series 16 Ft. USB 2.0 Cable - F3U13316,2981,1075,133.69,Uncategorized,2021-11-10T03:26:07.206005500 +2982,LG Titanium Bottom-Freezer Refrigerator - LRBP1031TT,2982,1381,67.02,Uncategorized,2014-02-01T10:13:35.206005500 +2983,Panasonic Black Expandable Digital Cordless Dect 6.0 Phone System - KXTG8232B,2983,1980,104.37,Uncategorized,2017-01-10T20:39:05.206005500 +2984,Canon Silver 10 Megapixel PowerShot Digital Camera - SD790IS,2984,141,12.19,Uncategorized,2006-10-11T05:24:24.206005500 +2985,Sony 60GB Handycam Hard Disk Drive Camcorder - DCRSR85,2985,981,145.6,Uncategorized,2009-09-01T14:02:07.206005500 +2986,Linksys Dual-Band Wireless-N Gaming Adapter - WGA600N,2986,1556,133.4,Uncategorized,2021-10-23T02:59:56.206005500 +2987,Cuisinart Stainless Steel 4-Quart Programmable Slow Cooker - PSC400,2987,1842,94.17,Uncategorized,2002-12-10T04:36:45.206005500 +2988,Panasonic Stainless Steel Countertop Microwave Oven - NNSD377SS,2988,1425,10.83,Uncategorized,2013-07-27T10:47:22.206005500 +2989,Tech Craft Avalon Series TV Stand - SWP48,2989,2172,245.98,Uncategorized,2022-01-17T13:14:10.206005500 +2990,Weber Q 320 Liquid Propane Table And Outdoor Grill - 586002,2990,45,5.78,Uncategorized,2015-10-22T17:09:37.206005500 +2991,Canon Deluxe Grey Leather Case - 2349B001,2991,1327,37.32,Uncategorized,2018-12-18T05:10:37.206005500 +2992,Sennheiser RF Wireless Headphones - RS140,2992,1995,7.41,Uncategorized,2004-08-15T05:53:37.206005500 +2993,Nokia T-Mobile Unlocked Cellular Phone - N96,2993,1940,57.07,Uncategorized,2018-03-18T20:49:34.206005500 +2994,Sony MiniDV Cleaning Cassette - DVM12CLD,2994,331,16.53,Uncategorized,2022-08-25T14:19:30.206005500 +2995,Sony Bud Style Headphones In Silver - MDRED12LPSLV,2995,685,96.06,Uncategorized,2000-03-27T02:20:14.206005500 +2996,Garmin 010-10823-01 Carrying Case - 0101082301,2996,1398,79.6,Uncategorized,2004-08-18T00:37:48.206005500 +2997,LG Titanium Bottom-Freezer Refrigerator - LRBP1031TT,2997,1410,153.16,Uncategorized,2000-08-20T14:12:02.206005500 +2998,Olympus Stylus 1050 SW Black Digital Camera - STYLUS1050SWB,2998,1174,176.99,Uncategorized,2020-12-10T05:00:55.206005500 +2999,Kensington Mini Battery Pack And Charger For iPhone And iPod - K33442US,2999,828,182.63,Uncategorized,2017-03-21T18:42:23.206005500 +3000,Pioneer HD Radio Tuner - GEXP10HD,3000,1731,17.16,Uncategorized,2016-11-15T02:38:05.206005500 +3001,Sony Black DVDirect MC5 Multi-Function DVD Recorder - VRDMC5,3001,571,194.23,Uncategorized,2010-09-13T02:32:37.206005500 +3002,Panasonic Genius Countertop Microwave In Black - NNH965BK,3002,569,69.08,Uncategorized,2002-06-05T14:25:02.206005500 +3003,Pioneer HD Radio Tuner - GEXP10HD,3003,2311,244.86,Uncategorized,2006-07-16T11:26:51.206005500 +3004,BlueAnt Bluetooth Voice Control Headset - V1,3004,2021,263.35,Uncategorized,2020-04-10T14:54:28.206005500 +3005,Peerless Wall TV Mounts In Black - PM1327BK,3005,1504,86.13,Uncategorized,2004-02-21T16:59:31.206005500 +3006,Sony Cyber-Shot Black Digital Camera - DSCT500B,3006,894,163.36,Uncategorized,2000-05-10T00:48:54.206005500 +3007,Haier 13' Silver Tube TV - HTR13,3007,1439,142.92,Uncategorized,2005-05-18T20:36:13.206005500 +3008,Panasonic 2-Line Integrated Telephone - KXTSC14W,3008,1890,7.83,Uncategorized,2020-06-24T16:38:24.206005500 +3009,GE GSD4000NWW White Built-In Dishwasher - GSD4000WH,3009,985,286.39,Uncategorized,2015-05-27T21:40:55.206005500 +3010,LEGO Star Wars II: The Original Trilogy Video Game For The Sony PSP - 023272329396,3010,827,150.34,Uncategorized,2017-06-20T21:11:48.206005500 +3011,Sony Memory Stick USB Adaptor - MSACUS40,3011,1511,233.13,Uncategorized,2014-01-22T03:10:37.206005500 +3012,Sennheiser Rechargeable Nickel-Metal Hydride Battery - BA151,3012,882,223.47,Uncategorized,2015-11-18T09:38:07.206005500 +3013,Canon Rechargeable Battery - 9763A001,3013,1271,159.97,Uncategorized,2016-01-21T12:27:42.206005500 +3014,Canon Printer Gray Ink Cartridge - CLI221GRY,3014,1870,193.24,Uncategorized,2008-12-16T22:54:13.206005500 +3015,Panasonic 2-Line Integrated Telephone - KXTSC14W,3015,243,6.93,Uncategorized,2011-01-01T07:07:33.206005500 +3016,Griffin 4046-TRPAUTOC iTrip AutoPilot - 4046TRPAUTOC,3016,1332,270.52,Uncategorized,2019-07-17T03:13:40.206005500 +3017,Canon Easy Photo Pack - 1335B001,3017,2039,6.59,Uncategorized,2015-07-05T14:04:27.206005500 +3018,Sony PSP 2000 Playstation Portable Gaming System Core 98510 In Piano Black - 711719851004,3018,227,33.72,Uncategorized,2011-02-12T09:25:28.206005500 +3019,Kenwood Sirius Radio Translator For In-Dash Head Units - KCASR50,3019,2100,160.83,Uncategorized,2019-03-24T07:22:30.206005500 +3020,Seiko Quartz Le Grand Sport Womens Watch - SXDA04,3020,2403,120.72,Uncategorized,2019-04-06T08:40:34.206005500 +3021,Sirius STILETTO 2 Portable Satellite Radio - SL2PK1,3021,66,93.66,Uncategorized,2022-09-25T05:26:07.206005500 +3022,Transcend 2GB Micro SD Memory Card - TS2GUSD,3022,1249,220.3,Uncategorized,2004-10-07T09:57:30.206005500 +3023,Panasonic DECT 6.0 Expandable Digital Cordless Phone With All-Digital Answering System - KXTG9341T,3023,2115,202.34,Uncategorized,2004-12-24T12:49:56.206005500 +3024,Universal IR/RF Aeros Remote Control- MX850 - MX850,3024,1215,101.29,Uncategorized,2015-02-23T23:00:16.206005500 +3025,Sony Lithium-Ion Rechargeable Battery Pack - NPFD1,3025,222,22.47,Uncategorized,2004-01-04T12:02:03.206005500 +3026,Nikon EN-EL9 Black Rechargeable Li-ion Battery - ENEL9,3026,1394,63.39,Uncategorized,2021-09-16T22:16:43.206005500 +3027,iHome Silver Computer Speakers With iPod Dock - IH70S,3027,1358,244.77,Uncategorized,2000-07-12T19:24:35.206005500 +3028,Speck SeeThru Blue Hard Shell Case For 13' MacBook - MB13BLUSEEV2,3028,107,53.39,Uncategorized,2021-06-11T15:37:07.206005500 +3029,Belkin Cush Top For Computer Laptop - F8N044SLV,3029,906,281.42,Uncategorized,2008-11-16T11:19:39.206005500 +3030,BlueAnt Bluetooth Voice Control Headset - V1,3030,1974,191.06,Uncategorized,2008-11-06T06:03:19.206005500 +3031,LG WM3431W All-In-One White Washer And Dryer Combo - WM3431WH,3031,1775,78.77,Uncategorized,2021-06-08T06:52:32.206005500 +3032,Sony Black Earbud Style Headphones - MDREX55BK,3032,701,290.84,Uncategorized,2013-07-01T08:08:08.206005500 +3033,Toshiba Black DVD Recorder With Built-In Digital Tuner - DR560,3033,608,138.98,Uncategorized,2006-05-18T09:10:22.206005500 +3034,Panasonic 2GB SD Memory Card - SDV02GU1A,3034,338,49.64,Uncategorized,2018-04-05T19:25:32.206005500 +3035,Canon Silver 10 Megapixel PowerShot Digital Camera - SD890IS,3035,50,241.33,Uncategorized,2012-06-25T21:56:11.206005500 +3036,Kenwood KCA-IP300V iPod Video Direct Cable - KCAIP300V,3036,1296,27.76,Uncategorized,2013-08-10T15:39:55.206005500 +3037,Samsung S2 Green 1GB Flash MP3 Player - YPS2ZG,3037,778,283.59,Uncategorized,2006-11-21T09:59:40.206005500 +3038,Panasonic Plain Paper Fax/Copier With Cordless Phone Answering System - Grey Finish - KXFG2451,3038,1425,189.49,Uncategorized,2022-03-07T21:29:29.206005500 +3039,Sony Black VAIO Z Series 13.1' Notebook Computer - VGNZ570NB,3039,2301,136.29,Uncategorized,2011-04-01T00:19:06.206005500 +3040,VMware Fusion 2 For Mac - VMFM20BX2,3040,1222,248.28,Uncategorized,2017-07-25T18:03:07.206005500 +3041,TomTom GPS Mount And USB Car Charger - 9S00006,3041,1516,103.52,Uncategorized,2003-11-01T09:42:47.206005500 +3042,Samsung 19' Black Flat Panel Series 4 LCD HDTV - LN19A450,3042,1424,7.45,Uncategorized,2015-06-20T10:36:16.206005500 +3043,Panasonic LM-AF30U3 Three Pack Of Single-Sided 30 Minute DVD-RAM Discs - LMAF30U3,3043,1226,220.81,Uncategorized,2018-07-27T00:41:18.206005500 +3044,Garmin Deluxe Carrying Case - Black Finish - 0101023101,3044,10,133.53,Uncategorized,2011-09-12T04:39:34.206005500 +3045,Sony 46' BRAVIA S-Series Black LCD Flat Panel HDTV - KDL46S4100,3045,80,307.58,Uncategorized,2019-02-06T15:39:24.206005500 +3046,Cuisinart Stainless Steel Convection Toaster Oven - TOB195,3046,655,131.16,Uncategorized,2018-01-04T05:27:36.206005500 +3047,LG DLG2526W White Super Capacity Gas Dryer - DLG2526WH,3047,1717,35,Uncategorized,2014-09-24T13:14:56.206005500 +3048,Griffin Black iPhone 3G Wave Case - 8227IP2WVB,3048,1443,245.01,Uncategorized,2007-03-19T03:59:27.206005500 +3049,Apple 32GB Black 2nd Generation iPod Touch - MB533LLA,3049,343,124.33,Uncategorized,2005-08-17T06:15:11.206005500 +3050,Maytag Over-The-Range Microwave Oven - MMV5207BK,3050,803,116.78,Uncategorized,2015-08-18T04:25:03.206005500 +3051,Panasonic Countertop Microwave Oven In Black - NNSN667BK,3051,1195,72.16,Uncategorized,2000-10-10T10:01:23.206005500 +3052,Nikon CoolPix S550 Blue 10.0 Megapixels Compact Digital Camera - COOLPIXS550CB,3052,2126,268.62,Uncategorized,2001-08-23T23:04:35.206005500 +3053,Jabra Black Bluetooth Headset - BT5010,3053,1386,108.37,Uncategorized,2002-08-09T09:08:53.206005500 +3054,Canon PG-40 Black Ink Cartridge Twin Pack - PG40TBK,3054,413,317.42,Uncategorized,2016-12-18T21:49:18.206005500 +3055,Sony 2GB Memory Stick PRO Duo Mark 2 Media Card - MSMT2G,3055,1662,250.09,Uncategorized,2019-02-01T23:05:16.206005500 +3056,Sony VAIO AW Series Titanium Grey Notebook Computer - VGNAW110JH,3056,528,258.88,Uncategorized,2000-08-27T11:34:21.206005500 +3057,Sony Turntable - PSLX350H,3057,79,119.11,Uncategorized,2001-08-14T14:30:34.206005500 +3058,Denon 7.1 Channel AV Receiver With Network Client Compatible D-Dock Port In Black - AVR2809CI,3058,1179,232.37,Uncategorized,2003-09-25T11:30:40.206005500 +3059,BlueAnt Supertooth Light Bluetooth Handsfree In Black - SUPERTOOTH,3059,2321,31.54,Uncategorized,2015-09-20T14:14:54.206005500 +3060,Sony Black Cyber-Shot Digital Camera - DSCW150B,3060,1780,68.72,Uncategorized,2010-05-10T18:13:01.206005500 +3061,TomTom GPS Mount And USB Car Charger - 9N00101,3061,1546,223.69,Uncategorized,2020-04-13T06:07:16.206005500 +3062,Sony Black HD Radio With Dock For iPod And iPhone - XDRS10HDIP,3062,2422,228.37,Uncategorized,2005-09-06T12:12:31.206005500 +3063,Sony Black 9 Megapixel Cyber-Shot Digital Camera - DSCH50B,3063,2434,163.34,Uncategorized,2013-03-17T01:30:56.206005500 +3064,Panasonic VIERA 50' Plasma Flat Panel 1080p HDTV In Black - TH50PZ85U,3064,2455,6.16,Uncategorized,2016-12-27T11:36:58.206005500 +3065,Sony 42' BRAVIA V Series Black LCD Flat Panel HDTV - KDL42V4100,3065,480,315.4,Uncategorized,2001-08-06T11:12:15.206005500 +3066,Whirlpool 24' Built-In Dishwasher - DU1055BK,3066,1827,253.62,Uncategorized,2013-03-02T22:47:53.206005500 +3067,Samsung 46' Series 6 LCD Black Flat Panel HDTV - LN46A650,3067,854,268.9,Uncategorized,2020-10-05T11:53:23.206005500 +3068,Nikon AF Speedlight Accessory - SB600,3068,2424,24.77,Uncategorized,2016-11-10T22:11:02.206005500 +3069,LG DLEX7177WM White XL Capacity Electric SteamDryer - DLEX7177WH,3069,1411,301.09,Uncategorized,2013-03-22T18:14:01.206005500 +3070,Sony Black 9 Megapixel Cyber-Shot Digital Camera - DSCH50B,3070,282,142.1,Uncategorized,2007-02-02T19:09:43.206005500 +3071,Samsung 19' Black Flat Panel Series 4 LCD HDTV - LN19A450,3071,1285,127.78,Uncategorized,2004-05-07T05:14:04.206005500 +3072,Sanus 15' - 32' Flat Panel TV Black Wall Mount - MF209B1,3072,2471,161.42,Uncategorized,2018-12-10T03:12:35.206005500 +3073,Nikon SB-900 AF Speedlight In Black - SB900,3073,1694,253.38,Uncategorized,2007-01-16T19:59:20.206005500 +3074,Sony 1GB Memory Stick PRO Duo Mark 2 Media Card - MSMT1G,3074,660,44,Uncategorized,2016-12-17T17:45:32.206005500 +3075,Olympus Premium Slim Leather Case In Black - 202087,3075,683,187.87,Uncategorized,2018-02-07T03:23:02.206005500 +3076,Yamaha 7.2 Channel Black Digital Home Theater Receiver - RXV863BK,3076,641,183.75,Uncategorized,2001-12-04T08:28:52.206005500 +3077,Maytag Bisque Over-The-Range Microwave Oven - MMV4205BT,3077,2462,87.33,Uncategorized,2019-09-05T13:20:21.206005500 +3078,Canon Photo Ink Cartridge - CL52,3078,908,9.5,Uncategorized,2020-11-16T06:21:12.206005500 +3079,Mitsubishi 835 Diamond Series 73' 1080p DLP Rear Projection HDTV - WD73835,3079,1458,296.48,Uncategorized,2016-02-21T07:20:59.206005500 +3080,Garmin Vehicle Adjustable Suction Cup Mount - 0101082303,3080,138,177.66,Uncategorized,2017-04-03T11:07:14.206005500 +3081,Panasonic 60GB Hard Drive Camcorder - SDRH60,3081,329,123.52,Uncategorized,2014-03-22T06:19:39.206005500 +3082,Klipsch Groove PM20 Computer Speakers - GROOVEPM20BK,3082,1364,210.5,Uncategorized,2009-06-14T18:51:51.206005500 +3083,Delonghi Oil Filters - FK8,3083,697,60.24,Uncategorized,2016-04-25T21:35:45.206005500 +3084,Panasonic Black High Defintion 60GB Hard Disk Drive/SD Hybrid Camcorder - HDCHS100K,3084,386,37.33,Uncategorized,2000-12-04T15:02:11.206005500 +3085,LaCie Little Disk 250GB Black Portable Hard Drive - 301278,3085,353,131.15,Uncategorized,2004-04-24T18:49:21.206005500 +3086,Logitech diNovo Edge Keyboard Mac Edition - 920000924,3086,1928,172.41,Uncategorized,2020-07-11T14:11:04.206005500 +3087,Olympus Lithium Ion Rechargeable Battery - LI42B,3087,905,147.67,Uncategorized,2002-07-02T16:26:58.206005500 +3088,Denon Home Theater Receiver And Boston Acoustics 5.1 Speaker System Package - DHT589BA,3088,1212,243.44,Uncategorized,2000-03-07T19:07:14.206005500 +3089,Samsung 46' Series 6 LCD Black Flat Panel HDTV - LN46A650,3089,2340,179.08,Uncategorized,2019-08-12T18:50:08.206005500 +3090,BlueAnt Supertooth Light Bluetooth Handsfree In Black - SUPERTOOTH,3090,891,138.91,Uncategorized,2003-08-09T13:12:53.206005500 +3091,Bose In-Ear Black Headphones - BOSEIE,3091,1554,80.11,Uncategorized,2007-04-15T03:09:21.206005500 +3092,Sony 2GB Memory Stick PRO Duo Mark 2 Media Card - MSMT2G,3092,799,253.68,Uncategorized,2000-06-27T16:14:45.206005500 +3093,Sony DVP-FX820 Red 8' Portable DVD Player - DVPFX820R,3093,1700,233.18,Uncategorized,2020-06-21T08:12:52.206005500 +3094,Apple 1TB Time Capsule Wireless Hard Drive - MB277LLA,3094,777,320.38,Uncategorized,2006-03-14T01:58:45.206005500 +3095,Frigidaire Electric Dryer - FEQ1442WH,3095,2284,16.88,Uncategorized,2001-11-04T19:42:44.206005500 +3096,Sony White Speaker Dock And Clock Radio For iPod And iPhone - ICFC1IPMK2WHT,3096,1109,168,Uncategorized,2017-12-25T03:06:44.206005500 +3097,Panasonic Blue 8.1 Megapixel Digital Camera - DMCFS3A,3097,2294,189.48,Uncategorized,2015-06-09T18:16:00.206005500 +3098,Panasonic DECT 6.0 Expandable Digital Cordless Phone With All-Digital Answering System - KXTG9344T,3098,861,165.91,Uncategorized,2009-03-19T17:35:07.206005500 +3099,Samsung L200 Black 10.2 Megapixel Digital Camera - ECL200ZBBA,3099,874,114.23,Uncategorized,2000-12-27T04:27:20.206005500 +3100,Danby Designer Portable Dishwasher - DDW1805WH,3100,2038,26.63,Uncategorized,2020-05-16T11:33:50.206005500 +3101,Sony VAIO Black USB Docking Station - VGPUPR1,3101,2415,230.54,Uncategorized,2022-08-17T04:50:16.206005500 +3102,Canon Digital EOS Rebel XS Starter Kit - 9320A010,3102,288,290.69,Uncategorized,2004-04-02T17:32:12.206005500 +3103,Denon Black Blu-ray Disc DVD-CD Player - DVD1800BD,3103,1834,48.67,Uncategorized,2021-02-01T03:42:48.206005500 +3104,Polk Audio CSI A6 Black Center Channel Loudspeaker - CSIA6BK,3104,2483,109.58,Uncategorized,2010-06-13T04:09:12.206005500 +3105,Linksys Wireless N Access Point - WAP4400N,3105,332,245.48,Uncategorized,2002-08-01T02:40:19.206005500 +3106,Toshiba Black Portable DVD Player - SDP71S,3106,1366,23.91,Uncategorized,2005-09-12T09:50:44.206005500 +3107,Toshiba Black 1080p Upconversion DVD Player - SD6100,3107,2398,148.78,Uncategorized,2021-07-04T04:50:24.206005500 +3108,Sony Black 5.1 Channel Home Theater System - HTDDWG700,3108,383,200.11,Uncategorized,2005-04-10T20:10:40.206005500 +3109,Nikon Black COOLPIX S210 Li-Ion Rechargeable Battery - ENEL10,3109,461,167.13,Uncategorized,2008-10-22T13:18:18.206005500 +3110,Brenthaven Sling I Titanium Laptop Carrying Bag For 13' MacBook - TR653ZMA,3110,975,90.08,Uncategorized,2014-04-09T01:48:05.206005500 +3111,Sony White Earbud Style Headphones - MDREX55WH,3111,2299,172.27,Uncategorized,2004-07-15T20:21:26.206005500 +3112,Speck SeeThru Black Hard Shell Case For 13' MacBook - MB13BLKSEEV2,3112,2414,197.83,Uncategorized,2022-04-01T04:17:48.206005500 +3113,Canon 580EXII Speedlite In Black - 1946B002,3113,1240,294.51,Uncategorized,2004-02-19T05:00:19.206005500 +3114,Linksys Gigabit 5-Port Workgroup Switch - EG005W,3114,209,112.09,Uncategorized,2015-01-25T11:59:49.206005500 +3115,Sony Black DVD Recorder And VHS Combo Player - RDRVXD655,3115,1340,121.63,Uncategorized,2015-01-23T07:33:51.206005500 +3116,Panasonic White Integrated Telephone System - KXTS600W,3116,1459,43.88,Uncategorized,2007-07-04T10:58:52.206005500 +3117,Sony 26' BRAVIA M-Series Black LCD Flat Panel HDTV - KDL26M4000,3117,504,177.13,Uncategorized,2011-07-12T15:51:41.206005500 +3118,Weber Q 300 Liquid Propane Outdoor Grill - 426001,3118,2320,121.35,Uncategorized,2012-12-09T11:33:29.206005500 +3119,LG DLG0452W White XL Capacity Gas Dryer - DLG0452WH,3119,526,118.21,Uncategorized,2005-10-06T13:56:54.206005500 +3120,Peerless 10' - 22' Flat Panel TV Black Pivot Wall Arm - PP730,3120,2105,33.3,Uncategorized,2014-06-26T06:21:06.206005500 +3121,Sony VAIO NS Series Silver Notebook Computer - VGNNS190JS,3121,1838,44.69,Uncategorized,2017-05-02T23:21:15.206005500 +3122,Onkyo THX Ultra 2 Plus Certified 7.1 Channel Home Theater Black Receiver - TXSR806B,3122,526,23.1,Uncategorized,2012-05-08T21:14:18.206005500 +3123,Nyko PlayStation 3 ChargeLink USB Charging Cable - 743840830009,3123,305,123.37,Uncategorized,2012-09-18T10:47:21.206005500 +3124,Escort Cordless Solo Radar Detector - S2E,3124,230,132.18,Uncategorized,2002-08-11T11:39:23.206005500 +3125,Logitech Cordless Desktop Wave Keyboard And Mouse Combo - 920000264,3125,2354,81.8,Uncategorized,2017-03-21T01:48:47.206005500 +3126,Netgear Wireless Access Point - WG102,3126,208,303.97,Uncategorized,2005-01-14T13:20:31.206005500 +3127,Samsung 40' Series 5 LCD Black Flat Panel HDTV - LN40A550,3127,813,131.33,Uncategorized,2007-10-14T05:05:47.206005500 +3128,Garmin Replacement USB Cable - 0101072301,3128,308,30.2,Uncategorized,2019-06-27T23:21:24.206005500 +3129,Fellowes Personal Powershred Shredder - SB97CS,3129,1625,220.51,Uncategorized,2004-08-23T03:49:13.206005500 +3130,Nikon Pink 10 Megapixel COOLPIX Digital Camera - COOLPIXS60PNK,3130,1252,223.7,Uncategorized,2006-11-17T19:49:35.206005500 +3131,Frigidaire 24' PLD4375RFC Built-In Stainless Steel Dishwasher - PLD4375SS,3131,1226,311.47,Uncategorized,2015-07-09T10:08:58.206005500 +3132,Yamaha Mounting Installation Bracket - SPMK30,3132,1253,184.45,Uncategorized,2004-02-07T06:22:22.206005500 +3133,Sony White Speaker Dock And Clock Radio For iPod And iPhone - ICFC1IPMK2WHT,3133,421,10.27,Uncategorized,2018-04-25T15:29:16.206005500 +3134,Garmin StreetPilot C330 Dash Mount - Black Finish - 0101061300,3134,1676,54.88,Uncategorized,2009-11-04T23:35:16.206005500 +3135,Weber Stainless Steel Genesis S320 LP Grill - 3780001,3135,169,86.25,Uncategorized,2016-12-12T02:07:05.206005500 +3136,Logitech Black V220 Cordless Optical Mouse For Notebooks - 910000153,3136,664,14.76,Uncategorized,2011-04-10T18:24:15.206005500 +3137,Panasonic KX-TGA820B Black DECT 6.0 Cordless Handset - KXTGA820B,3137,514,254.94,Uncategorized,2011-01-12T07:08:12.206005500 +3138,LG WM2016CW 3.6 Cu Ft White Front Load Washer - WM2016CWH,3138,703,8.07,Uncategorized,2000-05-24T10:15:44.206005500 +3139,VMware Fusion 2 For Mac - VMFM20BX2,3139,548,210.17,Uncategorized,2009-01-17T03:40:29.206005500 +3140,Panasonic 2 Line 5.8 GHz FHSS GigaRange Expandable Digital Cordless Answering System - Black Finish - KXTG6700B,3140,1060,59.82,Uncategorized,2017-06-27T07:17:27.206005500 +3141,Canon Magenta Photo Ink Cartridge - Magenta - CLI8PM,3141,1776,78.27,Uncategorized,2005-01-22T00:23:17.206005500 +3142,LG 30' Stainless Steel Freestanding Gas Range - LRG30357SS,3142,1615,112.52,Uncategorized,2019-05-20T06:44:23.206005500 +3143,Sony Black DVDirect MC5 Multi-Function DVD Recorder - VRDMC5,3143,919,282.28,Uncategorized,2013-10-06T19:32:16.206005500 +3144,TomTom GPS Mount And USB Car Charger - 9N00101,3144,1365,322.23,Uncategorized,2018-03-11T06:00:13.206005500 +3145,Apple iWork 09 Software Individual Pack For Mac - MB942ZA,3145,1057,282.48,Uncategorized,2013-12-10T03:39:35.206005500 +3146,Yamaha 7.2 Channel Black Digital Home Theater Receiver - RXV663BK,3146,1931,243.39,Uncategorized,2012-05-14T00:09:25.206005500 +3147,Sony Switcher - SBV40S,3147,1856,17.38,Uncategorized,2012-02-23T02:31:18.206005500 +3148,Sharp Over The Counter Microwave Oven - R1214SS,3148,801,301.16,Uncategorized,2004-09-19T07:21:10.206005500 +3149,Samsung Black DVD/VHS Combo Recorder - DVDVR375,3149,1028,107.83,Uncategorized,2017-11-18T01:28:50.206005500 +3150,Logitech 2.1 Multimedia Silver Speaker System - Z2300,3150,526,305.77,Uncategorized,2009-08-17T20:58:17.206005500 +3151,Canon Silver Dual Flash Memory Camcorder - FS11,3151,52,313.16,Uncategorized,2012-01-26T16:50:23.206005500 +3152,Linksys Wireless-N Security Router - WRVS4400N,3152,953,149.5,Uncategorized,2013-09-04T03:09:10.206005500 +3153,Sony 9' Digital Photo Frame In Black - DPFV900,3153,1602,223.87,Uncategorized,2006-06-02T22:16:00.206005500 +3154,Sony Cyber-Shot Black Digital Camera - DSCH10B,3154,835,94.29,Uncategorized,2003-02-22T01:00:22.206005500 +3155,Sanus 15' - 32' Flat Panel TV Black Wall Mount - MF209B1,3155,947,314.04,Uncategorized,2004-03-04T03:14:28.206005500 +3156,Samsung 7.1-Channel Blu-ray Home Theater System - HTBD2TXAA,3156,655,262.4,Uncategorized,2016-03-03T09:09:32.206005500 +3157,Canon Pink 8.0 Megapixel PowerShot Digital Camera - SD1100ISP,3157,2385,43.24,Uncategorized,2021-10-25T08:17:13.206005500 +3158,Toshiba Black DVD Recorder/VCR Combinaton With Built-In Digital Tuner - DVR660,3158,1022,149.12,Uncategorized,2022-11-07T14:32:58.206005500 +3159,Panasonic 5.8GHz Add-On Handset For The KXTG6700B Phone System - Black Finish - KXTGA670B,3159,1090,271.56,Uncategorized,2021-11-02T05:19:50.206005500 +3160,Garmin GPS Carrying Case - Black Finish - 0101070400,3160,2062,44.67,Uncategorized,2022-11-03T08:58:36.206005500 +3161,Speck ToughSkin Black Case For 4th Generation iPod Nano - NN4TSBLK,3161,1090,222.64,Uncategorized,2014-08-16T01:12:34.206005500 +3162,Sirius External Home Antenna - 14240,3162,603,178.12,Uncategorized,2006-09-05T04:29:44.206005500 +3163,Linksys Wireless-G Internet Home Monitoring Camera - WVC54GCA,3163,2187,176.21,Uncategorized,2016-05-12T04:44:16.206005500 +3164,Panasonic Genius Countertop Microwave In Black - NNH965BK,3164,400,45.21,Uncategorized,2020-03-17T06:41:31.206005500 +3165,Whirlpool WED6400SB Cabrio Super Capacity Plus Electric Black Dryer - WED6400SBK,3165,1379,80.35,Uncategorized,2003-09-25T10:54:01.206005500 +3166,Sharp HEPA Air Purifier - FPP35CX,3166,2354,298.1,Uncategorized,2016-04-26T05:04:27.206005500 +3167,Samsung 46' Series 9 LCD Black Flat Panel HDTV - LN46A950,3167,1356,28.42,Uncategorized,2021-06-19T03:45:20.206005500 +3168,LaCie Little Disk 250GB Black Portable Hard Drive - 301278,3168,1488,14,Uncategorized,2000-10-24T16:56:43.206005500 +3169,Panasonic 5.8 GHz Black Expandable Digital Cordless Phone System - KXTG4324B,3169,1024,139.45,Uncategorized,2000-02-06T17:23:40.206005500 +3170,Netgear ProSafe 5 Port 10/100 Desktop Switch - FS105,3170,514,26.64,Uncategorized,2019-04-03T20:40:11.206005500 +3171,Panasonic KX-TG4500B Black 5.8 GHz Cordless Phone System - KXTG4500B,3171,968,243.18,Uncategorized,2009-09-18T00:07:24.206005500 +3172,Samsung 46' Series 6 LCD Black Flat Panel HDTV - LN46A650,3172,676,18.96,Uncategorized,2016-12-22T02:08:20.206005500 +3173,Escort Passport 9500CI Radar Detector - 9500CI,3173,924,181.47,Uncategorized,2000-09-17T06:02:23.206005500 +3174,Canon PIXMA Multifunction Printer - MX310,3174,186,277.22,Uncategorized,2006-10-05T22:10:41.206005500 +3175,Pioneer 6.5' 2-Way Marine White Speakers - TSMR1640,3175,1774,191.7,Uncategorized,2018-07-11T06:23:29.206005500 +3176,Speck SeeThru Black Hard Shell Case For 13' MacBook - MB13BLKSEEV2,3176,152,127.28,Uncategorized,2009-07-09T08:41:02.206005500 +3177,Samsung 46' Series 9 LCD Black Flat Panel HDTV - LN46A950,3177,960,70.55,Uncategorized,2009-09-27T17:27:23.206005500 +3178,Oregon Scientific AT18 Wearable Waterproof Action Camcorder - ATC2000,3178,2145,12.46,Uncategorized,2008-06-27T16:34:30.206005500 +3179,LG Pearl Gray XL Capacity Electric Dryer - DLE5955G,3179,1832,256.03,Uncategorized,2004-07-24T21:29:37.206005500 +3180,LG Stainless Steel Freestanding Electric Range - LRE30757SS,3180,584,217.89,Uncategorized,2015-02-05T21:27:59.206005500 +3181,Sony InfoLithium H Series Standard Rechargeable Battery Pack - NPFH70,3181,972,286.52,Uncategorized,2012-11-10T07:48:13.206005500 +3182,Netgear Prosafe 16 Port 10/100 Rackmount Switch - Black Finish - JFS516NA,3182,121,17.26,Uncategorized,2010-01-27T02:34:40.206005500 +3183,Lowepro SlingShot 200 AW Digital Camera Back Pack - SLINGSHOT200AW,3183,2055,156.9,Uncategorized,2019-12-08T16:37:26.206005500 +3184,Garmin StreetPilot C330 Dash Mount - Black Finish - 0101061300,3184,2258,17.39,Uncategorized,2021-08-02T19:30:12.206005500 +3185,LG DLEX8377NM Navy Blue XL Capacity Electric SteamDryer - DLEX8377BLUE,3185,1707,251.74,Uncategorized,2003-10-02T06:13:16.206005500 +3186,Boston Acoustics Duo-I AM/FM Clock Radio With iPod Dock - HDUOIMDNT,3186,1095,203.44,Uncategorized,2011-01-06T20:34:43.206005500 +3187,Sony VAIO CS Series Red Notebook Computer - VGNCS110ER,3187,815,241.64,Uncategorized,2003-03-15T22:47:18.206005500 +3188,Canon Printer Gray Ink Cartridge - CLI221GRY,3188,804,270.64,Uncategorized,2006-11-22T03:44:07.206005500 +3189,Sharp Over The Counter Microwave Oven - R1214SS,3189,520,237.57,Uncategorized,2009-11-02T22:22:26.206005500 +3190,LG LFX25971SW 24.7 Cu. Ft. Smooth White French Door Bottom Freezer Refrigerator - LFX25971WH,3190,936,286.65,Uncategorized,2012-01-17T14:01:10.206005500 +3191,Logitech V-UBM46 QuickCam Pro 9000 Black Webcam For Windows - 960000048,3191,1726,130.76,Uncategorized,2000-03-25T04:48:00.206005500 +3192,Canon Black EOS 50D Digital SLR Camera Body - EOS50DBODY,3192,1216,223.03,Uncategorized,2000-09-13T14:24:56.206005500 +3193,Canon Red Photo Ink Cartridge - CLI8R,3193,1505,20.28,Uncategorized,2006-04-27T02:35:15.206005500 +3194,LaCie USB 2.0 Floppy Disk Drive - 706018,3194,43,77.23,Uncategorized,2008-11-14T13:40:36.206005500 +3195,LG Pearl Gray XL Capacity Electric Dryer - DLE5955G,3195,960,99.27,Uncategorized,2017-02-22T18:29:19.206005500 +3196,Audiovox XpressR XM Satellite Radio Receiver - XMCK20P,3196,993,190.09,Uncategorized,2016-03-05T12:23:40.206005500 +3197,KitchenAid ProLine Series 16 Cup Food Processor - KPFP850OB,3197,2159,71.91,Uncategorized,2021-02-11T14:30:27.206005500 +3198,Uniden DECT 6.0 Cordless Digital Answering System - DECT20802,3198,1565,50.84,Uncategorized,2007-03-11T20:16:28.206005500 +3199,Garmin 010-10723-00 AC Adapter Cable With International Adapters - 0101072300,3199,741,246.8,Uncategorized,2006-04-26T04:32:29.206005500 +3200,Canon Blue 8.0 Megapixel PowerShot Digital Camera - SD1100ISB,3200,829,131.69,Uncategorized,2013-08-13T13:39:05.206005500 +3201,Panasonic Silver Lumix Wide Angle Lens Digital Camera - DMCTZ5S,3201,2417,94.61,Uncategorized,2014-09-08T17:17:37.206005500 +3202,Canon Printer Color Ink Cartridge - CL211,3202,2240,79.04,Uncategorized,2011-06-02T00:09:46.206005500 +3203,Panasonic Black Lumix Wide Angle Lens Digital Camera - DMCTZ5K,3203,2226,211.08,Uncategorized,2001-11-24T19:51:14.206005500 +3204,Canon PIXMA iP2600 Photo Printer - IP2600,3204,2256,57.13,Uncategorized,2009-09-13T05:08:23.206005500 +3205,Mitsubishi DLP Black TV Stand - MBS73V,3205,577,28.48,Uncategorized,2008-12-07T14:40:53.206005500 +3206,Polk Audio 5.1 Channel Black Home Theater Speaker System - RM705BK,3206,1993,262.32,Uncategorized,2013-10-05T16:04:49.206005500 +3207,Garmin Vehicle Suction Cup Mount - 0101093600,3207,133,49.43,Uncategorized,2012-11-04T20:40:06.206005500 +3208,Sony Clip-On Black Headphones - MDRQ68LW,3208,304,59.76,Uncategorized,2008-10-21T20:15:38.206005500 +3209,Canon Black EOS Rebel XSi Digital SLR Camera - XSIREB1855,3209,1401,307.46,Uncategorized,2010-01-10T15:29:48.206005500 +3210,Yamaha High Performance Subwoofer In Black - YSTFSW150BK,3210,260,107.4,Uncategorized,2019-04-24T04:36:06.206005500 +3211,Sony Black 1080p Upscaling 5-Disc DVD Changer - DVPNC800HB,3211,1088,127.59,Uncategorized,2010-07-20T16:42:25.206005500 +3212,Toshiba 22' LCD HDTV With Built In DVD Player In Black - 22LV505,3212,2196,237.03,Uncategorized,2021-07-23T21:51:37.206005500 +3213,Transcend 2GB 133x Ultra Speed Compact Flash Card - TS2GCF133,3213,1731,267.53,Uncategorized,2001-07-14T18:21:48.206005500 +3214,Canon Black 21.1 Megapixel EOS Digital SLR Camera Body - EOS5DMARKIIBODY,3214,1822,318.94,Uncategorized,2021-07-04T20:37:54.206005500 +3215,iHome iPod & iPhone Bluetooth Alarm Clock Radio System - IP47,3215,2420,312.89,Uncategorized,2005-12-10T20:21:54.206005500 +3216,Kensington Mini Battery Pack And Charger For iPhone And iPod - K33442US,3216,1662,260.43,Uncategorized,2003-12-22T14:17:55.206005500 +3217,Pioneer KURO 50' Black Plasma HDTV - PDP5020FD,3217,424,1.33,Uncategorized,2019-02-11T16:18:09.206005500 +3218,Canon Printer Yellow Ink Cartridge - CLI221YEL,3218,1605,170.8,Uncategorized,2022-03-27T19:24:11.206005500 +3219,Netgear Prosafe 5 Port Gigabit Ethernet Desktop Switch - GS105NA,3219,1138,243.22,Uncategorized,2001-12-27T20:05:22.206005500 +3220,Panasonic NNSD797S Stainless Steel Countertop Microwave Oven - NNSD797SS,3220,2192,162.12,Uncategorized,2011-09-20T09:35:28.206005500 +3221,Bose In-Ear Black Headphones - BOSEIE,3221,341,303.6,Uncategorized,2021-06-17T18:00:50.206005500 +3222,Nikon 70-300mm f/4.5-5.6G ED-IF AF-S VR Zoom-Nikkor Lens - 2161,3222,2305,297.44,Uncategorized,2020-02-06T20:19:39.206005500 +3223,Panasonic VIERA 50' Plasma Flat Panel HDTV In Black - TH50PX80U,3223,2145,313.51,Uncategorized,2000-01-24T18:51:26.206005500 +3224,Sony Super Audio CD Player - SCDCE595,3224,447,136.54,Uncategorized,2016-11-18T01:32:42.206005500 +3225,Sony 60GB Handycam Hard Disk Drive Camcorder - DCRSR85,3225,189,103.42,Uncategorized,2004-10-22T14:49:53.206005500 +3226,Whirlpool 24' Built-In Dishwasher - DU1100SS,3226,1991,266.09,Uncategorized,2001-10-13T13:40:25.206005500 +3227,Sanus 13' - 30' Flat Panel TV Black Wall Mount - VM1B,3227,1945,235.92,Uncategorized,2006-11-13T04:41:30.206005500 +3228,Canon Red Photo Ink Cartridge - CLI8R,3228,1795,268.46,Uncategorized,2008-03-05T00:23:17.206005500 +3229,Panasonic Black Dect 6.0 Cordless Telephone - KXTG9333T,3229,1986,117.83,Uncategorized,2010-02-05T02:28:30.206005500 +3230,Fellowes Personal Powershred Shredder - SB97CS,3230,1765,115.09,Uncategorized,2000-07-24T11:56:24.206005500 +3231,Yamaha 7.2 Channel Black Digital Home Theater Receiver - RXV863BK,3231,1712,58.25,Uncategorized,2014-04-13T14:07:19.206005500 +3232,Yamaha High Performance Subwoofer - Black Finish - YSTFSW100BK,3232,1325,279.61,Uncategorized,2006-11-21T00:30:11.206005500 +3233,Sony VAIO CS Series Black Notebook Computer - VGNCS180JQ,3233,1487,326.25,Uncategorized,2012-01-26T23:27:33.206005500 +3234,Canon Black BP-808 Camcorder Battery Pack - 2740B002,3234,577,134.01,Uncategorized,2019-10-19T13:34:25.206005500 +3235,Samsung 56' Black Widescreen Series 6 DLP HDTV - HL56A650,3235,1515,169.31,Uncategorized,2009-02-13T12:26:59.206005500 +3236,Sony 5 Disc CD Player - CDPCE375,3236,2234,205.13,Uncategorized,2006-10-05T08:01:28.206005500 +3237,Netgear ProSafe 24-Port Gigabit Rackmount Switch With 2 SFP Slots - JGS524F,3237,759,0.5,Uncategorized,2016-10-03T00:34:29.206005500 +3238,Samsung 52' Series 7 Black Flat Panel LCD HDTV - LN52A750,3238,1443,206.8,Uncategorized,2015-02-14T12:03:01.206005500 +3239,Panasonic Integrated Black Telephone System With All-Digital Answering System - KXTS620B,3239,1807,260.34,Uncategorized,2016-10-05T13:40:07.206005500 +3240,Olympus Black 10 Megapixels Digital Camera - SP565UZ,3240,911,126.16,Uncategorized,2013-07-25T16:22:17.206005500 +3241,Canon Magenta Photo Ink Cartridge - Magenta - CLI8PM,3241,2104,13.74,Uncategorized,2021-08-14T12:40:48.206005500 +3242,Linksys Wireless N Access Point - WAP4400N,3242,1171,202.52,Uncategorized,2001-06-10T10:56:43.206005500 +3243,Directed 50ft Extension Cable - 14230,3243,836,324.95,Uncategorized,2010-11-14T19:52:30.206005500 +3244,Samsung 61' Black DLP Projection HDTV - HL61A650,3244,1242,197.37,Uncategorized,2009-11-04T15:58:52.206005500 +3245,Whirlpool White Front Load Washer - WFW9200SWH,3245,356,106.93,Uncategorized,2014-10-23T10:01:13.206005500 +3246,Directed 50ft Extension Cable - 14230,3246,1788,113.29,Uncategorized,2021-08-01T10:35:59.206005500 +3247,Peerless 32' - 50' Articulating Flat Panel TV Black Wall Arm - SA750PU,3247,74,62.15,Uncategorized,2010-12-12T14:10:24.206005500 +3248,Sirius STILETTO 2 Home Docking Kit - SLH2,3248,136,78.68,Uncategorized,2021-04-01T20:21:39.206005500 +3249,Panasonic Black 1080p Up-Conversion DVD Recorder And VHS Combo Player - DMREA38VK,3249,296,11.28,Uncategorized,2014-07-10T19:47:29.206005500 +3250,Sony Stereo Audio Receiver - STRDE197,3250,1458,113.56,Uncategorized,2019-04-19T16:30:55.206005500 +3251,Sony InfoLithium H Series Standard Rechargeable Battery Pack - NPFH70,3251,874,92.6,Uncategorized,2015-03-15T19:06:25.206005500 +3252,Pioneer Voice Command Pack - Black Finish - CDVC1,3252,1711,320.9,Uncategorized,2013-08-10T02:34:52.206005500 +3253,Canon PIXMA Multifunction Printer - MX310,3253,814,54.2,Uncategorized,2005-03-18T05:45:09.206005500 +3254,Onkyo THX Ultra2 Certified 7.1 Channel Home Theater Black Receiver - TXNR906B,3254,2394,223.15,Uncategorized,2018-12-21T09:34:16.206005500 +3255,Canon Silver Flash Memory Camcorder - FS100S,3255,83,41.96,Uncategorized,2015-10-25T08:18:15.206005500 +3256,Sony 16GB Memory Stick PRO Duo Mark 2 Media Card - MSMT16G,3256,797,226.89,Uncategorized,2015-10-16T01:06:16.206005500 +3257,Canon Green Photo Ink Cartridge - CLI8G,3257,700,316.95,Uncategorized,2022-04-04T14:55:26.206005500 +3258,Peerless Wall TV Mounts In Black - PM1327BK,3258,1855,75.98,Uncategorized,2007-06-27T04:30:52.206005500 +3259,Electrolux Oxygen 3 Canister HEPA H12 Filter - EL012A,3259,1202,178.24,Uncategorized,2014-04-09T02:22:38.206005500 +3260,Sony 30GB Handycam Hard Disk Drive Camcorder - DCRSR45,3260,250,308.56,Uncategorized,2008-01-04T18:58:38.206005500 +3261,Panasonic 2-Line Integrated Phone System - White Finish - KXTS3282W,3261,203,197.38,Uncategorized,2010-03-14T07:56:26.206005500 +3262,Sony Alpha DSLR Black Camera Body With 18-70mm Zoom Lens - DSLRA300K,3262,1747,115.25,Uncategorized,2016-02-24T18:22:39.206005500 +3263,Samsung 58' Black Flat Panel Series 5 Plasma HDTV - PN58A550,3263,1235,18.71,Uncategorized,2003-03-14T18:24:55.206005500 +3264,Haier 13' TV/DVD Combo - TCR13,3264,1479,256.86,Uncategorized,2019-11-24T18:32:23.206005500 +3265,Garmin Nuvi 265WT GPS Navigation System - 0100057510,3265,992,67.42,Uncategorized,2015-01-13T18:20:34.206005500 +3266,Linksys Wireless N Access Point - WAP4400N,3266,708,129.54,Uncategorized,2015-01-06T12:27:52.206005500 +3267,Weber Summit E-620 Copper Liquid Propane Gas Outdoor Grill - 1752001,3267,721,265.47,Uncategorized,2018-11-06T12:54:58.206005500 +3268,Sony Black DVD Recorder And VHS Combo Player - RDRVX560,3268,1531,217.27,Uncategorized,2004-01-25T02:17:16.206005500 +3269,Brenthaven Sling I Titanium Laptop Carrying Bag For 13' MacBook - TR653ZMA,3269,1882,325.15,Uncategorized,2020-01-11T22:41:57.206005500 +3270,Pioneer XM Digital Satellite Tuner for Pioneer Headunits - GEXP920XM,3270,889,55.05,Uncategorized,2016-03-01T03:04:38.206005500 +3271,Sony 60GB Handycam Hard Disk Drive Camcorder - DCRSR85,3271,1456,174.59,Uncategorized,2002-11-21T09:34:55.206005500 +3272,LG WM2455HG 4.2 Cu Ft Pearl Gray Front Load Washer - WM2455G,3272,1399,220.32,Uncategorized,2006-07-02T13:44:16.206005500 +3273,Panasonic DECT 6.0 Expandable Digital Cordless Phone With All-Digital Answering System - KXTG9344T,3273,456,186.29,Uncategorized,2019-11-22T17:40:04.206005500 +3274,Toshiba Black 15' LCD Flat Panel HDTV/DVD Combo - 15LV505,3274,799,269.11,Uncategorized,2011-09-22T04:47:02.206005500 +3275,Twenty20 VholdR Mount Adhesive - 2200MA,3275,1985,322.41,Uncategorized,2022-10-03T14:53:19.206005500 +3276,VMware Fusion 2 For Mac - VMFM20BX2,3276,2272,316.61,Uncategorized,2007-07-25T03:39:02.206005500 +3277,Sony Memory Stick USB Adaptor - MSACUS40,3277,716,34.89,Uncategorized,2011-06-25T14:20:39.206005500 +3278,Delonghi Oil Filters - FK8,3278,16,74.32,Uncategorized,2018-10-03T12:40:50.206005500 +3279,Nikon COOLPIX P80 Digital Camera In Black - COOLPIXP80,3279,1989,252.46,Uncategorized,2010-02-01T13:40:56.206005500 +3280,Sony VAIO Black USB Docking Station - VGPUPR1,3280,1216,197.99,Uncategorized,2018-04-04T20:00:45.206005500 +3281,Audiovox Commander MT XM Satellite Radio Receiver - XMRVRFM002,3281,2336,175.12,Uncategorized,2002-09-14T08:10:42.206005500 +3282,Panasonic VIERA 46' Plasma Flat Panel 1080p HDTV In Black - TH46PZ80U,3282,2465,118.2,Uncategorized,2011-12-18T10:41:35.206005500 +3283,Samsung 52' Series 8 LCD Black Flat Panel HDTV - LN52A850,3283,109,311.16,Uncategorized,2022-07-03T20:00:15.206005500 +3284,Kenwood Sirius Radio Translator For In-Dash Head Units - KCASR50,3284,1272,199.23,Uncategorized,2020-09-23T00:47:22.206005500 +3285,Peerless 42' - 71' Articulating Flat Panel TV Silver Dual Wall Arm Mount - PLAV70UNLPS,3285,1296,131.7,Uncategorized,2014-03-05T15:04:27.206005500 +3286,Apple Mini-DVI To DVI Adapter - M9321GB,3286,607,238.6,Uncategorized,2018-09-01T12:38:14.206005500 +3287,Canon DVD Camcorder - DC310,3287,1321,104.99,Uncategorized,2019-06-04T04:23:28.206005500 +3288,Flip Video F360 White Mino Series Camcorder - F360W,3288,72,167.75,Uncategorized,2020-08-21T13:57:33.206005500 +3289,Sony EX Ear Bud Headphones In White - MDREX32LPWHI,3289,864,188.31,Uncategorized,2014-09-26T02:11:59.206005500 +3290,Sony Black VAIO Z Series 13.1' Notebook Computer - VGNZ570NB,3290,1337,118.16,Uncategorized,2001-10-21T11:43:45.206005500 +3291,Panasonic 2-Line Integrated Phone System - White Finish - KXTS3282W,3291,1988,265.83,Uncategorized,2013-08-05T04:22:14.206005500 +3292,Panasonic DECT 6.0 Expandable Digital Cordless Phone With All-Digital Answering System - KXTG9342T,3292,517,62.15,Uncategorized,2006-11-22T10:20:48.206005500 +3293,Samsung DLP TV Stand In Black - TR72BX,3293,740,136.24,Uncategorized,2004-08-07T20:42:15.206005500 +3294,LG DLG2526W White Super Capacity Gas Dryer - DLG2526WH,3294,1015,136.52,Uncategorized,2013-06-01T10:32:05.206005500 +3295,Sony 32' BRAVIA M-Series Gloss Black LCD Flat Panel HDTV - KDL32M4000,3295,1824,284.73,Uncategorized,2000-08-23T22:33:56.206005500 +3296,Onkyo Black CD Receiver System - CS325,3296,395,77.61,Uncategorized,2005-06-01T19:49:37.206005500 +3297,Sony Progressive Scan Black DVD Player - DVPNS57PB,3297,733,199.8,Uncategorized,2019-03-12T11:16:30.206005500 +3298,Pioneer Voice Command Pack - Black Finish - CDVC1,3298,2146,300.6,Uncategorized,2005-03-01T11:28:27.206005500 +3299,LG Over-The-Range Stainless Steel Microwave Oven - LMV1680SS,3299,1699,83.96,Uncategorized,2017-01-23T17:53:28.206005500 +3300,Canon Silver 10 Megapixel PowerShot Digital Camera - SD890IS,3300,284,226.76,Uncategorized,2008-05-13T20:35:14.206005500 +3301,Panasonic SR-NA18 White Deluxe Fuzzy Logic Rice Cooker - SRNA18,3301,1710,93.36,Uncategorized,2019-06-04T13:53:12.206005500 +3302,Z-Line Portland Black TV Stand - ZL2344MU,3302,2322,212.28,Uncategorized,2016-11-09T20:30:43.206005500 +3303,Terk XM Outdoor Home Antenna - Grey Finish - XM6,3303,1248,53.7,Uncategorized,2018-11-27T00:20:39.206005500 +3304,Sony Silver Cyber-Shot Digital Camera - DSCW150,3304,1790,123.44,Uncategorized,2010-01-19T11:23:26.206005500 +3305,AppleCare Protection Plan For iPod Touch Or iPod Classic - MB591LLA,3305,1690,193.83,Uncategorized,2021-08-26T05:45:33.206005500 +3306,Canon PowerShot Black Digital Camera - SX110ISB,3306,1624,247.71,Uncategorized,2012-05-17T18:59:59.206005500 +3307,Sirius FMDA25 Wired FM Modulation Relay - FMDA25,3307,406,14.15,Uncategorized,2007-05-20T01:58:48.206005500 +3308,Lowepro Digital Camera Case In Black - EDIT100BK,3308,2091,208.25,Uncategorized,2010-09-08T00:27:57.206005500 +3309,Canon Digital EOS Rebel XS Starter Kit - 9320A010,3309,2335,127.96,Uncategorized,2018-02-20T14:20:37.206005500 +3310,Panasonic Yellow 4GB SDHC Memory Card - RPSDV04GU1K,3310,1677,26.1,Uncategorized,2014-06-15T03:24:52.206005500 +3311,Onkyo 7.1-Channel Black Home Theater Receiver - TXSR506B,3311,1486,21.49,Uncategorized,2019-07-22T09:31:37.206005500 +3312,Nokia T-Mobile Unlocked Cellular Phone - N96,3312,1537,248.52,Uncategorized,2020-05-21T07:18:24.206005500 +3313,LG LFX25971ST 24.7 Cu. Ft. Stainless Steel French Door Bottom Freezer Refrigerator - LFX25971SS,3313,2096,68.93,Uncategorized,2010-04-11T07:45:50.206005500 +3314,Seiko Quartz Le Grand Sport Womens Watch - SXDA04,3314,767,240.49,Uncategorized,2006-10-25T09:59:06.206005500 +3315,Canon PowerShot Silver Digital Camera - SX110IS,3315,1391,201.68,Uncategorized,2018-05-03T08:25:35.206005500 +3316,Speck SeeThru Pink Hard Shell Case For 15' MacBook - MB15PNKSEEV2,3316,1469,283.58,Uncategorized,2022-07-02T17:43:58.206005500 +3317,GE Pre-Amplifier For Stereo Turntable - AV23292,3317,191,41.78,Uncategorized,2001-08-26T07:06:40.206005500 +3318,Samsung 50' Widescreen Plasma HDTV - PN50A650,3318,719,324.02,Uncategorized,2020-10-17T21:59:49.206005500 +3319,LG LFC25770SW 25.0 Cu. Ft. Smooth White French Door Bottom Freezer Refrigerator - LFC25770WH,3319,2182,236.76,Uncategorized,2013-12-08T16:11:29.206005500 +3320,Griffin iPod RoadTrip With SmartScan - 4040RDTRPB,3320,247,175.54,Uncategorized,2001-04-05T07:58:14.206005500 +3321,Panasonic Network Camera - White Finish - BLC1A,3321,1442,238.21,Uncategorized,2001-09-26T17:08:45.206005500 +3322,Sony 42' BRAVIA V Series Black LCD Flat Panel HDTV - KDL42V4100,3322,659,317.85,Uncategorized,2021-12-19T01:21:08.206005500 +3323,Omnimount 42' - 63' Wishbone Cantilever Extra Large Flat Panel TV Silver Wall Mount - UCLXB,3323,1718,275.09,Uncategorized,2001-11-01T11:14:31.206005500 +3324,Sony Telephoto Converter Lens - VCLDH1774,3324,1242,315.23,Uncategorized,2009-09-27T23:28:38.206005500 +3325,LG 52' Black LCD Flat Panel HDTV - 52LG70,3325,680,261.87,Uncategorized,2011-01-26T10:23:26.206005500 +3326,Samsung 50' Black Flat Panel Series 4 Plasma HDTV - PN50A450,3326,944,69.55,Uncategorized,2012-12-23T02:57:37.206005500 +3327,Sony VAIO Neoprene Laptop Carrying Case - Black Finish - VGPAMC3,3327,1802,285.83,Uncategorized,2020-09-21T12:07:35.206005500 +3328,Klipsch Groove PM20 Computer Speakers - GROOVEPM20BK,3328,9,298.74,Uncategorized,2005-02-21T03:43:19.206005500 +3329,iHome Black Clock Radio Audio System For iPod - IH9BR,3329,1210,304.58,Uncategorized,2018-02-18T17:11:16.206005500 +3330,LG Over-The-Range Stainless Steel Microwave Oven - LMV1680SS,3330,2390,196.05,Uncategorized,2016-04-06T20:22:25.206005500 +3331,Kensington Combosaver Ultra Combination Notebook Lock - K64516US - K64516US,3331,2422,284.38,Uncategorized,2004-01-21T13:05:48.206005500 +3332,Audiovox XpressR XM Satellite Radio Receiver - XMCK20P,3332,2307,90.33,Uncategorized,2002-03-07T15:41:46.206005500 +3333,Transcend 16GB SDHC Card And Compact Card Reader - TS16GSDHC6S5W,3333,358,208.6,Uncategorized,2000-05-24T08:40:54.206005500 +3334,Elgato TV Receiver And Video Converter For Analog & Digital TV - 10020780,3334,1839,233.76,Uncategorized,2008-10-20T07:36:18.206005500 +3335,Cuisinart Countertop Griddler - GR4,3335,1664,87.51,Uncategorized,2006-01-05T18:56:27.206005500 +3336,Sony Black 1080p Upscaling 5-Disc DVD Changer - DVPNC800HB,3336,2442,159.43,Uncategorized,2006-05-13T18:07:23.206005500 +3337,Sony Blu-Ray Disc Player - BDPS550,3337,934,70.68,Uncategorized,2001-08-07T01:28:57.206005500 +3338,Denon Blu-ray Disc DVD/CD Player - DVD3800BDCI,3338,1881,48.18,Uncategorized,2002-10-11T18:58:10.206005500 +3339,Fellowes MicroShred Shredder - MS450CS,3339,327,41.83,Uncategorized,2016-12-19T13:34:50.206005500 +3340,Sony NP-FH100 InfoLithium H Series Standard Rechargeable Battery Pack - NPFH100,3340,380,192.38,Uncategorized,2018-11-07T00:13:40.206005500 +3341,Sirius Satellite Radio Universal Car Tuner - SCC1,3341,2089,309.12,Uncategorized,2007-02-02T03:19:25.206005500 +3342,Speck SeeThru Black Hard Shell Case For 13' MacBook - MB13BLKSEEV2,3342,1852,253.52,Uncategorized,2010-12-02T06:19:49.206005500 +3343,Canon 9517A002 EF-S 17mm - 85mm f/4.0-5.6 USM IS Zoom Lens - 9517A002,3343,1623,73.63,Uncategorized,2004-01-12T18:58:27.206005500 +3344,Lowepro Digital Camera Case In Black - REZO15BK,3344,569,75.47,Uncategorized,2001-10-21T22:20:32.206005500 +3345,Transcend 2.5' SATA Solid State Disk - TS128GSSD25SM,3345,560,262.06,Uncategorized,2012-01-22T15:23:16.206005500 +3346,Toshiba Black DVD Recorder With 1080p Upconversion - DR410,3346,1028,177.78,Uncategorized,2016-03-02T22:17:34.206005500 +3347,Alpine CD-R/-RW/MP3/AAC/WMA Receiver - CDA9886,3347,1694,142.18,Uncategorized,2008-01-26T21:03:29.206005500 +3348,Terk XM Outdoor Home Antenna - Grey Finish - XM6,3348,145,128.61,Uncategorized,2021-06-23T14:21:12.206005500 +3349,Whirlpool Duet Sport Front Loading White Washer - White Finish - WFW8300SWH,3349,2363,119.55,Uncategorized,2002-03-22T21:53:13.206005500 +3350,Panasonic VIERA 50' Plasma Flat Panel 1080p HDTV In Black - TH50PZ80U,3350,2487,265.1,Uncategorized,2020-06-21T04:09:01.206005500 +3351,Tech Craft Dark Cherry Veneto Series TV Stand - SWP60,3351,2303,99.75,Uncategorized,2014-05-20T18:46:33.206005500 +3352,Denon Networked Audio System With Built-In iPod Dock - S32,3352,57,26.32,Uncategorized,2015-02-03T21:08:14.206005500 +3353,Yamaha RX-V363BL 5.1 Channel Digital Home Theater Receiver In Black - RXV363BK,3353,770,14.57,Uncategorized,2009-04-12T04:02:34.206005500 +3354,Frigidaire 24' White Built-In Dishwasher - FDB130WH,3354,801,241.84,Uncategorized,2005-06-16T06:10:37.206005500 +3355,Sirius Dock And Play Universal Vehicle Kit - SUPV1,3355,273,74.58,Uncategorized,2014-03-23T05:37:00.206005500 +3356,NetGear ProSafe 24 Port Smart Switch - FS726TP,3356,2248,266.59,Uncategorized,2017-06-01T02:51:40.206005500 +3357,Sirius STILETTO 2 Portable Satellite Radio - SL2PK1,3357,1958,92.72,Uncategorized,2012-06-19T08:38:53.206005500 +3358,Canon VIXIA 120GB High Definition Hard Disc Drive Black Camcorder - HG21,3358,2015,265.77,Uncategorized,2012-04-16T02:44:33.206005500 +3359,Sony Silver 1080p Upscaling 5-Disc DVD Player - DVPNC800HS,3359,306,35.2,Uncategorized,2018-06-23T18:41:03.206005500 +3360,Sony Silver Cyber-Shot Digital Camera - DSCW150,3360,2053,53.76,Uncategorized,2008-06-27T01:08:55.206005500 +3361,Sharp HEPA Air Purifier - FPP35CX,3361,1927,300.88,Uncategorized,2005-06-09T05:18:59.206005500 +3362,Pioneer 4'x6' 2-Way Component Plate Speaker - TSP462,3362,2465,317.11,Uncategorized,2008-08-11T07:07:04.206005500 +3363,Griffin Black TuneBuds Mobile For iPod And iPhone - 9410TUNBMBLB,3363,1100,307.77,Uncategorized,2020-06-14T22:15:23.206005500 +3364,LG 52' Black LCD Flat Panel HDTV - 52LG70,3364,902,43.55,Uncategorized,2006-09-13T17:20:57.206005500 +3365,Peerless 23' - 46' Universal Flat Panel TV Black Wall Mount - SF640P,3365,831,109.97,Uncategorized,2022-06-23T04:32:10.206005500 +3366,Netgear Wireless Access Point - WG102,3366,1247,135.57,Uncategorized,2004-02-03T21:00:41.206005500 +3367,Lowepro Digital Camera Case In Black - REZO15BK,3367,1763,66.5,Uncategorized,2009-02-25T23:51:50.206005500 +3368,Samsung 50' Widescreen Plasma HDTV - PN50A650,3368,1274,211.9,Uncategorized,2005-04-01T01:53:44.206005500 +3369,LG DLE3733W White XL Capacity Electric Dryer - DLE3733WH,3369,356,189.07,Uncategorized,2011-08-10T13:48:17.206005500 +3370,Sirius Dock And Play Universal Vehicle Kit - SUPV1,3370,831,205,Uncategorized,2020-12-19T22:31:54.206005500 +3371,Mitsubishi 736 Series 65' 1080p DLP Rear Projection Black HDTV - WD65736,3371,1209,156.27,Uncategorized,2016-10-18T00:43:21.206005500 +3372,Belkin Cush Top For Computer Laptop - F8N044ORG,3372,141,312.6,Uncategorized,2018-09-23T17:38:20.206005500 +3373,Delonghi Oil Filters - FK8,3373,2242,20.02,Uncategorized,2010-10-26T21:56:02.206005500 +3374,Canon Black Ink Cartridge - Black - PG40BK,3374,529,191.53,Uncategorized,2002-04-17T06:09:37.206005500 +3375,Toshiba 26' Black LCD HDTV - 26AV502U,3375,2079,58.58,Uncategorized,2019-04-27T16:30:35.206005500 +3376,Sony Memory Stick Duo Replacement Adaptor - Silver/Blue Finish - MSACM2,3376,611,66.75,Uncategorized,2019-07-19T23:26:50.206005500 +3377,Panasonic VIERA 50' 1080p Plasma HDTV In Black - TH50PZ850U,3377,751,23.4,Uncategorized,2022-06-27T01:49:11.206005500 +3378,Panasonic KX-TG4500B Black 5.8 GHz Cordless Phone System - KXTG4500B,3378,631,252.07,Uncategorized,2015-11-08T00:52:25.206005500 +3379,Panasonic Corded Phone - KXTS3282B,3379,2156,275.13,Uncategorized,2008-06-04T05:18:34.206005500 +3380,TomTom GPS Mount And USB Car Charger - 9S00006,3380,1057,323.18,Uncategorized,2010-02-20T23:11:41.206005500 +3381,Panasonic DECT 6.0 Black Expandable Digital Cordless Phone - KXTG9361B,3381,1188,218.86,Uncategorized,2012-08-06T10:20:56.206005500 +3382,Toshiba Black 9-Inch LCD Widescreen Portable DVD Player - SDP91S,3382,1466,308.31,Uncategorized,2018-07-19T02:05:46.206005500 +3383,Panasonic VIERA 46' Black Plasma Flat Panel 1080p HDTV - TH46PZ850U,3383,2399,267.8,Uncategorized,2018-08-24T20:07:13.206005500 +3384,Olympus Lithium Ion Rechargeable Battery - LI42B,3384,2144,38.9,Uncategorized,2006-03-12T08:20:33.206005500 +3385,Kensington Combosaver Ultra Combination Notebook Lock - K64516US - K64516US,3385,116,58.6,Uncategorized,2017-09-26T18:46:00.206005500 +3386,Apple iWork 09 Software Individual Pack For Mac - MB942ZA,3386,1804,81.58,Uncategorized,2001-05-06T11:25:03.206005500 +3387,Sony Black Handycam Camcorder Soft Carrying Case - LCSX20,3387,1423,280.38,Uncategorized,2011-01-08T03:29:54.206005500 +3388,Klipsch Black Wireless iPod Speaker - ROOMGROOVE,3388,344,149.28,Uncategorized,2006-02-21T19:36:31.206005500 +3389,Sony Xplod 10-Disc Add-On CD/MP3 Changer - CDX565MXRF,3389,1631,304.42,Uncategorized,2004-07-17T07:31:17.206005500 +3390,Toshiba 26' Black LCD HDTV - 26AV502U,3390,687,226.71,Uncategorized,2004-06-27T18:15:43.206005500 +3391,KitchenAid 5-Speed Blender - Red Finish - KSB560ER,3391,1479,129.74,Uncategorized,2000-12-24T10:45:09.206005500 +3392,Panasonic LM-AF30U3 Three Pack Of Single-Sided 30 Minute DVD-RAM Discs - LMAF30U3,3392,2163,1.97,Uncategorized,2021-03-08T07:32:21.206005500 +3393,LG Over-The-Range Black Microwave Oven - LMV1680BK,3393,1391,118.07,Uncategorized,2000-11-07T07:01:41.206005500 +3394,Plantronics .Audio 920 Bluetooth Headset - AUDIO920,3394,1918,151.22,Uncategorized,2004-03-04T10:09:02.206005500 +3395,Griffin iPod DirectDeck Universal Cassette Adapter - 7256DDECK,3395,2332,15.01,Uncategorized,2014-01-11T06:02:40.206005500 +3396,iRobot Robotic Floor Washer - 74249,3396,1083,45.57,Uncategorized,2006-05-21T10:35:46.206005500 +3397,LG 42' Glossy Piano Black LCD Flat Panel HDTV - 42LG30,3397,1253,66.03,Uncategorized,2020-06-05T04:44:46.206005500 +3398,Sony Lightweight Tripod - Black Finish - VCTR640,3398,1191,66.92,Uncategorized,2020-06-15T21:09:49.206005500 +3399,Sharp Over The Counter White Microwave Oven - R1211WH,3399,882,37.15,Uncategorized,2019-02-08T15:37:04.206005500 +3400,Sony White Speaker Dock And Clock Radio For iPod And iPhone - ICFC1IPMK2WHT,3400,110,51.81,Uncategorized,2010-04-17T17:53:39.206005500 +3401,Panasonic VIERA 50' Plasma Flat Panel Black HDTV - TH50PZ800U,3401,860,276.12,Uncategorized,2007-10-12T16:45:22.206005500 +3402,Uniden DECT 6.0 Cordless Digital Answering System - DECT20802,3402,721,238.88,Uncategorized,2011-10-07T14:21:21.206005500 +3403,Garmin Nuvi Portable Friction Mount - 0101090800,3403,1938,200.42,Uncategorized,2019-03-19T19:31:20.206005500 +3404,Samsung 52' Series 7 Black Flat Panel LCD HDTV - LN52A750,3404,1720,8.34,Uncategorized,2002-05-11T04:42:52.206005500 +3405,LG LFC25770ST 25.0 Cu. Ft. Stainless Steel French Door Bottom Freezer Refrigerator - LFC25770SS,3405,1873,187.16,Uncategorized,2002-02-03T20:12:40.206005500 +3406,Flip Video F460 Black Mino HD Camcorder - F460B,3406,1799,63.57,Uncategorized,2014-10-11T17:15:40.206005500 +3407,Apple iPod Nano Gray Armband - MB769GA,3407,303,209.69,Uncategorized,2008-12-08T12:55:01.206005500 +3408,Yamaha NS-AW390BL All-Weather Pair Speaker System - NSAW390BK,3408,2331,169.97,Uncategorized,2017-01-22T02:55:41.206005500 +3409,Alpine 2-DIN DVD/CD/MP3/WMA Receiver/AV Head Unit - IVAW205,3409,1127,270.47,Uncategorized,2006-08-09T12:54:57.206005500 +3410,Panasonic Black DVD Home Theater Sound System - SCPT960,3410,1288,99.29,Uncategorized,2017-10-09T23:38:32.206005500 +3411,Omnimount Moda 2 Shelf Wall Furniture - MWFS,3411,1376,179.8,Uncategorized,2013-09-23T14:44:02.206005500 +3412,Canon Black Ink Cartridge - Black - PG40BK,3412,211,196.66,Uncategorized,2013-08-09T04:33:40.206005500 +3413,Sony Universal Remote Commander Remote Control - RMV310,3413,1769,39.94,Uncategorized,2010-12-16T06:03:34.206005500 +3414,Onkyo Black 7.1-Channel Home Theater System - HTS5100B,3414,1425,177.89,Uncategorized,2013-07-21T06:29:36.206005500 +3415,Nikon CoolPix S550 10 Megapixel Compact Plum Digital Camera - COOLPIXS550P,3415,962,260.03,Uncategorized,2003-01-21T13:19:36.206005500 +3416,Panasonic Black Expandable Digital Cordless Dect 6.0 Phone System - KXTG8232B,3416,1443,91.76,Uncategorized,2018-06-22T23:49:52.206005500 +3417,Sony 19' BRAVIA M-Series Silver LCD Flat Panel HDTV - KDL19M4000S,3417,1984,266.38,Uncategorized,2003-02-21T04:11:57.206005500 +3418,Maytag Bisque Over-The-Range Microwave Oven - MMV4205BT,3418,1695,325.46,Uncategorized,2014-09-15T07:46:35.206005500 +3419,Panasonic 5.8 GHz Black Expandable Digital Cordless Phone - KXTG4321B,3419,1139,290.02,Uncategorized,2016-08-24T06:08:01.206005500 +3420,Netgear Prosafe 5 Port Gigabit Ethernet Desktop Switch - GS105NA,3420,1284,247.54,Uncategorized,2007-01-19T10:28:26.206005500 +3421,Bracketron iPod Docking Kit - IPM202BL,3421,1875,108.23,Uncategorized,2022-05-21T07:27:39.206005500 +3422,Samsung 52' Series 5 LCD Black Flat Panel HDTV - LN52A550,3422,25,242.35,Uncategorized,2018-05-02T19:57:56.206005500 +3423,Weber 3758301 Blue Genesis EP-320 LP Gas Grill - 3758301,3423,813,111.6,Uncategorized,2016-07-03T11:25:20.206005500 +3424,Nikon D300 Digital SLR Digital Camera - D300BODY,3424,235,34.63,Uncategorized,2012-04-16T03:16:51.206005500 +3425,Flip Video F360 Black Mino Series Camcorder - F360B,3425,1847,23.43,Uncategorized,2004-01-14T14:58:41.206005500 +3426,Linksys EtherFast 4124 24-Port Ethernet Switch - EF4124,3426,1858,138.12,Uncategorized,2015-04-09T23:02:08.206005500 +3427,Denon 7.1 Channel Home Theater MultiMedia A/V Receiver With Networking And WiFi - AVR4308CI,3427,414,14.51,Uncategorized,2016-10-23T04:00:12.206005500 +3428,Panasonic 27' Stainless Steel Microwave Trim Kit - TK903SS,3428,1816,106.7,Uncategorized,2014-07-01T04:02:53.206005500 +3429,Samsung 46' Series 5 LCD Black Flat Panel HDTV - LN46A550,3429,1832,191.75,Uncategorized,2012-03-02T22:29:01.206005500 +3430,LG DLEX8377WM White XL Capacity Electric SteamDryer - DLEX8377WH,3430,259,310.11,Uncategorized,2015-01-22T07:35:34.206005500 +3431,Nikon CoolPix S550 Blue 10.0 Megapixels Compact Digital Camera - COOLPIXS550CB,3431,1668,301.94,Uncategorized,2017-12-07T02:30:50.206005500 +3432,Sony VAIO CS Series Black Notebook Computer - VGNCS180JQ,3432,2265,320.52,Uncategorized,2003-04-24T19:18:39.206005500 +3433,LaCie 500GB d2 Quadra External Hard Drive - 301825U,3433,121,69.2,Uncategorized,2001-04-13T03:56:31.206005500 +3434,Canon Black Leather Case - 3528B001,3434,896,295.18,Uncategorized,2010-06-24T00:22:53.206005500 +3435,Panasonic VIERA 37' 1080p LCD HDTV In Black - TC37LZ85,3435,565,109.39,Uncategorized,2017-04-16T23:24:52.206005500 +3436,LG 24' LDF6920ST Fully Integrated Built In Stainless Steel Dishwasher - LDF6920SS,3436,1016,80.98,Uncategorized,2007-05-10T08:12:44.206005500 +3437,Polk Audio CSI A4 Cherry Center Channel Loudspeaker - CSIA4CH,3437,988,272.7,Uncategorized,2020-03-11T06:22:15.206005500 +3438,Canon DVD Camcorder - DC320,3438,2431,226.2,Uncategorized,2005-01-18T01:31:33.206005500 +3439,Panasonic Black Hi-Definition Camcorder Starter Kit - VBGVBB1STRKIT,3439,1793,33.28,Uncategorized,2007-12-12T12:13:08.206005500 +3440,Sony 1GB Memory Stick PRO Duo Mark 2 Media Card - MSMT1G,3440,926,220.09,Uncategorized,2015-03-19T01:08:45.206005500 +3441,KitchenAid ProLine Series 16 Cup Food Processor - KPFP850OB,3441,218,292.61,Uncategorized,2004-08-25T09:50:05.206005500 +3442,Panasonic Black Expandable Digital Cordless Dect 6.0 Phone System - KXTG9348T,3442,469,307.66,Uncategorized,2000-12-16T20:13:55.206005500 +3443,Denon 7.1 Channel Home Theater MultiMedia A/V Receiver With Networking In Black - AVR3808CI,3443,1579,183.01,Uncategorized,2000-01-09T10:51:00.206005500 +3444,Sony Super Audio CD Player - SCDCE595,3444,2028,112.65,Uncategorized,2000-03-21T20:52:30.206005500 +3445,Sony Black Bravia Home Theater System - DAVHDX279W,3445,223,112.48,Uncategorized,2020-01-07T08:35:56.206005500 +3446,AppleCare Protection Plan For iPod Touch Or iPod Classic - MB591LLA,3446,503,58.88,Uncategorized,2019-11-10T16:58:58.206005500 +3447,Audiovox Xpress XM Satellite Radio Receiver Home Kit - XMH10A,3447,2296,179.25,Uncategorized,2008-10-02T20:27:31.206005500 +3448,Samsung 52' Series 7 Black Flat Panel LCD HDTV - LN52A750,3448,722,278.42,Uncategorized,2005-11-15T20:36:01.206005500 +3449,Sony Splash Resistant Shower Radio - ICFS79W,3449,649,216.55,Uncategorized,2020-02-04T17:53:11.206005500 +3450,Sennheiser Orange And Silver In Ear Headphones - CX380,3450,2296,120.44,Uncategorized,2003-06-23T10:32:29.206005500 +3451,LG White XL Load Capacity Electric Dryer - DLE0442WH,3451,2314,248.52,Uncategorized,2008-10-16T04:19:40.206005500 +3452,Panasonic KX-TG4500B Black 5.8 GHz Cordless Phone System - KXTG4500B,3452,41,241.45,Uncategorized,2006-07-27T07:34:21.206005500 +3453,Sony Universal Remote Control - RMEZ4,3453,2217,200.23,Uncategorized,2014-02-07T15:05:57.206005500 +3454,Sony Black 1080p Upscaling DVD Player - DVPNS700HB,3454,2465,80.47,Uncategorized,2022-11-04T13:22:36.206005500 +3455,Canon Blue 8.0 Megapixel PowerShot Digital Camera - SD1100ISB,3455,2112,106.62,Uncategorized,2017-06-03T04:26:57.206005500 +3456,Alpine CD-R/-RW/MP3/AAC/WMA Receiver - CDA9886,3456,69,258.07,Uncategorized,2013-09-11T06:47:43.206005500 +3457,Sharp Over The Counter Microwave Oven - R1214SS,3457,1775,294.47,Uncategorized,2009-12-04T10:35:03.206005500 +3458,Panasonic Black Blu-ray Disc Theater Sound System - SCBT100,3458,845,31.51,Uncategorized,2011-12-15T14:08:49.206005500 +3459,Sony Black VAIO Z Series 13.1' Notebook Computer - VGNZ550NB,3459,1571,23.77,Uncategorized,2009-08-19T15:03:35.206005500 +3460,Toshiba Black Progressive Scan DVD Player - SD4100,3460,1280,288.45,Uncategorized,2008-10-20T21:55:47.206005500 +3461,Sony White Cybershot T Series Digital Camera Jacket Case With Stylus - LCJTHCW,3461,1200,120.81,Uncategorized,2010-07-07T18:22:43.206005500 +3462,Panasonic LM-AF30U3 Three Pack Of Single-Sided 30 Minute DVD-RAM Discs - LMAF30U3,3462,1946,297.57,Uncategorized,2007-12-23T03:49:16.206005500 +3463,Weber Stainless Steel Genesis S320 LP Grill - 3780001,3463,81,108.64,Uncategorized,2006-08-04T08:34:24.206005500 +3464,Samsung 50' Widescreen Plasma HDTV - PN50A650,3464,2461,236.03,Uncategorized,2020-09-11T04:04:21.206005500 +3465,Nintendo DS Lite Metallic Rose Portable Gaming System - NDSUSGSZPB,3465,981,298.95,Uncategorized,2013-04-06T21:56:43.206005500 +3466,Delonghi Coffee Maker In Black - DCF212T,3466,651,160.86,Uncategorized,2021-06-12T14:21:55.206005500 +3467,LG LFX25971ST 24.7 Cu. Ft. Stainless Steel French Door Bottom Freezer Refrigerator - LFX25971SS,3467,2331,238.16,Uncategorized,2019-09-05T18:08:49.206005500 +3468,Sony Pink Cyber-Shot 7.2 Megapixel Digital Camera - DSCW120P,3468,108,72.34,Uncategorized,2016-05-03T23:09:36.206005500 +3469,LG LSC21943ST Stainless Steel Side By Side Refrigerator - LSC21943SS,3469,1941,240.55,Uncategorized,2007-03-25T22:46:27.206005500 +3470,Terk Mini Tuner Home Dock For XM Ready Home Products - Black Finish - CNP2000H,3470,1868,186.07,Uncategorized,2009-03-12T06:38:13.206005500 +3471,Sony Black Handycam Camcorder Soft Carrying Case - LCSX20,3471,624,274.71,Uncategorized,2007-04-11T01:51:21.206005500 +3472,Canon Deluxe Grey Leather Case - 2349B001,3472,226,267.11,Uncategorized,2006-05-25T10:32:03.206005500 +3473,Sony 52' BRAVIA W-Series Black LCD Flat Panel HDTV - KDL52W4100,3473,1989,44.81,Uncategorized,2017-09-12T23:58:15.206005500 +3474,Denon Stereo Tuner - TU1500RD,3474,1663,124.01,Uncategorized,2008-01-18T14:27:05.206005500 +3475,Yamaha 7.2 Channel Black Digital Home Theater Receiver - RXV663BK,3475,488,48.35,Uncategorized,2002-11-25T00:01:25.206005500 +3476,Sharp Over The Counter White Microwave Oven - R1211WH,3476,680,158.27,Uncategorized,2013-07-27T08:36:02.206005500 +3477,Logitech Digital Precision PC Gaming Headset - 981000040,3477,1626,157.19,Uncategorized,2009-05-09T09:59:56.206005500 +3478,Sony 40GB High Definition Hard Disk Drive Handycam Camcorder - HDRSR10,3478,1749,269.45,Uncategorized,2015-07-02T17:53:13.206005500 +3479,Canon Vixia High Definition Camcorder - HV30,3479,1250,56.56,Uncategorized,2000-09-16T11:05:30.206005500 +3480,Apple 8GB Black 2nd Generation iPod Touch - MB528LLA,3480,1117,252.08,Uncategorized,2012-11-16T05:56:55.206005500 +3481,Sony 46' BRAVIA S-Series Black LCD Flat Panel HDTV - KDL46S4100,3481,1624,153.33,Uncategorized,2012-10-22T18:20:49.206005500 +3482,Speck SeeThru Black Hard Shell Case For 13' MacBook - MB13BLKSEEV2,3482,1448,221.17,Uncategorized,2019-07-11T21:45:41.206005500 +3483,Speck SeeThru Pink Hard Shell Case For 15' MacBook - MB15PNKSEEV2,3483,2274,65.41,Uncategorized,2002-03-21T07:54:48.206005500 +3484,Weber Cast Iron Griddle - 7531,3484,803,189.97,Uncategorized,2013-01-27T02:39:25.206005500 +3485,LaCie 2TB Ethernet Big Disk External Hard Drive - 301239U,3485,75,139.87,Uncategorized,2022-11-17T00:25:25.206005500 +3486,OmniMount CMK White Wall Cable Management Kit - CMKMINI,3486,1154,297.31,Uncategorized,2003-06-12T06:02:10.206005500 +3487,Apple iWork 09 Software Individual Pack For Mac - MB942ZA,3487,1957,168.96,Uncategorized,2011-02-26T07:08:04.206005500 +3488,Apple 16GB Green 4th Generation iPod Nano - MB913LLA,3488,261,10.61,Uncategorized,2000-10-02T16:27:12.206005500 +3489,Sony Bud Style Headphones In Red - MDRED12LPRED,3489,891,235.92,Uncategorized,2015-12-07T20:59:03.206005500 +3490,Bose Acoustimass 5 Series III Speaker System - AM53BK,3490,2302,209.71,Uncategorized,2017-07-18T05:57:35.206005500 +3491,Linksys Wireless-G Broadband Router - WRT54GL,3491,1454,180.16,Uncategorized,2000-04-01T09:32:28.206005500 +3492,Logitech diNovo Edge Keyboard Mac Edition - 920000924,3492,1602,48.19,Uncategorized,2020-02-12T23:12:51.206005500 +3493,Samsung 32' Series 5 LCD Black Flat Panel HDTV - LN32A550,3493,72,316.32,Uncategorized,2003-08-07T02:27:16.206005500 +3494,Sony VAIO Z Series Black Notebook Computer - VGNZ591UB,3494,1085,250.15,Uncategorized,2008-03-07T10:53:51.206005500 +3495,Toshiba Black 15' LCD Flat Panel HDTV/DVD Combo - 15LV505,3495,125,271.71,Uncategorized,2017-12-16T18:36:41.206005500 +3496,Olympus Silver 8 Megapixel Digital Camera - FE370S,3496,481,214.42,Uncategorized,2019-05-23T07:33:35.206005500 +3497,Audiovox Commander MT XM Satellite Radio Receiver - XMRVRFM002,3497,1354,67.84,Uncategorized,2015-12-25T22:13:16.206005500 +3498,Sony Red Cyber-Shot Digital Camera - DSCW150R,3498,1111,247.53,Uncategorized,2006-11-16T15:22:22.206005500 +3499,Peerless 37' - 60' Flat Panel TV Black Wall Mount - ST660P,3499,1642,50.8,Uncategorized,2000-09-08T22:03:38.206005500 +3500,Sony White Earbud Style Headphones - MDREX55WH,3500,2258,230.83,Uncategorized,2022-07-10T07:52:49.206005500 +3501,Toshiba Black 1080p Upconversion DVD Recorder/VCR Combinaton - DVR610,3501,1673,228.72,Uncategorized,2005-07-12T18:48:08.206005500 +3502,Cuisinart Convection-Oven-Toaster-Broiler With Exact Heat Sensor - TOB165WH,3502,891,238.29,Uncategorized,2014-06-21T22:29:56.206005500 +3503,Panasonic Silver 8.1 Megapixel Digital Camera - DMCFS3S,3503,1149,296.94,Uncategorized,2021-09-01T04:23:47.206005500 +3504,AT&T Aliph Jawbone II Silver Bluetooth Headset - JAWBONE2S,3504,1360,248.39,Uncategorized,2001-04-24T14:44:25.206005500 +3505,LG 5.6 Cu. Ft. White Freestanding Electric Range - LRE30453WH,3505,1908,147.61,Uncategorized,2016-06-01T15:20:47.206005500 +3506,Sony 40GB High Definition Hard Disk Drive Handycam Camcorder - HDRSR10,3506,1353,75.11,Uncategorized,2003-04-22T13:54:44.206005500 +3507,Canon Silver 8.0 Megapixel PowerShot Digital Camera - SD1100IS,3507,2219,286.94,Uncategorized,2012-02-08T08:40:32.206005500 +3508,Canon Charger And Rechargable AA Battery Kit - 1169B001,3508,2055,144.15,Uncategorized,2007-01-26T17:32:56.206005500 +3509,Onkyo Black 7.1-Channel Home Theater System - HTS5100B,3509,102,68.88,Uncategorized,2000-10-10T17:39:36.206005500 +3510,Netgear ProSafe 16 Port 10/100 Desktop Switch - Purple Finish - FS116P,3510,618,277.83,Uncategorized,2022-11-12T16:44:29.206005500 +3511,Netgear ProSafe 5 Port 10/100 Desktop Switch - FS105,3511,983,179.09,Uncategorized,2013-02-18T01:42:04.206005500 +3512,Yamaha 7.2 Channel Black Digital Home Theater Receiver - RXV863BK,3512,1060,208.65,Uncategorized,2008-12-25T19:14:07.206005500 +3513,Logitech Black V220 Cordless Optical Mouse For Notebooks - 910000153,3513,1925,3.55,Uncategorized,2007-08-17T23:01:23.206005500 +3514,Speck SeeThru Clear Hard Shell Case For MacBook Air - MBACLRSEE,3514,253,40.83,Uncategorized,2014-05-06T07:56:07.206005500 +3515,Nintendo DS Lite Crimson/Black Portable Gaming System - NDSUSGSRMKB,3515,538,70.06,Uncategorized,2011-08-08T05:17:44.206005500 +3516,Panasonic 5-Pack DVD-RAM Discs - LMAF120LU5,3516,1439,203.25,Uncategorized,2011-11-01T02:15:17.206005500 +3517,Sony LCS-TWA/B Black Soft Leather Carrying Case - LCSTWAB,3517,215,316.03,Uncategorized,2022-12-09T09:44:41.206005500 +3518,Netgear RangeMax Wireless Access Point - White Finish - WPN802NA,3518,844,271.49,Uncategorized,2005-07-12T16:33:44.206005500 +3519,Escort Passport 9500CI Radar Detector - 9500CI,3519,239,281.11,Uncategorized,2015-06-18T03:39:24.206005500 +3520,Olympus Silver Digital Voice Recorder - VN4100PC,3520,2239,156.32,Uncategorized,2020-12-14T16:57:03.206005500 +3521,Netgear ProSafe 24-Port Smart Switch - GS724TP,3521,415,145.77,Uncategorized,2017-05-05T04:55:21.206005500 +3522,Polk Audio White Round Two-Way In-Wall Loudspeaker - TC60I,3522,1837,37.26,Uncategorized,2015-09-22T06:19:16.206005500 +3523,Sony White Cybershot T Series Digital Camera Jacket Case With Stylus - LCJTHCW,3523,411,57.85,Uncategorized,2013-01-20T09:03:36.206005500 +3524,Panasonic DECT 6.0 2-Line Digital Expandable Corded/Cordless Phone System - KXTG9391T,3524,2164,205.2,Uncategorized,2003-07-13T08:57:25.206005500 +3525,Sennheisser Hi-Fi Wireless Headphone - RS130,3525,1249,104.77,Uncategorized,2015-12-17T11:48:48.206005500 +3526,Peerless 42' - 71' Articulating Flat Panel TV Silver Dual Wall Arm Mount - PLAV70UNLPS,3526,719,194.19,Uncategorized,2015-09-24T19:06:10.206005500 +3527,Nikon 55-200MM Zoom-Nikkor Lens Accessory - 2156,3527,1885,223.24,Uncategorized,2013-01-26T22:30:06.206005500 +3528,Whirlpool White Front Load Washer - WFW9200SWH,3528,1441,231.44,Uncategorized,2007-11-15T19:02:08.206005500 +3529,Panasonic VIERA 58' 1080p Plasma HDTV In Black - TH58PZ850U,3529,2089,127,Uncategorized,2018-10-25T00:43:05.206005500 +3530,Samsung 22' Black Flat Panel LCD HDTV - LN22A450,3530,1120,280.7,Uncategorized,2022-12-04T12:17:28.206005500 +3531,Nintendo DS Lite Metallic Silver Portable Gaming System - NDSUSGSVB,3531,97,86.59,Uncategorized,2021-09-08T17:23:27.206005500 +3532,Sony VAIO VGP-PRSZ1 SZ Series Docking Station - VGPPRSZ1,3532,745,200.69,Uncategorized,2010-09-15T10:06:30.206005500 +3533,Sony 5 Disc CD Player - CDPCE375,3533,11,221.6,Uncategorized,2013-12-17T10:17:02.206005500 +3534,Samsung 5 Disc Home Theater Surround Sound System - HTTZ515,3534,723,155.74,Uncategorized,2004-11-16T19:54:18.206005500 +3535,Linksys Ultra RangePlus Wireless-N Broadband Router - WRT160N,3535,1566,46.62,Uncategorized,2007-07-12T03:11:59.206005500 +3536,Olympus Black 10 Megapixels Digital Camera - SP565UZ,3536,1592,316.33,Uncategorized,2002-07-27T21:11:54.206005500 +3537,Danby Designer Portable Dishwasher - DDW1805WH,3537,1678,248.78,Uncategorized,2012-09-06T16:55:25.206005500 +3538,Belkin Neoprene Sleeve For MacBook Air - F8N065BLK,3538,613,1.7,Uncategorized,2010-06-23T10:53:02.206005500 +3539,Panasonic Black 1080p Up-Conversion DVD Recorder - DMREZ28K,3539,2280,191.34,Uncategorized,2008-11-04T10:24:42.206005500 +3540,Sony SLV-D380P Black DVD VHS Combo Player - SLVD380P,3540,454,259.82,Uncategorized,2009-12-14T04:08:56.206005500 +3541,Canon Black EOS 50D Digital SLR Camera With 28-135MM Lens - 50D28135,3541,431,244.11,Uncategorized,2009-10-19T07:24:47.206005500 +3542,Sanus 30' - 58' VisionMount Flat Panel TV Black Tilting Wall Mount - LT25B1,3542,1939,13.07,Uncategorized,2012-07-08T21:57:30.206005500 +3543,Coby Black 15' Widescreen Flat Panel LCD HDTV - TFTV1514,3543,735,106.93,Uncategorized,2013-02-06T06:57:53.206005500 +3544,Whirlpool Cabrio Diamond Dust Top Loading Washer - WTW6700TU,3544,2351,231.43,Uncategorized,2008-01-07T22:38:23.206005500 +3545,LaCie USB 2.0 Floppy Disk Drive - 706018,3545,2036,31.91,Uncategorized,2022-01-01T15:44:20.206005500 +3546,Apple MacBook Pro 2.4GHz Intel Core 2 Duo Silver Notebook Computer - MB470LLA,3546,835,272.64,Uncategorized,2011-01-03T00:01:14.206005500 +3547,Pioneer Remote Control With DVD/Audio Controls - CDR55,3547,786,28.61,Uncategorized,2001-09-02T08:51:33.206005500 +3548,Speck SeeThru Orange Hard Shell Case For 13' MacBook - MB13ORGSEEV2,3548,2067,114.99,Uncategorized,2014-03-23T00:57:25.206005500 +3549,Canon Pink 8.0 Megapixel PowerShot Digital Camera - SD1100ISP,3549,26,308.62,Uncategorized,2006-06-06T19:37:27.206005500 +3550,Canon Printer Black Ink Cartridge - CLI221BLK,3550,1197,170.15,Uncategorized,2001-06-14T10:31:24.206005500 +3551,Speck ToughSkin Black Case For 4th Generation iPod Nano - NN4TSBLK,3551,163,26.17,Uncategorized,2012-11-10T00:43:02.206005500 +3552,Peerless Flat Panel Display Mount Black Finish - SGLB01,3552,1068,135.94,Uncategorized,2014-06-11T00:39:51.206005500 +3553,Speck Green 13' MacBook See Thru Hard Shell Case - MB13GRNSEEV2,3553,570,4.59,Uncategorized,2011-03-14T17:29:53.206005500 +3554,Whirlpool 10' WHP1000SQ Duet Washer And Dryer White Pedestal Without Drawer - WHP1000WH,3554,2156,158.74,Uncategorized,2014-05-09T17:41:18.206005500 +3555,Weber Stainless Steel Genesis S320 LP Grill - 3780001,3555,183,306.18,Uncategorized,2013-08-03T15:28:46.206005500 +3556,Netgear Prosafe 5 Port Gigabit Ethernet Desktop Switch - GS105NA,3556,757,319.24,Uncategorized,2007-10-23T16:27:14.206005500 +3557,LaCie 2TB Ethernet Big Disk External Hard Drive - 301239U,3557,956,297.43,Uncategorized,2020-06-16T07:06:48.206005500 +3558,Canon PowerShot Silver Digital Camera - SX110IS,3558,497,289.12,Uncategorized,2011-08-13T15:41:26.206005500 +3559,Pioneer USB iPod Interface Cable - CDIU230V,3559,720,306.68,Uncategorized,2008-10-14T22:26:26.206005500 +3560,Transcend JetFlash V10 16GB USB Flash Drive - TS16GJFV10,3560,789,150.22,Uncategorized,2012-11-06T15:54:16.206005500 +3561,Bose Acoustimass 5 Series III Speaker System - AM53BK,3561,805,254.74,Uncategorized,2020-04-04T09:39:02.206005500 +3562,Sony 32' BRAVIA XBR Series Black LCD Flat Panel HDTV - KDL32XBR6,3562,1349,282.85,Uncategorized,2017-03-07T12:22:55.206005500 +3563,Samsung 7.1-Channel Blu-ray Home Theater System - HTBD2TXAA,3563,1493,321.61,Uncategorized,2015-09-04T21:51:29.206005500 +3564,Jabra Bluetooth Headset - BT2070,3564,2261,5.04,Uncategorized,2001-02-23T14:18:35.206005500 +3565,Panasonic DECT 6.0 Silver Expandable Digital Cordless Phone System - KXTG9332S,3565,2441,50,Uncategorized,2003-04-05T16:56:21.206005500 +3566,LaCie 2TB Ethernet Big Disk External Hard Drive - 301239U,3566,2497,172.11,Uncategorized,2020-09-02T13:59:07.206005500 +3567,Sony MS-A1GD 1GB Memory Stick Micro (M2) - MSA1GD,3567,85,54.05,Uncategorized,2021-01-24T08:12:29.206005500 +3568,DeLonghi Magnifica Super-Automatic Espresso/Coffee Machine - ESAM3300,3568,483,183,Uncategorized,2015-06-03T23:30:03.206005500 +3569,Audiovox XpressR XM Satellite Radio Receiver - XMCK20P,3569,2277,6.31,Uncategorized,2012-09-20T03:12:41.206005500 +3570,Linksys Wireless-G VPN Broadband Silver Router - WRV54G,3570,471,41.45,Uncategorized,2012-07-15T04:00:12.206005500 +3571,Panasonic 26' LCD HDTV In Black - TC26LX85,3571,1948,129.31,Uncategorized,2021-02-27T22:23:03.206005500 +3572,Sony VAIO CS Series Pink Notebook Computer - VGNCS180JP,3572,195,90.65,Uncategorized,2014-04-25T04:06:19.206005500 +3573,Cuisinart Cordless Electric Kettle - KUA17,3573,2244,270.47,Uncategorized,2011-04-25T11:57:40.206005500 +3574,Altec Lansing inMotion iPod Portable Audio System - IM600USB,3574,716,192.67,Uncategorized,2017-02-09T01:23:04.206005500 +3575,Panasonic Integrated Black Telephone System With All-Digital Answering System - KXTS620B,3575,23,311.5,Uncategorized,2010-01-12T18:44:46.206005500 +3576,OmniMount 37' - 63' Ultra Low Profile Series Large Flat Panel TV Black Mount - ULPTLBK,3576,1854,291.04,Uncategorized,2021-07-15T06:39:46.206005500 +3577,Panasonic Black Blu-ray Disc Theater Sound System - SCBT100,3577,1177,185.7,Uncategorized,2005-05-02T02:23:26.206005500 +3578,Canon Silver 10 Megapixel PowerShot Digital Camera - SD790IS,3578,1878,268.36,Uncategorized,2008-04-08T16:44:48.206005500 +3579,Nikon Pink 10 Megapixel COOLPIX Digital Camera - COOLPIXS60PNK,3579,1395,127.08,Uncategorized,2006-05-23T07:34:50.206005500 +3580,Samsung 37' Series 5 LCD Black Flat Panel HDTV - LN37A550,3580,1756,137.73,Uncategorized,2013-11-27T20:34:14.206005500 +3581,Canon Silver 8.0 Megapixel PowerShot Digital Camera - SD1100IS,3581,2284,199.33,Uncategorized,2022-07-25T05:04:26.206005500 +3582,Yamaha Black Digital Sound Projector - YSP3050BK,3582,1510,293.53,Uncategorized,2021-02-18T21:44:55.206005500 +3583,Sony Home Entertainment Server In Black - HESV1000,3583,743,226.31,Uncategorized,2000-09-03T14:23:49.206005500 +3584,Speck SeeThru Pink Hard Shell Case For 13' MacBook - MB13PNKSEEV2,3584,1070,260.57,Uncategorized,2006-08-17T06:25:20.206005500 +3585,Sony Black 1080p Upscaling DVD Player - DVPNS700HB,3585,50,130.86,Uncategorized,2016-03-15T12:12:39.206005500 +3586,Canon Black 8.0 Megapixel PowerShot Digital Camera - A590IS,3586,912,204.95,Uncategorized,2001-05-15T20:55:55.206005500 +3587,Alpine V-Power Series 4/3/2 Channel Power Amplifier - MRPF300,3587,2473,28.29,Uncategorized,2000-08-05T03:03:35.206005500 +3588,Sony Digital Photo Printer Paper 120 Pack - SVMF120P,3588,2425,1.26,Uncategorized,2016-10-09T17:46:21.206005500 +3589,Samsung 52' Series 8 LCD Black Flat Panel HDTV - LN52A860,3589,266,241.27,Uncategorized,2022-09-08T06:24:18.206005500 +3590,Samsung 5 Disc Home Theater Surround Sound System - HTTZ515,3590,242,172.14,Uncategorized,2000-10-10T21:08:27.206005500 +3591,Belkin F3H982-10 Pro Series High Integrity 10 Feet Monitor Cable - F3H98210,3591,302,138.41,Uncategorized,2006-12-25T16:04:30.206005500 +3592,Speck SeeThru Pink Hard Shell Case For 15' MacBook - MB15PNKSEEV2,3592,2074,48.92,Uncategorized,2004-06-04T12:27:08.206005500 +3593,Samsung 46' Series 8 LCD Black Flat Panel HDTV - LN46A860,3593,1628,239.63,Uncategorized,2013-09-13T01:48:51.206005500 +3594,Elgato TV Receiver And Video Converter For Analog & Digital TV - 10020780,3594,459,245.74,Uncategorized,2012-02-13T07:33:21.206005500 +3595,Sony Memory Stick USB Adaptor - MSACUS40,3595,1017,168.74,Uncategorized,2015-08-04T09:34:16.206005500 +3596,Canon DVD Camcorder - DC310,3596,214,45.87,Uncategorized,2007-11-24T12:37:49.206005500 +3597,Apple 8GB Purple 4th Generation iPod Nano - MB739LLA,3597,1261,46.48,Uncategorized,2009-01-12T17:18:46.206005500 +3598,Sony Lithium-Ion Rechargeable Battery Pack - NPFD1,3598,1181,326.51,Uncategorized,2016-06-11T18:31:38.206005500 +3599,Sony Black Camcorder Tripod - VCT80AV,3599,994,122.52,Uncategorized,2017-08-07T17:22:48.206005500 +3600,Panasonic Black 1080p Up-Conversion DVD Recorder - DMREZ28K,3600,423,103.21,Uncategorized,2002-05-08T20:33:06.206005500 +3601,Cuisinart Exact Heat Matte Black Toaster Oven Broiler - TOB155,3601,379,71.49,Uncategorized,2016-10-12T08:53:40.206005500 +3602,Linksys Wireless N Access Point - WAP4400N,3602,1284,301.32,Uncategorized,2004-03-14T11:31:50.206005500 +3603,LG LRBP1031 White Bottom-Freezer Refrigerator - LRBP1031WH,3603,854,233.09,Uncategorized,2022-10-19T12:00:10.206005500 +3604,Peerless 32' - 45' Articulating Flat Panel TV Black Wall Arm - SA745PU,3604,1780,256.22,Uncategorized,2013-02-05T00:16:16.206005500 +3605,LG LFC25770ST 25.0 Cu. Ft. Stainless Steel French Door Bottom Freezer Refrigerator - LFC25770SS,3605,295,237.33,Uncategorized,2011-04-09T14:42:21.206005500 +3606,Apple MacBook Pro 2.4GHz Intel Core 2 Duo Silver Notebook Computer - MB470LLA,3606,1324,28.89,Uncategorized,2009-09-07T03:21:42.206005500 +3607,Nintendo DS Lite Crimson/Black Portable Gaming System - NDSUSGSRMKB,3607,1674,209.54,Uncategorized,2004-10-18T13:13:39.206005500 +3608,Panasonic VIERA 50' Plasma Flat Panel 1080p HDTV In Black - TH50PZ80U,3608,2033,245.48,Uncategorized,2017-12-23T11:42:36.206005500 +3609,Sony 8GB Memory Stick PRO Duo Mark 2 Media Card - MSMT8G,3609,339,94.75,Uncategorized,2018-01-24T02:48:12.206005500 +3610,Nokia T-Mobile Unlocked Cellular Phone - N96,3610,53,4.38,Uncategorized,2005-05-12T08:05:39.206005500 +3611,Toshiba 40' Black Flat Panel LCD HDTV - 40RV525U,3611,2132,315.94,Uncategorized,2004-05-08T09:44:48.206005500 +3612,Sony White Earbud Style Headphones - MDREX55WH,3612,1291,207.56,Uncategorized,2000-10-08T14:49:47.206005500 +3613,Panasonic Black Expandable Digital Cordless Dect 6.0 Phone System - KXTG8232B,3613,1849,243.91,Uncategorized,2017-01-27T08:10:14.206005500 +3614,TomTom ONE XL 330 Car GPS Navigation System - 1EG005200,3614,1262,91.93,Uncategorized,2008-09-23T23:00:49.206005500 +3615,Bracketron Black GPS Low-Pro Windshield Mount - SWM400BL,3615,1274,321.29,Uncategorized,2019-11-24T13:48:06.206005500 +3616,Sony VAIO LV Series Silver All-In-One Desktop Computer - VGCLV150J,3616,475,73.34,Uncategorized,2006-03-25T19:51:42.206005500 +3617,Canon Color Image Silver Scanner - 8800F,3617,1549,197.93,Uncategorized,2014-11-16T04:13:40.206005500 +3618,Whirlpool Cabrio WTW6400SW Top Loading White Washer - WTW6400SWH,3618,628,103.63,Uncategorized,2008-11-06T17:48:03.206005500 +3619,Speck SeeThru Blue Hard Shell Case For 13' MacBook - MB13BLUSEEV2,3619,645,57.85,Uncategorized,2021-06-16T05:11:22.206005500 +3620,Sony Digital Photo Printer Paper 40 Pack - SVMF40P,3620,624,224.16,Uncategorized,2019-11-03T17:17:14.206005500 +3621,Denon Blu-ray Disc DVD/CD Player - DVD3800BDCI,3621,2342,112.68,Uncategorized,2021-11-05T00:27:07.206005500 +3622,Griffin Black iPhone 3G Clarifi Protective Case With Built-In Close-Up Lens - 8245IP2MGNFI,3622,2187,268.94,Uncategorized,2021-08-06T13:44:57.206005500 +3623,Yamaha 5.1 Channel Home Theater In A Box System In Black - YHT390BK,3623,384,246.21,Uncategorized,2019-02-23T06:26:14.206005500 +3624,Canon PowerShot Silver Digital Camera - SX110IS,3624,1942,220.74,Uncategorized,2012-03-10T02:25:59.206005500 +3625,Canon PowerShot Silver 14.7 Megapixel Digital Camera - SD990IS,3625,2148,208.14,Uncategorized,2016-01-12T01:35:28.206005500 +3626,Panasonic PT-AX200U White Home Theater Projector - PTAX200,3626,901,130.42,Uncategorized,2014-10-08T21:10:00.206005500 +3627,Tivo Wireless Adapter - AG0100,3627,1053,116.07,Uncategorized,2007-02-04T21:57:07.206005500 +3628,LG LSC21943ST Stainless Steel Side By Side Refrigerator - LSC21943SS,3628,2496,121.03,Uncategorized,2019-03-25T19:22:35.206005500 +3629,LG LFC25770SW 25.0 Cu. Ft. Smooth White French Door Bottom Freezer Refrigerator - LFC25770WH,3629,1392,62.31,Uncategorized,2015-01-19T16:57:47.206005500 +3630,Onkyo THX Ultra2 Certified 7.1 Channel Home Theater Black Receiver - TXNR906B,3630,222,135.82,Uncategorized,2013-04-24T12:53:21.206005500 +3631,Panasonic VIERA 42' Plasma Flat Panel 1080p HDTV In Black - TH42PZ85U,3631,1892,311.32,Uncategorized,2009-07-26T00:24:28.206005500 +3632,Linksys Simultaneous Dual-N Band Wireless Router - WRT610N,3632,2442,219.12,Uncategorized,2000-05-12T19:47:30.206005500 +3633,Sirius STILETTO 2 Portable Satellite Radio - SL2PK1,3633,2201,122.79,Uncategorized,2014-03-08T22:05:56.206005500 +3634,Samsung 46' Series 8 LCD Black Flat Panel HDTV - LN46A860,3634,1396,202.2,Uncategorized,2003-10-21T23:21:04.206005500 +3635,Sony Silver Cyber-Shot Digital Camera - DSCW150,3635,827,71.72,Uncategorized,2009-12-13T12:54:20.206005500 +3636,Nokia T-Mobile Unlocked Cellular Phone - N96,3636,2423,116.61,Uncategorized,2007-01-06T23:26:03.206005500 +3637,Panasonic VIERA 46' Black Plasma Flat Panel 1080p HDTV - TH46PZ850U,3637,1954,80.44,Uncategorized,2005-01-08T08:15:05.206005500 +3638,Denon Black AVR-1609 Home Theater Surround Sound Receiver - AVR1609,3638,816,177.81,Uncategorized,2004-08-25T11:57:53.206005500 +3639,Denon 7.1 Channel Home Theater MultiMedia A/V Receiver With Networking In Black - AVR3808CI,3639,1828,129.12,Uncategorized,2000-09-14T07:57:19.206005500 +3640,Garmin 010-10823-00 Black Nuvi 660 Vehicle Suction Cup Mount - 0101082300,3640,685,167.81,Uncategorized,2022-11-04T20:26:42.206005500 +3641,Nikon Pink 10 Megapixel COOLPIX Digital Camera - COOLPIXS60PNK,3641,1484,54.5,Uncategorized,2005-03-10T20:30:26.206005500 +3642,Frigidaire 24' White Built-In Dishwasher - FDB130WH,3642,824,81.74,Uncategorized,2003-11-17T15:53:04.206005500 +3643,Panasonic 5.8GHz Add-On Handset For The KXTG6700B Phone System - Black Finish - KXTGA670B,3643,497,310.14,Uncategorized,2020-12-25T16:50:03.206005500 +3644,Nikon COOLPIX P80 Digital Camera In Black - COOLPIXP80,3644,135,311.75,Uncategorized,2013-01-19T05:31:12.206005500 +3645,Sony BRAVIA Black SXRD 1080p Home Theater Front Projector - VPLHW10,3645,1468,216.85,Uncategorized,2019-11-09T04:46:02.206005500 +3646,Bose Lifestyle 48 Series IV 43479 Home Entertainment System - LS48IVWH,3646,1530,131.85,Uncategorized,2018-05-25T10:19:30.206005500 +3647,Canon Black Ink Cartridge - Black - PG40BK,3647,2393,6.88,Uncategorized,2014-01-16T05:50:44.206005500 +3648,Nikon 55-200MM Zoom-Nikkor Lens Accessory - 2156,3648,2305,315.45,Uncategorized,2009-10-23T07:55:10.206005500 +3649,Griffin Elevator Brushed Aluminum Laptop Stand - 1093CURV2,3649,1500,217.08,Uncategorized,2000-04-21T02:02:58.206005500 +3650,Samsung 52' Series 8 LCD Black Flat Panel HDTV - LN52A860,3650,1005,79.52,Uncategorized,2021-12-10T15:18:48.206005500 +3651,Hoover Bagged Tempo Widepath Upright Vacuum - U5140,3651,260,9.97,Uncategorized,2011-09-11T13:57:44.206005500 +3652,Apple MacBook Pro 2.53GHz Intel Core 2 Duo Silver Notebook Computer - MB471LLA,3652,1062,45.92,Uncategorized,2018-01-03T18:28:17.206005500 +3653,Weber Genesis E-310 Natural Gas Black Outdoor Grill - 3841001,3653,1267,262.15,Uncategorized,2005-07-10T12:17:16.206005500 +3654,Griffin iPod DirectDeck Universal Cassette Adapter - 7256DDECK,3654,167,155.27,Uncategorized,2016-02-06T15:13:24.206005500 +3655,Klipsch 5.25' THX Ultra2 In-Ceiling White Loudspeaker - KS7502THX,3655,725,103.11,Uncategorized,2009-10-23T23:27:25.206005500 +3656,Griffin Black iPhone 3G Wave Case - 8227IP2WVB,3656,1570,190.87,Uncategorized,2006-06-06T17:17:25.206005500 +3657,Mitsubishi DLP Black TV Stand - MBS73V,3657,1194,297,Uncategorized,2004-12-15T01:31:05.206005500 +3658,Canon Battery Charger - 1133B001,3658,615,194.89,Uncategorized,2010-03-11T07:21:24.206005500 +3659,Samsung 26' Black Flat Panel Series 4 LCD HDTV - LN26A450,3659,913,88.46,Uncategorized,2021-08-25T17:32:27.206005500 +3660,Garmin Deluxe Carrying Case - Black Finish - 0101023101,3660,1215,79.57,Uncategorized,2012-06-17T21:59:37.206005500 +3661,Lowepro Digital Camera Case In Black - REZO15BK,3661,910,122.85,Uncategorized,2015-10-21T18:55:01.206005500 +3662,Panasonic VIERA 50' Plasma Flat Panel 1080p HDTV In Black - TH50PZ80U,3662,1636,233.08,Uncategorized,2001-04-07T19:51:10.206005500 +3663,Kenwood Sirius Radio Translator For In-Dash Head Units - KCASR50,3663,655,280.35,Uncategorized,2003-07-15T03:56:19.206005500 +3664,Sony 5 Disc CD Player - CDPCE375,3664,1826,232.57,Uncategorized,2006-09-08T22:21:03.206005500 +3665,Klipsch Groove PM20 Computer Speakers - GROOVEPM20BK,3665,2159,176.62,Uncategorized,2011-06-21T14:04:38.206005500 +3666,Nikon CoolPix S550 10 Megapixel Compact Plum Digital Camera - COOLPIXS550P,3666,442,117.28,Uncategorized,2013-07-21T17:52:17.206005500 +3667,Sharp 26' Black LCD HDTV With Built In DVD Player - LC26DV24U,3667,1158,289.45,Uncategorized,2010-07-07T06:02:00.206005500 +3668,Apple 16GB Green 4th Generation iPod Nano - MB913LLA,3668,522,66.16,Uncategorized,2005-01-10T02:29:13.206005500 +3669,Panasonic 5.8 GHz Black Expandable Digital Cordless Phone - KXTG4321B,3669,1946,237.32,Uncategorized,2019-09-12T00:29:08.206005500 +3670,Olympus Evolt-420 10 Megapixel Digital SLR Camera With 14-42mm Lens In Black - EVOLTE420KIT,3670,883,117.89,Uncategorized,2000-11-05T02:34:26.206005500 +3671,LG LFC25770SB 25.0 Cu. Ft. Smooth Black French Door Bottom Freezer Refrigerator - LFC25770BK,3671,1902,326.63,Uncategorized,2005-08-10T01:48:35.206005500 +3672,Netgear Prosafe 16 Port 10/100 Rackmount Switch - Black Finish - JFS516NA,3672,1204,18.42,Uncategorized,2021-09-14T10:08:51.206005500 +3673,Sanus Center Channel Speaker Mount - Black Finish - VMCC1B,3673,842,42.97,Uncategorized,2008-05-07T11:46:45.206005500 +3674,Sony Pink Cyber-Shot 7.2 Megapixel Digital Camera - DSCW120P,3674,412,87.72,Uncategorized,2009-05-01T05:26:59.206005500 +3675,Panasonic VIERA 46' Plasma Flat Panel 1080p HDTV In Black - TH46PZ80U,3675,382,244.5,Uncategorized,2004-03-06T11:36:46.206005500 +3676,LG 2.0 Cu. Ft. Over-The-Range Stainless Steel Microwave Oven - LMVM2085SS,3676,3,161.12,Uncategorized,2006-11-09T11:39:09.206005500 +3677,Polk Audio 5.1 Channel Black Home Theater Speaker System - RM705BK,3677,1243,66.7,Uncategorized,2001-04-26T00:16:32.206005500 +3678,Canon Black Leather Case - 3528B001,3678,1609,129.84,Uncategorized,2022-11-09T06:18:17.206005500 +3679,Sony 1GB Memory Stick PRO Duo Mark 2 Media Card - MSMT1G,3679,1982,217.86,Uncategorized,2020-08-24T15:09:20.206005500 +3680,Sony Active Style Headphones In Black - MDRAS50G,3680,186,304.74,Uncategorized,2019-01-12T17:16:39.206005500 +3681,Yamaha YAS-71 Black Front Surround System - YAS71BK,3681,339,209.84,Uncategorized,2014-11-17T06:34:02.206005500 +3682,Sony 5.1 Channel Black A/V Receiver - STRDG520,3682,810,326.61,Uncategorized,2013-08-06T23:08:44.206005500 +3683,Peerless 37' - 60' Flat Panel TV Black Wall Mount - ST660P,3683,1305,247.31,Uncategorized,2005-10-13T03:25:44.206005500 +3684,Speck Black ToughSkin iPod Classic Case - ICBLKTS,3684,895,214.15,Uncategorized,2007-01-05T18:37:51.206005500 +3685,Monster PS3 HDMI-2M Playstation 3 GameLink HDMI Digital Video/Audio Cable - PS3HDMI2M,3685,440,231.2,Uncategorized,2018-01-06T02:16:51.206005500 +3686,Canon Printer Ink Cartridge 4 Colors Pack - 2946B004,3686,964,195.37,Uncategorized,2003-12-05T04:56:03.206005500 +3687,Apple MacBook Air SuperDrive - MB397GA,3687,2165,93.5,Uncategorized,2009-12-17T02:46:59.206005500 +3688,Panasonic Black 8.5' Portable DVD Player - DVDLS83,3688,1039,27.25,Uncategorized,2016-12-14T09:31:11.206005500 +3689,Panasonic VIERA 42' Plasma Flat Panel HDTV In Black - TH42PX80U,3689,1598,325.49,Uncategorized,2014-02-25T16:52:26.206005500 +3690,Yamaha 5.1 Channel Home Theater In A Box System In Black - YHT390BK,3690,2139,11.05,Uncategorized,2007-01-02T20:39:15.206005500 +3691,Samsung 52' Series 7 Black Flat Panel LCD HDTV - LN52A750,3691,2106,102.96,Uncategorized,2009-10-10T12:23:51.206005500 +3692,Audiovox 9' LCD Drop Down TV With Built-In DVD - VE927,3692,2159,149.38,Uncategorized,2022-12-15T16:53:48.206005500 +3693,Polk Audio Sirius Satellite Radio Home Tuner - SRH1000,3693,2207,99.88,Uncategorized,2012-11-11T10:24:05.206005500 +3694,Sony 52' BRAVIA W-Series Black LCD Flat Panel HDTV - KDL52W4100,3694,921,73.74,Uncategorized,2013-06-21T21:00:06.206005500 +3695,Sony DSCH2 Soft Carrying Camera Case - Black Finish - LCSCSH,3695,971,273.22,Uncategorized,2019-07-16T12:04:58.206005500 +3696,Canon Black 8.0 Megapixel PowerShot Digital Camera - A590IS,3696,269,60.44,Uncategorized,2012-02-21T03:58:50.206005500 +3697,Sony Digital SLR Camera With Lens Kit - DSLRA200W,3697,1441,259.61,Uncategorized,2007-06-02T23:43:19.206005500 +3698,GE GSD4000NWW White Built-In Dishwasher - GSD4000WH,3698,1315,61.37,Uncategorized,2012-07-18T16:55:47.206005500 +3699,Transcend JetFlash V10 8GB USB Flash Drive - TS8GJFV10,3699,2263,311.94,Uncategorized,2004-04-01T18:52:50.206005500 +3700,AppleCare Protection Plan For iPod Touch Or iPod Classic - MB591LLA,3700,2260,222.69,Uncategorized,2016-11-24T09:28:29.206005500 +3701,Kenwood 6.1' All-In-One Double-Din In-Dash Navigation - DNX5120,3701,382,8.87,Uncategorized,2005-11-05T23:35:50.206005500 +3702,Nikon D90 Black Digital SLR Camera With Nikkor 18-105mm Lens - D90OUTFIT,3702,90,116.11,Uncategorized,2014-02-13T23:20:42.206005500 +3703,Sharp Over The Counter Microwave Oven - R1214SS,3703,1891,3.77,Uncategorized,2014-12-10T17:50:39.206005500 +3704,Samsung 46' Series 9 LCD Black Flat Panel HDTV - LN46A950,3704,2051,300.42,Uncategorized,2019-04-17T13:43:27.206005500 +3705,LG DLEX7177RM Cherry Red XL Capacity Electric SteamDryer - DLEX7177RD,3705,345,48.38,Uncategorized,2016-01-04T13:34:07.206005500 +3706,Onkyo 7.1-Channel Home Theater Black Receiver - TXSR606B,3706,1061,234.25,Uncategorized,2017-04-17T11:37:55.206005500 +3707,Panasonic White Integrated Telephone System - KXTS600W,3707,376,18.29,Uncategorized,2008-02-10T18:17:57.206005500 +3708,Canon Black Leather Camera Case - 1588B001,3708,1025,173.01,Uncategorized,2011-08-22T06:10:15.206005500 +3709,LG WM2016CW 3.6 Cu Ft White Front Load Washer - WM2016CWH,3709,1660,243.79,Uncategorized,2022-10-13T05:24:43.206005500 +3710,Coby Black 15' Widescreen Flat Panel LCD HDTV - TFTV1514,3710,2393,263.27,Uncategorized,2016-11-11T17:07:08.206005500 +3711,Speck ToughSkin Black Case For 4th Generation iPod Nano - NN4TSBLK,3711,2304,178.97,Uncategorized,2016-12-13T09:09:38.206005500 +3712,Panasonic 5.8 GHz Black Expandable Digital Cordless Phone System - KXTG4324B,3712,840,229.44,Uncategorized,2001-05-01T19:52:50.206005500 +3713,Cuisinart Stainless Steel Convection Toaster Oven - TOB195,3713,2237,207.97,Uncategorized,2001-02-10T23:37:37.206005500 +3714,Denon Progressive Scan Universal DVD Player - DVD2930CI,3714,365,25.15,Uncategorized,2002-10-15T15:35:37.206005500 +3715,Monster iFreePlay Cordless Headphones For iPod Shuffle - AISHHPHONE,3715,160,241.62,Uncategorized,2021-09-10T23:55:47.206005500 +3716,Omnimount Moda 2 Shelf Wall Furniture - MWFS,3716,1496,216.93,Uncategorized,2001-07-06T10:09:55.206005500 +3717,LG DLE3733W White XL Capacity Electric Dryer - DLE3733WH,3717,1418,63.1,Uncategorized,2005-05-05T03:48:58.206005500 +3718,Pioneer Remote Control With DVD/Audio Controls - CDR55,3718,727,231.25,Uncategorized,2018-10-22T19:39:04.206005500 +3719,Sony Soft Cyber-Shot Carrying Case - LCSCST,3719,1356,202.44,Uncategorized,2017-05-04T17:08:02.206005500 +3720,Sony VAIO Neoprene Laptop Carrying Case - Black Finish - VGPAMC3,3720,223,12.82,Uncategorized,2022-08-05T01:58:44.206005500 +3721,Sanus 30' - 50' Full-Motion Flat Panel TV Black Wall Mount - LRF118B1,3721,196,123.12,Uncategorized,2020-11-10T23:38:03.206005500 +3722,Canon Printer Black Ink Cartridge - CLI221BLK,3722,459,103.16,Uncategorized,2015-04-07T04:06:44.206005500 +3723,Sony Black USB Stereo Turntable System - PSLX300USB,3723,299,268.77,Uncategorized,2012-11-09T08:49:00.206005500 +3724,Sony LCS-CSJ Black Soft Carrying Case - LCSCSJ,3724,333,281.93,Uncategorized,2003-06-21T21:22:19.206005500 +3725,Sony Digital Photo Printer Paper 120 Pack - SVMF120P,3725,1099,39.21,Uncategorized,2005-07-17T14:06:53.206005500 +3726,Sony VAIO CS Series Red Notebook Computer - VGNCS110ER,3726,2406,229.39,Uncategorized,2016-02-23T04:16:44.206005500 +3727,Pioneer KURO 50' Black Plasma HDTV - PDP5020FD,3727,377,134.18,Uncategorized,2005-04-14T10:05:16.206005500 +3728,Audiovox 7' Acrylic Digital Photo Frame - DPF701,3728,1758,162.32,Uncategorized,2012-03-01T11:31:30.206005500 +3729,Delonghi Twenty Four Seven Coffee Maker - DC50W,3729,2202,80.97,Uncategorized,2005-08-26T18:45:17.206005500 +3730,LG 52' Black LCD Flat Panel HDTV - 52LG70,3730,698,18.53,Uncategorized,2004-10-13T21:19:52.206005500 +3731,Garmin Suction Cup Mount And 12-Volt Adapter Kit - 0101097900,3731,2290,312.4,Uncategorized,2003-06-23T08:00:36.206005500 +3732,Whirlpool WED6400SB Cabrio Super Capacity Plus Electric Black Dryer - WED6400SBK,3732,1696,99.89,Uncategorized,2011-06-12T04:16:23.206005500 +3733,Sony Soft Camera Carrying Case - LCSMX100,3733,2496,180.75,Uncategorized,2018-07-26T12:18:31.206005500 +3734,LG DLEX8377WM White XL Capacity Electric SteamDryer - DLEX8377WH,3734,2176,244.86,Uncategorized,2018-08-23T10:59:12.206005500 +3735,Apple Wireless Mighty Mouse - MB111LLA,3735,103,256.61,Uncategorized,2006-04-08T16:42:25.206005500 +3736,Sony HD Radio Add On Tuner - XT100HD,3736,2019,93.58,Uncategorized,2009-03-16T05:44:11.206005500 +3737,Panasonic 2GB SD Memory Card - SDV02GU1A,3737,1199,69.21,Uncategorized,2022-05-27T18:04:21.206005500 +3738,Pioneer Voice Command Pack - Black Finish - CDVC1,3738,1306,47.16,Uncategorized,2007-12-09T00:43:29.206005500 +3739,Sony LCS-CSQ/B Black Soft Carrying Case - LCSCSQB,3739,995,278.31,Uncategorized,2021-12-20T13:11:49.206005500 +3740,Bose Acoustimass 5 Series III Speaker System - AM53BK,3740,1116,160.63,Uncategorized,2006-08-18T15:11:53.206005500 +3741,Escort Passport 9500CI Radar Detector - 9500CI,3741,560,61.8,Uncategorized,2019-08-24T02:11:35.206005500 +3742,Sony Bud Style Headphones In Silver - MDRED12LPSLV,3742,1650,187.25,Uncategorized,2005-05-23T21:52:01.206005500 +3743,Linksys Wireless-G Ethernet Bridge - WET54G,3743,631,26.27,Uncategorized,2006-08-19T12:25:29.206005500 +3744,Uniden DECT 6.0 Cordless Digital Answering System - DECT20802,3744,521,165.16,Uncategorized,2019-09-19T03:52:21.206005500 +3745,TomTom Black Carry Case - 9UEA01700,3745,104,253.47,Uncategorized,2016-11-19T05:00:21.206005500 +3746,Sony Bluetooth Adaptor/Portable Transmitter - TMRBT10,3746,214,290.73,Uncategorized,2000-04-16T10:25:25.206005500 +3747,Sharp AQUOS 37' Black LCD HDTV - LC37D64U,3747,1206,212.18,Uncategorized,2022-01-26T10:19:41.206005500 +3748,Panasonic VIERA 50' 1080p Plasma HDTV In Black - TH50PZ850U,3748,683,248.89,Uncategorized,2009-05-14T09:47:18.206005500 +3749,Samsung 55' Series 9 LCD Black Flat Panel HDTV - LN55A950,3749,73,302.9,Uncategorized,2000-03-13T23:03:39.206005500 +3750,NetGear ProSafe 24 Port Smart Switch - FS726TP,3750,518,238.02,Uncategorized,2017-03-05T04:55:29.206005500 +3751,Toshiba Black DVD Recorder With Built-In Digital Tuner - DR560,3751,495,15.6,Uncategorized,2008-01-17T11:45:51.206005500 +3752,Delonghi Oil Filters - FK8,3752,1831,317.91,Uncategorized,2000-10-09T18:15:24.206005500 +3753,Haier 20' ATSC Color Tube Television - HTR20,3753,60,185.02,Uncategorized,2009-07-16T21:42:37.206005500 +3754,Tech Craft Avalon Series TV Stand - Black Finish - ABS32,3754,1855,309.37,Uncategorized,2012-03-02T08:36:02.206005500 +3755,TiVo HD Digital Video Recorder (180 Hour) - TCD652160,3755,856,131.9,Uncategorized,2005-08-23T13:27:38.206005500 +3756,Sony 46' BRAVIA W-Series Black LCD Flat Panel HDTV - KDL46W4100,3756,223,152.17,Uncategorized,2015-11-24T12:18:54.206005500 +3757,Universal MRF-350 RF Black Base Station - MRF350,3757,2449,160.79,Uncategorized,2003-04-11T14:43:59.206005500 +3758,Omnimount 42' - 63' Wishbone Cantilever Extra Large Flat Panel TV Silver Wall Mount - UCLXB,3758,334,94.04,Uncategorized,2011-04-27T15:19:38.206005500 +3759,Weber Premium Black Grill Cover - 7550,3759,1148,291.14,Uncategorized,2009-02-04T21:11:58.206005500 +3760,Sanus 15' - 40' VisionMount Flat Panel TV Black Wall Mount - MT25B1,3760,1148,229.82,Uncategorized,2002-08-15T13:07:28.206005500 +3761,Logitech diNovo Media Desktop Laser Keyboard And Mouse Combo - 967562,3761,603,15.5,Uncategorized,2005-10-25T14:46:26.206005500 +3762,Yamaha Black Digital Sound Projector - YSP4000BK,3762,1032,269.82,Uncategorized,2002-12-06T15:50:21.206005500 +3763,Canon Color Image Silver Scanner - 8800F,3763,1048,228.52,Uncategorized,2013-02-15T08:09:40.206005500 +3764,Samsung 55' Series 9 LCD Black Flat Panel HDTV - LN55A950,3764,412,245.69,Uncategorized,2009-06-09T11:57:08.206005500 +3765,Belkin AC Anywhere - F5C400300W,3765,602,74.32,Uncategorized,2008-01-15T00:09:43.206005500 +3766,Samsung 22' White Flat Panel LCD HDTV - LN22A451,3766,790,54.31,Uncategorized,2004-11-26T19:43:35.206005500 +3767,Sharp AQUOS 42' Black LCD HDTV - LC42D85U,3767,391,143.47,Uncategorized,2006-06-19T23:09:16.206005500 +3768,LaCie 500GB USB 2.0 External Hard Drive - 301302U,3768,498,3.42,Uncategorized,2012-03-04T18:07:02.206005500 +3769,Sony Digital Photo Printer Paper 120 Pack - SVMF120P,3769,843,114.19,Uncategorized,2020-07-07T03:00:39.206005500 +3770,Sanus WMS3S Silver Weather Resistant Small Speaker Wall Mount - WMS3S,3770,708,4.61,Uncategorized,2010-05-02T05:54:02.206005500 +3771,Panasonic Countertop Microwave Oven In White - NNSN667WH,3771,2181,125.12,Uncategorized,2020-01-24T20:20:38.206005500 +3772,Peerless 10' - 22' Flat Panel TV Black Pivot Wall Arm - PP730,3772,1068,316.06,Uncategorized,2009-08-15T06:31:24.206005500 +3773,Mitsubishi 735 Series 65' 1080p DLP Rear Projection Black HDTV - WD65735,3773,903,319.2,Uncategorized,2003-10-17T00:48:29.206005500 +3774,Canon PowerShot Silver 14.7 Megapixel Digital Camera - SD990IS,3774,362,17.7,Uncategorized,2017-12-14T10:39:17.206005500 +3775,Sirius STILETTO 2 Home Docking Kit - SLH2,3775,2280,151.86,Uncategorized,2019-01-03T09:39:53.206005500 +3776,Sanus Euro Foundations Satellite Speaker Stand - EFSATS,3776,2152,74.87,Uncategorized,2012-01-03T02:59:38.206005500 +3777,Microsoft Office 2008 For Mac Home And Student Edition - GZA00006,3777,850,70.88,Uncategorized,2007-09-22T01:58:28.206005500 +3778,Sony Black DVD Recorder And VHS Combo Player - RDRVXD655,3778,1927,242.15,Uncategorized,2010-08-23T13:59:33.206005500 +3779,Garmin Nuvi 660 010-10747-03 Black 12 Volt Adapter Cable - 0101074703,3779,2177,142.75,Uncategorized,2008-11-23T10:44:49.206005500 +3780,Olympus Stylus 1050 SW Black Digital Camera - STYLUS1050SWB,3780,493,228.21,Uncategorized,2022-05-07T09:57:50.206005500 +3781,Speck SeeThru Pink Hard Shell Case For 13' MacBook - MB13PNKSEEV2,3781,701,31.31,Uncategorized,2014-11-24T13:11:20.206005500 +3782,Panasonic Black Blu-ray Disc Theater Sound System - SCBT100,3782,1037,323.92,Uncategorized,2000-12-21T00:37:51.206005500 +3783,GE Futura Indoor TV Antenna - Silver Finish - TV24746,3783,358,30.02,Uncategorized,2017-11-12T08:09:17.206005500 +3784,Logitech diNovo Edge Keyboard Windows Edition - 967685,3784,1940,17.16,Uncategorized,2000-11-11T21:13:16.206005500 +3785,LG WM2016CW 3.6 Cu Ft White Front Load Washer - WM2016CWH,3785,497,33.5,Uncategorized,2006-02-17T19:47:50.206005500 +3786,Panasonic Integrated Telephone System - KXTS108W,3786,1400,109.45,Uncategorized,2008-03-09T15:15:10.206005500 +3787,Griffin iTrip FM Transmitter - 4052TRPSEB,3787,534,313.53,Uncategorized,2017-04-24T01:02:16.206005500 +3788,LG 30' Stainless Steel Freestanding Gas Range - LRG30357SS,3788,266,141.61,Uncategorized,2013-04-17T21:12:14.206005500 +3789,Peerless Wall TV Mounts In Black - PM1327BK,3789,2314,203.24,Uncategorized,2007-05-20T11:35:38.206005500 +3790,Sony DVD Recorder In Black - RDRGX360,3790,1619,177.84,Uncategorized,2007-03-23T23:17:54.206005500 +3791,LG LFX25971SW 24.7 Cu. Ft. Smooth White French Door Bottom Freezer Refrigerator - LFX25971WH,3791,1908,117.29,Uncategorized,2013-04-12T13:38:19.206005500 +3792,Omnimount Moda Collection Series Dark Espresso TV Stand - ECHO50,3792,593,169.58,Uncategorized,2007-01-08T11:47:58.206005500 +3793,Samsung 26' Black Flat Panel Series 4 LCD HDTV - LN26A450,3793,1808,120.55,Uncategorized,2020-05-19T12:15:16.206005500 +3794,Linksys Black Media Center Extender - DMA2100,3794,1048,82.52,Uncategorized,2001-05-11T22:13:13.206005500 +3795,Canon 9517A002 EF-S 17mm - 85mm f/4.0-5.6 USM IS Zoom Lens - 9517A002,3795,4,90.12,Uncategorized,2011-12-16T03:53:02.206005500 +3796,Logitech Harmony RF Wireless Extender - RFEXT,3796,1167,276.14,Uncategorized,2005-07-07T05:38:51.206005500 +3797,Samsung 50' Black Flat Panel Series 5 Plasma HDTV - PN50A550,3797,441,168.07,Uncategorized,2010-02-18T10:36:50.206005500 +3798,Samsung 63' Black Flat Panel Series 6 Plasma HDTV - PN63A650,3798,1452,210.77,Uncategorized,2006-05-07T19:12:14.206005500 +3799,Apple 32GB Black 2nd Generation iPod Touch - MB533LLA,3799,2149,289.39,Uncategorized,2004-06-24T12:16:06.206005500 +3800,Sony SLV-D380P Black DVD VHS Combo Player - SLVD380P,3800,2214,195.14,Uncategorized,2015-06-27T03:31:00.206005500 +3801,Kenwood 6.1' All-In-One Double-Din In-Dash Navigation - DNX5120,3801,720,202.27,Uncategorized,2001-01-05T08:57:46.206005500 +3802,Sony MRW62E/S1/181 17-In-1 External USB Memory Card Reader - MRW62ES1181,3802,1814,226.37,Uncategorized,2020-11-27T00:32:32.206005500 +3803,Whirlpool Duet Sport 27' White Electric Dryer - WED8300SWH,3803,808,62.16,Uncategorized,2008-06-25T23:25:28.206005500 +3804,Samsung Black DVD/VHS Combo Recorder - DVDVR375,3804,1424,227.22,Uncategorized,2020-11-08T18:42:46.206005500 +3805,Cuisinart Cordless Electric Kettle - KUA17,3805,768,22.47,Uncategorized,2015-04-10T14:00:11.206005500 +3806,LG 52' Black LCD Flat Panel HDTV - 52LG50,3806,1378,3.66,Uncategorized,2018-01-06T06:30:52.206005500 +3807,LG 24' LDS4821WW Semi Integrated Built In White Dishwasher - LDS4821WH,3807,1145,220.77,Uncategorized,2003-06-25T06:13:36.206005500 +3808,Canon PGI-5BK Black Ink Tank Cartridge - PGI5BK,3808,685,136.54,Uncategorized,2013-09-25T16:37:57.206005500 +3809,Nikon D60 Digital Camera With 18-55MM Lens - D60OUTFIT,3809,124,50.39,Uncategorized,2002-07-27T03:55:24.206005500 +3810,Linksys EtherFast10/100 5-Port Auto-Sensing Switch - EZXS55W,3810,1129,278.21,Uncategorized,2008-11-11T02:17:48.206005500 +3811,Panasonic Expandable Bluetooth-Enabled DECT 6.0 Phone System - KXTH1212B,3811,1044,109.25,Uncategorized,2015-02-12T00:35:24.206005500 +3812,Pioneer Sirius Bus Interface - CDSB10,3812,2447,124.23,Uncategorized,2014-06-11T08:27:50.206005500 +3813,Linksys EtherFast10/100 5-Port Auto-Sensing Switch - EZXS55W,3813,2449,141.54,Uncategorized,2001-09-06T14:51:16.206005500 +3814,LG 24' LDS4821BB Semi Integrated Built In Black Dishwasher - LDS4821BK,3814,391,74.95,Uncategorized,2006-05-04T06:28:01.206005500 +3815,Samsung 67' Black Widescreen Series 7 LED DLP HDTV - HL67A750,3815,1459,15.7,Uncategorized,2022-04-23T16:47:45.206005500 +3816,iHome Silver Computer Speakers With iPod Dock - IH70S,3816,1689,38.65,Uncategorized,2016-05-12T07:45:15.206005500 +3817,Denon Semi-Automatic Turntable - Black Finish - DP29F,3817,2052,184.17,Uncategorized,2011-05-14T16:13:43.206005500 +3818,Nikon Black COOLPIX S210 Li-Ion Rechargeable Battery - ENEL10,3818,2422,263.14,Uncategorized,2022-12-07T09:53:00.206005500 +3819,Escort Cordless Solo Radar Detector - S2E,3819,1588,216.32,Uncategorized,2003-08-16T13:04:46.206005500 +3820,Omnimount TV Top Shelf Mount - CCH1B,3820,347,27.62,Uncategorized,2006-07-08T23:41:46.206005500 +3821,Pioneer Premier In-Dash CD/WMA/MP3/AAC Receiver - DEHP500UB,3821,798,79.28,Uncategorized,2018-02-21T05:04:25.206005500 +3822,Sharp AQUOS 52' Special Edition LCD Black Flat Panel HDTV - LC52SE94U,3822,317,141.03,Uncategorized,2021-04-11T02:46:10.206005500 +3823,Logitech Harmony RF Wireless Extender - RFEXT,3823,1825,224.89,Uncategorized,2018-06-27T02:25:57.206005500 +3824,Canon Black EOS 50D Digital SLR Camera With 28-135MM Lens - 50D28135,3824,344,103.28,Uncategorized,2008-03-19T11:39:18.206005500 +3825,Samsung 46' Series 6 LCD Black Flat Panel HDTV - LN46A650,3825,1949,136.05,Uncategorized,2000-05-18T04:07:29.206005500 +3826,Panasonic VIERA 50' Plasma Flat Panel 1080p HDTV In Black - TH50PZ80U,3826,503,3.89,Uncategorized,2021-12-17T18:52:58.206005500 +3827,Canon Cyan Ink Tank - Cyan - CLI8C,3827,590,19.22,Uncategorized,2010-07-13T23:26:23.206005500 +3828,Logitech Black V220 Cordless Optical Mouse For Notebooks - 910000153,3828,937,186.23,Uncategorized,2011-10-15T19:40:20.206005500 +3829,Nikon CoolPix S550 10 Megapixel Black Digital Camera - COOLPIXS550GB,3829,1533,131.52,Uncategorized,2011-04-14T03:55:45.206005500 +3830,Sony DVP-FX820 Blue 8' Portable DVD Player - DVPFX820LI,3830,2089,202.96,Uncategorized,2007-11-08T09:58:22.206005500 +3831,Sony 400 Disc MegaStorage CD Changer - CDPCX455,3831,588,264.69,Uncategorized,2006-01-11T08:17:24.206005500 +3832,OmniMount 37' - 63' Ultra Low Profile Series Large Flat Panel TV Black Mount - ULPTLBK,3832,257,65.93,Uncategorized,2001-11-15T10:00:50.206005500 +3833,Canon Rechargeable Battery - 9763A001,3833,475,34.99,Uncategorized,2009-02-18T16:15:56.206005500 +3834,Sony Digital SLR Camera With Lens Kit - DSLRA200W,3834,1233,146.11,Uncategorized,2020-01-02T11:51:07.206005500 +3835,Sanus Center Channel Speaker Mount - Black Finish - VMCC1B,3835,943,29.67,Uncategorized,2005-03-25T22:18:49.206005500 +3836,Panasonic 2-Line Integrated Telephone System - KXTS208W,3836,2214,188.59,Uncategorized,2022-01-07T21:31:49.206005500 +3837,Weber Stainless Steel Genesis S320 LP Grill - 3780001,3837,589,318.27,Uncategorized,2011-06-23T13:33:14.206005500 +3838,Logitech diNovo Edge Keyboard Mac Edition - 920000924,3838,2192,199.62,Uncategorized,2022-08-21T03:43:45.206005500 +3839,Apple 1GB Silver iPod Shuffle - MB225LLA,3839,1669,154.03,Uncategorized,2021-04-07T21:28:51.206005500 +3840,Sony Remote Control Tripod - VCT60AV,3840,1404,87.88,Uncategorized,2006-10-07T21:40:00.206005500 +3841,Sony VAIO Neoprene Laptop Carrying Case - Black Finish - VGPAMC3,3841,2042,264.7,Uncategorized,2010-11-18T19:52:35.206005500 +3842,Haier 15' Black Flat Panel LCD HDTV DVD Combo - HLC15R,3842,1974,111.64,Uncategorized,2004-01-03T00:43:08.206005500 +3843,Sony Turntable - PSLX350H,3843,2432,279.76,Uncategorized,2001-03-13T21:41:49.206005500 +3844,Haier 13' TV/DVD Combo - TCR13,3844,1475,285.2,Uncategorized,2021-01-05T00:02:43.206005500 +3845,Panasonic Genius Prestige Inverter Microwave Convection Oven NNC994SS In Stainless Steel - NNC994SS,3845,1283,62.46,Uncategorized,2000-02-13T17:48:46.206005500 +3846,Panasonic VIERA 46' Plasma Flat Panel 1080p HDTV In Black - TH46PZ80U,3846,1597,193.28,Uncategorized,2015-06-02T14:23:57.206005500 +3847,Belkin F3H982-10 Pro Series High Integrity 10 Feet Monitor Cable - F3H98210,3847,1200,326.32,Uncategorized,2003-11-19T03:09:30.206005500 +3848,Nikon D60 Digital Camera With 18-55MM Lens - D60OUTFIT,3848,49,214.77,Uncategorized,2005-03-06T11:42:53.206005500 +3849,Mitsubishi DLP Black TV Stand - MBS73V,3849,1773,179.82,Uncategorized,2014-06-24T13:29:49.206005500 +3850,Coby 10.2' Black LCD Flat Panel HDTV - TFTV1022,3850,2040,188.78,Uncategorized,2019-10-17T15:48:47.206005500 +3851,Sony Pink Earbud Style Headphones - MDREX55P,3851,1862,318.1,Uncategorized,2008-04-09T09:49:06.206005500 +3852,Apple iWork 09 Software Family Pack For Mac - MB943ZA,3852,2332,294.12,Uncategorized,2007-02-16T04:33:38.206005500 +3853,Panasonic DECT 6.0 Black Expandable Digital Cordless Phone - KXTG9361B,3853,1697,203.4,Uncategorized,2003-03-26T19:24:34.206005500 +3854,Garmin StreetPilot C330 Dash Mount - Black Finish - 0101061300,3854,2357,104.65,Uncategorized,2000-11-15T10:06:48.206005500 +3855,Danby Silhouette 60 Cans Beverage Center - DBC2760BLS,3855,612,171.45,Uncategorized,2013-10-05T12:45:04.206005500 +3856,Sony VAIO Neoprene Laptop Carrying Case - Black Finish - VGPAMC3,3856,1521,39.96,Uncategorized,2002-09-01T06:58:12.206005500 +3857,Canon PowerShot Silver Digital Camera - SX110IS,3857,894,139.83,Uncategorized,2019-07-21T21:34:40.206005500 +3858,Sony Bud Style Headphones In Red - MDRED12LPRED,3858,2141,222.83,Uncategorized,2007-07-15T20:20:58.206005500 +3859,Sony VAIO LV Series Silver All-In-One Desktop Computer - VGCLV150J,3859,631,229.96,Uncategorized,2020-07-15T22:01:35.206005500 +3860,Toshiba Black Portable DVD Player - SDP71S,3860,914,22.1,Uncategorized,2005-06-26T06:18:27.206005500 +3861,Panasonic VIERA 50' Plasma Flat Panel 1080p HDTV In Black - TH50PZ80U,3861,2358,135.94,Uncategorized,2005-08-16T03:03:38.206005500 +3862,Toshiba White 19' LCD HDTV DVD Combo - 19LV506,3862,538,308.09,Uncategorized,2012-08-03T14:45:03.206005500 +3863,Weber Spirit SP-320 Stainless Steel Liquid Propane Gas Outdoor Grill - 3730001,3863,1993,223.37,Uncategorized,2001-11-02T04:12:21.206005500 +3864,Danby Designer Portable Dishwasher - DDW1805WH,3864,1981,211.09,Uncategorized,2004-02-08T05:24:23.206005500 +3865,Sharp Over The Counter White Microwave Oven - R1211WH,3865,2060,307.12,Uncategorized,2006-06-19T20:58:07.206005500 +3866,Nikon AF Speedlight Accessory - SB600,3866,1596,149.83,Uncategorized,2004-09-02T06:25:21.206005500 +3867,Linksys Gigabit 5-Port Workgroup Switch - EG005W,3867,546,60.05,Uncategorized,2018-03-02T02:19:56.206005500 +3868,Panasonic Silver Dect 6.0 Cordless Telephone - KXTG1033S,3868,1877,218.16,Uncategorized,2014-07-26T21:39:17.206005500 +3869,Canon DVD Camcorder - DC310,3869,1452,233.53,Uncategorized,2021-12-16T20:49:38.206005500 +3870,Panasonic Black DVD Home Theater Sound System - SCPT760,3870,204,137.81,Uncategorized,2002-01-20T01:40:10.206005500 +3871,Samsung L200 Black 10.2 Megapixel Digital Camera - ECL200ZBBA,3871,1601,128.7,Uncategorized,2019-03-23T04:19:41.206005500 +3872,LG DLEX7177WM White XL Capacity Electric SteamDryer - DLEX7177WH,3872,461,209.28,Uncategorized,2019-07-12T00:38:57.206005500 +3873,Samsung 46' Series 8 LCD Black Flat Panel HDTV - LN46A850,3873,527,141.41,Uncategorized,2008-04-22T07:55:48.206005500 +3874,Sony InfoLithium H Series Standard Rechargeable Battery Pack - NPFH70,3874,1334,79.79,Uncategorized,2020-06-12T15:22:51.206005500 +3875,Nikon EN-EL9 Black Rechargeable Li-ion Battery - ENEL9,3875,667,259.16,Uncategorized,2001-05-01T07:47:33.206005500 +3876,Samsung 19' Black Flat Panel Series 4 LCD HDTV - LN19A450,3876,31,127.52,Uncategorized,2004-04-16T14:22:31.206005500 +3877,Panasonic 5.8 GHz Black Expandable Digital Cordless Phone - KXTG4321B,3877,2125,52.4,Uncategorized,2009-04-12T23:33:12.206005500 +3878,Kenwood Sirius Radio Translator For In-Dash Head Units - KCASR50,3878,2043,203.46,Uncategorized,2013-03-16T17:20:09.206005500 +3879,Garmin Streetpilot C Series Vehicle Suction Mount - Black Finish - 0101060900,3879,1988,260.84,Uncategorized,2011-05-03T09:13:50.206005500 +3880,LG DLE2516W White Super Capacity Electric Dryer - DLE2516WH,3880,1594,265.29,Uncategorized,2016-10-23T08:13:59.206005500 +3881,NetGear ProSafe 24 Port Smart Switch - FS726TP,3881,444,228.86,Uncategorized,2014-02-17T01:30:18.206005500 +3882,Canon Silver Dual Flash Memory Camcorder - FS10,3882,631,257.01,Uncategorized,2009-09-15T08:10:29.206005500 +3883,Sony Red Cyber-Shot Digital Camera - DSCW150R,3883,2469,205.82,Uncategorized,2014-07-18T21:31:05.206005500 +3884,Toshiba Black 1080p Upconversion DVD Player - SD6100,3884,2039,165.51,Uncategorized,2022-05-24T18:31:02.206005500 +3885,LG 5.6 Cu. Ft. White Freestanding Electric Range - LRE30453WH,3885,87,181.12,Uncategorized,2005-04-08T06:10:00.206005500 +3886,Sony LCS-TWA/B Black Soft Leather Carrying Case - LCSTWAB,3886,1343,322.87,Uncategorized,2010-04-02T23:05:04.206005500 +3887,Weber Q 320 Liquid Propane Table And Outdoor Grill - 586002,3887,1293,98.17,Uncategorized,2021-05-20T19:03:53.206005500 +3888,Samsung 40' Series 6 LCD Black Flat Panel HDTV - LN40A650,3888,40,203.69,Uncategorized,2022-07-07T20:52:22.206005500 +3889,Terk Mini Tuner Home Dock For XM Ready Home Products - Black Finish - CNP2000H,3889,819,219.98,Uncategorized,2000-01-03T07:17:57.206005500 +3890,Garmin Vehicle Suction Cup Mount - 0101093600,3890,533,242.13,Uncategorized,2018-12-25T19:55:39.206005500 +3891,LG 5.6 Cu. Ft. Black Freestanding Electric Range - LRE30453BK,3891,414,45.64,Uncategorized,2008-01-20T22:34:41.206005500 +3892,LG DLEX7177RM Cherry Red XL Capacity Electric SteamDryer - DLEX7177RD,3892,1774,208.81,Uncategorized,2019-04-03T11:45:37.206005500 +3893,Sirius Sportster 4 With Car Kit - SP4TK1,3893,980,199.02,Uncategorized,2022-10-18T01:51:34.206005500 +3894,Sony VAIO CS Series White Notebook Computer - VGNCS180JW,3894,1506,281.11,Uncategorized,2020-06-10T16:09:09.206005500 +3895,Nikon 70-300mm f/4.5-5.6G ED-IF AF-S VR Zoom-Nikkor Lens - 2161,3895,162,247.75,Uncategorized,2009-07-23T15:51:18.206005500 +3896,Panasonic DECT 6.0 Black Metallic Expandable Digital Cordless Phone System - KXTG9332T,3896,1141,130.2,Uncategorized,2001-08-08T05:52:51.206005500 +3897,Pioneer Voice Command Pack - Black Finish - CDVC1,3897,91,85.32,Uncategorized,2014-01-04T19:27:45.206005500 +3898,Panasonic Black 1080p Up-Conversion DVD Recorder - DMREA18K,3898,1024,265.13,Uncategorized,2021-09-22T15:32:52.206005500 +3899,Sony 26' BRAVIA M-Series Black LCD Flat Panel HDTV - KDL26M4000,3899,42,277.86,Uncategorized,2019-11-14T09:35:27.206005500 +3900,Sony 7' Digital Photo Frame In Black - DPFD70,3900,838,57.46,Uncategorized,2012-04-13T19:17:24.206005500 +3901,LG 52' Black LCD Flat Panel HDTV - 52LG50,3901,1262,280.04,Uncategorized,2019-06-08T20:12:08.206005500 +3902,Sharp Aquos 37' LCD HDTV In Black - LC37D44U,3902,2186,138.96,Uncategorized,2020-12-15T14:44:53.206005500 +3903,Polk Audio Black 10' Powered Subwoofer - PSW110BK,3903,2007,250.13,Uncategorized,2004-06-09T05:48:04.206005500 +3904,Samsung 58' Black Flat Panel Series 5 Plasma HDTV - PN58A550,3904,1840,13.13,Uncategorized,2014-09-24T19:39:15.206005500 +3905,Alpine V-Power Series 4/3/2 Channel Power Amplifier - MRPF300,3905,2169,101.41,Uncategorized,2004-02-02T10:27:15.206005500 +3906,Sharp AQUOS 52' Special Edition LCD Black Flat Panel HDTV - LC52SE94U,3906,409,161.63,Uncategorized,2001-09-02T00:56:34.206005500 +3907,Sanus 15' - 40' VisionMount Flat Panel TV Black Wall Mount - MF110B,3907,1196,72.17,Uncategorized,2009-05-17T16:32:51.206005500 +3908,LG 24' LDF6920ST Fully Integrated Built In Stainless Steel Dishwasher - LDF6920SS,3908,1477,101.82,Uncategorized,2008-09-24T05:26:09.206005500 +3909,Apple 8GB Purple 4th Generation iPod Nano - MB739LLA,3909,1180,216.08,Uncategorized,2010-04-12T07:02:13.206005500 +3910,LG LFC23760ST 22.6 Cu. Ft. Stainless Steel French Door Bottom Freezer Refrigerator - LFC23760SS,3910,1524,90.86,Uncategorized,2003-07-27T22:18:22.206005500 +3911,Terk Mini Tuner Home Dock For XM Ready Home Products - Black Finish - CNP2000H,3911,1775,29.58,Uncategorized,2000-02-26T10:00:21.206005500 +3912,Weber Cast Iron Griddle - 7542,3912,1227,125.01,Uncategorized,2000-08-21T05:10:32.206005500 +3913,Sanus WMS3S Silver Weather Resistant Small Speaker Wall Mount - WMS3S,3913,353,222.24,Uncategorized,2013-10-12T13:20:04.206005500 +3914,Pioneer 6.5' 2-Way Marine White Speakers - TSMR1640FM,3914,1826,152.38,Uncategorized,2012-08-23T04:22:44.206005500 +3915,Sony EX Ear Bud Headphones In White - MDREX32LPWHI,3915,644,213.98,Uncategorized,2022-09-06T02:56:50.206005500 +3916,Sanus 15' - 40' Flat Panel TV Silver Wall Mount - VM400S,3916,1999,228.11,Uncategorized,2019-10-15T10:39:43.206005500 +3917,Yamaha RX-V363BL 5.1 Channel Digital Home Theater Receiver In Black - RXV363BK,3917,2235,119.71,Uncategorized,2013-09-02T13:19:07.206005500 +3918,Canon Printer Yellow Ink Cartridge - CLI221YEL,3918,518,199.92,Uncategorized,2005-11-19T08:08:12.206005500 +3919,Sony Black 9 Megapixel Cyber-Shot Digital Camera - DSCH50B,3919,202,74.57,Uncategorized,2001-02-22T15:01:28.206005500 +3920,Logitech White V470 Cordless Laser Mouse For Apple Notebooks - 910000692,3920,185,50.57,Uncategorized,2007-02-22T13:55:26.206005500 +3921,Denon Semi-Automatic Turntable - Black Finish - DP29F,3921,1295,147.13,Uncategorized,2007-04-23T12:03:59.206005500 +3922,Nikon D700 Digital SLR Digital Camera - D700BODY,3922,471,189.24,Uncategorized,2015-04-18T23:47:55.206005500 +3923,Canon Black Leather Camera Case - 1588B001,3923,1887,192.41,Uncategorized,2018-01-11T17:40:33.206005500 +3924,Sony VAIO CS Series Pink Notebook Computer - VGNCS180JP,3924,105,239.54,Uncategorized,2000-10-21T05:25:09.206005500 +3925,Sony Black 9 Megapixel Cyber-Shot Digital Camera - DSCH50B,3925,2278,184.83,Uncategorized,2013-11-23T06:59:06.206005500 +3926,Griffin iPhone SmartTalk - 3016SMRTLKB,3926,2378,10.1,Uncategorized,2015-07-10T01:07:07.206005500 +3927,Sanus WMS3S Silver Weather Resistant Small Speaker Wall Mount - WMS3S,3927,2470,20.79,Uncategorized,2004-10-16T16:44:50.206005500 +3928,Sony Silver 1080p Upscaling DVD Player - DVPNS700HS,3928,1825,193.27,Uncategorized,2012-08-20T09:23:34.206005500 +3929,DeLonghi Magnifica Super-Automatic Espresso/Coffee Machine - ESAM3300,3929,1759,84.87,Uncategorized,2007-07-02T14:13:00.206005500 +3930,Sony Black DVD Recorder And VHS Combo Player - RDRVX560,3930,1697,161.22,Uncategorized,2001-05-15T08:58:02.206005500 +3931,Transcend 4GB Secure Digital High-Capacity (SDHC) Class 6 Memory Card - TS4GSDHC6,3931,1514,244.46,Uncategorized,2012-10-15T20:31:42.206005500 +3932,Apple 8GB Black 4th Generation iPod Nano - MB754LLA,3932,1235,154.57,Uncategorized,2000-04-07T23:42:48.206005500 +3933,Frigidaire Electric White Dryer - FEQ332WH,3933,1347,160.58,Uncategorized,2004-04-05T13:53:38.206005500 +3934,Panasonic VIERA 42' Plasma Flat Panel 1080p HDTV In Black - TH42PZ85U,3934,353,1.54,Uncategorized,2021-01-24T20:11:47.206005500 +3935,Sony DVP-FX820 Black 8' Portable DVD Player - DVPFX820,3935,1726,224.32,Uncategorized,2003-10-03T07:21:24.206005500 +3936,Yamaha Silver USB Powered Stereo Speaker - NXU10SIL,3936,2089,209.92,Uncategorized,2013-07-02T12:00:23.206005500 +3937,Nikon AF Speedlight Accessory - SB600,3937,594,248.14,Uncategorized,2010-05-18T02:17:56.206005500 +3938,Sony 300 Disc CD Changer - CDPCX355,3938,886,305.38,Uncategorized,2008-08-02T02:27:17.206005500 +3939,Panasonic 5-Pack DVD-RAM Discs - LMAF120LU5,3939,235,163.36,Uncategorized,2017-11-23T07:23:28.206005500 +3940,Sirius ST4-TK1 Starmate 4 Radio With Car Kit - ST4TK1,3940,1163,54.6,Uncategorized,2016-04-20T12:03:29.206005500 +3941,Canon Deluxe Grey Leather Case - 2349B001,3941,576,176.93,Uncategorized,2020-11-03T02:32:13.206005500 +3942,Sony 7' Digital Photo Frame In Black - DPFD70,3942,12,301.63,Uncategorized,2019-03-23T13:17:32.206005500 +3943,Monster iFreePlay Cordless Headphones For iPod Shuffle - AISHHPHONE,3943,2362,98.86,Uncategorized,2019-01-12T14:18:16.206005500 +3944,Sony MRW62E/S1/181 17-In-1 External USB Memory Card Reader - MRW62ES1181,3944,1684,271.45,Uncategorized,2021-08-21T19:48:04.206005500 +3945,Logitech Black V220 Cordless Optical Mouse For Notebooks - 910000153,3945,2255,61.18,Uncategorized,2006-12-21T17:40:22.206005500 +3946,Escort Cordless Solo Radar Detector - S2E,3946,1354,184.09,Uncategorized,2011-09-13T20:35:01.206005500 +3947,Sanus WMS3S Silver Weather Resistant Small Speaker Wall Mount - WMS3S,3947,819,113.85,Uncategorized,2005-03-13T22:50:10.206005500 +3948,LG WM2455HG 4.2 Cu Ft Pearl Gray Front Load Washer - WM2455G,3948,1191,136.39,Uncategorized,2010-11-07T12:42:36.206005500 +3949,Sony Blu-Ray Disc Player - BDPS550,3949,1226,300.53,Uncategorized,2012-11-10T09:18:39.206005500 +3950,Panasonic All-in-One Flatbed Laser Fax - KXFLB801,3950,267,256.21,Uncategorized,2005-11-11T05:13:42.206005500 +3951,Plantronics Voyager 510 Bluetooth Headset - Silver Finish - 496915,3951,1721,98.49,Uncategorized,2013-03-22T16:43:00.206005500 +3952,Garmin StreetPilot C330 Dash Mount - Black Finish - 0101061300,3952,768,234.74,Uncategorized,2005-01-20T01:12:51.206005500 +3953,Samsung 40' Series 6 LCD Black Flat Panel HDTV - LN40A650,3953,1971,29.85,Uncategorized,2012-05-18T09:16:52.206005500 +3954,Sanus Silver LCD Television Turntable - TVLCDS,3954,1077,160.87,Uncategorized,2003-10-17T01:10:35.206005500 +3955,Griffin Black TuneBuds Mobile For iPod And iPhone - 9410TUNBMBLB,3955,1694,177.87,Uncategorized,2012-10-27T14:13:25.206005500 +3956,Linksys EtherFast4116 16-Port 10/100 Ethernet Switch - EF4116,3956,1980,314.06,Uncategorized,2011-10-18T11:53:20.206005500 +3957,Pioneer Remote Control With DVD/Audio Controls - CDR55,3957,2325,131.54,Uncategorized,2013-09-05T01:56:20.206005500 +3958,Toshiba Black DVD Recorder With 1080p Upconversion - DR410,3958,445,171.62,Uncategorized,2019-12-25T17:25:39.206005500 +3959,Olympus Silver Digital Voice Recorder - VN4100PC,3959,2373,136.81,Uncategorized,2004-11-13T09:29:26.206005500 +3960,Panasonic Countertop Microwave Oven In Stainless Steel - NNSD667SS,3960,149,2.3,Uncategorized,2006-10-01T19:59:45.206005500 +3961,Griffin Elevator Brushed Aluminum Laptop Stand - 1093CURV2,3961,1922,48.25,Uncategorized,2019-08-22T12:04:22.206005500 +3962,Canon Deluxe Burgundy Leather Case - 2350B001,3962,1550,131.94,Uncategorized,2009-11-26T16:06:17.206005500 +3963,Samsung S2 White 1GB Flash MP3 Player - YPS2ZW,3963,2011,268.74,Uncategorized,2003-05-22T20:40:15.206005500 +3964,Sony Cyber-Shot Black Digital Camera - DSCH10B,3964,1925,25.73,Uncategorized,2018-08-14T09:29:21.206005500 +3965,Sony DVP-FX820 Red 8' Portable DVD Player - DVPFX820R,3965,2351,79.71,Uncategorized,2015-06-12T06:36:58.206005500 +3966,Speck SeeThru Blue Hard Shell Case For 15' MacBook - MB15BLUSEEV2,3966,1025,312.51,Uncategorized,2021-03-01T02:44:20.206005500 +3967,Speck SeeThru Blue Hard Shell Case For 15' MacBook - MB15BLUSEEV2,3967,679,13.27,Uncategorized,2011-06-26T09:47:50.206005500 +3968,Panasonic DECT 6.0 Expandable Digital Cordless Phone With All-Digital Answering System - KXTG9344T,3968,856,86.77,Uncategorized,2001-09-19T20:13:40.206005500 +3969,Canon PowerShot Black 10 Megapixel Digital Camera - SX10IS,3969,667,39.91,Uncategorized,2021-05-07T07:39:23.206005500 +3970,Transcend 16GB SDHC Card And Compact Card Reader - TS16GSDHC6S5W,3970,1013,100.9,Uncategorized,2000-01-25T05:49:24.206005500 +3971,Olympus Silver Digital Voice Recorder - VN4100PC,3971,2089,86.39,Uncategorized,2000-06-17T11:27:48.206005500 +3972,Linksys Wireless N Access Point - WAP4400N,3972,884,211.2,Uncategorized,2022-11-03T18:12:04.206005500 +3973,Sony Clip-On Black Headphones - MDRQ68LW,3973,2292,60.15,Uncategorized,2013-11-20T00:57:56.206005500 +3974,Fellowes MicroShred Shredder - MS450CS,3974,1316,104.33,Uncategorized,2011-11-25T14:36:19.206005500 +3975,Canon High Capacity Color Ink Cartridge - Color Ink - CL51,3975,824,207.97,Uncategorized,2018-10-06T06:38:11.206005500 +3976,Altec Lansing inMotion MAX iPod/iPhone Portable Audio System - IMT702,3976,1033,86.45,Uncategorized,2001-03-09T18:16:19.206005500 +3977,Sony BRAVIA Theater Black Micro System - DAVIS50B,3977,912,312.45,Uncategorized,2008-02-15T04:53:51.206005500 +3978,Sony 52' BRAVIA W-Series Black LCD Flat Panel HDTV - KDL52W4100,3978,2126,302.94,Uncategorized,2002-06-26T07:11:48.206005500 +3979,Weber Q 320 Liquid Propane Table And Outdoor Grill - 586002,3979,2123,96.55,Uncategorized,2009-01-24T19:47:20.206005500 +3980,Peerless Wall TV Mounts In Black - PM1327BK,3980,581,251.41,Uncategorized,2020-04-14T15:44:54.206005500 +3981,iHome Silver Computer Speakers With iPod Dock - IH70S,3981,1069,196,Uncategorized,2004-04-01T18:23:20.206005500 +3982,TiVo Series2 Dual Tuner Digital Video Recorder - TCD649080,3982,1149,162.2,Uncategorized,2015-09-14T06:58:36.206005500 +3983,Sony Gold Cyber-Shot Digital Camera - DSCW150N,3983,1041,96.09,Uncategorized,2017-04-20T15:43:50.206005500 +3984,Samsung Stereo Bluetooth Headset In Black - SBH500,3984,2273,314.69,Uncategorized,2001-04-08T23:18:42.206005500 +3985,Olympus Lithium Ion Rechargeable Battery - LI42B,3985,427,314.62,Uncategorized,2008-07-18T17:56:27.206005500 +3986,Logitech Harmony 1000 Silver Touch Screen Remote Control - H1000,3986,1420,223.02,Uncategorized,2014-04-16T00:18:30.206005500 +3987,LG LFC25770SB 25.0 Cu. Ft. Smooth Black French Door Bottom Freezer Refrigerator - LFC25770BK,3987,640,257.13,Uncategorized,2020-01-08T20:11:06.206005500 +3988,Sanus 32' - 84' Flat Panel TV Black Tilting Wall Mount - VMPL3B,3988,185,27.96,Uncategorized,2016-12-04T20:33:49.206005500 +3989,Netgear ProSafe 24-Port Gigabit Rackmount Switch With 2 SFP Slots - JGS524F,3989,2045,251.38,Uncategorized,2020-02-17T03:05:46.206005500 +3990,Pioneer Voice Command Pack - Black Finish - CDVC1,3990,1836,264.64,Uncategorized,2018-09-22T06:56:51.206005500 +3991,Samsung 5 Disc Home Theater Surround Sound System - HTZ510,3991,568,135.42,Uncategorized,2008-11-13T09:08:41.206005500 +3992,Canon Black BP-808 Camcorder Battery Pack - 2740B002,3992,1133,29.68,Uncategorized,2011-03-08T09:08:55.206005500 +3993,Apple 120GB Black 7th Generation iPod Classic - MB565LLA,3993,242,55.84,Uncategorized,2020-04-01T06:16:57.206005500 +3994,Sanus Euro Foundations Satellite Speaker Stand - EFSATB,3994,2311,112.71,Uncategorized,2005-06-14T16:52:06.206005500 +3995,Maytag Bisque Over-The-Range Microwave Oven - MMV4205BT,3995,1935,96.36,Uncategorized,2002-08-27T07:56:55.206005500 +3996,Canon Vixia High Definition Camcorder - HF100,3996,444,221.42,Uncategorized,2022-07-27T00:11:57.206005500 +3997,Toshiba Black 15' LCD Flat Panel HDTV/DVD Combo - 15LV505,3997,37,88.4,Uncategorized,2001-04-25T08:17:30.206005500 +3998,Sony EX Ear Bud Headphones In Black - MDREX32LPBLK,3998,967,153.55,Uncategorized,2011-07-08T01:45:55.206005500 +3999,Toshiba 22' LCD HDTV With Built In DVD Player In Black - 22LV505,3999,1829,162.66,Uncategorized,2009-07-11T21:06:54.206005500 diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 0f072953ea..bf600d3cef 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -1,9 +1,9 @@ # About us -Display | Name | Github Profile | Portfolio ---------|:----:|:--------------:|:---------: -![](https://via.placeholder.com/100.png?text=Photo) | John Doe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) -![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) +| Display | Name | Github Profile | Portfolio | +|------------------------------------------------------------------------------------------------------------|:--------------:|:----------------------------------------:|:--------------------------------:| +| ![](https://avatars.githubusercontent.com/u/88529907?v=4)) | Yong Shan Ling | [Github](https://github.com/ysl-28) | [Portfolio](team/ysl-28.md) | +| ![](https://avatars.githubusercontent.com/u/88542282?v=4) | Ng Yan Zhen | [Github](https://github.com/Ng-YZ) | [Portfolio](team/ng-yz.md) | +| ![](https://avatars.githubusercontent.com/u/88386677?s=400&v=4) | Ng Kai Wen | [Github](https://github.com/ngkaiwen123) | [Portfolio](team/ngkaiwen123.md) | +| ![](https://avatars.githubusercontent.com/u/7589432?v=4) | Poh Wei Pin | [Github](https://github.com/firwer) | [Portfolio](team/firwer.md) | +| ![](https://avatars.githubusercontent.com/u/24601679?s=400&u=4ff44cf4bbd34ac299fd550ce267a884df4043a7&v=4) | Artemis Ngoh | [Github](https://github.com/ArtemiszenN) | [Portfolio](team/artemiszenn.md) | diff --git a/docs/ArchitectureDiagram.png b/docs/ArchitectureDiagram.png new file mode 100644 index 0000000000..76758c2fdc Binary files /dev/null and b/docs/ArchitectureDiagram.png differ diff --git a/docs/CommandClassDiagram.png b/docs/CommandClassDiagram.png new file mode 100644 index 0000000000..eb228b63a7 Binary files /dev/null and b/docs/CommandClassDiagram.png differ diff --git a/docs/Command_ParserFlowClassDiagram.png b/docs/Command_ParserFlowClassDiagram.png new file mode 100644 index 0000000000..79919ec849 Binary files /dev/null and b/docs/Command_ParserFlowClassDiagram.png differ diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 64e1f0ed2b..8993aedaf4 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -1,38 +1,1035 @@ # Developer Guide +![img_12.png](img_12.png) +## Contents +- [Acknowledgements](#acknowledgements) +- [Design](#_1-design) + - [Architecture Design Diagram](#_11-architecture-design-diagram) + - [UML Sequence Diagram](#_12-uml-sequence-diagram) +- [Implementation](#_2-implementation) + - [Command Component](#_22-command-component) + - [Parser Component](#_21-parser-component) + - [List](#_23-list) + - [Add](#_24-add) + - [Edit](#_25-edit) + - [Restock](#_26-restock) + - [Sell](#_27-sell) + - [Remove](#_28-remove) + - [Search](#_29-search) + - [Filter](#_210-filter) + - [History](#_211-history) + - [Alert](#_212-alert) + - [Category](#_213-category) +- [Product Scope](#product-scope) + - [Target User Profile](#target-user-profile) + - [Value Proposition](#value-proposition) +- [User Stories](#user-stories) +- [Non-Functional Requirements](#non-functional-requirements) +- [Glossary](#glossary) +- [Instructions for Manual Testing](#instructions-for-manual-testing) ## Acknowledgements -{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well} +The documentation and organisation of our project follows the recommended format as shown in [SE-Education](http://se-education.org/addressbook-level3/DeveloperGuide.html) -## Design & implementation +
-{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} +## 1. Design + +### 1.1. Architecture Design Diagram +![Architecture Diagram](ArchitectureDiagram.png) + +Breakdown of each component and its role in the application: + +`MagusStock`: This is the entry point for the application, and it's responsible for starting the application and coordinating the interactions between the other components. + +`ParserHandler`: This component is responsible for handling user input and determining which parser to execute based on the input. It uses a Parser to parse the input and generate a corresponding Command object. + +`Parser`: This component is responsible for parsing the user input and generating a Command object. The ParserHandler uses the Parser to parse the input and determine which Command object to create. + +`SessionManager`: This component is responsible for managing the inventory data persistence. It's connected to the Storage component, which reads and writes inventory data to and from a CSV file. + +`Storage`: This component is responsible for reading and writing inventory data to a CSV file. It's connected to the SessionManager, which uses it to manage the inventory data persistence. + +`Ui`: This component is responsible for displaying information to the user. It receives messages and data from the other components and displays them to the user. + +Overall, the architecture diagram shows how the different components of the MagusStock application work together to provide the user with a command-line interface for managing an inventory of items. The components are designed to be modular and loosely coupled, allowing for easy modification and extension of the application. + +
+ +### 1.2. UML Sequence Diagram + +![Sequence Diagram](SequenceDiagram.png) + +The sequence diagram above illustrates the overall flow of Magus Stock. When the application is initialised by the User, +it will invoke `run()` of the MagusStock class to start the application. During the startup phase, a welcome message +will be printed on the terminal by invoking `greetUser()` of the `Ui` class. Following that, previous session inventory +and alert data of the application will be retrieved by invoking `getSession()` and `getSessionAlerts()` of the +`SessionManager` class. + +After the startup phase, Magustock will instantiate a `ParserHandler` object which will be responsible for handling user +input and determining which parser to execute based on the input. This is followed by a self-invocation of the `run()` +method which will execute a loop that will continuously prompt the user for input and execute the corresponding command +until the user exits the application with `bye` or `exit` command. + +## 2. Implementation + +To better understand the implementation of the application, we will be looking at the relationship between the +`ParserHandler`, `Parser` and `Command` classes. + +![Command_ParserFlowClassDiagram.png](Command_ParserFlowClassDiagram.png) + +1. On startup, the `MagusStock` class will create a new `ParserHandler` object on `run()` method. +2. The `ParserHandler` object will take in user input from the terminal and delegate the parsing of the input to the + corresponding `Parser` object. +3. The respective `Parser` object will parse the input and create the corresponding `Command` object that was abstracted +from the `Command` class. + +!> In the example above, the user is executing the `add` command. The `ParserHandler` will create a new `AddParser` +object which will parse the user input and create a new `AddCommand` object which is responsible for +the execution of the `add` command by performing the necessary operations + +
+ +### 2.1. Parser Component +The class diagram below illustrates the abstract relationship between the different parser for each command. +The `ParserHandler` class is responsible for handling the user input and determining which parser to execute +based on the user input. Each unique parser is abstracted from the `Parser` class as shown in the diagram below. + +!> Attributes are omitted intentionally for clarity due to large number of it in the actual code. + +![ParserClassDiagram.png](ParserClassDiagram.png) + +### 2.2. Command Component + +The class diagram below illustrates the abstract relationship between the different command classes and `Command`. +The corresponding parser from 2.1 is responsible for the creation and execution of the the respective command object +that is abstracted from the `Command` class as shown in the diagram below. + +!> Attributes are omitted intentionally for clarity due to large number of it in the actual code. + +![CommandClassDiagram.png](CommandClassDiagram.png) + +--- + +
+ +### 2.3. List +The list command is mainly handled by the `ListCommand` class, which extends the `Command` class. + +![ListCommand.png](UML%2FList%2FListCommand.png) + + +**Step 1**. When the user executes the command `list`, the `ParserHandler` will create a new `ListParser` object and pass to it the `Inventory` where the items to be listed are stored. + +![ListStep1.png](UML%2FList%2FListStep1.png) + +**Step 2**. The `run` method in `ListParser` overrides the `run` method in `Parser` to create a new `ListCommand` object, passing to it the relevant `Inventory`. + +![ListStep2.png](UML%2FList%2FListStep2.png) + +**Step 3**. The `run` method in `ListCommand` overrides the `run` method in `Command` and calls the `listItems` method. The `listItems` method checks if the inventory is empty. If the inventory is empty, the method prints a message to inform the user that there are no items in the inventory. Otherwise, the `printTable` method from the `Ui` object is called. + +![ListStep3.png](UML%2FList%2FListStep3.png) + +**Step 4.**. If the `printTable` method is called, it takes in an `ArrayList items` as a parameter and prints out a table showing the name, UPC, quantity and price of all items in the inventory. + +
+ + +### 2.4. Add +The add feature is mainly handled by `AddParser` and `AddCommand`. +The `AddParser` class extends the `Parser` abstract class and the `AddCommand` class extends the `Command` abstract +class. + +#### 2.4.1. AddParser Class +![AddParser.png](UML%2FAdd%2FAddParser.png) + +**Step 1.** User executes the `add` command in the following format: `add n/[Item_name] upc/[UPC] qty/[Quantity] p/[Price] +c/[Category]` + +**Step 2.** The input is handled by the `ParserHandler` class which creates a new `AddParser` and invokes its `run()` method. + +**Step 3.** If the rawInput is null, it throws a `MissingParametersException`. Otherwise, it uses a regular expression matcher to +match the rawInput to a specific pattern. + +**Step 4.** If the input doesn't match the pattern, it prints an error message using `Ui` and returns. + +**Step 5.** If the input matches the pattern, it creates a new `Item` object using the parsed parameters and creates a new +`AddCommand` object using the `Inventory` object and `Item` object. + +**Step 6.** It then calls the `run()` method of the `AddCommand` object to execute the add command to +perform the necessary operations to add the item to the inventory. + +**Step 7.** Once the `AddCommand` object has finished executing, `Command` and `AddCommand` is destroyed +and the `AddParser` object is returned to the `ParserHandler` object with itself being destroyed as well. + +
+ +#### 2.4.2. AddCommand Class + +![AddCommand.png](UML%2FAdd%2FAddCommand.png) + +The `AddCommand` class represents the command to add an item to the inventory. It takes in an `Inventory` object and +an `Item` object as parameters. The constructor sets the `Inventory` object to be the inventory of the `Command` class, +and the `Item` object to be the item to be added to the inventory. + +The class also contains a private method called `addItem()` that adds the `Item` object to +the inventory. The `addItem()` method checks if the item already exists in the inventory using its unique UPC +(Universal Product Code) code. If the item already exists, it prints a message stating that the item is a duplicate. +Otherwise, it adds the item to the inventory, updates the item name hash, and adds the item to the UPC code history. +If the `SessionManager`'s `autoSave` flag is enabled, it writes the current inventory to a file using the +`SessionManager`. + +The `run()` method of the `AddCommand` class calls the `addItem()` method to execute the add command. + +### 2.5. Edit +The "edit" command is mainly handled by the `EditCommand` class, which extends the `Command` class. It is parsed +by the `EditParser` class, which extends the `Parser` class. + + +**Step 1**. When the user executes the command `edit upc/[UPC Code] n/[Name] qty/[Quantity] p/[Price] c/[Category]`, +the `ParserHandler` will create a new `EditParser` object and pass the appropriate `input` and `Inventory` in which +the items are stored. + +**Step 2**. The `EditParser` object checks for the validity of the `input`. If it is determined that no `upc/` is given +or only the `UPC` is given without additional parameters, an exception will be thrown for error handling. If none of +these conditions are met, an `EditCommand` object will be created to further process the user input. + +**Step 3**. In the `EditCommand` object, the method `setEditInfo()` will be called first. This method will be used +to not only call other methods for user input processing, but will also handle the exceptions thrown by the other +methods it has called. It will begin by retrieving the item information from the inventory using +`retrieveItemFromHashmap()` and storing the item attribute information in three `Item` objects, namely `updatedItem`, +`oldItem` and `oldItemForCat`. `oldItem` will be used to keep track of the old attribute information, while +`updatedItem` will be used to overwrite the old attributes, should the user inputs be valid. `oldItemForCat` will +exclusively be used for updating of category information. + +**Step 4**. Still within the `setEditInfo()` method, `updatedItem` and `oldItem` will be pass into another method +`updateItemInfo()`. This method calls `handleUserEditCommand()` for further user input processing and also handles +a series of different exceptions thrown. Within `handleUserEditCommand()`, further verification of user input by +`validateUserEdtiCommand()` will take place, before allowing `makeEdits()` to be executed, which will change the +information in the `updatedItem` object and hence the attribute information of the item. Should exceptions be thrown +by `validateUserEditCommands()`, attribute information stored by `oldItem` will be used by `revertChanges()` to +update the item attributes instead. + +**Step 5**. After item attributes have been updated, we go back to the `setEditInfo()` method, which will then update +the data structures responsible for tracking of the item and its attributes using the `handleTrie()`, `remove()` and +`put()` methods. + +Included below are UML Sequence Diagrams for `EditParser` and `EditCommand`. The second diagram shows a +more detailed reference frame for `Process User Edit Input` found in the first diagram. + +![EditParser.png](UML/Edit/EditParser.png) + +![EditCommand.png](UML/Edit/EditCommand.png) + +### 2.6. Restock +The `restock` command is mainly handled by the `RestockCommand` class, which extends the `Command` class. It is parsed +by the `RestockParser` class, which extends the `Parser` class. Included below is a sequence diagram for the `restock` +command: + +**Step 1**. When the user executes the command `restock upc/[UPC Code] qty/[Quantity]`, the +`ParserHandler` will create a new `RestockParser` object and pass the appropriate `input` and `Inventory` in which +the items are stored. + +**Step 2**. The `RestockParser` object checks for the validity of the user inputs. If user inputs were determined to +be invalid due to lack of a UPC call `upc/` or wrong command length of `1` or below, an exception will be thrown for +error handling. If both conditions as mentioned earlier are satisfied, a `RestockCommand` object will be created to +handle the next step of user input processing. + +**Step 3**. In the `RestockCommand` object, method `restockItem()` is called to begin item quantity addition process. +Two `Item` objects, `updatedItem` and `oldItem`, will be created for ease of passing information on the quantity of +the item before and after the update to other classes. Should `updatedItem` fail to retrieve item information from the +hashmap, possibly due to a non-existent UPC code, `Exception` will be thrown for error handling. + +**Step 4**. The method `restockItem` calls the methods `checkRestockCommandLength()` and `updateItemQuantity()` for +quantity addition. `checkRestockCommandLength()` checks whether the there are two string inputs and throws an +`Exception` if the input is not exactly 2 strings long, before allowing `updateItemQuantity()` to perform the actual +addition. However, even within `updateItemQuantity()`, checks are also performed to detect for negative values, or +strings in place of actual integers. These checks will also throw an `Exception` for error handling. + +**Step 5**. Hashmap and Tree data structures containing information about the Item will be updated, by taking +reference from the `oldItem` and `updatedItem` objects. The `UI` class will be called to handle output of strings +to inform the user on the status of the program, based on whether quantity addition has been done successfully or +if an `Exception` has been thrown. + +Included below are UML Sequence Diagrams for the `RestockParser` and `RestockCommand`. The second diagram shows a more +detailed version of what happens in the reference frame of `Increase Quantity of the Item`. + +![RestockParser.png](UML/Restock/RestockParser.png) + +![RestockCommand.png](UML/Restock/RestockCommand.png) + +
+ +### 2.7. Sell +The "sell" command is mainly handled by the `SellCommand` class, which extends the `Command` class. It is parsed +by the `SellParser` class, which extends the `Parser` class. + +**Step 1**. When the user executes the command `sell upc/[UPC Code] qty/[Quantity]`, the +`ParserHandler` will create a new `SellParser` object and pass to it the appropriate `input` and the appropriate +`Inventory` in which the items are stored. + +**Step 2**. The `SellParser` object checks for the validity of the user inputs. If user inputs were determined to +be invalid due to lack of a UPC code or wrong command length of `1` or below, an exception will be thrown for error +handling. If both conditions as mentioned earlier are satisfied, a `SellCommand` object will be created to handle +the next step of user input processing. + +**Step 3**. In the `SellCommand` object, method `sellItem()` is called to begin item quantity deduction process. +Two `Item` objects, `updatedItem` and `oldItem`, will be created for ease of passing information on the quantity of +the item before and after the update to other classes. Should `updatedItem` fail to retrieve item information from the +hashmap, `Exception` will be thrown for error handling. + +**Step 4**. The method `sellItem` calls the methods `checkSellCommandLength()` and `updateItemQuantity()` for quantity +deduction. `checkSellCommandLength()` checks whether the there are two string inputs and throws an `Exception` if the +input is not exactly 2 strings long, before allowing `updateItemQuantity()` to perform the actual deduction. However, +even within `updateItemQuantity()`, checks are also performed to detect for negative values, strings as quantities, or +values exceeding the total available quantity. These checks will also throw an `Exception` for error handling. + +**Step 5**. Hashmap and Tree data structures containing information about the Item will be updated, by taking +reference from the `oldItem` and `updatedItem` objects. The `UI` class will be called to handle output of strings +to inform the user on the status of the program, based on whether quantity deduction has been done successfully or +if an `Exception` has been thrown. + +Included below are UML Sequence Diagrams for `SellParser` and `SellCommand`. The second diagram gives a detailed +version of what happens in the reference frame 'Deduct Quantity of the Item'. + +![SellParser.png](UML/Sell/SellParser.png) + +![SellCommand.png](UML/Sell/SellCommand.png) + + +### 2.8. Remove + +The remove command is mainly handled by the `RemoveCommand` class, which extends the `Command` class. It is parsed by the +`RemoveParser` class, which extends the `Parser` class. + +![RemoveParser.png](UML/Remove/RemoveParser.png) + +![RemoveCommand.png](UML/Remove/RemoveCommand.png) + +**Step 1**. When the user executes the command `remove f/index [Index]` or `remove f/item upc/[UPC]`, the `ParserHandler` will +create a new `RemoveParser` object and pass to it the appropriate `input`, and `inventory` in which the items are stored. + +**Step 2**. The `run` method in the `RemoveParser` is called which overrides the `run` method in `Parser`. This leads the +`RemoveParser` to call either `parseRemoveByIndex` or `parseRemoveByUpc` method, depending on whether the `f/` is `f/index` +or `f/item` respectively. + +**Step 3**. The methods `parseRemoveByIndex` or `parseRemoveByUpc` will check the validity of the input. If user input is invalid, +an error message will be printed out and method execution will halt. + +![RemoveStep3.png](UML/Remove/RemoveStep3.png) + +**Step 4**. The `run` method in `RemoveCommand` is called which overrides the `run` method in the `Command` object. +This calls either `removeByUpcCode` or `removeByIndex` method depending on the type identified earlier. Now, both functions +will check if the UPC or index input by user is valid/exists in the list and execute removal. If not, an error message will be printed and method +will halt. + + +### 2.9. Search +The search command is mainly handled by the `SearchCommand` class, which extends the `Command` class. It is parsed by +the `SearchParser` class, which extends the `Parser` class. + +![SearchSequence.png](UML%2FSearch%2FSearchSequence.png) + +![SearchCommand.png](UML%2FSearch%2FSearchCommand.png) + +**Step 1**. When the user executes the command `search [keyword]` or `searchupc [keyword]`, the `ParserHandler` will create a +new `SearchParser` object and pass to it the appropriate `input`, the `SearchType`, and the appropriate `Inventory` in +which the items are stored. + +![SearchStep1.png](UML%2FSearch%2FSearchStep1.png) + +**Step 2**. The `run` method in `SearchParser` is called which overrides the `run` method in `Parser`. This leads the +`SearchParser` to call either the `parseSearch` or `parseSearchUPC` method, depending on whether the `SearchType` is +`Types.SearchType.KEYWORD` or `Types.SearchType.UPC` respectively. + +**Step 3**. The methods `parseSearch` or `parseSearchUPC` will check the validity of the input, and if the input +is valid, both will create a new `SearchCommand` object, passing to it the relevant `Inventory`, `SearchType`, and +the `input`. If the input is not valid, an error message will be printed out and method execution will halt. + +![SearchStep3.png](UML%2FSearch%2FSearchStep3.png) + +**Step 4**. The `run` method in the `SearchCommand` object is called which overrides the `run` method in the +`Command` object. This calls either the `searchKeyword` method which returns `ArrayList`, or the `searchUPC` +method which returns an `Item` if there are found item(s), depending on whether the `SearchType` is +`Types.SearchType.KEYWORD` or `Types.SearchType.UPC` respectively. Else, the methods will return `null`. + +**Step 5**. The object(s) are returned to the `run` method. If the returned object is `null`, then the method +will inform the user that no search results were found. Otherwise, the `printSearchItems` or the +`printSearchUPCItems` from the `Ui` object is called, depending on whether the `SearchType` is +`Types.SearchType.KEYWORD` or `Types.SearchType.UPC` respectively. + +![SearchStep5.png](UML%2FSearch%2FSearchStep5.png) + +![SearchStep5UPC.png](UML%2FSearch%2FSearchStep5UPC.png) + +**Step 6**. If the `printSearchItems` method is called, it takes in an `ArrayList items` as a parameter and +prints out a table showing the name, UPC, quantity and price of all search results. Otherwise, the `printSearchUPCItems` +method takes in an `Item item` and prints it out in a table showing the name, UPC, quantity and price of the item. + +### 2.10. Filter +The filter command is mainly handled by the `FilterCommand` class, which extends the `Command` class. It is parsed by +the `FilterParser` class, which extends the `Parser` class. + +![FilterSequence.png](UML%2FFilter%2FFilterSequence.png) + +![FilterPrice.png](UML%2FFilter%2FFilterPrice.png) + +![FilterTagCategory.png](UML%2FFilter%2FFilterTagCategory.png) + + +
+ +**Step 1**. When the user executes the command `filter f/[filtertype] p/[price type] [category/price/tag]`, the +`ParserHandler` will create a new `FilterParser` object and pass to it the appropriate `input` and the appropriate +`Inventory` in which the items are stored. + +![FilterStep1.png](UML%2FFilter%2FFilterStep1.png) + +**Step 2**. The `run` method in `FilterParser` is called which overrides the `run` method in `Parser`. This leads the +`FilterParser` to call either the `parseFilterCategory` or `parseFilterPrice` method, depending on whether the +`f` flag is `category` or `tag` or `price` respectively. If the `f` flag is invalid, an error message is printed +instead. + +**Step 3**. The method `parseFilterCategory` will take the keyword from the user input, create a new `FilterCommand` +object and pass to it the relevant `Inventory`, `value` and `filterMode`. The `filterMode` is the `f` flag. The method +`parseFilterPrice` will check if the `p` flag is set correctly. If it is not set correctly, an error message will be +printed out and execution of the method will halt. Otherwise, a new `FilterCommand` object is created and passed the +`Inventory`, `Price`, and `FilterPriceMode`. + +![FilterStep3.png](UML%2FFilter%2FFilterStep3.png) + +![FilterStep3Tag.png](UML%2FFilter%2FFilterStep3Tag.png) + +**Step 4**. The `run` method in the `FilterCommand` object is called which overrides the `run` method in the +`Command` object. This calls either the `filterCategory` method or `filterPrice` which returns +`ArrayList`, depending on the `filterMode`, which is set to either `filterMode` or `FilterPriceMode`. If there are no +filtered items, the methods will return `null`. + +**Step 5**. The objects are returned to the `run` method. If the returned object is `null`, then the method +will inform the user that no filtered results were found. Otherwise, the `printSearchItems` from the `Ui` object is +called. + +![FilterStep5.png](UML%2FFilter%2FFilterStep5.png) + +**Step 6**. If the `printSearchItems` method is called, it takes in an `ArrayList items` as a parameter and +prints out a table showing the name, UPC, quantity and price of all search results. + +### 2.11. History +The history command is mainly handled by the `HistoryCommand` class, which extends the `Command` class. It is parsed by +the `HistoryParser` class, which extends the `Parser` class. + +![HistoryParser.png](UML%2FHistory%2FHistoryParser.png) + +**Step 1**. When the user executes the command `history [upc]`, the +`ParserHandler` will create a new `HistoryParser` object and pass to it the appropriate `input` and the appropriate +`Inventory` in which the items are stored. + +![HistoryStep1.png](UML%2FHistory%2FHistoryStep1.png) + +**Step 2**. The `run` method in `HistoryParser` is called which overrides the `run` method in `Parser`. The +`HistoryParser` will check if the `input` is a word. If not, an error is shown and the method will halt execution. +Otherwise, the `HistoryParser` will create a new `HistoryCommand` object and pass it the relevant inventory and +user input. + +![HistoryStep2.png](UML%2FHistory%2FHistoryStep2.png) + +**Step 3**. The `run` method in the `HistoryCommand` object is called which overrides the `run` method in the +`Command` object. The `HistoryCommand` object will call the `getHistoryResults` function which will return `null` +if the input specified by the user does not fit any UPC code of any item. Else, the `getHistoryResults` will return +a sorted `ArrayList` which represents the item's history. + +**Step 4**. The objects are returned to the `run` method. If the returned object is `null`, then the method +will inform the user that no filtered results were found. Otherwise, the `printHistory` function from the `Ui` object is +called. + +![HistoryStep3.png](UML%2FHistory%2FHistoryStep3.png) + +**Step 5**. The `printHistory` function will first state the time at which the first instance of the item was added, +followed by printing the details of this first instance. It will then go through the following items in the list and +print the differences, if any. If there is more than 1 item in the list provided to the function, it will then print +the details of the last and most current instant of the item. + + +### 2.12 Alert +The alert command is mainly handled by the `AddAlertCommand` class and `RemoveAlertCommand` class, both of which extend the `Command` class. It is parsed by the `AlertParser` class, which extends the `Parser` class. + +![AlertParser.png](UML%2FAlert%2FAlertParser.png) + +![AddAlertCommand.png](UML%2FAlert%2FAddAlertCommand.png) + +![AddAlertCommand.png](UML%2FAlert%2FRemoveAlertCommand.png) + +**Step 1**. When the user executes a command that begins with the word `alert`, the ParserHandler will create a new `AlertParser` object and pass in the appropriate `input`, as well as the corresponding `inventory` where the list of alerts for inventory items are stored. + +![AlertStep1.png](UML%2FAlert%2FAlertStep1.png) + + +**Step 2**. The `run` method in `AlertParser` is called, which overrides the `run` method in `Parser`. The `AlertParser`checks if the `rawInput` +begins with the word `add` or `remove`. +This leads the `AlertParser` to call either the `parseAddAlert` if `rawInput` begins with the word `add`, +or `parseRemoveAlert` if `rawInput` begins with the word `remove`. +If the `rawInput` does not begin with either `add` or `remove`, an error is shown and the method will halt execution. + +**Step 3**. +If the input begins with `add`, the `AlertParser` creates a new `AddAlertCommand` object +and passes in the relevant inventory, as well as a new `Alert` object. +If the `input` begins with `remove`, the `AlertParser` creates a new `RemoveAlertCommand` object and passes in the relevant inventory, as well as a new `Alert` object. +The `Alert` object is constructed using the `input` string. +Note that both the `AddAlertCommand` and `RemoveAlertCommand` classes have an `AlertList` as part of their constructors, and that this `AlertList` is obtained from the inventory. + +![AlertStep3Add.png](UML%2FAlert%2FAlertStep3Add.png) + +![AlertStep3Remove.png](UML%2FAlert%2FAlertStep3Remove.png) + + +**Step 4**. The `run` method in `AddAlertCommand` overrides the `run` method in `Command`. This calls the `checkAddAlertUpc` method, which checks if the UPC of the alert is one that exists in the inventory. +If the UPC does not exist in the inventory, an error message is shown. Otherwise, the `addAlert` method is called. +The `addAlert` method checks if the alert is a minimum or maximum alert, and then adds the alert to the AlertList by calling either the `addMinAlert()` or `addMaxAlert()` method. +If the `SessionManager`'s `autosave` flag is enabled, it writes the current alert list to a file using the `SessionManager`. + +The `run` method in `RemoveAlertCommand` overrides the `run` method in `Command`. This calls the `checkRemoveAlertUpc` method, which checks if the UPC of the alert is one that exists in the inventory. +If the UPC does not exist in the inventory, an error message is shown. Otherwise, the `removeAlert` method is called. +The `removeAlert` method checks if the alert is a minimum or maximum alert, and then removes the alert. +If the `SessionManager`'s `autosave` flag is enabled, it writes the current alert list to a file using the `SessionManager`. + + + +### 2.13 Category +The category command is mainly handled by the `CategoryCommand` class, which extends the `Command` class. It is parsed by +the `CategoryParser` class, which extends the `Parser` class. + +![CategoryParser.png](UML/Category/CategoryParser.png) + +![CategoryCommand.png](UML/Category/CategoryCommand.png) + +**Step 1** When the user executes the command `cat list` or `cat table`, the `ParserHandler` will create a new +`CategoryParser` object and pass to it the appropriate `input` and the appropriate `Inventory` in which the items are +stored. + +**Step 2**. The `run` method in `CategoryParser` is called which overrides the `run` method in `Parser`. +`CategoryParser` checks if the `input` is not empty. If not, an error is shown and the method halts execution. +Otherwise, the `CategoryParser` will create a new `CategoryCommand` object and pass it the relevant inventory and +user input. + +**Step 3**. The `run` method in the `CategoryParser` object is called which overrides the `run` method in the `Command` +object. The `CategoryCommand` object will call either `listAllCategories` or `listCategoriesAndItems` +method, depending on the user input (`list`, `table` respectively). + +**Step 4**. `listAllCategories` and `listCategoriesAndItems` will call the `printCategoryList` or `printCategory` functions respectively from the `Ui` object +if the category hashmap is not empty. Otherwise, the methods will inform the user that the inventory list is empty and there +is no category hashmap available. ## Product scope ### Target user profile - -{Describe the target user profile} +* Has a need to manage a wide variety of items, and track various information related to the item. +* Is able to type fast which leads to usage of CLI applications being a more efficient method of managing inventories +as compared to tradition inventory management systems. +* Prefers a desktop application for inventory management and tracking rather than using traditional pen and paper, or +smartphones. +* Requires a simplistic yet effective solution to the problem of inventory management, rather than a complex but +costly one. ### Value proposition - -{Describe the value proposition: what problem does it solve?} +* For users who can type fast, usage of MagusStock over conventional GUI applications for inventory management will be +significantly faster. +* MagusStock offers a wide variety of features that are critical in enhancing the user's experience in inventory +management. +* A low-cost solution for small companies and individuals, who likely do not require a costly and complex inventory +management system for tracking of their stocks. +* Simple command formats that are easy to learn and get used to, without complex functions and terms that may be +unsuitable for less seasoned users of the application. ## User Stories -|Version| As a ... | I want to ... | So that I can ...| -|--------|----------|---------------|------------------| -|v1.0|new user|see usage instructions|refer to them when I forget how to use the application| -|v2.0|user|find a to-do item by name|locate a to-do without having to go through the entire list| +| Version | As a ... | I want to ... | So that I can ... | +|---------|--------------------------|-----------------------------------------------------------------|---------------------------------------------------------------| +| v1.0 | small business owner | add new items to the inventory | account for the stocks I have | +| v1.0 | small business owner | keep track of all the items we have in stock | have a record readily available | +| v1.0 | small business owner | delete items from the inventory if they are no longer needed | keep the inventory clean and up-to-date | +| v1.0 | IT team member | update the quantity of items in the inventory | ensure the inventory always reflects the current stock levels | +| v1.0 | IT team member | search for items in the inventory by name SKU or category | quickly find what I need | + + +| Version | As a ... | I want to ... | So that I can ... | +|---------|-------------------------|-------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------| +| v2.0 | small business owner | analyze past sales from the historical records of the stocks | make better decisions | +| v2.0 | small business owner | see a report of items that are due to be reordered | make sure we have enough stock to meet customer demand | +| v2.0 | small business owner | set different prices for items in the inventory | charge different prices for different items | +| v2.0 | small business owner | categorize items in the inventory | quickly find items that belong to a specific category | +| v2.0 | small business owner | directly top up and deduct the quantity of an item in the inventory list | keep track of the item quantities with ease without the inconvenience of editing the item quantity manually | +| v2.0 | small business owner | see the list of commands that can be executed | quickly identify the function I can use and their command formats. | +| v2.0 | small business owner | set minimum and maximum stock levels for items in the inventory | be alerted if our stock levels fall outside of these limits | +| v2.0 | IT team member | assign unique identifying numbers to items in the inventory | easily track and manage the items | +| v2.0 | convenience store owner | store information on the large variety of products | find them easily | + ## Non-Functional Requirements -{Give non-functional requirements} +1. MagusStock should be able to hold up to 10,000 unique items, without a noticeable drop in its speed or performance. +2. MagusStock should be able to work on both Windows and macOS with Java `11` installed. +3. No prior setup of the application or downloading of external software is required, users are able to launch and +use the application once it is downloaded and transferred to an empty folder. ## Glossary -* *glossary item* - Definition +* **MagusStock**: The name of the Inventory Management Program. +* **UPC**:Universal Product Code, used to track, edit, or find a unique item found in MagusStock's inventory database. +* **CLI**:Command Line Interface, a text-based user interface (UI) used to run programs, manage computer files and +interact with the computer. ## Instructions for manual testing +### **Startup and Termination of Program** + * #### Starting up MagusStock + 1. Ensure that you have Java `11` or above installed. + 2. Download the latest version of `MagusStock`from [here](https://github.com/AY2223S2-CS2113-W12-3/tp/releases). + 3. Move the .jar file to an **empty** folder. + 4. After changing directory to your folder in the command terminal, run the file with the + command `java -jar magusstock.jar`. + 5. Upon successful **First** launch of the program, the screen should look similar to what is shown below. A new CSV + file will automatically be created by the program for storage purposes. + 6. Output should look as followed: + +```` +java -jar magusstock.jar +__________________________________________________________________________ + +███╗░░░███╗░█████╗░░██████╗░██╗░░░██╗░██████╗░██████╗████████╗░█████╗░░█████╗░██╗░░██╗ +████╗░████║██╔══██╗██╔════╝░██║░░░██║██╔════╝██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██║░██╔╝ +██╔████╔██║███████║██║░░██╗░██║░░░██║╚█████╗░╚█████╗░░░░██║░░░██║░░██║██║░░╚═╝█████═╝░ +██║╚██╔╝██║██╔══██║██║░░╚██╗██║░░░██║░╚═══██╗░╚═══██╗░░░██║░░░██║░░██║██║░░██╗██╔═██╗░ +██║░╚═╝░██║██║░░██║╚██████╔╝╚██████╔╝██████╔╝██████╔╝░░░██║░░░╚█████╔╝╚█████╔╝██║░╚██╗ +╚═╝░░░░░╚═╝╚═╝░░╚═╝░╚═════╝░░╚═════╝░╚═════╝░╚═════╝░░░░╚═╝░░░░╚════╝░░╚════╝░╚═╝░░╚═╝ +Welcome to MagusStock. How may I assist you today? +__________________________________________________________________________ +INFO: Empty/No Session Inventory file found. +__________________________________________________________________________ +INFO: Empty/No Session Alerts file found. +__________________________________________________________________________ +```` + + * #### Terminating MagusStock + 1. To terminate the program, simply type `bye` or `exit` in the command line. + 2. The expected result of the program is as followed: + +```` +exit +__________________________________________________________________________ +Hope you had an enjoyable experience. See you next time! +__________________________________________________________________________ +```` + +### Testing of Commands +The following shows a series of positive and negative test cases that can be used to test each feature of the program. +A description of the expected output as well as an example will also be provided. +#### List Testing + * **Positive** Test Case Input: `list` + * Expected Output: Print string stating that there are no items in the inventory if no items are added. Else, + print a table showing all items found in the database. + * Output Example: + +```` +__________________________________________________________________________ +There are no items in your inventory. +__________________________________________________________________________ +```` + * **Negative** Test Case Input: `list all` (Too many parameters for `list`) + * Expected Output: An error message which shows the correct format for usage of the `list` command will be printed. + * Output Example: + +```` +__________________________________________________________________________ +Wrong/Incomplete Format! Please list items in the following format : +Sample Format: "list" +__________________________________________________________________________ +```` + + +#### Add Testing + * **Positive** Test Case Input: `add n/Orange upc/123 qty/5 p/2.00 c/fruit` + * Expected Output: A string informing the user that item has been added to the list will be printed. + * Output Example: + +```` +__________________________________________________________________________ +Successfully added the item(s) into the system! +__________________________________________________________________________ +```` + * **Negative** Test Case Input: `add n/Orange upc/123` (Incomplete `Add` format) + * Expected Output: Due to wrong format, a string informing the user of wrong `add` command format will be printed. + * Output Example: + +```` +__________________________________________________________________________ +Wrong/Incomplete Entry For Add! Please refer to UG for more information +Sample Format: "add n/[name] upc/[UPC] qty/[quantity] p/[price] c/[category]" +__________________________________________________________________________ +```` + +#### Edit Testing +!> Note: Ensure that the **Positive** test case input for `Add` testing has been successfully executed before +attempting to test this feature. + * **Positive** Test Case Input: `edit upc/123 qty/10 p/3.00` + * Expected Output: A series of strings which shows the attributes of the item before and after the `edit` will be + printed. + * Output Example: + +```` +__________________________________________________________________________ +Successfully edited the following item: + +Before Update: +Name: Orange +UPC: 123 +Price: 2.0 +Quantity: 5 +Category: fruit + +After Update: +Name: Orange +UPC: 123 +Price: 3.0 +Quantity: 10 +Category: fruit +__________________________________________________________________________ +```` + + * **Negative** Test Case Input: `edit upc/123 qty/999999999` (Quantity out of range) + * Expected Output: Due to an invalid quantity of `999999999`, an error message informing the user of an invalid + quantity will be printed. + * Output Example: + +```` +__________________________________________________________________________ +The number you have entered should be between 0 and 99,999,999. +__________________________________________________________________________ +```` + +#### Restock Testing +!> Note: Ensure that the **Positive** test case input for `Add` testing has been successfully executed before +attempting to test this feature. + * **Positive** Test Case Input: `restock upc/123 qty/100` + * Expected Output: A series of strings showing both the old and new quantity of the item after executing the + `restock` command will be printed. + * Output Example: + +```` +__________________________________________________________________________ +Successfully restocked the following item: + +Before Restocking: +Item Name: Orange +UPC Code: 123 +Quantity Available: 5 + +After Restocking: +Item Name: Orange +UPC Code: 123 +Quantity Available: 105 +__________________________________________________________________________ +```` + + * **Negative** Test Case Input: `restock upc/123 qty/0.1` (Decimal inputs for quantity are not allowed) + * Expected Output: An error message informing user of the conditions of using the `restock` command will be + printed. + * Output Example: + +```` +__________________________________________________________________________ +Unable to restock item. REASON: Quantity inputs SHOULD NOT contain NEGATIVE integers, ZERO(0), or STRING inputs! +Also ensure that the desired quantity to be added does not cause current stock levels to exceed MAX +quantity limit of 99,999,999. +__________________________________________________________________________ +```` + +#### Sell Testing +!> Note: Ensure that the **Positive** test case input for `Add` testing has been successfully executed before +attempting to test this feature. + * **Positive** Test Case Input: `sell upc/123 qty/2` + * Expected Output: A series of strings showing both the old and new quantity of the item after executing the + `sell` command will be printed. The amount sold and the price it's sold at will also be printed. + * Output Example: + +```` +__________________________________________________________________________ +Successfully sold the following item: + +Before Selling: +Item Name: Orange +UPC Code: 123 +Quantity Available: 105 + +After Selling: +Item Name: Orange +UPC Code: 123 +Quantity Available: 103 + +Sold 2 Orange at a price of $2.0. +__________________________________________________________________________ +```` + + * **Negative** Test Case Input: `sell upc/123 qty/two` (String input for quantity is not allowed) + * Expected Output: An error message informing the user of the conditions of using the `sell` command will + be printed. + * Output Example: + +```` +__________________________________________________________________________ +Unable to sell item. REASON: Quantity inputs SHOULD NOT contain NEGATIVE integers, DECIMALS, ZERO(0), or STRING inputs! +Also ensure that the desired quantity to be deducted is LESS THAN current stock levels. +__________________________________________________________________________ +```` + +#### Remove Testing +!> Note: Ensure that the **Positive** test case input for `Add` testing has been successfully executed before +attempting to test this feature. + * **Positive** Test Case Input: `remove f/index 0` (Assuming index 0 contains an item) + * Expected Output: A series of strings showing the item removed from the inventory will be printed. + * Output Example: + +```` +__________________________________________________________________________ +Successfully removed the following item: +Name: Orange +UPC: 123 +Price: 2.0 +Quantity: 103 +Category: fruit +__________________________________________________________________________ +```` + + * **Negative** Test Case Input: `remove f/index 9999999` (Index does not exist) + * Expected Output: Prints an error message to inform that the index is invalid. If inventory is empty, print a + string to inform the user about an empty inventory list instead. + * Output Example (If inventory is not empty): + +```` +__________________________________________________________________________ +This index is invalid. +Please enter number 0 to remove item successfully. +__________________________________________________________________________ +```` + +#### Search Testing +!> Note: Ensure that the **Positive** test case input for `Add` testing has been successfully executed before +attempting to test this feature. + * **Positive** Test Case Input: `search or` + * Expected Output: Return a table containing a list of items whose name starts with `or`. If it does not exist, + print a string that says item does not exist. + * Output Example (Found three items that starts with `or`): + +```` +__________________________________________________________________________ ++-------+-----------------+--------------+----------+----------+-----------------+ +| Index | Name | UPC | Quantity | Price | Category | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 0 | Orcas | 2 | 1 | $1000.00 | Animal | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 1 | Oreo | 1234 | 5 | $2.00 | Snacks | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 2 | orange | 1 | 1 | $1.00 | Uncategorized | ++-------+-----------------+--------------+----------+----------+-----------------+ + +__________________________________________________________________________ +```` + + * **Negative** Test Case Input: `search` (Incomplete command format) + * Expected Output: A message informing the user of incorrect usage of the search command will be printed. + * Output Example: + +```` +Wrong/Incomplete Entry For Search by Keywords! Please refer to UG for more information +Sample Format: "search [KEYWORDS]" +__________________________________________________________________________ +```` + +#### Filter Testing +!> Note: Ensure that the **Positive** test case input for `Add` testing has been successfully executed before +attempting to test this feature. + * **Positive** Test Case Input: `filter f/price p/lt 999` + * Expected Output: Generates a table containing a list of items that are less than the price of `999`. If there is + no such item, print a string to inform the user that no results can be found. + * Output Example (Assuming there are items with prices below $999): + +```` +__________________________________________________________________________ ++-------+-----------------+--------------+----------+----------+-----------------+ +| Index | Name | UPC | Quantity | Price | Category | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 0 | orange | 1 | 1 | $1.00 | Uncategorized | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 1 | Oreo | 1234 | 5 | $2.00 | Snacks | ++-------+-----------------+--------------+----------+----------+-----------------+ + +__________________________________________________________________________ +```` + +* **Positive** Test Case Input: `filter f/category fruit` + * Expected Output: Generates a table containing a list of items that are in the specified category. If there is + no such item, print a string to inform the user that no results can be found. + * Output Example (Assuming there are items in this category): + +```` +__________________________________________________________________________ ++-------+-----------------+--------------+----------+----------+-----------------+ +| Index | Name | UPC | Quantity | Price | Category | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 0 | apples | 12345678910 | 1 | $1.00 | fruit | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 1 | watermelon | 103437378374 | 10 | $40.00 | fruit | +| | | 2 | | | | ++-------+-----------------+--------------+----------+----------+-----------------+ + +__________________________________________________________________________ +```` + +* **Negative** Test Case Input: `filter f/price p/lt one` (String as a price input) + * Expected Output: An error message informing the user to change the price input to a numerical input will be + printed. + * Output Example: + +```` +Please enter a number for the price! +```` + +* **Negative** Test Case Input: `filter f/category ` (with no keywords) + * Expected Output: An error message informing the user of wrong or incorrect input will be + printed. + * Output Example: + +```` +Wrong/Incomplete Entry For Filter! Please refer to UG for more information +Sample Format: + For price filter: "filter f/price p/{gt/get/lt/let} [Price]" + For category filter: "filter f/category [Keywords]" +```` + + +#### History Testing +!> Note: Ensure that the **Positive** test case input for `Add` testing has been successfully executed before +attempting to test this feature. + * **Positive** Test Case Input: `history 1234` + * Expected Output: Prints a message showing the history of the item with UPC code `1234`, which shows its initial + attributes when it was first added, the changes made to it over its lifetime, and its current attributes. + * Output Example (Assuming item with UPC `1234` exists in the inventory): + +```` +__________________________________________________________________________ +Item added at: 4:48 AM, MONDAY, APRIL 10, 2023 +Name: Oreo +UPC: 1234 +Price: 2.0 +Quantity: 5 +Category: Snacks +__________________________________________________________________________ +__________________________________________________________________________ +At: 12:30 PM, MONDAY, APRIL 10, 2023 +Sold 1 items +__________________________________________________________________________ +__________________________________________________________________________ +Name: Oreo +UPC: 1234 +Price: 2.0 +Quantity: 4 +Category: Snacks +__________________________________________________________________________ +```` + + * **Negative** Test Case Input: `history -1` (Item with such UPC does not exist) + * Expected Output: Returns an error message informing the user that the item does not exist. + * Output Example (Assuming item with UPC `1234` exists in the inventory): + +```` +__________________________________________________________________________ +Command failed! Reason: Item not found in database. Please add item first! +__________________________________________________________________________ +```` + + * **Negative** Test Case Input: `history` + * Expected Output: An error message informing the user of wrong or incorrect input printed. + * Output Example: + +```` +Wrong/Incomplete Entry For History! Please refer to UG for more information +Sample Format: "history [UPC]" +```` + + +#### Alert Testing +!> Note: Ensure that the **Positive** test case input for `Add` testing has been successfully executed before +attempting to test this feature. + + * **Positive** Test Case Input: `alert add upc/1234 min/3` + * Expected Output: Prints a message informing the user that an alert has been successfully added. + * Output Example: + +```` +__________________________________________________________________________ +Successfully added a new alert. +__________________________________________________________________________ +```` + + * **Positive** Test Case Input: `alert add upc/12345678910 min/20` + * Expected Output: Prints message on successful addition of new alert, as well as notify user if current quantity is + above or below threshold (for max and min alerts respectively). If item UPC is not found in inventory, prints message + to inform user to add item into inventory first. + * Output Example: (Assuming item UPC is in inventory and current quantity is below minimum set) + +```` +__________________________________________________________________________ +Successfully added a new alert. +__________________________________________________________________________ +ALERT: The quantity of apples is below the minimum level of 20. +__________________________________________________________________________ +```` + * **Negative** Test Case Input: `alert` (Incomplete format) + * Expected Output: Prints an error message that tells the user to refer to the User Guide for the appropriate + format for the `alert` command. + * Output Example: + +```` +____________________________________________________________ +Wrong/Incomplete Entry For Alert! Please refer to UG for more information +____________________________________________________________ +```` + +* **Negative** Test Case Input: `alert add upc/` + * Expected Output: Prints error message for wrong or incomplete entry, and sample format + * Output Example: + +```` +__________________________________________________________________________ +Wrong/Incomplete Entry For Add Alert! Please refer to UG for more information +Sample Format: +"alert add upc/[UPC] min/[integer]" OR +"alert add upc/[UPC] max/[integer]" +__________________________________________________________________________ +```` + +#### Category Testing +!> Note: Ensure that the **Positive** test case input for `Add` testing has been successfully executed before +attempting to test this feature. + * **Positive** Test Case Input: `cat list` + * Expected Output: Shows all categories that are currently in use to classify the items added. + * Output Example: + +```` +__________________________________________________________________________ +Here is the list of categories you have: +Fruit +Uncategorized +__________________________________________________________________________ +```` + + * **Negative** Test Case Input: `cat` (Invalid command format) + * Expected Output: A message to inform the user of an incorrect `category` command format will be printed. + * Output Example: -{Give instructions on how to do a manual product testing e.g., how to load sample data to be used for testing} +```` +Wrong/Incomplete Entry For Category! Please refer to UG for more information +Sample Format: +List all categories: "cat list" +List all items and all categories: "cat table" +__________________________________________________________________________ +```` \ No newline at end of file diff --git a/docs/ParserClassDiagram.png b/docs/ParserClassDiagram.png new file mode 100644 index 0000000000..911a00e305 Binary files /dev/null and b/docs/ParserClassDiagram.png differ diff --git a/docs/README.md b/docs/README.md index bbcc99c1e7..bbb1f3d11b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,8 +1,23 @@ -# Duke -{Give product intro here} +![img_10.png](img_10.png) + +MagusStock is a Java command-line interface (CLI) application designed for inventory management. With MagusStock, you can perform CRUD operations on inventory items, generate history reports, and read/write inventory data in CSV format. + +## Features + +- Inventory management with CSV read/write +- CRUD operations +- History reports + +## Documentation + +For more information on how to use MagusStock, please refer to the following documents: -Useful links: * [User Guide](UserGuide.md) * [Developer Guide](DeveloperGuide.md) -* [About Us](AboutUs.md) + +## About Us + +We are a team of CS2113 developers dedicated to creating high-quality software. For more information on our team and our projects, please refer to the [About Us](AboutUs.md) document. + +--- diff --git a/docs/SequenceDiagram.png b/docs/SequenceDiagram.png new file mode 100644 index 0000000000..da657fa0e0 Binary files /dev/null and b/docs/SequenceDiagram.png differ diff --git a/docs/SequenceDiagram.puml b/docs/SequenceDiagram.puml new file mode 100644 index 0000000000..c7cac10d5d --- /dev/null +++ b/docs/SequenceDiagram.puml @@ -0,0 +1,54 @@ + +@startuml +title MagusStock Overall Sequence Diagram + +skinparam style strictuml +actor User +participant ":MagusStock" +participant "<>\nUi" +participant "<>\nSessionManager" +participant ":ParserHandler" +participant ":Inventory" +User -> ":MagusStock": run() +activate ":MagusStock" +":MagusStock" -> "<>\nUi": greetUser() +activate "<>\nUi" +"<>\nUi" --> ":MagusStock": +deactivate "<>\nUi" +":MagusStock" -> "<>\nSessionManager": getSession() +activate "<>\nSessionManager" +"<>\nSessionManager" --> ":MagusStock": +deactivate "<>\nSessionManager" +":MagusStock" -> "<>\nSessionManager": getSessionAlerts() +activate "<>\nSessionManager" +"<>\nSessionManager" --> ":MagusStock": +deactivate "<>\nSessionManager" +":MagusStock" -> ":Inventory": setAlertList() +activate ":Inventory" +":Inventory" --> ":MagusStock": +deactivate ":Inventory" +":MagusStock" -> ":ParserHandler"**: +activate ":ParserHandler" +":ParserHandler" --> ":MagusStock": +deactivate ":ParserHandler" +":MagusStock" -> ":MagusStock": run() +activate ":MagusStock" +loop until user send input "bye" or "exit" +":MagusStock" -> ":ParserHandler": run() +activate ":ParserHandler" +":ParserHandler" -> ":Inventory": +activate ":Inventory" +ref over ":ParserHandler", ":Inventory": Parse user input and execute command +":Inventory" --> ":ParserHandler": +destroy ":Inventory" +deactivate ":Inventory" +":ParserHandler" --> ":MagusStock": +deactivate ":ParserHandler" +destroy ":ParserHandler" +":MagusStock" --> ":MagusStock": +deactivate ":MagusStock" +end +destroy ":MagusStock" + + +@enduml \ No newline at end of file diff --git a/docs/UML/Add/AddCommand.png b/docs/UML/Add/AddCommand.png new file mode 100644 index 0000000000..12241c542b Binary files /dev/null and b/docs/UML/Add/AddCommand.png differ diff --git a/docs/UML/Add/AddCommand.puml b/docs/UML/Add/AddCommand.puml new file mode 100644 index 0000000000..fe3d79a2b3 --- /dev/null +++ b/docs/UML/Add/AddCommand.puml @@ -0,0 +1,49 @@ + +@startuml +title AddCommand Sequence Diagram + +skinparam style strictuml +participant ":AddParser" +participant ":AddCommand" +":AddParser" -> ":AddCommand"**: run() + +activate ":AddCommand" +":AddCommand" -> ":Command"**:Command(inventory) +activate ":Command" +participant ":Inventory" +participant "<>\nUi" +":AddCommand" -> ":AddCommand": addItem() + +alt upcCodes.containsKey(item.getUpc()) +":AddCommand" -> "<>\nUi": printDuplicateAdd() +activate "<>\nUi" +"<>\nUi" -->":AddCommand": +deactivate "<>\nUi" +else +ref over ":AddCommand",":Inventory":Store Item's UPC code into upcCodes +ref over ":AddCommand",":Inventory":Store Item into itemInventory +ref over ":AddCommand",":Inventory":Add Item into categoryHash +":Command" -->":AddCommand": +deactivate ":Command" +destroy ":Command" +":AddCommand" -> "<>\nUi": printSuccessAdd() +activate "<>\nUi" +"<>\nUi" -->":AddCommand": +deactivate "<>\nUi" +participant "<>\nSessionManager" +participant "<>\nStorage" +opt "<>\nSessionManager".getAutoSave() +":AddCommand" ->"<>\nSessionManager":writeSession(inventory) +activate "<>\nSessionManager" +"<>\nSessionManager"->"<>\nStorage":writeCSV(inventory) +activate "<>\nStorage" +"<>\nStorage" -->"<>\nSessionManager": +deactivate "<>\nStorage" +"<>\nSessionManager" -->":AddCommand": +deactivate "<>\nSessionManager" +end +end +":AddCommand" --> ":AddParser" +destroy ":AddCommand" + +@enduml \ No newline at end of file diff --git a/docs/UML/Add/AddParser.png b/docs/UML/Add/AddParser.png new file mode 100644 index 0000000000..f91d47397d Binary files /dev/null and b/docs/UML/Add/AddParser.png differ diff --git a/docs/UML/Add/AddParser.puml b/docs/UML/Add/AddParser.puml new file mode 100644 index 0000000000..9c955646aa --- /dev/null +++ b/docs/UML/Add/AddParser.puml @@ -0,0 +1,47 @@ + +@startuml +title AddParser Sequence Diagram + +skinparam style strictuml +participant ":ParserHandler" as ParserHandler +participant ":AddParser" as AddParser +ParserHandler -> AddParser: run() + +activate AddParser +participant "<>\nUi" +opt rawInput == null +AddParser -> ":MissingParametersException":throw missingAddItemParameters +activate ":MissingParametersException" +":MissingParametersException" --> ParserHandler: +deactivate ":MissingParametersException" +destroy ":MissingParametersException" +end + +opt !matcher.matches +AddParser -> "<>\nUi":printInvalidAddCommand() +activate "<>\nUi" +"<>\nUi" --> ParserHandler: +deactivate "<>\nUi" +end +participant ":AddCommand" as AddCommand +participant ":Command" as Command +AddParser -> AddCommand**: AddCommand(inventory, newItem) +activate AddCommand +AddCommand -->AddParser: +deactivate AddCommand + +AddParser -> AddCommand: run() +activate AddCommand + +AddCommand -> Command**:Command(inventory) +activate Command +Command -->AddCommand: +deactivate Command +destroy Command +AddCommand -->AddParser: +deactivate AddCommand +destroy AddCommand + +AddParser --> ParserHandler: +destroy AddParser +@enduml \ No newline at end of file diff --git a/docs/UML/Alert/AddAlertCommand.png b/docs/UML/Alert/AddAlertCommand.png new file mode 100644 index 0000000000..a25e327bd6 Binary files /dev/null and b/docs/UML/Alert/AddAlertCommand.png differ diff --git a/docs/UML/Alert/AddAlertCommand.puml b/docs/UML/Alert/AddAlertCommand.puml new file mode 100644 index 0000000000..786712d972 --- /dev/null +++ b/docs/UML/Alert/AddAlertCommand.puml @@ -0,0 +1,52 @@ +@startuml +'https://plantuml.com/sequence-diagram +title AddAlertCommand Sequence Diagram + +skinparam style strictuml +participant ":AlertParser" +participant ":AddAlertCommand" +participant ":AlertList" +participant "<>\n Ui" +participant "<>\nSessionManager" +participant "<>\nStorage" +":AlertParser" -> ":AddAlertCommand": run() + + +activate ":AddAlertCommand" + +":AddAlertCommand" -> ":AddAlertCommand": checkAddAlertUpc() +activate ":AddAlertCommand" #cyan +alt UPC does not exist + ":AddAlertCommand" -> "<>\n Ui": printItemNotFound() + activate "<>\n Ui" + "<>\n Ui" -->":AddAlertCommand": + deactivate "<>\n Ui" +else UPC exists + alt alert is a minimum alert && no existing minimum alert of the same UPC + ref over ":AddAlertCommand", ":AlertList": Store minimum alert in ":AlertList" + else alert is a maximum alert && no existing maximum alert of the same UPC + ref over ":AddAlertCommand", ":AlertList": Store maximum alert in ":AlertList" + else invalid alert type + ":AddAlertCommand" -> "<>\n Ui": printInvalidAlertType() + activate "<>\n Ui" + "<>\n Ui" -->":AddAlertCommand": + deactivate "<>\n Ui" + end + + opt "<>\nSessionManager".getAutoSave() + ":AddAlertCommand" ->"<>\nSessionManager":writeSession(alertList) + activate "<>\nSessionManager" + "<>\nSessionManager"->"<>\nStorage":writeCSV(alertList) + activate "<>\nStorage" + "<>\nStorage" -->"<>\nSessionManager": + deactivate "<>\nStorage" + "<>\nSessionManager" -->":AddAlertCommand": + deactivate "<>\nSessionManager" + end +end +return +":AddAlertCommand" --> ":AlertParser" +destroy ":AddAlertCommand" + + +@enduml \ No newline at end of file diff --git a/docs/UML/Alert/AlertParser.png b/docs/UML/Alert/AlertParser.png new file mode 100644 index 0000000000..0e7eba0c97 Binary files /dev/null and b/docs/UML/Alert/AlertParser.png differ diff --git a/docs/UML/Alert/AlertParser.puml b/docs/UML/Alert/AlertParser.puml new file mode 100644 index 0000000000..f6d82dc59c --- /dev/null +++ b/docs/UML/Alert/AlertParser.puml @@ -0,0 +1,63 @@ +@startuml +'https://plantuml.com/sequence-diagram +title AlertParser Sequence Diagram + +skinparam style strictuml +actor User +participant ":AlertParser" + +User -> ":AlertParser" **:run() +activate ":AlertParser" + +alt rawInput == empty string + ref over ":AlertParser" + handle input error + end + ":AlertParser" --> User + + +else rawInput == "add" + + ":AlertParser" -> ":AlertParser": parseAddAlert() + activate ":AlertParser" #cyan + opt incorrect format or exceeded quantity limit + ref over ":AlertParser" + handle input error + end ref + end + + ":AlertParser" --> User + ref over ":AlertParser" + add alert + end ref + return + +else rawInput == "end" + + ":AlertParser" -> ":AlertParser": parseRemoveAlert() + activate ":AlertParser" #cyan + opt incorrect format or exceeded quantity limit + ref over ":AlertParser" + handle input error + end ref + end + + ":AlertParser" --> User + ref over ":AlertParser" + remove alert + end ref + return + + +else rawInput == any other input + ref over ":AlertParser" + handle input error + end ref + ":AlertParser" --> User +end +return +destroy ":AlertParser" + + + +@enduml \ No newline at end of file diff --git a/docs/UML/Alert/AlertStep1.png b/docs/UML/Alert/AlertStep1.png new file mode 100644 index 0000000000..9543c00690 Binary files /dev/null and b/docs/UML/Alert/AlertStep1.png differ diff --git a/docs/UML/Alert/AlertStep1.puml b/docs/UML/Alert/AlertStep1.puml new file mode 100644 index 0000000000..8e27e946dd --- /dev/null +++ b/docs/UML/Alert/AlertStep1.puml @@ -0,0 +1,9 @@ +@startuml +'https://plantuml.com/object-diagram +skinparam classAttributeIconSize 0 +object AlertParser{ + - rawInput = "add upc/012341 min/50" + - Inventory = inventory +} + +@enduml diff --git a/docs/UML/Alert/AlertStep3Add.png b/docs/UML/Alert/AlertStep3Add.png new file mode 100644 index 0000000000..5be92f6c34 Binary files /dev/null and b/docs/UML/Alert/AlertStep3Add.png differ diff --git a/docs/UML/Alert/AlertStep3Add.puml b/docs/UML/Alert/AlertStep3Add.puml new file mode 100644 index 0000000000..316ee8e887 --- /dev/null +++ b/docs/UML/Alert/AlertStep3Add.puml @@ -0,0 +1,17 @@ +@startuml +'https://plantuml.com/object-diagram +skinparam classAttributeIconSize 0 +object AlertParser{ + - rawInput = "add upc/012341 min/50" + - Inventory = inventory + } + + object AddAlertCommand { + - Inventory = inventory + - Alert = newAlert + - AlertList = inventory.getAlertList() + } + + AlertParser -> AddAlertCommand + +@enduml diff --git a/docs/UML/Alert/AlertStep3Remove.png b/docs/UML/Alert/AlertStep3Remove.png new file mode 100644 index 0000000000..b0b0ca78c6 Binary files /dev/null and b/docs/UML/Alert/AlertStep3Remove.png differ diff --git a/docs/UML/Alert/AlertStep3Remove.puml b/docs/UML/Alert/AlertStep3Remove.puml new file mode 100644 index 0000000000..125208ac87 --- /dev/null +++ b/docs/UML/Alert/AlertStep3Remove.puml @@ -0,0 +1,16 @@ +@startuml +'https://plantuml.com/object-diagram +skinparam classAttributeIconSize 0 +object AlertParser{ + - rawInput = "add upc/012341 min/50" + - Inventory = inventory + } + + object RemoveAlertCommand { + - Inventory = inventory + - Alert = newAlert + - AlertList = inventory.getAlertList() + } + + AlertParser -> RemoveAlertCommand +@enduml diff --git a/docs/UML/Alert/RemoveAlertCommand.png b/docs/UML/Alert/RemoveAlertCommand.png new file mode 100644 index 0000000000..b7468b44b0 Binary files /dev/null and b/docs/UML/Alert/RemoveAlertCommand.png differ diff --git a/docs/UML/Alert/RemoveAlertCommand.puml b/docs/UML/Alert/RemoveAlertCommand.puml new file mode 100644 index 0000000000..d2c6fa6815 --- /dev/null +++ b/docs/UML/Alert/RemoveAlertCommand.puml @@ -0,0 +1,52 @@ +@startuml +'https://plantuml.com/sequence-diagram +title RemoveAlertCommand Sequence Diagram + +skinparam style strictuml +participant ":AlertParser" +participant ":RemoveAlertCommand" +participant ":AlertList" + +participant "<>\n Ui" +participant "<>\nSessionManager" +participant "<>\nStorage" +":AlertParser" -> ":RemoveAlertCommand": run() + +activate ":RemoveAlertCommand" + +":RemoveAlertCommand" -> ":RemoveAlertCommand": checkRemoveAlertUpc() +activate ":RemoveAlertCommand" #cyan +alt UPC does not exist + ":RemoveAlertCommand" -> "<>\n Ui": printItemNotFound() + activate "<>\n Ui" + "<>\n Ui" -->":RemoveAlertCommand": + deactivate "<>\n Ui" +else UPC exists + alt alert is a minimum alert + ref over ":RemoveAlertCommand", ":AlertList": Delete minimum alert in ":AlertList" + else alert is a maximum alert + ref over ":RemoveAlertCommand", ":AlertList": Delete maximum alert in ":AlertList" + else alert does not exist + ":RemoveAlertCommand" -> "<>\n Ui": printNonExistentRemoveAlert() + activate "<>\n Ui" + "<>\n Ui" -->":RemoveAlertCommand": + deactivate "<>\n Ui" + end + opt "<>\nSessionManager".getAutoSave() + ":RemoveAlertCommand" ->"<>\nSessionManager":writeSession(alertList) + activate "<>\nSessionManager" + "<>\nSessionManager"->"<>\nStorage":writeCSV(alertList) + activate "<>\nStorage" + "<>\nStorage" -->"<>\nSessionManager": + deactivate "<>\nStorage" + "<>\nSessionManager" -->":RemoveAlertCommand": + deactivate "<>\nSessionManager" + end +end + + +return +":RemoveAlertCommand" --> ":AlertParser" +destroy ":RemoveAlertCommand" + +@enduml \ No newline at end of file diff --git a/docs/UML/Category/CategoryCommand.png b/docs/UML/Category/CategoryCommand.png new file mode 100644 index 0000000000..af8c66b153 Binary files /dev/null and b/docs/UML/Category/CategoryCommand.png differ diff --git a/docs/UML/Category/CategoryCommand.puml b/docs/UML/Category/CategoryCommand.puml new file mode 100644 index 0000000000..04cf0f57fa --- /dev/null +++ b/docs/UML/Category/CategoryCommand.puml @@ -0,0 +1,33 @@ +@startuml +'https://plantuml.com/sequence-diagram +title CategoryCommand Sequence Diagram + +skinparam style strictuml +participant ":CategoryParser" +group sd [execute command by categoryCommandType] + ":CategoryParser" -> ":CategoryCommand"**: + ":CategoryParser" -> ":CategoryCommand": run() + participant "Ui" <> + activate ":CategoryCommand" + alt if categoryCommandType is 'list' + ":CategoryCommand" -> Ui: listAllCategories() + activate ":CategoryCommand" #cyan + ref over Ui + print list of categories in inventory + end ref + return + return + else if categoryCommandType is 'table' + ":CategoryCommand" -> Ui: listCategoryAndItems() + activate ":CategoryCommand" #cyan + ref over Ui + print table of categories and all items in each category + end ref + return + deactivate ":CategoryCommand" #cyan + ":CategoryCommand" --> ":CategoryParser" + destroy ":CategoryCommand" + end + +end +@enduml \ No newline at end of file diff --git a/docs/UML/Category/CategoryParser.png b/docs/UML/Category/CategoryParser.png new file mode 100644 index 0000000000..517973f923 Binary files /dev/null and b/docs/UML/Category/CategoryParser.png differ diff --git a/docs/UML/Category/CategoryParser.puml b/docs/UML/Category/CategoryParser.puml new file mode 100644 index 0000000000..99e3098478 --- /dev/null +++ b/docs/UML/Category/CategoryParser.puml @@ -0,0 +1,28 @@ +@startuml +'https://plantuml.com/sequence-diagram +title CategoryParser Sequence Diagram + +skinparam style strictuml +actor User +User -> ":CategoryParser"**: run() +activate ":CategoryParser" +alt categoryCommandType is 'list' or 'table + ":CategoryParser" -> ":CategoryCommand"**: + ":CategoryParser" -> ":CategoryCommand": run() + activate ":CategoryCommand" + ref over ":CategoryCommand" + execute command by categoryCommandType + end ref + return + deactivate ":CategoryCommand" + destroy ":CategoryCommand" +else invalid input + ref over ":CategoryParser" + throw exception and print error message + end ref +end +":CategoryParser" --> User +deactivate ":CategoryParser" +destroy ":CategoryParser" + +@enduml \ No newline at end of file diff --git a/docs/UML/Edit/EditCommand.png b/docs/UML/Edit/EditCommand.png new file mode 100644 index 0000000000..e2ba80dd11 Binary files /dev/null and b/docs/UML/Edit/EditCommand.png differ diff --git a/docs/UML/Edit/EditCommand.puml b/docs/UML/Edit/EditCommand.puml new file mode 100644 index 0000000000..339453b3df --- /dev/null +++ b/docs/UML/Edit/EditCommand.puml @@ -0,0 +1,50 @@ +@startuml +'https://plantuml.com/sequence-diagram +title EditCommand Sequence Diagram + +skinparam style strictuml +":EditParser" -> ":EditCommand" **:EditCommand() +activate ":EditCommand" +":EditCommand" --> ":EditParser" +deactivate ":EditCommand" +":EditParser" -> ":EditCommand": run() +activate ":EditCommand" +":EditCommand" -> ":EditCommand": setEditInfo() +activate ":EditCommand" #Cyan +group sd [Process User Edit Input] + ":EditCommand"->":EditCommand": updateItemInfo() + activate ":EditCommand" #Green + ref over ":EditCommand": Update Item Attributes + ":EditCommand"-->":EditCommand" + deactivate ":EditCommand" + ":EditCommand" -> "<>\nCategoryCommand": updateItemCategory() + activate "<>\nCategoryCommand" + ref over "<>\nCategoryCommand": Update Category Data + "<>\nCategoryCommand" --> ":EditCommand" + deactivate "<>\nCategoryCommand" + ":EditCommand"->":EditCommand": handleTrie() + activate ":EditCommand" #Green + ref over ":EditCommand": Update Inventory Data Structure + ":EditCommand"-->":EditCommand" + deactivate ":EditCommand" + alt No Errors + ":EditCommand" -> "<>\nUi":printEditDetails() + activate "<>\nUi" + ref over "<>\nUi":Print Edit Details + "<>\nUi" --> ":EditCommand" + deactivate "<>\nUi" + else Caught Error Exceptions + ref over ":EditCommand","<>\nUi": Print Error Message + end + ":EditCommand" -> "<>\nSessionManager": writeSession() + activate "<>\nSessionManager" + ref over "<>\nSessionManager": Update CSV File + "<>\nSessionManager" --> ":EditCommand" + deactivate "<>\nSessionManager" + +end +":EditCommand" --> ":EditCommand" +deactivate ":EditCommand" +":EditCommand" --> ":EditParser" +destroy ":EditCommand" +@enduml \ No newline at end of file diff --git a/docs/UML/Edit/EditParser.png b/docs/UML/Edit/EditParser.png new file mode 100644 index 0000000000..4c226a8a48 Binary files /dev/null and b/docs/UML/Edit/EditParser.png differ diff --git a/docs/UML/Edit/EditParser.puml b/docs/UML/Edit/EditParser.puml new file mode 100644 index 0000000000..e9ef03ed68 --- /dev/null +++ b/docs/UML/Edit/EditParser.puml @@ -0,0 +1,44 @@ +@startuml +'https://plantuml.com/sequence-diagram +title EditParser Sequence Diagram + +skinparam style strictuml +actor User +User -> ":EditParser" **:EditParser() +activate ":EditParser" +":EditParser" --> User +deactivate ":EditParser" + +alt Contains "upc/" && User input length > 1 + User -> ":EditParser": run() + activate ":EditParser" + ":EditParser" -> ":EditCommand" **:EditCommand() + activate ":EditCommand" + ":EditCommand" --> ":EditParser" + deactivate ":EditCommand" + ":EditParser" -> ":EditCommand" : run() + activate ":EditCommand" + ":EditCommand" -> ":EditCommand": setEditInfo() + activate ":EditCommand" #Cyan + ref over ":EditCommand" : Process User Edit Input + ":EditCommand" --> ":EditCommand" + deactivate ":EditCommand" + ":EditCommand" --> ":EditParser" + deactivate ":EditCommand" + destroy ":EditCommand" +else else + ":EditParser" -> ":EditParser": EditErrorException() + activate ":EditParser" #Cyan + ":EditParser" -> "<>\nUi": printInvalidEditCommand() + activate "<>\nUi" + ref over "<>\nUi": Print Error Message + "<>\nUi" --> ":EditParser" + deactivate "<>\nUi" + ":EditParser" --> ":EditParser" + deactivate ":EditParser" +end + +":EditParser" --> User +deactivate ":EditParser" +destroy ":EditParser" +@enduml \ No newline at end of file diff --git a/docs/UML/Filter/FilterPrice.png b/docs/UML/Filter/FilterPrice.png new file mode 100644 index 0000000000..24633e6bd1 Binary files /dev/null and b/docs/UML/Filter/FilterPrice.png differ diff --git a/docs/UML/Filter/FilterPrice.puml b/docs/UML/Filter/FilterPrice.puml new file mode 100644 index 0000000000..e481ce581c --- /dev/null +++ b/docs/UML/Filter/FilterPrice.puml @@ -0,0 +1,55 @@ +@startuml +'https://plantuml.com/sequence-diagram +title FilterCommand (Price) Sequence Diagram + +skinparam style strictuml +participant ":FilterParser" +group sd [filter price] + ":FilterParser" -> ":FilterCommand" ** : run() with parameters set for price + activate ":FilterCommand" + ":FilterCommand" -> ":FilterCommand": getFilteredItems() + activate ":FilterCommand" #lightgreen + ":FilterCommand" -> ":FilterCommand": filterPrice() + activate ":FilterCommand" #cyan + participant Ui << Class >> + alt mode == "p/lt" + ref over ":FilterCommand" + place all items with price less than input to filteredItems + end ref + else mode == "p/gt" + ref over ":FilterCommand" + place all items with price more than input to filteredItems + end ref + else mode == "p/let" + ref over ":FilterCommand" + place all items with price less than or equal to input to filteredItems + end ref + else mode == "p/get" + ref over ":FilterCommand" + place all items with price more than or equal to input to filteredItems + end ref + end + alt no filtered items + ":FilterCommand" --> ":FilterCommand": null + end + return filteredItems + return null or filteredItems + alt filteredItems is not null + ":FilterCommand" -> Ui: printSearchItems() + activate Ui + ref over Ui + print items in table + end ref + return + else + ":FilterCommand" -> Ui: printEmptySearch() + activate Ui + ref over Ui + print empty search message + end ref + return + end + return + destroy ":FilterCommand" +end +@enduml \ No newline at end of file diff --git a/docs/UML/Filter/FilterSequence.png b/docs/UML/Filter/FilterSequence.png new file mode 100644 index 0000000000..d150a76cf8 Binary files /dev/null and b/docs/UML/Filter/FilterSequence.png differ diff --git a/docs/UML/Filter/FilterSequence.puml b/docs/UML/Filter/FilterSequence.puml new file mode 100644 index 0000000000..ab9454d18c --- /dev/null +++ b/docs/UML/Filter/FilterSequence.puml @@ -0,0 +1,58 @@ +@startuml +'https://plantuml.com/sequence-diagram +title FilterParser Sequence Diagram + +skinparam style strictuml +actor User +participant ":FilterParser" +User -> ":FilterParser" **:run() + +activate ":FilterParser" +alt rawInput == null + ref over ":FilterParser" + handle input error + end ref + ":FilterParser" --> User +end +alt first command == "f/price" + alt command length is 3 + ref over ":FilterParser" + handle input error + end ref + ":FilterParser" --> User + end + ":FilterParser" -> ":FilterParser": parseFilterPrice() + activate ":FilterParser" #cyan + alt price is not double or mode is wrong + ref over ":FilterParser" + handle input error + end ref + end + ":FilterParser" --> User + ref over ":FilterParser" + filter price + end ref + return +else first command == "f/category"" + alt command length < 2 + ref over ":FilterParser" + handle input error + end ref + ":FilterParser" --> User + end + ":FilterParser" -> ":FilterParser": parseFilterCategory() + activate ":FilterParser" #cyan + ref over ":FilterParser" + get user keyword from user input by excluding command word + filter category + end ref + return +else + ref over ":FilterParser" + handle input error + end ref + ":FilterParser" --> User +end +return +destroy ":FilterParser" +@enduml \ No newline at end of file diff --git a/docs/UML/Filter/FilterStep1.png b/docs/UML/Filter/FilterStep1.png new file mode 100644 index 0000000000..98c3463e49 Binary files /dev/null and b/docs/UML/Filter/FilterStep1.png differ diff --git a/docs/UML/Filter/FilterStep1.puml b/docs/UML/Filter/FilterStep1.puml new file mode 100644 index 0000000000..5f175fdb46 --- /dev/null +++ b/docs/UML/Filter/FilterStep1.puml @@ -0,0 +1,8 @@ +@startuml +skinparam classAttributeIconSize 0 +object FilterParser{ + - rawInput = "f/price p/gt 23.50" + - Inventory = inventory +} + +@enduml diff --git a/docs/UML/Filter/FilterStep3.png b/docs/UML/Filter/FilterStep3.png new file mode 100644 index 0000000000..7e84a68f7a Binary files /dev/null and b/docs/UML/Filter/FilterStep3.png differ diff --git a/docs/UML/Filter/FilterStep3.puml b/docs/UML/Filter/FilterStep3.puml new file mode 100644 index 0000000000..4ac60cc747 --- /dev/null +++ b/docs/UML/Filter/FilterStep3.puml @@ -0,0 +1,13 @@ +@startuml +skinparam classAttributeIconSize 0 +object FilterParser{ + - rawInput = "f/price p/gt 23.50" + - Inventory = inventory +} +object FilterCommand{ + - Inventory = inventory + - price = 23.50 + - FilterPriceMode = "p/gt" +} +FilterParser -> FilterCommand +@enduml diff --git a/docs/UML/Filter/FilterStep3Tag.png b/docs/UML/Filter/FilterStep3Tag.png new file mode 100644 index 0000000000..0c77fa0b1c Binary files /dev/null and b/docs/UML/Filter/FilterStep3Tag.png differ diff --git a/docs/UML/Filter/FilterStep3Tag.puml b/docs/UML/Filter/FilterStep3Tag.puml new file mode 100644 index 0000000000..0360453364 --- /dev/null +++ b/docs/UML/Filter/FilterStep3Tag.puml @@ -0,0 +1,13 @@ +@startuml +skinparam classAttributeIconSize 0 +object FilterParser{ + - rawInput = "f/category perishables" + - Inventory = inventory +} +object FilterCommand{ + - Inventory = inventory + - value = "perishables" + - filterMode = "f/category" +} +FilterParser -> FilterCommand +@enduml diff --git a/docs/UML/Filter/FilterStep5.png b/docs/UML/Filter/FilterStep5.png new file mode 100644 index 0000000000..b09ecf8062 Binary files /dev/null and b/docs/UML/Filter/FilterStep5.png differ diff --git a/docs/UML/Filter/FilterStep5.puml b/docs/UML/Filter/FilterStep5.puml new file mode 100644 index 0000000000..4bc9667106 --- /dev/null +++ b/docs/UML/Filter/FilterStep5.puml @@ -0,0 +1,17 @@ +@startuml +skinparam classAttributeIconSize 0 +object FilterParser{ + - rawInput = "f/price p/gt 23.50" + - Inventory = inventory +} +object FilterCommand{ + - Inventory = inventory + - price = 23.50 + - FilterPriceMode = "p/gt" +} +object Ui{ + - ArrayList items = items +} +FilterParser -> FilterCommand +FilterCommand -> Ui +@enduml diff --git a/docs/UML/Filter/FilterTagCategory.png b/docs/UML/Filter/FilterTagCategory.png new file mode 100644 index 0000000000..644746d243 Binary files /dev/null and b/docs/UML/Filter/FilterTagCategory.png differ diff --git a/docs/UML/Filter/FilterTagCategory.puml b/docs/UML/Filter/FilterTagCategory.puml new file mode 100644 index 0000000000..e22a2a2d5a --- /dev/null +++ b/docs/UML/Filter/FilterTagCategory.puml @@ -0,0 +1,47 @@ +@startuml +'https://plantuml.com/sequence-diagram +title FilterCommand (Category) Sequence Diagram + +skinparam style strictuml +participant ":FilterParser" +group sd [filter category] + ":FilterParser" -> ":FilterCommand" ** : run() with parameters set for category + activate ":FilterCommand" + ":FilterCommand" -> ":FilterCommand": getFilteredItems() + activate ":FilterCommand" #lightgreen + alt mode is "f/category" + ":FilterCommand" -> ":FilterCommand": filterCategory() + activate ":FilterCommand" #cyan + loop through all items + alt item has the same category as user keyword + ref over ":FilterCommand" + add to filteredItems + end ref + end + end + alt filteredItems is empty + ":FilterCommand" --> ":FilterCommand": null + end + return filteredItems + return null or filteredItems + end + Participant "Ui" <> + alt filteredItems is not null + ":FilterCommand" -> "Ui": printCategory() + activate "Ui" + ref over "Ui" + print items in table + end ref + return + else + ":FilterCommand" -> "Ui": printEmptySearch() + activate "Ui" + ref over "Ui" + print empty search message + end ref + return + end + return + destroy ":FilterCommand" +end +@enduml \ No newline at end of file diff --git a/docs/UML/History/HistoryParser.png b/docs/UML/History/HistoryParser.png new file mode 100644 index 0000000000..0c086a68fe Binary files /dev/null and b/docs/UML/History/HistoryParser.png differ diff --git a/docs/UML/History/HistoryParser.puml b/docs/UML/History/HistoryParser.puml new file mode 100644 index 0000000000..0877079fa8 --- /dev/null +++ b/docs/UML/History/HistoryParser.puml @@ -0,0 +1,85 @@ +@startuml +'https://plantuml.com/sequence-diagram +title HistoryParser Sequence Diagram + +skinparam style strictuml +actor User +User -> ":HistoryParser"** + +User -> ":HistoryParser": run() +activate ":HistoryParser" +alt rawInput length is not one + ref over ":HistoryParser" + handle input error + end ref + ":HistoryParser" --> User +end +":HistoryParser" -> ":HistoryCommand"** + +":HistoryParser" -> ":HistoryCommand": run() +activate ":HistoryCommand" +":HistoryCommand" -> ":HistoryCommand": getHistoryResults() +activate ":HistoryCommand" #cyan +alt upcCode does not belong to any item + ":HistoryCommand" --> ":HistoryCommand": null +end +ref over ":HistoryCommand" + retrieve history from inventory + sort history +end ref +return null or results +participant "Ui" <> +alt results is not null +else +":HistoryCommand" -> "Ui": printHistory +activate "Ui" +ref over "Ui" + print time first item was added + print first item info +end ref +loop over all items passed from the second item + ref over "Ui" + get item edit type + end ref + alt edit type is RECATEGORIZE + ref over "Ui" + print new category + end ref + else edit type is SOLD + ref over "Ui" + print how many sold + end ref + else edit type is BOUGHT + ref over "Ui" + print how many bought + end ref + else edit type is RENAME + ref over "Ui" + print new name + end ref + else edit type is PRICE_DECREASE + ref over "Ui" + print old and new price + end ref + else edit type is PRICE_INCREASE + ref over "Ui" + print old and new price + end ref + else edit type is CHANGE_TAG + ref over "Ui" + print new tags + end ref + end + alt more than one item passed + ref over "Ui" + print last item info + end ref + end +end +return +end +return +destroy ":HistoryCommand" +return +destroy ":HistoryParser" +@enduml \ No newline at end of file diff --git a/docs/UML/History/HistoryStep1.png b/docs/UML/History/HistoryStep1.png new file mode 100644 index 0000000000..3ccf8c9d56 Binary files /dev/null and b/docs/UML/History/HistoryStep1.png differ diff --git a/docs/UML/History/HistoryStep1.puml b/docs/UML/History/HistoryStep1.puml new file mode 100644 index 0000000000..ebd058b1fe --- /dev/null +++ b/docs/UML/History/HistoryStep1.puml @@ -0,0 +1,8 @@ +@startuml +skinparam classAttributeIconSize 0 +object HistoryParser{ + - rawInput = "0123241" + - Inventory = inventory +} + +@enduml diff --git a/docs/UML/History/HistoryStep2.png b/docs/UML/History/HistoryStep2.png new file mode 100644 index 0000000000..85eafb0b63 Binary files /dev/null and b/docs/UML/History/HistoryStep2.png differ diff --git a/docs/UML/History/HistoryStep2.puml b/docs/UML/History/HistoryStep2.puml new file mode 100644 index 0000000000..b5e81d8b8e --- /dev/null +++ b/docs/UML/History/HistoryStep2.puml @@ -0,0 +1,12 @@ +@startuml +skinparam classAttributeIconSize 0 +object HistoryParser{ + - rawInput = "0123241" + - Inventory = inventory +} +object HistoryCommand{ + - Inventory = inventory + - rawInput = "0123241" +} +HistoryParser -> HistoryCommand +@enduml diff --git a/docs/UML/History/HistoryStep3.png b/docs/UML/History/HistoryStep3.png new file mode 100644 index 0000000000..24f4f69d04 Binary files /dev/null and b/docs/UML/History/HistoryStep3.png differ diff --git a/docs/UML/History/HistoryStep3.puml b/docs/UML/History/HistoryStep3.puml new file mode 100644 index 0000000000..89d490083f --- /dev/null +++ b/docs/UML/History/HistoryStep3.puml @@ -0,0 +1,16 @@ +@startuml +skinparam classAttributeIconSize 0 +object HistoryParser{ + - rawInput = "0123241" + - Inventory = inventory +} +object HistoryCommand{ + - Inventory = inventory + - rawInput = "0123241" +} +object Ui{ + - ArrayList items = items +} +HistoryParser -> HistoryCommand +HistoryCommand -> Ui +@enduml diff --git a/docs/UML/List/ListCommand.png b/docs/UML/List/ListCommand.png new file mode 100644 index 0000000000..c0972f973c Binary files /dev/null and b/docs/UML/List/ListCommand.png differ diff --git a/docs/UML/List/ListCommand.puml b/docs/UML/List/ListCommand.puml new file mode 100644 index 0000000000..b0ff221062 --- /dev/null +++ b/docs/UML/List/ListCommand.puml @@ -0,0 +1,34 @@ +@startuml +'https://plantuml.com/sequence-diagram +title ListCommand Sequence Diagram + +skinparam style strictuml +actor User +participant ":ListParser" +User -> ":ListParser": run() + + + ":ListParser" -> ":ListCommand": run() + ":ListCommand" -> ":ListCommand": listItems() + activate ":ListCommand" + participant "Ui" <> + alt inventory is empty + ":ListCommand" -> Ui: printEmptyList() + activate Ui + ref over Ui + print empty inventory storage + end ref + return + else inventory is not empty + ":ListCommand" -> Ui: printTable() + activate Ui + ref over Ui + print table of items in inventory + end ref + return + end + ":ListCommand" --> ":ListParser" + deactivate ":ListCommand" + destroy ":ListCommand" + +@enduml \ No newline at end of file diff --git a/docs/UML/List/ListStep1.png b/docs/UML/List/ListStep1.png new file mode 100644 index 0000000000..94a96cc417 Binary files /dev/null and b/docs/UML/List/ListStep1.png differ diff --git a/docs/UML/List/ListStep1.puml b/docs/UML/List/ListStep1.puml new file mode 100644 index 0000000000..a155f18224 --- /dev/null +++ b/docs/UML/List/ListStep1.puml @@ -0,0 +1,9 @@ +@startuml +'https://plantuml.com/object-diagram + +skinparam classAttributeIconSize 0 +object ListParser{ + - Inventory = inventory +} + +@enduml diff --git a/docs/UML/List/ListStep2.png b/docs/UML/List/ListStep2.png new file mode 100644 index 0000000000..e60ed7d636 Binary files /dev/null and b/docs/UML/List/ListStep2.png differ diff --git a/docs/UML/List/ListStep2.puml b/docs/UML/List/ListStep2.puml new file mode 100644 index 0000000000..b0de4df82f --- /dev/null +++ b/docs/UML/List/ListStep2.puml @@ -0,0 +1,14 @@ +@startuml +'https://plantuml.com/object-diagram + +skinparam classAttributeIconSize 0 +object ListParser{ + - Inventory = inventory +} + +object ListCommand{ + - Inventory = inventory +} + +ListParser -> ListCommand +@enduml diff --git a/docs/UML/List/ListStep3.png b/docs/UML/List/ListStep3.png new file mode 100644 index 0000000000..d3b9d6e3de Binary files /dev/null and b/docs/UML/List/ListStep3.png differ diff --git a/docs/UML/List/ListStep3.puml b/docs/UML/List/ListStep3.puml new file mode 100644 index 0000000000..245eee10a8 --- /dev/null +++ b/docs/UML/List/ListStep3.puml @@ -0,0 +1,18 @@ +@startuml +'https://plantuml.com/object-diagram + +skinparam classAttributeIconSize 0 +object ListParser{ + - Inventory = inventory +} + +object ListCommand{ + - Inventory = inventory +} + +object Ui{ + - ArrayList items = items +} +ListParser -> ListCommand +ListCommand -> Ui +@enduml diff --git a/docs/UML/Remove/RemoveCommand.png b/docs/UML/Remove/RemoveCommand.png new file mode 100644 index 0000000000..0000e59419 Binary files /dev/null and b/docs/UML/Remove/RemoveCommand.png differ diff --git a/docs/UML/Remove/RemoveCommand.puml b/docs/UML/Remove/RemoveCommand.puml new file mode 100644 index 0000000000..4d7b542a14 --- /dev/null +++ b/docs/UML/Remove/RemoveCommand.puml @@ -0,0 +1,25 @@ +@startuml +'https://plantuml.com/sequence-diagram +title RemoveCommand Sequence Diagram + +skinparam style strictuml +participant ":RemoveParser" +group sd [remove item in RemoveCommand] + ":RemoveParser" -> ":RemoveCommand": run() +participant "Ui" <> + activate ":RemoveCommand" + ":RemoveCommand" -> ":RemoveCommand": removeByUpcCode() or removeByIndex() + activate ":RemoveCommand" #cyan + ref over ":RemoveCommand" + remove item + end ref + ":RemoveCommand" -> Ui: printSuccessRemove() + activate Ui + return successful remove message + deactivate + end +return +destroy ":RemoveCommand" +destroy ":RemoveParser" + +@enduml \ No newline at end of file diff --git a/docs/UML/Remove/RemoveParser.png b/docs/UML/Remove/RemoveParser.png new file mode 100644 index 0000000000..077d338ca1 Binary files /dev/null and b/docs/UML/Remove/RemoveParser.png differ diff --git a/docs/UML/Remove/RemoveParser.puml b/docs/UML/Remove/RemoveParser.puml new file mode 100644 index 0000000000..5c02dd68a6 --- /dev/null +++ b/docs/UML/Remove/RemoveParser.puml @@ -0,0 +1,25 @@ +@startuml +'https://plantuml.com/sequence-diagram +title RemoveParser Sequence Diagram + +actor User +skinparam style strictuml +User -> ":RemoveParser": run() +activate ":RemoveParser" +alt rawInput contains 'f/upc' or 'f/index + + ":RemoveParser" -> ":RemoveParser": parseRemoveByUpc() or parseRemoveByIndex() + activate ":RemoveParser" #cyan + ":RemoveParser" -> ":RemoveCommand"** + ref over ":RemoveCommand", ":RemoveParser" + remove item in RemoveCommand + end ref + return null +else rawInput is null/empty + ":RemoveParser" -> ":RemoveParser": null +end + +destroy ":RemoveCommand" +return +destroy ":RemoveParser" +@enduml \ No newline at end of file diff --git a/docs/UML/Remove/RemoveStep3.png b/docs/UML/Remove/RemoveStep3.png new file mode 100644 index 0000000000..6801f63e6e Binary files /dev/null and b/docs/UML/Remove/RemoveStep3.png differ diff --git a/docs/UML/Remove/RemoveStep3.puml b/docs/UML/Remove/RemoveStep3.puml new file mode 100644 index 0000000000..d85c40db2d --- /dev/null +++ b/docs/UML/Remove/RemoveStep3.puml @@ -0,0 +1,29 @@ +@startuml +'https://plantuml.com/sequence-diagram + +skinparam classAttributeIconSize 0 +object RemoveParser{ + - rawInput = "f/upc 123" + - Inventory = inventory + - alertList = alertList +} + +object RemoveParser1{ + - rawInput = "f/index 2" + - Inventory = inventory + - alertList = alertList +} + +object RemoveCommand{ + - Inventory = inventory + - upcCode = 123 +} + +object RemoveCommand1{ + - Inventory = inventory + - itemIndex = 2 +} + +RemoveParser -> RemoveCommand +RemoveParser1 -> RemoveCommand1 +@enduml \ No newline at end of file diff --git a/docs/UML/Restock/RestockCommand.png b/docs/UML/Restock/RestockCommand.png new file mode 100644 index 0000000000..b039bd0918 Binary files /dev/null and b/docs/UML/Restock/RestockCommand.png differ diff --git a/docs/UML/Restock/RestockCommand.puml b/docs/UML/Restock/RestockCommand.puml new file mode 100644 index 0000000000..89e38676aa --- /dev/null +++ b/docs/UML/Restock/RestockCommand.puml @@ -0,0 +1,83 @@ +@startuml +'https://plantuml.com/sequence-diagram +title RestockCommand Sequence Diagram + +skinparam style strictuml +participant ":RestockParser" +":RestockParser" -> ":RestockCommand" ** +activate ":RestockCommand" +":RestockCommand" --> ":RestockParser" +deactivate ":RestockCommand" +":RestockParser" -> ":RestockCommand": run() +activate ":RestockCommand" +":RestockCommand"->":RestockCommand": restockItem() +group sd Increase Quantity of the Item +activate ":RestockCommand" #Cyan +ref over ":RestockCommand": Retrieve Item from \n Hashmap and keep \n track of previous Quantity Value. +":RestockCommand" -> ":RestockCommand": checkRestockCommandLength() +activate ":RestockCommand" #Red + +alt Command Length != 2 +ref over ":RestockCommand": Handle Missing Parameters \n Exception +end + + +activate ":RestockCommand" +":RestockCommand" --> ":RestockCommand" +deactivate ":RestockCommand" +":RestockCommand" -> ":RestockCommand": updateItemQuantity() +activate ":RestockCommand" #Green + + +ref over ":RestockCommand" +Update the Quantity of Item if user input is valid +end + + +":RestockCommand" --> ":RestockCommand" +deactivate ":RestockCommand" + + +":RestockCommand"->":RestockCommand": handleTrie() +activate ":RestockCommand" #Green +ref over ":RestockCommand": Update Inventory Data Structure +":RestockCommand"-->":RestockCommand" +deactivate ":RestockCommand" + + +alt Valid Inputs +":RestockCommand" -> "<>\nUi": printRestockDetails() +activate "<>\nUi" +ref over "<>\nUi": Print Restock Message +"<>\nUi" -->":RestockCommand" +deactivate "<>\nUi" +else Item Does Not Exist +":RestockCommand" -> "<>\nUi": printItemNotFound() +activate "<>\nUi" +ref over "<>\nUi": Print Error Message +"<>\nUi"-->":RestockCommand" +deactivate "<>\nUi" +else Missing Input Parameters +":RestockCommand" -> "<>\nUi": printInvalidRestockCommand() +activate "<>\nUi" +ref over "<>\nUi": Print Error Message +"<>\nUi"-->":RestockCommand" +deactivate "<>\nUi" +else Invalid Input Parameters +":RestockCommand" -> "<>\nUi": printInvalidAddQuantityInput() +activate "<>\nUi" +ref over "<>\nUi": Print Error Message +"<>\nUi"-->":RestockCommand" +deactivate "<>\nUi" +end +":RestockCommand" -> "<>\nSessionManager": writeSession() +activate "<>\nSessionManager" +ref over "<>\nSessionManager": Update CSV File +"<>\nSessionManager" --> ":RestockCommand" +deactivate "<>\nSessionManager" +":RestockCommand" --> ":RestockCommand" +deactivate ":RestockCommand" +end +":RestockCommand" --> ":RestockParser" +destroy ":RestockCommand" +@enduml \ No newline at end of file diff --git a/docs/UML/Restock/RestockParser.png b/docs/UML/Restock/RestockParser.png new file mode 100644 index 0000000000..643f51c2b3 Binary files /dev/null and b/docs/UML/Restock/RestockParser.png differ diff --git a/docs/UML/Restock/RestockParser.puml b/docs/UML/Restock/RestockParser.puml new file mode 100644 index 0000000000..c78178b8c1 --- /dev/null +++ b/docs/UML/Restock/RestockParser.puml @@ -0,0 +1,46 @@ +@startuml +'https://plantuml.com/sequence-diagram +title RestockParser Sequence Diagram + +skinparam style strictuml +actor User +participant ":RestockParser" +User -> ":RestockParser" **:RestockParser() +activate ":RestockParser" +":RestockParser" --> User +deactivate ":RestockParser" +User->":RestockParser":run() +activate ":RestockParser" +":RestockParser" -> ":RestockCommand" **:RestockCommand() +activate ":RestockCommand" +":RestockCommand" --> ":RestockParser" +deactivate ":RestockCommand" + + +alt Contains "upc/" and input length > 1 + ":RestockParser"->":RestockCommand": run() + activate ":RestockCommand" + ref over ":RestockCommand","<>\nUi": Increases quantity of the Item + ":RestockCommand"-->":RestockParser": + deactivate ":RestockCommand" + ":RestockParser"-->User: + destroy ":RestockCommand" + + +else No "upc/" or input length <= 1 + ":RestockParser"->":RestockParser": EditErrorException() + activate ":RestockParser" #Cyan + ":RestockParser"->"<>\nUi":printInvalidSellCommand() + activate "<>\nUi" + "<>\nUi"-->":RestockParser": + deactivate "<>\nUi" + ":RestockParser"-->":RestockParser": + deactivate ":RestockParser" + ":RestockParser"-->User: + deactivate ":RestockParser" +end + + +deactivate ":RestockParser" +destroy ":RestockParser" +@enduml \ No newline at end of file diff --git a/docs/UML/Search/SearchCommand.png b/docs/UML/Search/SearchCommand.png new file mode 100644 index 0000000000..898550877c Binary files /dev/null and b/docs/UML/Search/SearchCommand.png differ diff --git a/docs/UML/Search/SearchCommand.puml b/docs/UML/Search/SearchCommand.puml new file mode 100644 index 0000000000..4a933a7b25 --- /dev/null +++ b/docs/UML/Search/SearchCommand.puml @@ -0,0 +1,76 @@ +@startuml +'https://plantuml.com/sequence-diagram +title SearchCommand Sequence Diagram + +skinparam style strictuml +participant ":SearchParser" + +group sd [SearchCommand running] + ":SearchParser" -> ":SearchCommand": run() + activate ":SearchCommand" + participant ":SearchCommand" + participant Ui <> + alt searchType == Types.SearchType.KEYWORD + ":SearchCommand" -> ":SearchCommand": searchKeyword() + activate ":SearchCommand" #cyan + loop for each word in keyword + ref over ":SearchCommand" + search for word in internal trie + add all (items, occurences) with word into HashMap resultItemsCount + end ref + end + loop for each (item, occurences) in resultItemsCount + alt occurences == number of keywords + ref over ":SearchCommand" + add to results + end ref + end + end + alt no items in results + ":SearchCommand" -> Ui: printEmptySearch() + activate Ui + ref over Ui + print empty search message + end ref + return + ":SearchCommand" --> ":SearchCommand": null + end + return results + alt results is not null + ":SearchCommand" -> Ui: printSearchItems() + activate Ui + ref over Ui + print items in table + end ref + return + end + else + ":SearchCommand" -> ":SearchCommand": searchUPC() + activate ":SearchCommand" #lightgreen + alt input not found in upcCodes + ":SearchCommand" -> Ui: printEmptySearch() + activate Ui + ref over Ui + print empty search message + end ref + return + ":SearchCommand" --> ":SearchCommand": null + end + ref over ":SearchCommand" + return item from upcCodes + end ref + return searchResult + alt searchResult is not null + ":SearchCommand" -> Ui: printSearchUPCItem() + activate Ui + ref over Ui + print items in table + end ref + return + end + end + return + deactivate ":SearchCommand" + destroy ":SearchCommand" +end +@enduml \ No newline at end of file diff --git a/docs/UML/Search/SearchSequence.png b/docs/UML/Search/SearchSequence.png new file mode 100644 index 0000000000..49b2c48429 Binary files /dev/null and b/docs/UML/Search/SearchSequence.png differ diff --git a/docs/UML/Search/SearchSequence.puml b/docs/UML/Search/SearchSequence.puml new file mode 100644 index 0000000000..e149efc535 --- /dev/null +++ b/docs/UML/Search/SearchSequence.puml @@ -0,0 +1,47 @@ +@startuml +'https://plantuml.com/sequence-diagram +title SearchParser Sequence Diagram + +skinparam style strictuml +actor User +participant ":SearchParser" +User -> ":SearchParser" ** +User -> ":SearchParser": run() +activate ":SearchParser" + +alt searchType == Types.SearchType.KEYWORD + ":SearchParser" -> ":SearchParser": parseSearch + alt rawInput == null + ref over ":SearchParser" + handle input error + end ref + ":SearchParser" --> User + end + ":SearchParser" -> ":SearchCommand" ** : + ":SearchParser" -> ":SearchCommand" ++ : run() + + ref over ":SearchCommand" + ":SearchCommand" runs + end ref + ":SearchCommand" --> ":SearchParser" + deactivate ":SearchCommand" + destroy ":SearchCommand" +else + ":SearchParser" -> ":SearchParser": parseSearchUPC + alt rawInput == null or rawInput has more than 1 word + ref over ":SearchParser" + handle input error + end ref + ":SearchParser" --> User + end + ":SearchParser" -> ":SearchCommand" ++ : run() + ref over ":SearchCommand" + ":SearchCommand" runs + end ref + ":SearchCommand" --> ":SearchParser" + deactivate ":SearchCommand" + destroy ":SearchCommand" +end +return +destroy ":SearchParser" +@enduml \ No newline at end of file diff --git a/docs/UML/Search/SearchStep1.png b/docs/UML/Search/SearchStep1.png new file mode 100644 index 0000000000..270dd8c51f Binary files /dev/null and b/docs/UML/Search/SearchStep1.png differ diff --git a/docs/UML/Search/SearchStep1.puml b/docs/UML/Search/SearchStep1.puml new file mode 100644 index 0000000000..5d6c5df512 --- /dev/null +++ b/docs/UML/Search/SearchStep1.puml @@ -0,0 +1,11 @@ +@startuml +'https://plantuml.com/object-diagram +skinparam classAttributeIconSize 0 +object SearchParser{ + - rawInput = "apple" + - Inventory = inventory + - searchType = Types.SearchType.KEYWORD +} + + +@enduml diff --git a/docs/UML/Search/SearchStep3.png b/docs/UML/Search/SearchStep3.png new file mode 100644 index 0000000000..80afe69bfc Binary files /dev/null and b/docs/UML/Search/SearchStep3.png differ diff --git a/docs/UML/Search/SearchStep3.puml b/docs/UML/Search/SearchStep3.puml new file mode 100644 index 0000000000..51efb6b3f0 --- /dev/null +++ b/docs/UML/Search/SearchStep3.puml @@ -0,0 +1,18 @@ +@startuml +'https://plantuml.com/object-diagram +skinparam classAttributeIconSize 0 +object SearchParser{ + - rawInput = "apple" + - Inventory = inventory + - searchType = Types.SearchType.KEYWORD +} + +object SearchCommand{ + - rawInput = "apple" + - Inventory = inventory + - searchType = Types.SearchType.KEYWORD +} + +SearchParser -> SearchCommand + +@enduml diff --git a/docs/UML/Search/SearchStep5.png b/docs/UML/Search/SearchStep5.png new file mode 100644 index 0000000000..a71ffb1850 Binary files /dev/null and b/docs/UML/Search/SearchStep5.png differ diff --git a/docs/UML/Search/SearchStep5.puml b/docs/UML/Search/SearchStep5.puml new file mode 100644 index 0000000000..3c8df958a7 --- /dev/null +++ b/docs/UML/Search/SearchStep5.puml @@ -0,0 +1,23 @@ +@startuml +'https://plantuml.com/object-diagram +skinparam classAttributeIconSize 0 +object SearchParser{ + - rawInput = "apple" + - Inventory = inventory + - searchType = Types.SearchType.KEYWORD +} + +object SearchCommand{ + - rawInput = "apple" + - Inventory = inventory + - searchType = Types.SearchType.KEYWORD +} + +object Ui{ + - ArrayList items = items +} + +SearchParser -> SearchCommand +SearchCommand -> Ui + +@enduml diff --git a/docs/UML/Search/SearchStep5UPC.png b/docs/UML/Search/SearchStep5UPC.png new file mode 100644 index 0000000000..fd4290c5a8 Binary files /dev/null and b/docs/UML/Search/SearchStep5UPC.png differ diff --git a/docs/UML/Search/SearchStep5UPC.puml b/docs/UML/Search/SearchStep5UPC.puml new file mode 100644 index 0000000000..288fac7b37 --- /dev/null +++ b/docs/UML/Search/SearchStep5UPC.puml @@ -0,0 +1,23 @@ +@startuml +'https://plantuml.com/object-diagram +skinparam classAttributeIconSize 0 +object SearchParser{ + - rawInput = "123" + - Inventory = inventory + - searchType = Types.SearchType.UPC +} + +object SearchCommand{ + - rawInput = "123" + - Inventory = inventory + - searchType = Types.SearchType.UPC +} + +object Ui{ + - Item = item +} + +SearchParser -> SearchCommand +SearchCommand -> Ui + +@enduml diff --git a/docs/UML/Sell/SellCommand.png b/docs/UML/Sell/SellCommand.png new file mode 100644 index 0000000000..967511fc98 Binary files /dev/null and b/docs/UML/Sell/SellCommand.png differ diff --git a/docs/UML/Sell/SellCommand.puml b/docs/UML/Sell/SellCommand.puml new file mode 100644 index 0000000000..5781804af7 --- /dev/null +++ b/docs/UML/Sell/SellCommand.puml @@ -0,0 +1,83 @@ +@startuml +'https://plantuml.com/sequence-diagram +title SellCommand Sequence Diagram + +skinparam style strictuml +participant ":SellParser" +":SellParser" -> ":SellCommand"**:SellCommand() +activate ":SellCommand" +":SellCommand" --> ":SellParser" +deactivate ":SellCommand" +":SellParser" -> ":SellCommand": run() + +group sd Deduct Quantity of the Item + activate ":SellCommand" + ":SellCommand"->":SellCommand": sellItem() + activate ":SellCommand" #Cyan + ref over ":SellCommand": Retrieve Item from \n Hashmap and keep \n track of previous Quantity Value. + ":SellCommand" -> ":SellCommand": checkSellCommandLength() + activate ":SellCommand" #Green + + alt Command Length != 2 + ref over ":SellCommand": Handle MissingParameters \n Exception + end + + + activate ":SellCommand" + ":SellCommand" --> ":SellCommand" + deactivate ":SellCommand" + ":SellCommand" -> ":SellCommand": updateItemQuantity() + activate ":SellCommand" #Green + + alt Quantity Deducted > 0 && Quantity Deducted < Current Quantity + ref over ":SellCommand" + Update the Quantity of Item if user input is valid + end + else Quantity Deducted > Current Quantity || Quantity Deducted <= 0 + ref over ":SellCommand": Handle SellErrorException + end + ":SellCommand" --> ":SellCommand" + deactivate ":SellCommand" + ":SellCommand" --> ":SellCommand" + deactivate ":SellCommand" + + ":SellCommand"->":SellCommand": handleTrie() + activate ":SellCommand" #Cyan + ref over ":SellCommand": Update Inventory Data Structure + ":SellCommand"-->":SellCommand" + deactivate ":SellCommand" + + alt Valid Inputs + ":SellCommand" -> "<>\nUI": printSellDetails() + activate "<>\nUI" + ref over "<>\nUI": Print Sell Message + "<>\nUI"-->":SellCommand" + deactivate "<>\nUI" + else Item Does Not Exist + ":SellCommand" -> "<>\nUI": printItemNotFound() + activate "<>\nUI" + ref over "<>\nUI": Print Error Message + "<>\nUI"-->":SellCommand" + deactivate "<>\nUI" + else Missing Input Parameters + ":SellCommand" -> "<>\nUI": printInvalidSellCommand() + activate "<>\nUI" + ref over "<>\nUI": Print Error Message + "<>\nUI"-->":SellCommand" + deactivate "<>\nUI" + else Invalid Input Parameters + ":SellCommand" -> "<>\nUI": printInvalidDeductQuantityInput() + activate "<>\nUI" + ref over "<>\nUI": Print Error Message + "<>\nUI"-->":SellCommand" + deactivate "<>\nUI" + end + ":SellCommand" -> "<>\nSessionManager": writeSession() + activate "<>\nSessionManager" + ref over "<>\nSessionManager": Update CSV File + "<>\nSessionManager" --> ":SellCommand" + deactivate "<>\nSessionManager" +end +":SellCommand" --> ":SellParser" +destroy ":SellCommand" +@enduml \ No newline at end of file diff --git a/docs/UML/Sell/SellParser.png b/docs/UML/Sell/SellParser.png new file mode 100644 index 0000000000..b1cc98613a Binary files /dev/null and b/docs/UML/Sell/SellParser.png differ diff --git a/docs/UML/Sell/SellParser.puml b/docs/UML/Sell/SellParser.puml new file mode 100644 index 0000000000..7af5cbd434 --- /dev/null +++ b/docs/UML/Sell/SellParser.puml @@ -0,0 +1,40 @@ +@startuml +title SellParser Sequence Diagram + +skinparam style strictuml +actor User +participant ":SellParser" +User -> ":SellParser"**:SellParser() +activate ":SellParser" +":SellParser" --> User +deactivate ":SellParser" + +User->":SellParser":run() +activate ":SellParser" + +alt Contains "upc/" and input length > 1 + ":SellParser"->":SellCommand"**: SellCommand() + activate ":SellCommand" + ":SellCommand" --> ":SellParser" + deactivate ":SellCommand" + ":SellParser" -> ":SellCommand":run() + activate ":SellCommand" + ref over ":SellCommand","<>\nUI": Deduct quantity of the Item + ":SellCommand"-->":SellParser": + deactivate ":SellCommand" + destroy ":SellCommand" +else No "upc/" or input length <= 1 + ":SellParser"->":SellParser": EditErrorException() + activate ":SellParser" #Cyan + ":SellParser"->"<>\nUI":printInvalidSellCommand() + activate "<>\nUI" + ref over "<>\nUI":Print Error Message + "<>\nUI"-->":SellParser": + deactivate "<>\nUI" + ":SellParser"-->":SellParser": + deactivate ":SellParser" +end +":SellParser"-->User: +deactivate ":SellParser" +destroy ":SellParser" +@enduml \ No newline at end of file diff --git a/docs/UserGuide.md b/docs/UserGuide.md index abd9fbe891..c0214d15d8 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -1,42 +1,788 @@ # User Guide +![img_11.png](img_11.png) + +## Contents +- [Introduction](#introduction) +- [Quick Start](#quick-start) +- [Features](#features) +- [FAQ](#faq) +- [Command Summary](#command-summary) ## Introduction -{Give a product intro} +MagusStock is a Java command-line interface (CLI) application designed for inventory management. ## Quick Start -{Give steps to get started quickly} +1. Ensure that you have Java 11 or above installed. +2. Download the latest version of MagusStock from [here](https://github.com/AY2223S2-CS2113-W12-3/tp/releases). +3. Move the `.jar` file to an empty folder. +4. Run the file with the command `java -jar magusstock.jar`. + +1. [Greeting](#1-greeting) + +## Features +- [Adding an item: `add`](#adding-an-item-add-) +- [Editing an item: `edit`](#editing-an-item-edit-) +- [Removing an item: `remove`](#removing-an-item-remove-) +- [Listing all items: `list`](#list-all-items-list-) +- [Searching for item(s): `search`](#search-for-an-item-search-searchupc-) +- [Filtering item(s) by type: `filter`](#filtering-items-filter-) +- [Listing all commands: `help`](#list-all-available-commands-help-) +- [History of item: `history`](#historical-records-of-item-history-) +- [Selling an item: `sell`](#sell-quantity-of-item-sell-) +- [Restocking an item: `restock`](#restock-an-item-restock-) +- [Dashboard: `db`](#dashboard-db-) +- [Category: `cat`](#category-cat-) +- [Alert for item(s): `alert`](#alert-for-an-item-alert-) +- [Autosave of Inventory: `autosave`](#change-auto-save-mode-autosave-) +- [Exiting the program: `exit`](#exiting-the-program-exit-) + +
+ +--- +### Adding an item: `add` +Adds a new item to the inventory list. + +Format: `add n/[item_name] upc/[UPC] qty/[quantity] p/[price] c/[category]` + +**REQUIRED** parameters: +* The `n/` parameter where `[item_name]` field must be alphanumeric. +* The `upc/` parameter where `[UPC]` field must be a **non-negative numerical** value. +* The `qty/` parameter where `[quantity]` field must be a **non-negative numerical** value. +* The `p/` parameter where `[price]` field must be a **non-negative numerical** value _(decimals accepted)_. + +**OPTIONAL** parameters: +* The `c/` parameter for `[category]` must be alphanumeric. (Defaults to: `uncategorized` if not specified.) + +!> **Enforced** valid range for numerical parameters is **0** to **99,999,999**. + + + +#### Example of usage + +`add n/HP Laptop upc/2142535453 qty/10 p/1299.99` + +`add n/iPhone 11 Pro Max Max upc/2987654323 qty/11 p/1099.99 c/electronics` + +#### Sample output +``` +add n/iPhone 11 Pro Max Max upc/2987654323 qty/11 p/1099.99 c/electronics +____________________________________________________________ +Successfully added the item(s) into the system! +____________________________________________________________ +``` + +## 1. Greeting + + +--- +### Editing an item: `edit` +Edit an item's details in the inventory. + +Format: `edit upc/[UPC] n/[item_name] qty/[quantity] p/[price] c/[category]` + +**REQUIRED** parameters: +* The `upc/` parameter where `[UPC]` must be a **non-negative numerical value** and exists in the inventory. + +**OPTIONAL** parameters: +* The `n/` parameter where `[item_name]` field must be alphanumeric. +* The `qty/` parameter where `[quantity]` field must be a **non-negative numerical** value. +* The `p/` parameter where `[price]` field must be a **non-negative numerical value** _(decimals accepted)_. +* The `c/` parameter where `[category]` field must be alphanumeric. + +!> **Enforced** valid range for numerical parameters is **0** to **99,999,999**. + + +#### Example of usage + +`edit upc/2142535453 c/laptop`: Searches for the item in the inventory with a `UPC` code of `2142535453`, and change +its `Category` type to `laptop`.
+ +`edit upc/123 n/Orange qty/5 p/2.00`: Searches for the item in the inventory with a `UPC` code of `123`, and change +its `Name` to `Orange`, `quantity` to be set to `5` and `price` will be set to `2.00`. + +#### Sample output +``` +edit upc/2142535453 c/laptop +____________________________________________________________ +Successfully edited the following item: + +Before Update: +Name: HP Laptop Pro +UPC: 2142535453 +Price: 1299.99 +Quantity: 10 +Category: uncategorised + +After Update: +Name: HP Laptop Pro +UPC: 2142535453 +Price: 1299.99 +Quantity: 10 +Category: laptop +____________________________________________________________ + +``` +--- +### Removing an item: `remove` +Removes an item from the inventory list using either its UPC or index in list. + +Format: `remove f/upc [UPC]` or `remove f/index [index]` + +**REQUIRED** parameters: + +* The `[UPC]` must be a **non-negative numerical value**. +* The `[index]` can only be a **non-negative whole number**. + + +!> **index** follows 0-indexing. (i.e. the first item in the list is at index 0.) + +#### Example of usage + +`remove f/upc 123456789`: Removes the item with `UPC` code of `123456789`. + +`remove f/index 0`: Removes the item with the `index` of `0` inside the inventory list. + +#### Sample output +**Case I:** Remove by UPC +``` +remove f/upc 123 +--------------------------------------------------------------------------- +Successfully removed the following item: +Name: orange +UPC: 123 +Price: 5.0 +Quantity: 5 +Category: uncategorized +--------------------------------------------------------------------------- +``` + +**Case II:** Remove By Index +``` +remove f/index 0 +--------------------------------------------------------------------------- +Successfully removed the following item: +Name: apple +UPC: 456 +Price: 5.0 +Quantity: 5 +Category: uncategorized +--------------------------------------------------------------------------- +``` + +--- +### List all items: `list` +Lists all items in the inventory list. + +Format: `list` + +#### Example of usage + +`list`: Lists all the items found in the inventory. + +#### Sample output +**Case I:** When there are items in the inventory + +``` +list +__________________________________________________________________________ + +██╗███╗░░██╗██╗░░░██╗███████╗███╗░░██╗████████╗░█████╗░██████╗░██╗░░░██╗ +██║████╗░██║██║░░░██║██╔════╝████╗░██║╚══██╔══╝██╔══██╗██╔══██╗╚██╗░██╔╝ +██║██╔██╗██║╚██╗░██╔╝█████╗░░██╔██╗██║░░░██║░░░██║░░██║██████╔╝░╚████╔╝░ +██║██║╚████║░╚████╔╝░██╔══╝░░██║╚████║░░░██║░░░██║░░██║██╔══██╗░░╚██╔╝░░ +██║██║░╚███║░░╚██╔╝░░███████╗██║░╚███║░░░██║░░░╚█████╔╝██║░░██║░░░██║░░░ +╚═╝╚═╝░░╚══╝░░░╚═╝░░░╚══════╝╚═╝░░╚══╝░░░╚═╝░░░░╚════╝░╚═╝░░╚═╝░░░╚═╝░░░ +Here are the items in your inventory: ++-------+-----------------+--------------+----------+----------+-----------------+ +| Index | Name | UPC | Quantity | Price | Category | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 0 | apples | 1235678910 | 10 | $10.00 | fruit | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 1 | laptop | 01987654321 | 33 | $2.30 | electronics | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 2 | pencil | 5678901234 | 15 | $0.10 | uncategorized | ++-------+-----------------+--------------+----------+----------+-----------------+ + +__________________________________________________________________________ + +``` + + +**Case II:** When there is no items in the inventory +``` +list +__________________________________________________________________________ +There are no items in your inventory. +__________________________________________________________________________ +``` + +
+ +--- +### Search for an item: `search` / `searchupc` +Search for item(s) in the inventory list by keywords or UPC. + +| Format | Required parameter | +|---------------------|---------------------------------------------------------| +| `search [keywords]` | `[keywords]` can be an alphanumerical value. | +| `searchupc [UPC]` | `[UPC]` can only be a **non-negative numerical** value. | + +!> Note: `search` will find items with all keywords. Hence, the search term `sleeves` will find both `Laptop Sleeves` +and `Clothes Sleeves`, but the search term `laptop slee` will only return the item `Laptop Sleeves`. + +#### Example of usage: + +`search laptop slee` or `searchupc 0123241` + +#### Sample output + +**Case I:** Search by keywords +``` +search laptop slee +__________________________________________________________________________ ++-------+-----------------+--------------+----------+----------+-----------------+ +| Index | Name | UPC | Quantity | Price | Category | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 0 | laptop sleeves | 123 | 10 | $40.00 | uncategorized | ++-------+-----------------+--------------+----------+----------+-----------------+ + +__________________________________________________________________________ +``` +**Case II:** Search by UPC + +``` +searchupc 0123241 +__________________________________________________________________________ +Here is your item: ++-------+-----------------+--------------+----------+----------+-----------------+ +| Index | Name | UPC | Quantity | Price | Category | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 0 | apples | 0123241 | 10 | $10.00 | fruit | ++-------+-----------------+--------------+----------+----------+-----------------+ + +__________________________________________________________________________ +``` + +
+ +### Filtering items: `filter` +Filters items from the inventory list by price OR category. + + +| Filter By | Format | Required parameter | +|-----------|---------------------|-----------------------------------------------------| +| Price | `filter f/price` | `p/gt`/`p/get`/`p/lt`/`p/let` followed by `[price]` | +| Category | `filter f/category` | `[category keywords]` | + + +**REQUIRED** parameters: +* For `filter f/price`, the `[price]` parameter must be a **non-negative numerical value** within a valid range. +* For `filter f/category`, the `[category keywords]` parameter must be an **alphanumerical value**. + +!> **Enforced** valid range for numerical parameters is **0** to **999999999**. + +| Price Comparator | Required parameter | +|------------------|----------------------------------------| +| `p/gt` | Items price greater than `[price]` | +| `p/get` | Items price greater/equals to`[price]` | +| `p/lt` | Items price less than `[price]` | +| `p/let` | Items price lesser/equals to `[price]` | + +#### Example of usage + +`filter f/category fruits` or `filter f/price p/gt 10.2` + +#### Sample output + +**Case I:** Filter by category + +``` +filter f/category fruit +__________________________________________________________________________ ++-------+-----------------+--------------+----------+----------+-----------------+ +| Index | Name | UPC | Quantity | Price | Category | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 0 | apples | 12345 | 10 | $15.00 | fruit | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 1 | watermelons | 54321 | 5 | $10.00 | fruit | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 2 | oranges | 6789 | 20 | $15.00 | fruit | ++-------+-----------------+--------------+----------+----------+-----------------+ + +__________________________________________________________________________ + + +``` + +**Case II:** Filter by price + +``` +filter f/price p/gt 10.2 +__________________________________________________________________________ ++-------+-----------------+--------------+----------+----------+-----------------+ +| Index | Name | UPC | Quantity | Price | Category | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 0 | apples | 0123241 | 10 | $15.00 | fruit | ++-------+-----------------+--------------+----------+----------+-----------------+ +| 1 | TV | 987654 | 1 | $1099.00 | uncategorized | ++-------+-----------------+--------------+----------+----------+-----------------+ + +__________________________________________________________________________ +``` +--- +### List all available commands: `help` +Lists all commands available and the command formats. + +Format: `help` + +#### Example of usage -1. Ensure that you have Java 11 or above installed. -1. Down the latest version of `Duke` from [here](http://link.to/duke). +`help` -## Features +#### Sample output +``` +help +__________________________________________________________________________ ++---------------------------+---------------------------+ +| Command | Command Format | ++---------------------------+---------------------------+ +| history: shows the | history UPC | +| historical commands | | +| executed for an item | | ++---------------------------+---------------------------+ +.........INTENTIONALLY TRUNCATED FOR DEMONSTRATION........ ++---------------------------+---------------------------+ +| db: Displays the | db | +| dashboard of MagusStock | | ++---------------------------+---------------------------+ -{Give detailed description of each feature} +__________________________________________________________________________ +``` -### Adding a todo: `todo` -Adds a new item to the list of todo items. -Format: `todo n/TODO_NAME d/DEADLINE` +--- +### Historical records of item: `history` +Lists historical changes to an item in the inventory list. -* The `DEADLINE` can be in a natural language format. -* The `TODO_NAME` cannot contain punctuation. +Format: `history [UPC]` -Example of usage: +#### Example of usage -`todo n/Write the rest of the User Guide d/next week` +``history 0123241`` -`todo n/Refactor the User Guide to remove passive voice d/13/04/2020` +#### Sample output + +``` +__________________________________________________________________________ +Item added at: 12:00 AM, WEDNESDAY, MARCH 29, 2023 +Name: Apples +UPC: 0123241 +Price: 15.0 +Quantity: 10 +Category: uncategorized +__________________________________________________________________________ +__________________________________________________________________________ +At: 12:04 AM, WEDNESDAY, MARCH 29, 2023 +Category changed to: fruits +__________________________________________________________________________ +__________________________________________________________________________ +At: 12:06 AM, WEDNESDAY, MARCH 29, 2023 +Sold 5 items +__________________________________________________________________________ +__________________________________________________________________________ +At: 12:06 AM, WEDNESDAY, MARCH 29, 2023 +Bought 50 items +__________________________________________________________________________ +__________________________________________________________________________ +At: 12:06 AM, WEDNESDAY, MARCH 29, 2023 +Price decreased from $15.0 to $5.0 +__________________________________________________________________________ +__________________________________________________________________________ +Name: Apples +UPC: 0123241 +Price: 5.0 +Quantity: 55 +Category: fruits +__________________________________________________________________________ +``` + +--- +### Sell quantity of item: `sell` +Reduces the quantity of an item in the inventory list. + +Format: `sell upc/[UPC] qty/[quantity]` + +**REQUIRED** Parameters: + +* The `upc/` parameter, whereby `[UPC]` refers to the identification number assigned to the item at the point +of **initial addition** of the item. +* The `qty/` parameter, whereby `[quantity]` refers to the amount of stock to be **DEDUCTED** from the current +stock levels recorded. + +!> `[UPC]` has to be **VALID**, that is, it EXISTS in the database, and has to be a POSITIVE NUMBER and NOT EMPTY. + +!> **Enforced** valid `[quantity]` input range to be from **1** up to the **Current Quantity Level** of the item, +provided that the **Current Quantity Level** is **NOT ZERO**. Strings, Zero(0), Negative Integers and Empty inputs for +`[quantity]` are not allowed. + +!> For both `[UPC]` and `[quantity]`, the `[` and `]` symbols are **NOT NEEDED** for the input. Refer to the +examples below for reference. + +#### Example of usage +`sell upc/123 qty/5`: Searches for the item of `UPC` code `123`, and if it exists, **DEDUCT** a `quantity` of `5` +items from its current stock levels, provided that the total quantity after selling does not go below 0. + +`sell upc/987612345 qty/10`: Searches for the item of `UPC` code `987612345`, and if it exists, **DEDUCT** a +`quantity` of `10` items from its current stock levels. provided that the total quantity after selling does not go +below 0. + +#### Sample output +```` +__________________________________________________________________________ +sell upc/123 qty/5 +__________________________________________________________________________ +Successfully sold the following item: + +Before Selling: +Item Name: orange and apples +UPC Code: 123 +Quantity Available: 10 + +After Selling: +Item Name: orange and apples +UPC Code: 123 +Quantity Available: 5 + +Sold 5 orange and apples at a price of $6.0. +__________________________________________________________________________ +```` + +--- +### Restock an item: `restock` +Restock quantities of an item in the inventory list. + +Format: `restock upc/[UPC] qty/[quantity]` + +**REQUIRED** Parameters: + +* The `upc/` parameter whereby `[UPC]` refers to the identification number assigned to the item at the point +of **initial addition** of the item. +* The `qty/` parameter whereby `[quantity]` refers to the amount of stock to be **ADDED** from the current stock +levels recorded. + +!> `[UPC]` has to be **VALID**, that is, it EXISTS in the database, and has to be a POSITIVE NUMBER and NOT EMPTY. + +!> **Enforced** valid `[quantity]` input range to be from **1** to **99,999,999**. Zero(0), negative integers, string +and empty inputs are **NOT** allowed. Ensure that the post-restock quantity does not add up to above 99,999,999. + +!> For both `[UPC]` and `[quantity]`, the `[` and `]` symbols are **NOT NEEDED** for the input. Refer to the +examples below for reference. + +#### Example of usage +`restock upc/12345 qty/5`: Searches for the item of `UPC` code `12345`, and if it exists, **ADD** a `quantity` of `5` +items to its current stock levels, provided that the total quantity after restocking does **not** exceed 99,999,999. + +`restock upc/999 qty/10`: Searches for the item of `UPC` code `999`, and if it exists, **ADD** a +`quantity` of `10` items to its current stock levels, provided that the total quantity after restocking does **not** +exceed 99,999,999. + +#### Sample output +``` +__________________________________________________________________________ +restock upc/12345 qty/5 +__________________________________________________________________________ +Successfully restocked the following item: + +Before Restocking: +Item Name: Computer +UPC Code: 12345 +Quantity Available: 100 + +After Restocking: +Item Name: Computer +UPC Code: 12345 +Quantity Available: 105 +__________________________________________________________________________ +``` + +
+ +--- +### Dashboard: `db` +Shows a dashboard of information related to the system's inventory, user insights and +session configurations. + +Format: `db` + +**REQUIRED** Parameters: +* Only the `db` command keyword is needed. + +!> Note: There should **NOT** be any further user inputs after typing `db`. + +#### Example of usage +`db`: Opens the dashboard. + +#### Sample output +``` +db +__________________________________________________________________________ + +██████╗░░█████╗░░██████╗██╗░░██╗██████╗░░█████╗░░█████╗░██████╗░██████╗░ +██╔══██╗██╔══██╗██╔════╝██║░░██║██╔══██╗██╔══██╗██╔══██╗██╔══██╗██╔══██╗ +██║░░██║███████║╚█████╗░███████║██████╦╝██║░░██║███████║██████╔╝██║░░██║ +██║░░██║██╔══██║░╚═══██╗██╔══██║██╔══██╗██║░░██║██╔══██║██╔══██╗██║░░██║ +██████╔╝██║░░██║██████╔╝██║░░██║██████╦╝╚█████╔╝██║░░██║██║░░██║██████╔╝ +╚═════╝░╚═╝░░╚═╝╚═════╝░╚═╝░░╚═╝╚═════╝░░╚════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░ +Overview: +__________________________________________________________________________ +Total number of items: 2 +Total number of active alerts: 0 +Total value of inventory: $155.1 +Item with most quantity: laptop (33) +Item with least quantity: laptop (33) +__________________________________________________________________________ +Current Session Configurations: +__________________________________________________________________________ +AutoSave Mode: TRUE +Inventory Data File Status: CORRUPTED +Alerts Data File Status: MISSING (Will be created if AutoSave is TRUE) +__________________________________________________________________________ +List of active alerts: +No alerts to print. +__________________________________________________________________________ +``` + +--- +### Category: `cat` +Shows list of categories, or a summary table of all categories and their items. + +Format:
+`cat list`: Shows list of all categories in the inventory.
+`cat table`: Shows table of all categories and all items in each category. + +**REQUIRED** Parameters: +* The `list` which tells the program to show a list of categories, **OR** +* The `table` keyword, which tells the program to show a table of all categories and items in each category. + +!> Note: There should **NOT** be +any additional user inputs after typing `cat list` or `cat table`. `list` and `table` +should **NOT** be used concurrently. + + +!> Categories are **CASE-INSENSITIVE**. (i.e. an item of category `Fruit` and an item of category `fRuIt` will be +interpreted as being in the same `fruit` category.) + +#### Example of usage + +`cat list` + +`cat table` + +#### Sample output +**CASE I:** Show the list of all categories in the inventory. +``` +cat list +__________________________________________________________________________ +Here is the list of categories you have: +Uncategorized +Fruits +Electronics and Supplies +__________________________________________________________________________ +``` +**CASE II:** Show all the categories in the inventory as well as their respective items +``` +cat table +__________________________________________________________________________ ++-----------------+-----------------------------------------------+ +| Category | Name: UPC | ++-----------------+-----------------------------------------------+ +| Fruit | apples: 12345678910, | +| | watermelon: 1034373783742 | ++-----------------+-----------------------------------------------+ +| Uncategorized | oranges: 1029348576 | ++-----------------+-----------------------------------------------+ +| Electronics and | cpu: 20391928234 | +| Supplies | | ++-----------------+-----------------------------------------------+ +__________________________________________________________________________ +``` +--- +### Alert for an item: `alert` +Add alerts that will display messages when the quantity of an item falls below a set minimum or exceeds a maximum level. + +Example of Alert Message: +``` +__________________________________________________________________________ +ALERT: The quantity of apples is below the minimum level of 2. +__________________________________________________________________________ +``` + +Add Alert Format: +`alert add upc/[UPC] min/[quantity] ` to set an alert when quantity falls below a minimum. +`alert add upc/[UPC] max/[quantity]` to set an alert when quantity exceeds a maximum. + +**REQUIRED** parameters: + +* The `[UPC]` must be a **non-negative numerical value**. +* For **MIN alert**: The `[quantity]` must be a **non-negative whole number** and is **less than** current item's +quantity. +* For **MAX alert**: The `[quantity]` must be a **non-negative whole number** and is **greater than** current item's +quantity. + +Remove Alert Format: + +`alert remove upc/[UPC] level/min` to remove an alert for the minimum quantity of an item. +`alert remove upc/[UPC] level/max` to remove an alert for the maximum quantity of an item. + +**REQUIRED** parameters: + +* The `[UPC]` must be a **non-negative numerical value**. + +#### Examples of usage +`alert add upc/1234 min/55` +`alert add upc/1234 max/100` + +`alert remove upc/1234 level/min` +`alert remove upc/1234 level/max` + +#### Sample output +**Sample I:** Addition of a minimum quantity alert to an item +``` +alert add upc/1234 min/55 +__________________________________________________________________________ +Successfully added a new alert. +__________________________________________________________________________ +``` + +**Sample II:** Removal of a minimum quantity alert for an item +``` +alert remove upc/1234 level/min +__________________________________________________________________________ +Successfully removed the alert. +__________________________________________________________________________ +``` + +--- +### Change Auto save Mode: `autosave` + +Set whether the program should automatically save the updated inventory to the inventory data file after every +successful write command issued. + +Format: `autosave [on/off]` + +**REQUIRED** Parameters: +* The `on` **OR** `off` parameter, whereby it toggles the auto save function **ON** and **OFF** respectively. + +!> Note: if auto save is disabled, the program will **NOT** save on exit. This is because auto save `off` functions +similarly to incognito mode on a browser. + +#### Example of usage + +`autosave on`: Turns the `autosave` function `on`. + +`autosave off`: Turns the `autosave` function `off`. + +#### Sample output + +``` +autosave on +__________________________________________________________________________ +Auto-save has been enabled! +__________________________________________________________________________ +``` + +``` +autosave off +__________________________________________________________________________ +Auto-save has been disabled! +__________________________________________________________________________ +``` + +--- +### Exiting the program: `exit` +Exits the MagusStock program. + +Format: `exit` or `bye` + +!> Note: Do **NOT** type additional parameters after typing `exit` or `bye`. + +#### Example of usage + +`bye`: Terminates the program. + +`exit`: Terminates the program. + +#### Sample output: + +``` +bye +__________________________________________________________________________ +Hope you had an enjoyable experience. See you next time! +__________________________________________________________________________ +``` + +--- + + ## FAQ +1. **How do I transfer my data to another Computer?**
+Answer: Extract the `data` folder found in your folder containing the MagusStock application. Install the MagusStock +JAR file in another computer following the same procedures as mentioned above, and transfer the `data` folder that you +have just extracted into the empty folder containing the new MagusStock application. Data should be loaded properly. -**Q**: How do I transfer my data to another computer? +2. **Does the program save my data in the event of a crash?**
+Answer: MagusStock saves your data at all points in time, provided that the `autosave` function is turned `on`. +Turning the `autosave` function `off` will not result in your data being saved. -**A**: {your answer here} +3. **Do I need internet connection for MagusStock?**
+Answer: MagusStock can be used offline, anywhere and at anytime. It does not depend on an online database or external +applications for its data storage capability or functionalities. +4. **How do I obtain a summary of commands inside the application?**
+Answer: Upon launch of MagusStock, you can type `help` in the command line to obtain a table showing every single +available command for the application. + +5. **I cannot seem to get the commands to work. It keeps returning an error message. Why?**
+Answer: Ensure that the formatting of your commands are correct. Square brackets and curly brackets are not needed +for command input, so make sure that your user input do not contain them. Conditions returned by the error messages +should also be followed in order for the program to respond favourably to your command inputs. + + + ## Command Summary +| Action | Format | +|------------------------------------------------------------|----------------------------------------------------------------------------| +| Add item | `add n/[item_name] upc/[UPC] qty/[quantity] p/[price] c/[category]` | +| Remove item using UPC | `remove f/upc [UPC]` | +| Remove item using index in list | `remove f/index [index]` | +| Edit item | `edit upc/[UPC] {n/[item_name]} {qty/[quantity]} {p/[price]} {c/[category]}` | +| Sell a quantity of an item | `sell upc/[UPC] qty/[quantity]` | +| Restock a quantity of an item | `restock upc/[UPC] qty/[quantity]` | +| List all items | `list` | +| Search items by keyword | `search [keyword]` | +| Search items by UPC | `search [UPC]` | +| Filter items with price greater than `[price]` | `filter f/price p/gt [price]` | +| Filter items with price greater than or equal to `[price]` | `filter f/price p/get [price]` | +| Filter items with price less than `[price]` | `filter f/price p/lt [price]` | +| Filter items with price less than or equal to `[price]` | `filter f/price p/let [price]` | +| View list of all item categories | `cat list` | +| View all items sorted by category | `cat table` | +| Add a minimum alert warning for an item | `alert add upc/[UPC] min/[quantity]` | +| Add a maximum alert warning for an item | `alert add upc/[UPC] max/[quantity]` | +| Remove the minimum alert for an item | `alert remove upc/[UPC] level/min` | +| Remove the maximum alert for an item | `alert remove upc/[UPC] level/max` | +| View historical changes of an item | `history [UPC]` | +| View dashboard | `db` | +| View all commands | `help` | +| Switch on autosave | `autosave on` | +| Switch off autosave | `autosave off` | +| Exit the program | `bye` or `exit` | + + +* Words in square brackets `[ ]` are parameters to be supplied by the user +* Words in curly brackets `{ }` are optional parameters to be supplied by the user -{Give a 'cheat sheet' of commands here} -* Add todo `todo n/TODO_NAME d/DEADLINE` diff --git a/docs/customstyle.css b/docs/customstyle.css new file mode 100644 index 0000000000..9c5117f8d2 --- /dev/null +++ b/docs/customstyle.css @@ -0,0 +1,21 @@ +.markdown-section p.tip { + color: #ffffff; +} + +.markdown-section h1, .markdown-section h2, .markdown-section h3, .markdown-section h4, .markdown-section strong { + + color: #f66; +} + +.markdown-section code { + color: #fff; +} +.markdown-section pre > code { + color: #9eadb3; +} + +.markdown-section p.tip code { +background-color: #f66;} + +.markdown-section tr:nth-child(2n) { + background-color: #3f3f3f; \ No newline at end of file diff --git a/docs/img.png b/docs/img.png new file mode 100644 index 0000000000..fcc4e50f37 Binary files /dev/null and b/docs/img.png differ diff --git a/docs/img_1.png b/docs/img_1.png new file mode 100644 index 0000000000..063e4b2c80 Binary files /dev/null and b/docs/img_1.png differ diff --git a/docs/img_10.png b/docs/img_10.png new file mode 100644 index 0000000000..b80f15c50c Binary files /dev/null and b/docs/img_10.png differ diff --git a/docs/img_11.png b/docs/img_11.png new file mode 100644 index 0000000000..d53c7de7ff Binary files /dev/null and b/docs/img_11.png differ diff --git a/docs/img_12.png b/docs/img_12.png new file mode 100644 index 0000000000..a4f2b12dd9 Binary files /dev/null and b/docs/img_12.png differ diff --git a/docs/img_2.png b/docs/img_2.png new file mode 100644 index 0000000000..3263d9dd85 Binary files /dev/null and b/docs/img_2.png differ diff --git a/docs/img_3.png b/docs/img_3.png new file mode 100644 index 0000000000..dc7fcafa94 Binary files /dev/null and b/docs/img_3.png differ diff --git a/docs/img_4.png b/docs/img_4.png new file mode 100644 index 0000000000..25192364ea Binary files /dev/null and b/docs/img_4.png differ diff --git a/docs/img_5.png b/docs/img_5.png new file mode 100644 index 0000000000..58fff86e9c Binary files /dev/null and b/docs/img_5.png differ diff --git a/docs/img_6.png b/docs/img_6.png new file mode 100644 index 0000000000..b4c2647ef8 Binary files /dev/null and b/docs/img_6.png differ diff --git a/docs/img_7.png b/docs/img_7.png new file mode 100644 index 0000000000..663bffb830 Binary files /dev/null and b/docs/img_7.png differ diff --git a/docs/img_8.png b/docs/img_8.png new file mode 100644 index 0000000000..4bc4850892 Binary files /dev/null and b/docs/img_8.png differ diff --git a/docs/img_9.png b/docs/img_9.png new file mode 100644 index 0000000000..cae4e0d47b Binary files /dev/null and b/docs/img_9.png differ diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000000..8035865ac9 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,23 @@ + + + + + Document + + + + + + + +
+ + + + + diff --git a/docs/logo.jpg b/docs/logo.jpg new file mode 100644 index 0000000000..35b8a8ccf8 Binary files /dev/null and b/docs/logo.jpg differ diff --git a/docs/team/artemiszenn.md b/docs/team/artemiszenn.md new file mode 100644 index 0000000000..76aad19425 --- /dev/null +++ b/docs/team/artemiszenn.md @@ -0,0 +1,72 @@ +# Artemis Ngoh - Project Portfolio Page + +## Overview +MagusStock is a Java command-line interface (CLI) application designed for inventory management. +This application that I have contributed to developing with my team aims to help store operators, +IT administrators and logistics managers to manage their inventory more efficiently and effectively. +While CLI applications are not as user-friendly as GUI applications, they are much faster to use +and more importantly, portable and can be used on any platform that supports Java. + +### Summary of Contributions +Code contributions: [reposense link](https://nus-cs2113-ay2223s2.github.io/tp-dashboard/?search=ArtemiszenN&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code~other&since=2023-02-17) + +Enhancements implemented: +* Refactored the parser class to a `MainParser` that delegates parsing to the respective `Parser`, which is abstract and has a Parser for most commands. +* Created the `SearchParser` and `SearchCommand` feature, as well as related exceptions. +* Created the `Trie` and `TrieNode` classes to complement the search feature and ensure functionality with a large dataset expected with medium-sized enterprises. +* Created the `FilterParser` and `FilterCommand` feature, as well as related exceptions. +* Created the `HistoryParser` and `HistoryCommand` feature, as well as related exceptions. +* Hardened the loading and saving of the data file for session and alert persistent functionality, along with a small `Sanitizer`. +* Integrated `search` and `history` to work with `add`, `edit`, `remove`, `restock` and `sell`, `save` and `load` functions. This is necessary as they use separate data. +* Javadocs implementation for relevant classes. +* Unit mock tests and integration tests for `search`, `filter`, `history` and `trie` (only unit tests for `trie`). + +Contributions to the UG: +* Sections contributed: `Search`, `Filter`, `History`. + +Contributions to the DG: +* Sections contributed: `Search`, `Filter`, `History`. +* UML Diagrams added are shown at the bottom of the page. + +Contributions to team-based tasks: +* Wrote base code with no functionality (other than greet and exit) for the team to start. +* Validated the speed of our program for medium-sized enterprises with a benchmark on a 4,000 item dataset. +* Consistent merges to just fix checkstyle errors before we figured out the checkstyle plugin. +* First to do class and sequence diagrams so the team has an example to standardize on and reference. +* Fixed the release for PED at 5:36 AM on the day (it wasn't compiling). +* *Neutered* the text-ui-tests. + + +Review/mentoring contributions: +* https://github.com/AY2223S2-CS2113-W12-3/tp/pull/70 +* https://github.com/AY2223S2-CS2113-W12-3/tp/pull/83 +* https://github.com/AY2223S2-CS2113-W12-3/tp/issues/103 +* https://github.com/AY2223S2-CS2113-W12-3/tp/pull/90 +* https://github.com/AY2223S2-CS2113-W12-3/tp/pull/69 +* https://github.com/AY2223S2-CS2113-W12-3/tp/pull/32 +* Helped teammates brainstorm/look at/find solutions to bugs in many instances + +Contributions beyond the project team: +* 12 bugs found during PED + +![FilterSequence.png](..%2FUML%2FFilter%2FFilterSequence.png) +![FilterPrice.png](..%2FUML%2FFilter%2FFilterPrice.png) +![FilterTagCategory.png](..%2FUML%2FFilter%2FFilterTagCategory.png) + +![FilterStep1.png](..%2FUML%2FFilter%2FFilterStep1.png) +![FilterStep3.png](..%2FUML%2FFilter%2FFilterStep3.png) +![FilterStep5.png](..%2FUML%2FFilter%2FFilterStep5.png) + +![SearchSequence.png](..%2FUML%2FSearch%2FSearchSequence.png) +![SearchCommand.png](..%2FUML%2FSearch%2FSearchCommand.png) + +![SearchStep1.png](..%2FUML%2FSearch%2FSearchStep1.png) +![SearchStep3.png](..%2FUML%2FSearch%2FSearchStep3.png) +![SearchStep5.png](..%2FUML%2FSearch%2FSearchStep5.png) +![SearchStep5UPC.png](..%2FUML%2FSearch%2FSearchStep5UPC.png) + +![HistoryParser.png](..%2FUML%2FHistory%2FHistoryParser.png) + +![HistoryStep1.png](..%2FUML%2FHistory%2FHistoryStep1.png) +![HistoryStep2.png](..%2FUML%2FHistory%2FHistoryStep2.png) +![HistoryStep3.png](..%2FUML%2FHistory%2FHistoryStep3.png) \ No newline at end of file diff --git a/docs/team/firwer.md b/docs/team/firwer.md new file mode 100644 index 0000000000..b56d712d91 --- /dev/null +++ b/docs/team/firwer.md @@ -0,0 +1,73 @@ +# Poh Wei Pin - Project Portfolio Page + +## Overview +MagusStock is a Java command-line interface (CLI) application designed for inventory management. +This application that I have contributed to developing with my team aims to help store operators, +IT administrators and logistics managers to manage their inventory more efficiently and effectively. +While CLI applications are not as user-friendly as GUI applications, they are much faster to use +and more importantly, portable and can be used on any platform that supports Java. + + +### Summary of Contributions +Code contributed: [RepoSense Link](https://nus-cs2113-ay2223s2.github.io/tp-dashboard/?search=firwer&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code~other&since=2023-02-17&tabOpen=true&tabType=authorship&tabAuthor=firwer&tabRepo=AY2223S2-CS2113-W12-3%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=other~functional-code~test-code~docs&authorshipIsBinaryFileTypeChecked=false&authorshipIsIgnoredFilesChecked=false) + +All the PRs I have made: [Wei Pin's PRs](https://github.com/AY2223S2-CS2113-W12-3/tp/issues?page=1&q=author%3Afirwer+is%3Aclosed) + +**Enhancements implemented:** +* Refactored and abstracted the whole Command class from inventory methods to its + own class, `Command` and its subclasses. +* Created the AddCommand and AddParser feature +* Implemented Autosave feature to save the inventory data to a file after every command. +* Implemented the CSV reading and writing ability for the application. +* Implemented dashboard for inventory overview +* Standardisation of Error messages +* Javadocs Implementation for classes and methods +* Implemented JUnit tests for the `Add`, `Storage` and `AddParser` + +**Contributions to the UG:** +* Wrote the documentation for the `add`, `autosave`, `db` command. +* Revamped the overall structure of the UG to make it more user-friendly and intuitive based on PED feedbacks. +* Introduced a better navigation system for the UG, with the use of Docsify and sidebar. +* Fixed typos and grammatical errors in the UG. +* Refactored the UG to make it more consistent in terms of formatting and phrasing. +* Fixed broken anchor links +* Improved overall user experience of our guide with a professional logo that I have designed + + +**Contributions to the DG:** +* Designed and came up with the architecture diagram of Magus Stock +* Wrote the breakdown and explaination of the architecture diagram +* Designed the Sequence Diagram overview of Magus Stock +* Designed Sequence Diagram and UML Diagram of `Add` Command (Including its parser) +* Wrote the explaination and steps of the `Add` Command +* Created the class diagrams for `Parser` and `Command` components + +**Contributions to team-based tasks:** +* Created the organisation and repository for the team +* Setting up of permissions, adding team members and assigning roles +* Maintaining issue tracker through regular use of labels, role assignments and milestones +* Provided general reviews and suggestions to my team members PR +* Created the Architecture diagram of our project in the DG +* Designed the Sequence Diagram overview of our project in the DG +* Incorporated the use of Docsify to our project +* Designed a professional looking logo for our project +* Consistent checkstyle and code quality checks using Checkstyle, SpotBugs and SonarLint +* Processed and added anchor links manually to DG & UG PDF(s) for final submission (due to some bugs with chrome print) + +**Review/mentoring contributions:** +* Reviewed team members' PRs and provided suggestions and feedbacks + (All the PRs I have reviewed: **[Wei Pin's PR Reviews](https://github.com/AY2223S2-CS2113-W12-3/tp/pulls?q=type%3Apr+reviewed-by%3Afirwer)**) +* Setting of discussion topics/agenda during team meetings + +**Example Contribution that I have made to UG:** (Add Command) +![img_4.png](img_4.png) + + +**Contribution DG Extracts:** + +![SequenceDiagram.png](..%2FSequenceDiagram.png) +![AddCommand.png](..%2FUML%2FAdd%2FAddCommand.png) +![AddParser.png](..%2FUML%2FAdd%2FAddParser.png) +![ParserClassDiagram.png](..%2FParserClassDiagram.png) +![Command_ParserFlowClassDiagram.png](..%2FCommand_ParserFlowClassDiagram.png) +![CommandClassDiagram.png](..%2FCommandClassDiagram.png) \ No newline at end of file diff --git a/docs/team/img.png b/docs/team/img.png new file mode 100644 index 0000000000..a8d5fc40c1 Binary files /dev/null and b/docs/team/img.png differ diff --git a/docs/team/img_1.png b/docs/team/img_1.png new file mode 100644 index 0000000000..fffc2c08da Binary files /dev/null and b/docs/team/img_1.png differ diff --git a/docs/team/img_2.png b/docs/team/img_2.png new file mode 100644 index 0000000000..30c8bb48c1 Binary files /dev/null and b/docs/team/img_2.png differ diff --git a/docs/team/img_3.png b/docs/team/img_3.png new file mode 100644 index 0000000000..9f42054502 Binary files /dev/null and b/docs/team/img_3.png differ diff --git a/docs/team/img_4.png b/docs/team/img_4.png new file mode 100644 index 0000000000..ccb9631fe1 Binary files /dev/null and b/docs/team/img_4.png differ diff --git a/docs/team/johndoe.md b/docs/team/johndoe.md deleted file mode 100644 index ab75b391b8..0000000000 --- a/docs/team/johndoe.md +++ /dev/null @@ -1,6 +0,0 @@ -# John Doe - Project Portfolio Page - -## Overview - - -### Summary of Contributions diff --git a/docs/team/ng-yz.md b/docs/team/ng-yz.md new file mode 100644 index 0000000000..b65eb2d05a --- /dev/null +++ b/docs/team/ng-yz.md @@ -0,0 +1,41 @@ +# Ng Yan Zhen's Project Portfolio Page + +## Overview +MagusStock is a Java command-line interface (CLI) designed for inventory management. +This application that I have contributed to developing with my team aims to help store operators, +IT administrators and logistics managers to manage their inventory more efficiently and effectively. +While CLI applications are not as user-friendly as GUI applications, they are much faster to use +and more importantly, portable and can be used on any platform that supports Java. + +## Summary of Contributions +Code contributed: [RepoSense Link](https://nus-cs2113-ay2223s2.github.io/tp-dashboard/?search=ng-yz&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code~other&since=2023-02-17&tabOpen=true&tabType=authorship&zFR=false&tabAuthor=Ng-YZ&tabRepo=AY2223S2-CS2113-W12-3%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=docs~functional-code~test-code&authorshipIsBinaryFileTypeChecked=false&authorshipIsIgnoredFilesChecked=false) + +Enhancements implemented: +* Added `remove` feature + * Allows the user to remove items from the inventory as per necessary + * Enhanced `remove` feature by allowing user to remove items both using UPC code and index of item in `list` +* Added `category` feature + * Allows the user to set and change an item's category on `add` and `edit` commands + * Allows the user to view all categories available in the inventory by entering `cat list` command + * Allows the user to view items by category (all items in each category are listed in a table) by entering `cat table` command + * Enhanced `filter`, `add`, `edit` features to include any category of the same spelling yet different capitalizations under the same known category. +* Enhanced `addWordWithoutWrap` for certain features like `cat table` to print each item in the table on a separate row +* Javadoc comments for relevant classes and methods +* Junit tests for `RemoveCommand` and `CategoryCommand` + +Contributions to the UG: +* Set up initial structure if UG +* Helped check and modify some sample outputs when changes were made along the way +* Added documentation for the `remove` and `cat` commands +* Help vet through formatting + +Contributions to the DG: +* Added details for `remove` and `category` commands +* Added sequence diagrams and UML diagrams for `remove` and `category` commands +* Check for any formatting difference and standardise across most, if not all, UML diagrams +* Added title for sequence diagrams that did not include them +* Added to manual testing information for some features + +Contributions to team-based tasks: +* Maintaining issue tracker +* Created UG Draft Template \ No newline at end of file diff --git a/docs/team/ngkaiwen123.md b/docs/team/ngkaiwen123.md new file mode 100644 index 0000000000..44310e3819 --- /dev/null +++ b/docs/team/ngkaiwen123.md @@ -0,0 +1,54 @@ +# Ng Kai Wen's Project Portfolio Page + +## Project: MagusStock +MagusStock is a Java command-line interface (CLI) application designed for inventory management. +Given below are my contributions to the project. + +### Summary of Contributions +* **New Feature Addition**: Added the ability to `edit` item attributes (Name/Quantity/Price/Category) + * What it does: Allows the user to change the attributes of an item stored in the inventory list to a value of + their choosing, albeit within a set range of values. + * Justification: This feature is absolutely essential to the workings of the program as mistakes in user inputs + are inevitable. This feature aids in the rectification of such mistakes without total removal of the item from + the inventory list. + * Highlights: Implementation of this feature was challenging as many user input combinations have to be accounted + for, due to the many optional input parameters that users get to choose from. +* **New Feature Addition**: Added the ability to `restock` stock levels of an item. + * What it does: Allows the user to restock an item found in the inventory list, by simply keying in the quantity to + be added without manually editing the stock levels of an item. + * Justification: This feature provides an easy way for users to track stock levels of an item after restocking, + without the need to manually calculate the current stock levels of an item and then edit the quantity of an item. + This not only reduces mistakes made by the user during calculation, but also forgoes the need to retrieve current + stock levels for manual calculation. +* **New Feature Addition**: Added the ability to `sell` an item, thereby reducing the quantity of an item. + * What it does: Allows the user to sell a fixed number of an item based on the user's input, thereby reducing + the current stock levels of an item. + * Justification: This feature promotes ease of use of the application as users no longer have to perform mental + deductions and manually editing the stock levels of an item. Program automatically deducts the desired amount from + the current item stock for the user. +* **Code Contributed**: [RepoSense Link](https://nus-cs2113-ay2223s2.github.io/tp-dashboard/?search=ngkaiwen123&breakdown=true) +* **Developer Guide (DG) Contributions:** + * Created UML Sequence Diagrams for the Edit, Sell and Restock features of the application, se the diagrams by + using the links provided below. + * Provided documentation for the Edit, Sell and Restock features of the MagusStock application in the DG. + * Contributed to User Stories, Value Proposition, Glossary, Target User Profile sections of the Developer Guide. + * Contributed to Manual Testing Section of the Guide, drafted up positive and negative test cases for testing of + each feature of the program as well as provided elaboration for what each outputs mean. +* **User Guide (UG) Contributions:** + * Authored the Edit, Sell and Restock sections of the User Guide. + * Helped in the reformatting of features listed in the User Guide, to ensure consistency and standardization in + elaborations/examples provided for each of the commands listed in the User Guide. + * Added FAQ section of the UG. +* **Project Management**: + * Creation of Pull-Request to the nus-cs2113-AY2223S2/tp repository for the group. + * Maintained issue tracker through the reporting of new bugs found, as well as resolving them (3 bugs reported, + 10+ issues resolved for the team, see [bugs resolved](https://github.com/AY2223S2-CS2113-W12-3/tp/issues?q=is%3Aissue+is%3Aclosed+assignee%3Angkaiwen123)). + * Contributed to User Stories, Value Proposition, Glossary, Target User Profile, Manual Testing sections of the + Developer Guide. +* **Community:** + * Reported a higher than average issue count (13 issues) during the PE Dry-Run, of which many critical bugs were + found. See [issues found](https://github.com/ngkaiwen123/ped/issues). +* **UML Diagram Links**: + * [Edit UML Diagrams](https://github.com/ngkaiwen123/tp/tree/master/docs/UML/Edit) + * [Sell UML Diagrams](https://github.com/ngkaiwen123/tp/tree/master/docs/UML/Sell) + * [Restock UML Diagrams](https://github.com/ngkaiwen123/tp/tree/master/docs/UML/Restock) \ No newline at end of file diff --git a/docs/team/ysl-28.md b/docs/team/ysl-28.md new file mode 100644 index 0000000000..3dc0b27db0 --- /dev/null +++ b/docs/team/ysl-28.md @@ -0,0 +1,56 @@ +# Yong Shan Ling's Project Portfolio Page +## Overview +MagusStock is a Java command-line interface (CLI) designed for inventory management. +This application that I have contributed to developing with my team aims to help store operators, +IT administrators and logistics managers to manage their inventory more efficiently and effectively. +While CLI applications are not as user-friendly as GUI applications, they are much faster to use and +more importantly, portable and can be used on any platform that supports Java. + +## Summary of Contributions +Code contributed: [RepoSense link](https://nus-cs2113-ay2223s2.github.io/tp-dashboard/?search=w12-3&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code~other&since=2023-02-17&tabOpen=true&tabType=authorship&tabAuthor=ysl-28&tabRepo=AY2223S2-CS2113-W12-3%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=docs~functional-code~test-code~other&authorshipIsBinaryFileTypeChecked=false&authorshipIsIgnoredFilesChecked=false) + +**Enhancements implemented**: +* Added `list` feature + * Allows the user to view all items in the inventory in table form + * Enhanced `list` feature by adding text wrapping for content in the table to allow long and multi-word item names to be viewed conveniently + * Implemented `ListCommand` and `ListParser` classes +* Added `alert` feature + * Allows the user to set alerts to be printed when the quantity of an item is below a minimum or exceeds a maximum + * Allows the user to remove previously-added alerts + * Allows the user to view existing alerts in table form + * Implemented `Alert` and `AlertList` + * Implemented `AddAlertCommand`, `RemoveAlertCommand` and `AlertParser` classes +* Javadoc comments for classes and methods +* JUnit tests for `ListCommand`, `AddAlertCommand`, `RemoveAlertCommand` and `AlertParser` + + +**Contributions to the UG**: +* Added documentation for the `list` and `alert` commands +* Added command summary +* Updated sample output of all UG commands to match updated output of `list` command +* Fixed typos and formatting errors in the UG + + +**Contributions to the DG**: +* Added implementation details for the `list` and `alert` commands +* Added sequence diagrams for `ListCommand`, `AlertParser`, `AddAlertCommand` and `RemoveAlertCommand` +* Added UML diagrams for `list` and `alert` commands + + +**Contributions to team-based tasks**: +* Maintaining of issue tracker +* General code style checks +* Added Quick Start guide to UG +* Managed release for v2.1 + + +**Review/mentoring contributions**: +* [PRs reviewed](https://github.com/AY2223S2-CS2113-W12-3/tp/pulls?q=reviewed-by%3Aysl-28) + +**Contributions beyond the project team**: +* Found 12 bugs during PE-D (above-average) + + +**DG Diagrams** +* [Sequence and UML Diagrams for List](https://github.com/AY2223S2-CS2113-W12-3/tp/tree/master/docs/UML/List) +* [Sequence and UML Diagrams for Alert](https://github.com/AY2223S2-CS2113-W12-3/tp/tree/master/docs/UML/Alert) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index aa991fceae..667cc9115b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,3 +3,4 @@ distributionPath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists + diff --git a/src/main/java/seedu/duke/Duke.java b/src/main/java/seedu/duke/Duke.java deleted file mode 100644 index 5c74e68d59..0000000000 --- a/src/main/java/seedu/duke/Duke.java +++ /dev/null @@ -1,21 +0,0 @@ -package seedu.duke; - -import java.util.Scanner; - -public class Duke { - /** - * Main entry-point for the java.duke.Duke application. - */ - public static void main(String[] args) { - String logo = " ____ _ \n" - + "| _ \\ _ _| | _____ \n" - + "| | | | | | | |/ / _ \\\n" - + "| |_| | |_| | < __/\n" - + "|____/ \\__,_|_|\\_\\___|\n"; - System.out.println("Hello from\n" + logo); - System.out.println("What is your name?"); - - Scanner in = new Scanner(System.in); - System.out.println("Hello " + in.nextLine()); - } -} diff --git a/src/main/java/seedu/duke/MagusStock.java b/src/main/java/seedu/duke/MagusStock.java new file mode 100644 index 0000000000..5cfbdd4995 --- /dev/null +++ b/src/main/java/seedu/duke/MagusStock.java @@ -0,0 +1,34 @@ +package seedu.duke; + + +import seedu.duke.objects.Inventory; +import seedu.duke.utils.SessionManager; +import seedu.duke.utils.Ui; +import seedu.duke.utils.ParserHandler; + +public class MagusStock { + /** + * Main entry-point for the java.duke.Duke application. + */ + private ParserHandler parserHandler; + private Inventory inventory; + + public MagusStock() { + Ui.greetUser(); + inventory = new Inventory(); + inventory = SessionManager.getSession(); + inventory.setAlertList(SessionManager.getSessionAlerts()); + parserHandler = new ParserHandler(inventory); + } + + public void run() { + while (true) { + parserHandler.run(); + } + } + + public static void main(String[] args) { + System.setProperty("file.encoding", "UTF-8"); + new MagusStock().run(); + } +} diff --git a/src/main/java/seedu/duke/commands/AddAlertCommand.java b/src/main/java/seedu/duke/commands/AddAlertCommand.java new file mode 100644 index 0000000000..650a0761e8 --- /dev/null +++ b/src/main/java/seedu/duke/commands/AddAlertCommand.java @@ -0,0 +1,133 @@ +package seedu.duke.commands; + +import seedu.duke.objects.Alert; +import seedu.duke.objects.AlertList; +import seedu.duke.objects.Inventory; +import java.util.HashMap; + +import seedu.duke.utils.SessionManager; +import seedu.duke.utils.Ui; + + +/** + * Represents the command for adding an alert. + */ +public class AddAlertCommand extends Command { + private final Alert alert; + private AlertList alertList; + + + /** + * Constructor for the AddAlertCommand class. + * @param inventory The inventory to be initialised in the Command class. + * @param alert The alert to be added to the alert list in the inventory. + */ + public AddAlertCommand(final Inventory inventory, final Alert alert) { + super(inventory); + this.alert = alert; + this.alertList = inventory.getAlertList(); + } + + /** + * Checks if the UPC of the alert to be added is one of an existing item in the inventory. + */ + private void checkAddAlertUpc() { + + if (upcCodes.containsKey(alert.getUpc())) { + addAlert(); + } else { + Ui.printItemNotFound(); + } + } + + /** + * Adds either a minimum or maximum alert to the alert list. + */ + private void addAlert() { + if (alert.getMinmax().equals(MIN_KEYWORD)) { + addMinAlert(); + } else if (alert.getMinmax().equals(MAX_KEYWORD)) { + addMaxAlert(); + } else { + assert false: Ui.printInvalidAlertType(); + } + + } + + /** + * Adds a minimum alert to the alert list. + */ + private void addMinAlert() { + if (!alertList.getMinAlertUpcs().containsKey(alert.getUpc())) { + if (isMinValueValid(alert.getStock(), alert.getUpc(), alertList.getMaxAlertUpcs())) { + alertList.setMinAlertUpcs(alert.getUpc(), alert.getStock()); + Ui.printSuccessAddAlert(); + if(SessionManager.getAutoSave()){ + SessionManager.writeSession(alertList); + } + alertList.checkAlerts(alert.getUpc(), inventory.getUpcCodes().get(alert.getUpc()).getName(), + inventory.getUpcCodes().get(alert.getUpc()).getQuantity()); + + } else { + Ui.printInvalidMinAlert(); + } + } else { + Ui.printExistingMinAlert(); + } + + } + + /** + * Adds a maximum alert to the alert list. + */ + private void addMaxAlert() { + if (!alertList.getMaxAlertUpcs().containsKey(alert.getUpc())) { + if (isMaxValueValid(alert.getStock(), alert.getUpc(), alertList.getMinAlertUpcs())) { + alertList.setMaxAlertUpcs(alert.getUpc(), alert.getStock()); + Ui.printSuccessAddAlert(); + if(SessionManager.getAutoSave()){ + SessionManager.writeSession(alertList); + } + alertList.checkAlerts(alert.getUpc(), inventory.getUpcCodes().get(alert.getUpc()).getName(), + inventory.getUpcCodes().get(alert.getUpc()).getQuantity()); + } else { + Ui.printInvalidMaxAlert(); + } + } else { + Ui.printExistingMaxAlert(); + } + + } + + /** + * Checks if the value of a minimum alert is valid. + * @param minStock The value specified in the minimum alert. + * @param upc The UPC of the minimum alert. + * @param maxUpcMap The hash map containing maximum alerts. + * @return True if there are no maximum alerts whose value is less than or equal to the minimum + * alert's value, false otherwise. + */ + private boolean isMinValueValid(final int minStock, final String upc, final HashMap maxUpcMap) { + return !maxUpcMap.containsKey(upc) || maxUpcMap.get(upc) > minStock; + } + + /** + * Checks if the value of a maximum alert is valid. + * @param maxStock The value specified in the maximum alert. + * @param upc The UPC of the maximum alert. + * @param minUpcMap The hash map containing minimum alerts. + * @return True if there are no minimum alerts whose value is less than or equal to the maximum + * alert's value, false otherwise. + */ + private boolean isMaxValueValid(final int maxStock, final String upc, final HashMap minUpcMap) { + return !minUpcMap.containsKey(upc) || minUpcMap.get(upc) < maxStock; + } + + /** + * Executes the command for the adding of an alert. + */ + @Override + public void run() { + checkAddAlertUpc(); + } +} diff --git a/src/main/java/seedu/duke/commands/AddCommand.java b/src/main/java/seedu/duke/commands/AddCommand.java new file mode 100644 index 0000000000..a3eaf7c646 --- /dev/null +++ b/src/main/java/seedu/duke/commands/AddCommand.java @@ -0,0 +1,87 @@ +package seedu.duke.commands; + +import seedu.duke.exceptions.CategoryFormatException; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.utils.SessionManager; +import seedu.duke.utils.Ui; + +import java.util.ArrayList; + +/** + * Represents the command to add an item to the inventory. + */ + +public class AddCommand extends Command { + private static final String EMPTY_SPACE = " "; + private static final String UNCATEGORIZED = "Uncategorized"; + private static final String CATEGORY_LABEL = "c/"; + private static final String EMPTY_STRING = ""; + private final Item item; + + /** + * Constructor for the AddCommand class. + * @param inventory The inventory to be initialised in the Command class. + * @param item The item to be added to the inventory. + */ + public AddCommand(final Inventory inventory, final Item item) { + super(inventory); + this.item = item; + } + + /** + * Adds item into category specified. If unspecified, category is default to be "Uncategorized" + */ + private void addCategory() { + try { + if (!item.getCategory().isEmpty()) { + String category = item.getCategory().replaceFirst(CATEGORY_LABEL, EMPTY_STRING); + item.setCategory(category); + } + } catch (NullPointerException e) { + item.setCategory(UNCATEGORIZED); + } + try { + CategoryCommand.updateItemCategory(item, item.getCategory(), item.getCategory()); + } catch (CategoryFormatException e) { + Ui.printNewCategory(); + } + } + + /** + * Adds an item to the inventory. + */ + private void addItem() { + if (upcCodes.containsKey(item.getUpc())) { + Ui.printDuplicateAdd(); + } else { + upcCodes.put(item.getUpc().toLowerCase(), item); + itemInventory.add(item); + addCategory(); + Ui.printSuccessAdd(); + String[] itemNames = item.getName().toLowerCase().split(EMPTY_SPACE); + for (String itemName : itemNames) { + if (!itemNameHash.containsKey(itemName)) { + itemNameHash.put(itemName, new ArrayList<>()); + } + itemNameHash.get(itemName).add(item); + itemsTrie.add(itemName); + } + if (!inventory.getUpcCodesHistory().containsKey(item.getUpc())) { + inventory.getUpcCodesHistory().put(item.getUpc(), new ArrayList<>()); + } + inventory.getUpcCodesHistory().get(item.getUpc()).add(new Item(item)); + if (SessionManager.getAutoSave()) { + SessionManager.writeSession(inventory); + } + } + } + + /** + * Executes the add command. + */ + @Override + public void run() { + addItem(); + } +} diff --git a/src/main/java/seedu/duke/commands/CategoryCommand.java b/src/main/java/seedu/duke/commands/CategoryCommand.java new file mode 100644 index 0000000000..c51f7fc7ae --- /dev/null +++ b/src/main/java/seedu/duke/commands/CategoryCommand.java @@ -0,0 +1,179 @@ +package seedu.duke.commands; + +import seedu.duke.exceptions.CategoryFormatException; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.utils.Ui; + +import java.util.ArrayList; + +public class CategoryCommand extends Command { + private static final String EMPTY_SPACE = " "; + private static final String LIST = "list"; + private static final String TABLE = "table"; + private static final int BEGIN_INDEX = 0; + private static final int NEXT_INDEX = 1; + private static boolean isAnd; + private static boolean isOr; + private static boolean isAt; + private static boolean isA; + private static boolean isThe; + private static boolean isAn; + private static boolean isNotFirstWord; + private static boolean isFrom; + private static boolean isOn; + private static boolean isFor; + private static boolean isWith; + private final String rawInput; + + /** + * Constructor for the CategoryCommand class. + * @param inventory the inventory to be initialised in the Command class. + * @param rawInput the input given by user to execute + */ + public CategoryCommand(Inventory inventory, String rawInput) { + super(inventory); + this.rawInput = rawInput; + } + + /** + * Updates an item's category. + * @param item the item to be updated. + * @param oldCategory the current category the item is in. + * @param newCategory the new category the item is going to be in. + * @throws CategoryFormatException if category provided is invalid. + */ + public static void updateItemCategory(Item item, String oldCategory, String newCategory) + throws CategoryFormatException { + try { + if (oldCategory.toLowerCase().isBlank() || newCategory.toLowerCase().isBlank()) { + throw new CategoryFormatException(); + } + checkExistingCategory(item, oldCategory, newCategory); + } catch (CategoryFormatException cfe) { + throw new CategoryFormatException(); + } + } + + /** + * Checks for existing category when about to update an item's category. + * @param item the item which its category is being updated. + * @param oldCategory the current category the item belongs to. + * @param newCategory the new category the item is going to belong to. + */ + private static void checkExistingCategory(Item item, String oldCategory, String newCategory) { + try { + if (categoryHash.containsValue(item)) { + removeItemFromCategory(item, oldCategory); + } + item.setCategory(newCategory); + addItemToCategory(newCategory, item); + } catch (NullPointerException e) { + Ui.printNewCategory(); + } + } + + /** + * Remove an item from its category upon removal of item or editing its category. + * @param item the item to be removed from the category hashmap. + * @param oldCategory the category that the item currently belongs to. + */ + public static void removeItemFromCategory(Item item, String oldCategory) { + oldCategory = oldCategory.toLowerCase(); + if (!categoryHash.containsKey(oldCategory)) { + return; + } + if (categoryHash.get(oldCategory).size() == NEXT_INDEX) { + categoryHash.get(oldCategory).remove(item); + categoryHash.remove(oldCategory); + } else { + categoryHash.get(oldCategory).remove(item); + } + } + + /** + * Adds an item into the specified category. + * @param categoryToAdd the specified category to add item to. + * @param item the item to be added to a category. + */ + public static void addItemToCategory(String categoryToAdd, Item item) { + categoryToAdd = categoryToAdd.toLowerCase(); + if (!categoryHash.containsKey(categoryToAdd)) { + categoryHash.put(categoryToAdd, new ArrayList<>()); + } + categoryHash.get(categoryToAdd).add(item); + } + + /** + * Prints a table of categories and all items in the categories with their name and UPC. + * @throws NullPointerException if categoryHash is empty. + */ + private void listCategoryAndItems() { + if (categoryHash.isEmpty()) { + throw new NullPointerException(); + } + Ui.printCategory(categoryHash); + } + + /** + * Prints a list of all categories in the inventory. + * @throws NullPointerException if categoryHash is empty. + */ + private void listAllCategories() { + if (categoryHash.isEmpty()) { + throw new NullPointerException(); + } else { + Ui.printCategoryList(categoryHash); + } + } + + /** + * Capitalises important words in category name for printing (like book titles). + * @param category The category to have its words capitalised accordingly. + * @return Capitalised string of category name. + */ + public static String capitaliseCategory(String category) { + String capsString = new String(); + String[] catWords = category.split(EMPTY_SPACE); + for (String word : catWords) { + isAnd = word.equals("and"); + isAt = word.equals("at"); + isA = word.equals("a"); + isOr = word.equals("or"); + isThe = word.equals("the"); + isAn = word.equals("an"); + isNotFirstWord = (word != catWords[BEGIN_INDEX]); + isFrom = word.equals("from"); + isOn = word.equals("on"); + isFor = word.equals("for"); + isWith = word.equals("with"); + if (isAnd || isAt || isOr || isFrom || isWith || isFor || isOn || + ((isA || isThe || isAn) && isNotFirstWord)) { + capsString = capsString + word; + } else { + capsString = capsString + word.substring(BEGIN_INDEX, NEXT_INDEX).toUpperCase() + + word.substring(NEXT_INDEX); + } + capsString = capsString + EMPTY_SPACE; + } + capsString = capsString.trim(); + return capsString; + } + + /** + * Executes the category command. + */ + @Override + public void run() { + try { + if (rawInput.equals(LIST)) { + listAllCategories(); + } else if (rawInput.equals(TABLE)) { + listCategoryAndItems(); + } + } catch (NullPointerException npe) { + Ui.printNoCategoryList(); + } + } + +} diff --git a/src/main/java/seedu/duke/commands/Command.java b/src/main/java/seedu/duke/commands/Command.java new file mode 100644 index 0000000000..67468924d2 --- /dev/null +++ b/src/main/java/seedu/duke/commands/Command.java @@ -0,0 +1,34 @@ +package seedu.duke.commands; + +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.utils.trie.Trie; + + +import java.util.ArrayList; +import java.util.HashMap; + +/** + * Represents an abstract command class for all commands. + */ +public abstract class Command { + protected static final String MIN_KEYWORD = "min"; + protected static final String MAX_KEYWORD = "max"; + protected static HashMap> categoryHash; + protected final Inventory inventory; + protected ArrayList itemInventory; + protected HashMap> itemNameHash; + protected HashMap upcCodes; + protected Trie itemsTrie; + + protected Command(Inventory inventory) { + this.inventory = inventory; + this.itemInventory = inventory.getItemInventory(); + this.itemNameHash = inventory.getItemNameHash(); + this.upcCodes = inventory.getUpcCodes(); + this.itemsTrie = inventory.getTrie(); + this.categoryHash = inventory.getCategoryHash(); + } + + public abstract void run(); +} diff --git a/src/main/java/seedu/duke/commands/EditCommand.java b/src/main/java/seedu/duke/commands/EditCommand.java new file mode 100644 index 0000000000..59e46260a7 --- /dev/null +++ b/src/main/java/seedu/duke/commands/EditCommand.java @@ -0,0 +1,386 @@ +package seedu.duke.commands; + +import seedu.duke.exceptions.MissingParametersException; +import seedu.duke.exceptions.OutOfRangeException; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.types.Types; +import seedu.duke.utils.SessionManager; +import seedu.duke.utils.Ui; +import seedu.duke.exceptions.EditErrorException; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.ArrayList; + +/** + * Represents the command to edit an item in the inventory. + */ +public class EditCommand extends Command { + + private static final String NAME_LABEL = "n/"; + private static final String QUANTITY_LABEL = "qty/"; + private static final String PRICE_LABEL = "p/"; + private static final String CATEGORY_LABEL = "c/"; + private static final String UPC_LABEL = "upc/"; + private static final String SPACING = " "; + private static final String EMPTY_STRING = ""; + private static final int ZERO = 0; + private static final int MIN_VALUE_RANGE = 0; + private static final String NULL = "null"; + private final String[] editInfo; + + public EditCommand(Inventory inventory, String[] editInfo) { + super(inventory); + this.editInfo = editInfo; + } + + /** + * Searches the Hashmap to obtain the item required to be interacted with by the user. + * + * @param editInfo The array of strings that contain the user inputs. + * @return Returns the variable of type "Item", which is the item in question to be interacted with by the user. + * @throws EditErrorException Exception related to all errors generated by the edit command. + */ + public Item retrieveItemFromHashMap(final String[] editInfo) throws EditErrorException { + String upcCode = editInfo[0].replaceFirst(UPC_LABEL, EMPTY_STRING); + if (!upcCodes.containsKey(upcCode)) { + throw new EditErrorException(); + } + return upcCodes.get(upcCode); + } + + /** + * Executes method to edit item attributes in the list and prints an error string if the user's edit command + * inputs were incorrectly written. + * + * @param item The target item in which the user wants to edit. + * @param oldItem The object containing the old attributes of the same item. + * @param data The user input which contains the information to be used to update the item attributes. + * @throws MissingParametersException Exception related to all errors due to missing parameters. + * @throws NumberFormatException Exception related to all invalid number formats inputted. + * @throws OutOfRangeException Exception related to out of range value errors. + */ + public void updateItemInfo(final Item item, final Item oldItem, final String[] data) throws + MissingParametersException, NumberFormatException, OutOfRangeException { + try { + handleUserEditCommands(item, oldItem, data); + } catch (MissingParametersException mpe) { + throw new MissingParametersException(); + } catch (NumberFormatException nfe) { + throw new NumberFormatException(); + } catch (OutOfRangeException ore) { + throw new OutOfRangeException(); + } + } + + /** + * Detects specific chars in the array of individual strings, and executes the change of item attribute values + * (i.e, Name, Quantity, Price) based on the first few chars detected in the individual string. + * + * @param item The target item in which the user wants to edit. + * @param oldItem The object containing the old attributes of the same item. + * @param data The user input which contains the information to be used to update the item attributes. + * @throws MissingParametersException Exception related to all errors due to missing parameters. + * @throws NumberFormatException Exception related to all invalid number formats inputted. + * @throws OutOfRangeException Exception related to out of range value errors. + */ + private void handleUserEditCommands(Item item, Item oldItem, String[] data) throws + MissingParametersException, NumberFormatException, OutOfRangeException { + String currentLabel = NULL; + try { + validateUserEditCommands(data); + for (int dataSequence = 1; dataSequence < data.length; dataSequence += 1) { + currentLabel = makeEdits(item, data, currentLabel, dataSequence); + } + } catch (MissingParametersException mpe) { + revertChanges(item, oldItem); + throw new MissingParametersException(); + } catch (NumberFormatException nfe) { + revertChanges(item, oldItem); + throw new NumberFormatException(); + } catch (OutOfRangeException ore) { + revertChanges(item, oldItem); + throw new OutOfRangeException(); + } + } + + /** + * In the event that edits were not made due to errors, revert attributes back to old attributes. + * + * @param item The item whose attributes are to be edited. + * @param oldItem The item containing the old attributes before the edit was made. + */ + private void revertChanges(Item item, Item oldItem) { + item.setName(oldItem.getName()); + item.setPrice(oldItem.getPrice()); + item.setQuantity(oldItem.getQuantity()); + item.setCategory(oldItem.getCategory()); + } + + /** + * Make specific edits to an attribute based on the inputs of the user, which can range from quantity to price + * to category and name. + * + * @param item The target item in which the user wants to edit. + * @param data The user input which contains the information to be used to update the item attributes. + * @param currentLabel The current attribute type being edited. + * @param dataSequence The numerical index of the string array containing the user commands. + * @return String containing the name of the attribute type currently being edited. + * @throws MissingParametersException Exception related to all errors due to missing parameters. + * @throws OutOfRangeException Exception related to out of range value errors. + */ + private static String makeEdits(Item item, String[] data, String currentLabel, int dataSequence) + throws MissingParametersException, OutOfRangeException { + try{ + if (data[dataSequence].startsWith(NAME_LABEL)) { + String newName = data[dataSequence].replaceFirst(NAME_LABEL, EMPTY_STRING); + setItemName(item, newName); + currentLabel = NAME_LABEL; + } else if (data[dataSequence].startsWith(QUANTITY_LABEL)) { + String updatedQuantity = data[dataSequence].replaceFirst(QUANTITY_LABEL, EMPTY_STRING); + setItemQuantity(item, updatedQuantity); + currentLabel = QUANTITY_LABEL; + } else if (data[dataSequence].startsWith(PRICE_LABEL)) { + String updatedPrice = data[dataSequence].replaceFirst(PRICE_LABEL, EMPTY_STRING); + setItemPrice(item, updatedPrice); + currentLabel = PRICE_LABEL; + } else if (data[dataSequence].startsWith(CATEGORY_LABEL)) { + String updatedCategory = data[dataSequence].replaceFirst(CATEGORY_LABEL, EMPTY_STRING); + setItemCategory(item, updatedCategory); + currentLabel = CATEGORY_LABEL; + } else { + handleMultiSpaceInputs(item, data, currentLabel, dataSequence); + } + } catch (OutOfRangeException ore) { + throw new OutOfRangeException(); + } catch (MissingParametersException mpe) { + throw new MissingParametersException(); + } + return currentLabel; + } + + /** + * Ensures that the edit command formatting is valid before passing the input onwards for edit processing. + * + * @param data The user input which contains the information to be used to update the item attributes. + * @throws MissingParametersException Exception related to all errors due to missing parameters. + */ + private void validateUserEditCommands(String[] data) throws MissingParametersException { + int upcEditCount = ZERO; + int nameEditCount = ZERO; + int quantityEditCount = ZERO; + int priceEditCount = ZERO; + int categoryEditCount = ZERO; + String currentLabel = NULL; + for (int dataSequence = 1; dataSequence < data.length; dataSequence += 1) { + if (data[dataSequence].startsWith(NAME_LABEL)) { + nameEditCount += 1; + currentLabel = NAME_LABEL; + } else if (data[dataSequence].startsWith(QUANTITY_LABEL)) { + quantityEditCount += 1; + currentLabel = QUANTITY_LABEL; + } else if (data[dataSequence].startsWith(PRICE_LABEL)) { + priceEditCount += 1; + currentLabel = PRICE_LABEL; + } else if (data[dataSequence].startsWith(UPC_LABEL)) { + upcEditCount += 1; + } else if (data[dataSequence].startsWith(CATEGORY_LABEL)) { + categoryEditCount += 1; + currentLabel = CATEGORY_LABEL; + } else { + if (!currentLabel.equals(NAME_LABEL) && !currentLabel.equals(CATEGORY_LABEL)) { + throw new MissingParametersException(); + } + } + } + if (nameEditCount > 1 || quantityEditCount > 1 || priceEditCount > 1 || categoryEditCount > 1 + || upcEditCount >= 1) { + throw new MissingParametersException(); + } + } + + /** + * Handle user inputs with no parameters and only strings, provided that they are for name/category editing. + * + * @param item The target item in which the user wants to edit. + * @param data The user input which contains the information to be used to update the item attributes. + * @param currentLabel The current attribute type being edited. + * @param dataSequence The numerical index of the string array containing the user commands. + * @throws MissingParametersException Exception related to all errors due to missing parameters. + */ + private static void handleMultiSpaceInputs(Item item, String[] data, String currentLabel, int dataSequence) + throws MissingParametersException { + if (currentLabel.equals(NAME_LABEL)) { + item.setName(item.getName() + SPACING + data[dataSequence]); + } else if (currentLabel.equals(CATEGORY_LABEL)) { + CategoryCommand.removeItemFromCategory(item, item.getCategory()); + item.setCategory(item.getCategory() + SPACING + data[dataSequence]); + CategoryCommand.addItemToCategory(item.getCategory(), item); + } else { + throw new MissingParametersException(); + } + } + + /** + * Sets the item name to a specific name according to the user's input if it is determined to be valid. + * + * @param item The target item in which the user wants to edit. + * @param newName The new name to be assigned to the item. + * @throws MissingParametersException Exception related to all errors due to missing parameters. + */ + private static void setItemName(Item item, String newName) throws MissingParametersException { + if (!newName.isBlank()) { + CategoryCommand.removeItemFromCategory(item, item.getCategory()); + item.setName(newName); + CategoryCommand.addItemToCategory(item.getCategory(), item); + } else { + throw new MissingParametersException(); + } + } + + /** + * Sets the item price to a specific value according to the user input. + * + * @param item The target item in which the user wants to edit. + * @param updatedPrice The new price of the item. + * @throws NumberFormatException Exception related to all number conversion errors. + * @throws OutOfRangeException Exception related to out of range value errors. + */ + private static void setItemPrice(Item item, String updatedPrice) throws NumberFormatException, + OutOfRangeException { + try { + double newPrice = Double.parseDouble(updatedPrice); + BigDecimal newPriceRange = new BigDecimal(updatedPrice); + if (newPrice >= MIN_VALUE_RANGE && newPrice <= Types.MAX_QTY) { + CategoryCommand.removeItemFromCategory(item, item.getCategory()); + item.setPrice(newPrice); + CategoryCommand.addItemToCategory(item.getCategory(), item); + } else if (newPriceRange.compareTo(BigDecimal.valueOf(0.01)) < ZERO || + newPriceRange.compareTo(BigDecimal.valueOf(Types.MAX_QTY)) > ZERO) { + throw new OutOfRangeException(); + } else { + throw new NumberFormatException(); + } + } catch (NumberFormatException nfe) { + throw new NumberFormatException(); + } catch (OutOfRangeException ore) { + throw new OutOfRangeException(); + } + } + + /** + * Sets the item quantity to a specific value according to the user input. + * + * @param item The target item in which the user wants to edit. + * @param updatedQuantity The new quantity of the item. + * @throws NumberFormatException Exception related to all number conversion errors. + * @throws OutOfRangeException Exception related to out of range value errors. + */ + private static void setItemQuantity(Item item, String updatedQuantity) throws NumberFormatException, + OutOfRangeException { + try { + int newQuantity = Integer.parseInt(updatedQuantity); + BigInteger newQuantityRange = new BigInteger(updatedQuantity); + if (newQuantity >= MIN_VALUE_RANGE && newQuantity <= Types.MAX_QTY) { + CategoryCommand.removeItemFromCategory(item, item.getCategory()); + item.setQuantity(newQuantity); + CategoryCommand.addItemToCategory(item.getCategory(), item); + } else if (newQuantityRange.compareTo(BigInteger.ONE) < ZERO || + newQuantityRange.compareTo(BigInteger.valueOf(Types.MAX_QTY)) > ZERO) { + throw new OutOfRangeException(); + } else { + throw new NumberFormatException(); + } + } catch (NumberFormatException nfe) { + throw new NumberFormatException(); + } catch (OutOfRangeException ore) { + throw new OutOfRangeException(); + } + } + + /** + * Sets the item's category to a specific category name according to the user's input if it is determined + * to be valid. + * + * @param item The target item in which the user wants to edit. + * @param updatedCategory The new category name to be assigned to the item. + * @throws MissingParametersException Exception related to all errors due to missing parameters. + */ + private static void setItemCategory(Item item, String updatedCategory) throws MissingParametersException { + if (!updatedCategory.isBlank()) { + CategoryCommand.removeItemFromCategory(item, item.getCategory()); + item.setCategory(updatedCategory); + CategoryCommand.addItemToCategory(item.getCategory(), item); + } else { + throw new MissingParametersException(); + } + } + + /** + * Edit Command that searches for the item in the ArrayList and changes the item attributes according + * to the wishes of the user. + */ + public void setEditInfo() { + try { + Item updatedItem = retrieveItemFromHashMap(editInfo); + Item oldItem = new Item(updatedItem); + updateItemInfo(updatedItem, oldItem, editInfo); + Item itemForHistory = new Item(updatedItem.getName(), updatedItem.getUpc(), updatedItem.getQuantity(), + updatedItem.getPrice(), updatedItem.getCategory()); + handleTrie(updatedItem, oldItem); + upcCodes.remove(oldItem.getUpc()); + upcCodes.put(updatedItem.getUpc(), updatedItem); + Ui.printEditDetails(oldItem, updatedItem); + inventory.getAlertList().checkAlerts(updatedItem.getUpc(), updatedItem.getName(), + upcCodes.get(updatedItem.getUpc()).getQuantity().intValue()); + inventory.getUpcCodesHistory().get(oldItem.getUpc()).add(itemForHistory); + if (SessionManager.getAutoSave()) { + SessionManager.writeSession(inventory); + } + } catch (EditErrorException eee) { + Ui.printItemNotFound(); + } catch (MissingParametersException mpe) { + Ui.printInvalidEditCommand(); + } catch (NumberFormatException nfe) { + Ui.printInvalidPriceOrQuantityEditInput(); + } catch (OutOfRangeException ore) { + ore.printEditOutOfRange(); + } + } + + /** + * Updates the data structure responsible for storing information about the items found in the inventory list. + * + * @param updatedItem The item object containing the newest attributes of the specified item. + * @param oldItem The previous attributes of the item are contained in this item object. + */ + public void handleTrie(Item updatedItem, Item oldItem) { + String[] oldItemNames = oldItem.getName().toLowerCase().split(SPACING); + String newItemNamesFull = updatedItem.getName().toLowerCase(); + for (String oldItemName : oldItemNames) { + if (!newItemNamesFull.contains(oldItemName) && itemNameHash.get(oldItemName).size() == 1) { + itemNameHash.remove(oldItemName); + itemsTrie.remove(oldItemName); + } else { + itemNameHash.get(oldItemName).remove(oldItem); + } + } + String[] newItemNames = newItemNamesFull.split(SPACING); + for (String newItemName : newItemNames) { + if (!itemNameHash.containsKey(newItemName)) { + itemNameHash.put(newItemName, new ArrayList<>()); + } + itemNameHash.get(newItemName).add(updatedItem); + itemsTrie.add(newItemName); + } + } + + /** + * Executes the Edit Command + */ + @Override + public void run() { + setEditInfo(); + } +} diff --git a/src/main/java/seedu/duke/commands/FilterCommand.java b/src/main/java/seedu/duke/commands/FilterCommand.java new file mode 100644 index 0000000000..64378f3975 --- /dev/null +++ b/src/main/java/seedu/duke/commands/FilterCommand.java @@ -0,0 +1,182 @@ +package seedu.duke.commands; + +import seedu.duke.exceptions.SearchFilterErrorException; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.utils.Ui; + +import java.util.ArrayList; + +/** + * Represents the command to filter items in the inventory. + */ +public class FilterCommand extends Command { + private static final String LESS_THAN_FLAG = "p/lt"; + private static final String GREATER_THAN_FLAG = "p/gt"; + private static final String LESS_OR_EQUAL_THAN_FLAG = "p/let"; + private static final String GREATER_OR_EQUAL_THAN_FLAG = "p/get"; + private static final String TYPE_CATEGORY = "f/category"; + private static ArrayList filteredCategory = new ArrayList<>(); + private String filterType; + private String filterValue; + private Double filterPrice; + + /** + * Constructor for FilterCommand by Category/Tag. + * + * @param inventory Inventory object. + * @param value String value to filter by. + * @param filterMode String category/tag filter mode. + */ + public FilterCommand(Inventory inventory, final String value, final String filterMode) { + super(inventory); + this.filterType = filterMode; + this.filterValue = value; + } + + /** + * Constructor for FilterCommand by Price. + * + * @param inventory Inventory object. + * @param price Double value to filter by. + * @param filterPriceMode String price filtering mode. + */ + public FilterCommand(Inventory inventory, final double price, final String filterPriceMode) { + super(inventory); + this.filterType = filterPriceMode; + this.filterPrice = price; + } + + /** + * Filter items in the inventory by category/tag. + * + * @param category String category to filter items by. + */ + private void filterCategory(String category) throws SearchFilterErrorException { + if (categoryHash.isEmpty()) { + throw new NullPointerException(); + } + if (category.isEmpty()) { + throw new SearchFilterErrorException(); + } else if (!categoryHash.containsKey(category.toLowerCase())) { + throw new NullPointerException(); + } + ArrayList tempFilteredItems = new ArrayList<>(); + for (Item item : itemInventory) { + if (item.getCategory().toLowerCase().equals(category.toLowerCase())) { + tempFilteredItems.add(item); + } + } + filteredCategory = tempFilteredItems; + } + + + private static ArrayList getFilteredCategory() { + if (filteredCategory.isEmpty()) { + return null; + } + + return filteredCategory; + } + + /** + * Filter items in the inventory by price. + * + * @param price Double value to filter items by. + * @param mode String price filtering mode. + * p/lt - price less than + * p/gt - price greater than + * p/let - price less than or equal to + * p/get - price greater than or equal to + */ + private ArrayList filterPrice(final double price, final String mode) { + ArrayList filteredItems = new ArrayList<>(); + for (Item item : itemInventory) { + filterItem(price, mode, filteredItems, item); + } + if (filteredItems.isEmpty()) { + return null; + } + return filteredItems; + } + + private static void filterItem(double price, String mode, ArrayList filteredItems, Item item) { + switch (mode) { + case LESS_THAN_FLAG: + if (item.getPrice() < price) { + filteredItems.add(item); + } + break; + case GREATER_THAN_FLAG: + if (item.getPrice() > price) { + filteredItems.add(item); + } + break; + case LESS_OR_EQUAL_THAN_FLAG: + if (item.getPrice() <= price) { + filteredItems.add(item); + } + break; + case GREATER_OR_EQUAL_THAN_FLAG: + if (item.getPrice() >= price) { + filteredItems.add(item); + } + break; + default: + break; + } + } + + /** + * Gets a list on filtered items based on the filter mode. + * + * @return ArrayList Item of filtered items. If no items are found, returns null instead. + */ + + public ArrayList getFilteredItems() { + ArrayList filteredItems = new ArrayList<>(); + switch (filterType) { + case TYPE_CATEGORY: + try { + filterCategory(filterValue); + filteredItems = getFilteredCategory(); + } catch (NullPointerException e) { + Ui.printInvalidCategory(); + return null; + } catch (SearchFilterErrorException e) { + e.missingCategoryParameters(); + return null; + } + break; + case LESS_THAN_FLAG: + //fallthrough + case GREATER_THAN_FLAG: + //fallthrough + case LESS_OR_EQUAL_THAN_FLAG: + //fallthrough + case GREATER_OR_EQUAL_THAN_FLAG: + filteredItems = filterPrice(filterPrice, filterType); + break; + default: + break; + } + return filteredItems; + } + + /** + * Delegate and executes the correct filter command. + */ + @Override + public void run() { + ArrayList filteredItems = getFilteredItems(); + if (filterType.startsWith(TYPE_CATEGORY)) { + if (filteredItems != null) { + Ui.printCategory(filteredItems); + } + } else if (filteredItems == null) { + Ui.printEmptySearch(); + } else { + Ui.printSearchItems(filteredItems); + } + } +} diff --git a/src/main/java/seedu/duke/commands/HelpCommand.java b/src/main/java/seedu/duke/commands/HelpCommand.java new file mode 100644 index 0000000000..afc57ace92 --- /dev/null +++ b/src/main/java/seedu/duke/commands/HelpCommand.java @@ -0,0 +1,12 @@ +package seedu.duke.commands; + +import seedu.duke.utils.Ui; + +public class HelpCommand { + public void run() { + Ui.printLine(); + String table = Ui.printTable(); + System.out.println(table); + Ui.printLine(); + } +} diff --git a/src/main/java/seedu/duke/commands/HistoryCommand.java b/src/main/java/seedu/duke/commands/HistoryCommand.java new file mode 100644 index 0000000000..645ef13c35 --- /dev/null +++ b/src/main/java/seedu/duke/commands/HistoryCommand.java @@ -0,0 +1,44 @@ +package seedu.duke.commands; + +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.utils.Ui; + +import java.util.ArrayList; +import java.util.Collections; + +public class HistoryCommand extends Command{ + String input; + public HistoryCommand(Inventory inventory, String input){ + super(inventory); + this.input = input; + } + + /** + * Gets a list of history results for an item. + * + * @return ArrayList Item of history results. If no results are found, returns null instead. + */ + public ArrayList getHistoryResults(){ + if(!inventory.getUpcCodesHistory().containsKey(input)){ + return null; + } + ArrayList results = inventory.getUpcCodesHistory().get(input); + Collections.sort(results); + return results; + } + + /** + * Executes function to find results. If there are results, prints them. Else it prints that there are no items. + * + */ + @Override + public void run() { + ArrayList results = getHistoryResults(); + if(results!=null) { + Ui.printHistory(results); + }else{ + Ui.printItemNotFound(); + } + } +} diff --git a/src/main/java/seedu/duke/commands/ListCommand.java b/src/main/java/seedu/duke/commands/ListCommand.java new file mode 100644 index 0000000000..475f6fe3c4 --- /dev/null +++ b/src/main/java/seedu/duke/commands/ListCommand.java @@ -0,0 +1,45 @@ +package seedu.duke.commands; + +import seedu.duke.objects.Inventory; +import seedu.duke.utils.Ui; + +/** + * Represents the command to list all items in the inventory. + */ +public class ListCommand extends Command { + public ListCommand(Inventory inventory) { + super(inventory); + } + + /** + * Checks if the inventory is empty. Prints an error message if the inventory is empty. + * Otherwise, prints a list of all items. + */ + private void listItems() { + if (!itemInventory.isEmpty()) { + Ui.printSuccessList(); + printList(); + Ui.printLine(); + } else { + Ui.printEmptyList(); + } + } + + /** + * Lists all items in the inventory. + */ + private void printList() { + String table = Ui.printTable(itemInventory); + System.out.println(table); + + } + + + /** + * Executes the list command. + */ + @Override + public void run() { + listItems(); + } +} diff --git a/src/main/java/seedu/duke/commands/RemoveAlertCommand.java b/src/main/java/seedu/duke/commands/RemoveAlertCommand.java new file mode 100644 index 0000000000..ffb37498e2 --- /dev/null +++ b/src/main/java/seedu/duke/commands/RemoveAlertCommand.java @@ -0,0 +1,82 @@ +package seedu.duke.commands; + +import seedu.duke.objects.AlertList; +import seedu.duke.objects.Inventory; +import seedu.duke.utils.SessionManager; +import seedu.duke.utils.Ui; + +import java.util.HashMap; + +/** + * Represents the command for removing an alert. + */ +public class RemoveAlertCommand extends Command { + + private AlertList alertList; + private String upc; + private String minmax; + + /** + * Constructor for the RemoveAlertCommand class. + * @param inventory The inventory to be initialised in the Command class. + * @param upc The UPC of the alert to be removed. + * @param minmax The type of alert to be removed - either minimum or maximum. + */ + public RemoveAlertCommand(Inventory inventory, String upc, String minmax) { + super(inventory); + this.alertList = inventory.getAlertList(); + this.upc = upc; + this.minmax = minmax; + } + + /** + * Checks if the UPC of the alert to be removed belongs to an existing item in the inventory. + */ + private void checkRemoveAlertUpc() { + if (upcCodes.containsKey(upc)) { + removeAlert(); + } else { + Ui.printItemNotFound(); + } + } + + + /** + * Removes an alert from its corresponding hash map. + */ + private void removeAlert() { + if (minmax.equals(MIN_KEYWORD) && hasUpcInAlerts(alertList.getMinAlertUpcs())) { + alertList.getMinAlertUpcs().remove(upc); + Ui.printSuccessRemoveAlertCommand(); + if(SessionManager.getAutoSave()){ + SessionManager.writeSession(alertList); + } + } else if (minmax.equals(MAX_KEYWORD) && hasUpcInAlerts(alertList.getMaxAlertUpcs())) { + alertList.getMaxAlertUpcs().remove(upc); + Ui.printSuccessRemoveAlertCommand(); + if(SessionManager.getAutoSave()){ + SessionManager.writeSession(alertList); + } + } else { + Ui.printNonExistentRemoveAlert(); + } + } + + /** + * Checks if the UPC of the alert to be removed belongs to an existing alert. + * @param alertUpcMap The hash map to be checked for the UPC. + * @return True if the hash map contains the UPC of the alert to be removed, false otherwise. + */ + private boolean hasUpcInAlerts(HashMap alertUpcMap) { + return alertUpcMap.containsKey(upc); + } + + + /** + * Executes the command for the removing of an alert. + */ + @Override + public void run() { + checkRemoveAlertUpc(); + } +} diff --git a/src/main/java/seedu/duke/commands/RemoveCommand.java b/src/main/java/seedu/duke/commands/RemoveCommand.java new file mode 100644 index 0000000000..938d2b9efc --- /dev/null +++ b/src/main/java/seedu/duke/commands/RemoveCommand.java @@ -0,0 +1,154 @@ +package seedu.duke.commands; + +import seedu.duke.exceptions.RemoveErrorException; +import seedu.duke.objects.AlertList; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.utils.SessionManager; +import seedu.duke.utils.Ui; + +/** + * Represents the command to remove an item from the inventory. + */ +public class RemoveCommand extends Command { + + private static final String EMPTY_SPACE = " "; + private static final int MIN_SIZE = 1; + private String upcCode; + + private int itemIndex; + + /** + * Constructor for RemoveCommand where item is removed from the inventory by its index + * @param inventory the inventory which item is to be removed from + * @param itemIndex the index of the item to be removed + */ + public RemoveCommand(Inventory inventory, int itemIndex) { + super(inventory); + this.itemIndex = itemIndex; + } + + /** + * Constructor for RemoveCommand where item is removed from the inventory by its UPC Code. + * @param inventory the inventory which item is to be removed from + * @param upcCode the upc code of the item to be removed + */ + public RemoveCommand(Inventory inventory, String upcCode) { + super(inventory); + this.upcCode = upcCode; + } + + /** + * Remove an item from the inventory by the upc code given + */ + public void removeByUpcCode() { + try { + upcCode = upcCode.trim(); + if (!upcCodes.containsKey(upcCode)) { + throw new RemoveErrorException(); + } + } catch (RemoveErrorException e) { + Ui.printItemNotFound(); + return; + } + Item itemToRemove = new Item(upcCodes.get(upcCode)); + int indexOfItem = itemInventory.indexOf(itemToRemove); + String category = itemToRemove.getCategory().toLowerCase(); + inventory.getUpcCodesHistory().remove(upcCode); + itemInventory.remove(indexOfItem); + upcCodes.remove(upcCode); + String[] itemNames = itemToRemove.getName().toLowerCase().split(EMPTY_SPACE); + for (String itemName : itemNames) { + removeItemFromHashTrie(itemToRemove, itemName); + } + removeItemFromCategoryHash(itemToRemove, category); + removeAlert(upcCode); + Ui.printSuccessRemove(itemToRemove); + + } + + /** + * Remove an item from the inventory by the index given + */ + public void removeByIndex() { + Item itemToRemove; + try { + itemToRemove = new Item(itemInventory.get(itemIndex)); + } catch (ArrayIndexOutOfBoundsException e) { + Ui.printItemNotFound(); + return; + } + String upcCode = itemToRemove.getUpc(); + String category = itemToRemove.getCategory().toLowerCase(); + int i = itemInventory.indexOf(itemToRemove); + upcCodes.remove(upcCode); + inventory.getUpcCodesHistory().remove(upcCode); + itemInventory.remove(i); + String[] itemNames = itemToRemove.getName().toLowerCase().split(EMPTY_SPACE); + for (String name : itemNames) { + removeItemFromHashTrie(itemToRemove, name); + } + removeItemFromCategoryHash(itemToRemove, category); + removeAlert(upcCode); + Ui.printSuccessRemove(itemToRemove); + } + + /** + * Removes item from the hashmap of item names and the trie of items. + * @param itemToRemove the item to be removed from the inventory. + * @param itemName the name of the item to be removed. + */ + private void removeItemFromHashTrie(Item itemToRemove, String itemName) { + if (itemNameHash.get(itemName).size() == MIN_SIZE) { + itemNameHash.remove(itemName); + itemsTrie.remove(itemName); + } else { + itemNameHash.get(itemName).remove(itemToRemove); + } + } + + /** + * Removes specified item from its stored category. + * @param itemToRemove the item to be removed from the inventory. + * @param category the category that the item belongs to. + */ + private void removeItemFromCategoryHash(Item itemToRemove, String category) { + category = category.toLowerCase(); + if (categoryHash.get(category).size() == MIN_SIZE) { + categoryHash.get(category).remove(itemToRemove); + categoryHash.remove(category); + } else { + categoryHash.get(category).remove(itemToRemove); + } + } + + private void removeAlert(String upcCode) { + AlertList alertList = inventory.getAlertList(); + if (alertList.getMinAlertUpcs().containsKey(upcCode)) { + alertList.getMinAlertUpcs().remove(upcCode); + } + if (alertList.getMaxAlertUpcs().containsKey(upcCode)) { + alertList.getMaxAlertUpcs().remove(upcCode); + } + } + + /** + * Executes the remove command. + */ + @Override + public void run() { + try { + if (upcCode != null) { + removeByUpcCode(); + } else { + removeByIndex(); + } + if (SessionManager.getAutoSave()) { + SessionManager.writeSession(inventory); + } + } catch (NullPointerException | NumberFormatException e) { + Ui.printItemNotFound(); + } + + } +} diff --git a/src/main/java/seedu/duke/commands/RestockCommand.java b/src/main/java/seedu/duke/commands/RestockCommand.java new file mode 100644 index 0000000000..d5dbcd55f3 --- /dev/null +++ b/src/main/java/seedu/duke/commands/RestockCommand.java @@ -0,0 +1,138 @@ +package seedu.duke.commands; + +import seedu.duke.exceptions.EditErrorException; +import seedu.duke.exceptions.MissingParametersException; +import seedu.duke.exceptions.RestockErrorException; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.types.Types; +import seedu.duke.utils.SessionManager; +import seedu.duke.utils.Ui; + +public class RestockCommand extends Command{ + private final String[] restockInfo; + + public RestockCommand(Inventory inventory, String[] restockInfo) { + super(inventory); + this.restockInfo = restockInfo; + } + + /** + * Check for wrong quantity inputs by the user, such as negative values, zero values and integers exceeding + * the 100 million limit. + * + * @param quantity The user input for how much is to be added to the existing quantity of the item. + * @param oldQuantity The previous quantity count of the item. + * @throws RestockErrorException Exception related to all errors associated with the "restock" command. + */ + private void checkQuantityValidity(int quantity, int oldQuantity) throws RestockErrorException { + int maxQuantity = Types.MAX_QTY; + int minQuantity = 0; + if (quantity <= minQuantity || quantity + oldQuantity < minQuantity || quantity + oldQuantity > maxQuantity) { + throw new RestockErrorException(); + } + } + + /** + * Increases the quantity of an item by a user defined amount and detects for invalid user inputs. + * + * @param item The target item in the ArrayList in which the user wants to edit. + * @param data The user input which contains the information to be used to update the item attributes. + * @throws MissingParametersException Exception related to all errors due to missing parameters. + * @throws NumberFormatException Exception related to all invalid number formats inputted. + * @throws RestockErrorException Exception related to all errors associated with the "restock" command. + */ + private void handleUserRestockCommands(Item item, String data) throws MissingParametersException, + NumberFormatException, RestockErrorException { + if (data.startsWith("qty/")) { + String updatedQuantity = data.replaceFirst("qty/", ""); + try { + int quantityToAdd = Integer.parseInt(updatedQuantity); + int oldQuantity = item.getQuantity(); + checkQuantityValidity(quantityToAdd, oldQuantity); + item.setQuantity(oldQuantity + quantityToAdd); + } catch (NumberFormatException nfe) { + throw new NumberFormatException(); + } catch (RestockErrorException ree) { + throw new RestockErrorException(); + } + } else { + throw new MissingParametersException(); + } + } + + /** + * Perform checks for whether user inputs for the "restock" command has too many parameters (exceeds 2). + * + * @param restockInfo The array of strings containing all the user inputs for the "restock" command. + * @throws MissingParametersException Exception related to all errors due to missing parameters. + */ + private void checkRestockCommandLength(String[] restockInfo) throws MissingParametersException { + if (restockInfo.length != 2) { + throw new MissingParametersException(); + } + } + + /** + * Executes method to perform addition of stock to the item specified by the user and throws exceptions + * for error message printing if the incorrect inputs from the user are detected. + * + * @param item The target item in the ArrayList in which the user wants to edit. + * @param data The user input which contains the information to be used to update the item attributes. + * @throws MissingParametersException Exception related to all errors due to missing parameters. + * @throws RestockErrorException Exception related to all errors associated with the "restock" command. + */ + public void updateItemQuantity(final Item item, final String data) throws MissingParametersException, + RestockErrorException { + try { + handleUserRestockCommands(item, data); + } catch (MissingParametersException mpe) { + throw new MissingParametersException(); + } catch (NumberFormatException | RestockErrorException nfe) { + throw new RestockErrorException(); + } + } + + /** + * "Restock" Command that searches for the item in the ArrayList and increases the item quantity according + * to the wishes of the user by executing a series of methods. + */ + public void restockItem() { + try { + EditCommand itemToRestock = new EditCommand(inventory, restockInfo); + Item updatedItem = itemToRestock.retrieveItemFromHashMap(restockInfo); + Item oldItem = new Item(updatedItem.getName(), updatedItem.getUpc(), updatedItem.getQuantity(), + updatedItem.getPrice(), updatedItem.getCategory()); + checkRestockCommandLength(restockInfo); + updateItemQuantity(updatedItem, restockInfo[1]); + Item itemForHistory = new Item(updatedItem.getName(), updatedItem.getUpc(), updatedItem.getQuantity(), + updatedItem.getPrice(), updatedItem.getCategory()); + itemToRestock.handleTrie(updatedItem, oldItem); + upcCodes.remove(oldItem.getUpc()); + upcCodes.put(updatedItem.getUpc(), updatedItem); + Ui.printRestockDetails(oldItem, updatedItem); + + inventory.getAlertList().checkAlerts(updatedItem.getUpc(), updatedItem.getName(), + upcCodes.get(updatedItem.getUpc()).getQuantity().intValue()); + + inventory.getUpcCodesHistory().get(oldItem.getUpc()).add(itemForHistory); + if (SessionManager.getAutoSave()) { + SessionManager.writeSession(inventory); + } + } catch (EditErrorException eee) { + Ui.printItemNotFound(); + } catch (MissingParametersException mpe) { + Ui.printInvalidRestockCommand(); + } catch (RestockErrorException ree) { + Ui.printInvalidAddQuantityInput(); + } + } + + /** + * Executes the Restock Command + */ + @Override + public void run() { + restockItem(); + } +} diff --git a/src/main/java/seedu/duke/commands/SearchCommand.java b/src/main/java/seedu/duke/commands/SearchCommand.java new file mode 100644 index 0000000000..99a748c8a0 --- /dev/null +++ b/src/main/java/seedu/duke/commands/SearchCommand.java @@ -0,0 +1,104 @@ +package seedu.duke.commands; + +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.utils.Ui; +import seedu.duke.types.Types; + +import java.util.ArrayList; +import java.util.HashMap; + +/** + * Represents the command to search for an item in the inventory. + */ +public class SearchCommand extends Command { + public static final int FIRST_FOUND = 1; + private String input; + private Types.SearchType searchType; + + /** + * Constructor for SearchCommand class which takes in the inventory and the keyword + * to search for items in the inventory by the keyword provided + * + * @param inventory inventory of items + * @param input alphanumeric keyword which user provides for querying + */ + public SearchCommand(Inventory inventory, String input, Types.SearchType searchType) { + super(inventory); + this.input = input; + this.searchType = searchType; + } + + /** + * Search for an item in the inventory by its unique UPC number and returns search query + */ + + public Item searchUPC() { + if (!upcCodes.containsKey(input)) { + Ui.printEmptySearch(); + return null; + } + return upcCodes.get(input); + } + + /** + * Search for an item in the inventory by its keyword and returns search query + */ + public ArrayList searchKeyword() { + ArrayList results = new ArrayList<>(); + HashMap resultItemsCount = new HashMap<>(); + String[] inputs = input.split(" "); + for(String currentInput: inputs) { + ArrayList resultNames = itemsTrie.prefixFind(currentInput); + ArrayList resultItems = new ArrayList<>(); + getResultItems(resultNames, resultItems); + for(Item item: resultItems){ + if(!resultItemsCount.containsKey(item)){ + resultItemsCount.put(item, FIRST_FOUND); + }else{ + int count = resultItemsCount.get(item); + resultItemsCount.replace(item, count+1); + } + } + } + for(Item item: resultItemsCount.keySet()){ + if(resultItemsCount.get(item) == inputs.length){ + results.add(item); + } + } + if (results.isEmpty()) { + Ui.printEmptySearch(); + return null; + } + return results; + } + + private void getResultItems(ArrayList resultNames, ArrayList resultItems) { + for (String name : resultNames) { + for (Item item : itemNameHash.get(name)) { + if (!resultItems.contains(item)) { + resultItems.add(item); + } + } + } + } + + + /** + * Delegate and executes search command for an item in the inventory by keyword or upc + */ + @Override + public void run() { + if(searchType==Types.SearchType.KEYWORD){ + ArrayList searchResults = searchKeyword(); + if(searchResults != null){ + Ui.printSearchItems(searchResults); + } + } else{ + Item searchResult = searchUPC(); + if(searchResult != null){ + Ui.printSearchUPCItem(searchResult); + } + } + } +} diff --git a/src/main/java/seedu/duke/commands/SellCommand.java b/src/main/java/seedu/duke/commands/SellCommand.java new file mode 100644 index 0000000000..9e2326c737 --- /dev/null +++ b/src/main/java/seedu/duke/commands/SellCommand.java @@ -0,0 +1,137 @@ +package seedu.duke.commands; + +import seedu.duke.exceptions.EditErrorException; +import seedu.duke.exceptions.MissingParametersException; +import seedu.duke.exceptions.SellErrorException; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.utils.SessionManager; +import seedu.duke.utils.Ui; + +public class SellCommand extends Command{ + + private final String[] sellInfo; + + public SellCommand(Inventory inventory, String[] sellInfo) { + super(inventory); + this.sellInfo = sellInfo; + } + + /** + * Check for wrong quantity inputs by the user, such as negative and zero values, quantities exceeding total + * current quantity. + * + * @param quantityToDeduct The user input for how much is to be deducted from the existing quantity of the item. + * @param currentQuantity The current quantity levels of the item in question. + * @throws SellErrorException Exception related to all errors associated with the "restock" command. + */ + private void checkQuantityValidity(int quantityToDeduct, int currentQuantity) throws SellErrorException { + if (quantityToDeduct <= 0 || currentQuantity < quantityToDeduct) { + throw new SellErrorException(); + } + } + + /** + * Perform checks for whether user inputs for the "sell" command has too many parameters (exceeds 2). + * + * @param sellInfo The array of strings containing all the user inputs for the "sell" command. + * @throws MissingParametersException Exception related to all errors due to missing parameters. + */ + private void checkSellCommandLength(String[] sellInfo) throws MissingParametersException { + if (sellInfo.length != 2) { + throw new MissingParametersException(); + } + } + + /** + * Increases the quantity of an item by a user defined amount and detects for invalid user inputs. + * + * @param item The target item in the ArrayList in which the user wants to edit. + * @param data The user input which contains the information to be used to update the item attributes. + * @throws MissingParametersException Exception related to all errors due to missing parameters. + * @throws NumberFormatException Exception related to all invalid number formats inputted. + * @throws SellErrorException Exception related to all errors associated with the "sell" command. + */ + private void handleUserSellCommands(Item item, String data) throws MissingParametersException, + NumberFormatException, SellErrorException { + if (data.startsWith("qty/")) { + String updatedQuantity = data.replaceFirst("qty/", ""); + try { + int quantityToDeduct = Integer.parseInt(updatedQuantity); + checkQuantityValidity(quantityToDeduct, item.getQuantity()); + int oldQuantity = item.getQuantity(); + assert oldQuantity >= quantityToDeduct : "Quantity to be deducted is more than available stock!"; + item.setQuantity(oldQuantity - quantityToDeduct); + } catch (NumberFormatException nfe) { + throw new NumberFormatException(); + } catch (SellErrorException ree) { + throw new SellErrorException(); + } + } else { + throw new MissingParametersException(); + } + } + + /** + * Executes method to perform deduction of stock to the item specified by the user and throws exceptions + * for error message printing if the incorrect inputs from the user are detected. + * + * @param item The target item in the ArrayList in which the user wants to edit. + * @param data The user input which contains the information to be used to update the item attributes. + * @throws MissingParametersException Exception related to all errors due to missing parameters. + * @throws SellErrorException Exception related to all errors associated with the "sell" command. + */ + private void updateItemQuantity(Item item, String data) throws MissingParametersException, + SellErrorException { + try { + handleUserSellCommands(item, data); + } catch (MissingParametersException mpe) { + throw new MissingParametersException(); + } catch (NumberFormatException | SellErrorException nfe) { + throw new SellErrorException(); + } + } + + /** + * "Sell" Command that searches for the item in the ArrayList and decreases the item quantity according + * to the wishes of the user by executing a series of methods. + */ + public void sellItem() { + try { + EditCommand itemToSell = new EditCommand(inventory, sellInfo); + Item updatedItem = itemToSell.retrieveItemFromHashMap(sellInfo); + Item oldItem = new Item(updatedItem.getName(), updatedItem.getUpc(), updatedItem.getQuantity(), + updatedItem.getPrice(), updatedItem.getCategory()); + checkSellCommandLength(sellInfo); + updateItemQuantity(updatedItem, sellInfo[1]); + Item itemForHistory = new Item(updatedItem.getName(), updatedItem.getUpc(), updatedItem.getQuantity(), + updatedItem.getPrice(), updatedItem.getCategory()); + itemToSell.handleTrie(updatedItem, oldItem); + upcCodes.remove(oldItem.getUpc()); + upcCodes.put(updatedItem.getUpc(), updatedItem); + Ui.printSellDetails(oldItem, updatedItem); + + inventory.getAlertList().checkAlerts(updatedItem.getUpc(), updatedItem.getName(), + upcCodes.get(updatedItem.getUpc()).getQuantity().intValue()); + + inventory.getUpcCodesHistory().get(oldItem.getUpc()).add(itemForHistory); + if (SessionManager.getAutoSave()) { + SessionManager.writeSession(inventory); + } + } catch (EditErrorException eee) { + Ui.printItemNotFound(); + } catch (MissingParametersException mpe) { + Ui.printInvalidSellCommand(); + } catch (SellErrorException see) { + Ui.printInvalidDeductQuantityInput(); + } + } + + /** + * Executes the Sell Command + */ + @Override + public void run() { + sellItem(); + } +} diff --git a/src/main/java/seedu/duke/exceptions/CategoryFormatException.java b/src/main/java/seedu/duke/exceptions/CategoryFormatException.java new file mode 100644 index 0000000000..0efbb552f1 --- /dev/null +++ b/src/main/java/seedu/duke/exceptions/CategoryFormatException.java @@ -0,0 +1,20 @@ +package seedu.duke.exceptions; + +import seedu.duke.utils.Ui; + +public class CategoryFormatException extends Exception { + public void incorrectParameters() { + Ui.printLine(); + System.out.println("Wrong/Incomplete Entry For Category! Please refer to UG for more information\n" + + "Sample Format:" + + "\nList all categories: \"cat list\"" + + "\nList all items and all categories: \"cat table\""); + Ui.printLine(); + } + + public void missingCategory() { + Ui.printLine(); + System.out.println("Something went wrong, a Missing Category exception is caught, please try again!\n"); + Ui.printLine(); + } +} diff --git a/src/main/java/seedu/duke/exceptions/EditErrorException.java b/src/main/java/seedu/duke/exceptions/EditErrorException.java new file mode 100644 index 0000000000..545c37da85 --- /dev/null +++ b/src/main/java/seedu/duke/exceptions/EditErrorException.java @@ -0,0 +1,7 @@ +package seedu.duke.exceptions; + +/** + * Exception used for all errors linked to the edit command. + */ +public class EditErrorException extends Exception { +} diff --git a/src/main/java/seedu/duke/exceptions/HistoryErrorException.java b/src/main/java/seedu/duke/exceptions/HistoryErrorException.java new file mode 100644 index 0000000000..1198233cad --- /dev/null +++ b/src/main/java/seedu/duke/exceptions/HistoryErrorException.java @@ -0,0 +1,13 @@ +package seedu.duke.exceptions; + + +import seedu.duke.utils.Ui; + +public class HistoryErrorException extends Exception{ + public void incorrectParameters(){ + Ui.printLine(); + System.out.println("Wrong/Incomplete Entry For History! Please refer to UG for more information\nSample" + + " Format: \"history [UPC]\"" ); + Ui.printLine(); + } +} diff --git a/src/main/java/seedu/duke/exceptions/MissingParametersException.java b/src/main/java/seedu/duke/exceptions/MissingParametersException.java new file mode 100644 index 0000000000..b5edc2fb23 --- /dev/null +++ b/src/main/java/seedu/duke/exceptions/MissingParametersException.java @@ -0,0 +1,28 @@ +package seedu.duke.exceptions; + +import seedu.duke.utils.Ui; + +public class MissingParametersException extends Exception { + public static final String LINE = "____________________________________________________________"; + + public void missingAddItemParameters() { + Ui.printLine(); + System.out.println("Add parameters incomplete! Please follow the format provided in the user " + + "guide!"); + Ui.printLine(); + } + + public void missingRemoveItemParameters() { + Ui.printLine(); + System.out.println("Wrong/Incomplete Entry For Remove! Please refer to UG for more information" + + "\nSample Format:\nRemove by UPC: \"remove f/upc [UPC]\"\nOR\n" + "Remove by item index: \"remove " + + "f/index [INDEX]\""); + Ui.printLine(); + } + + public void missingAlertParameters() { + Ui.printLine(); + System.out.println("Wrong/Incomplete Entry For Alert! Please refer to UG for more information"); + Ui.printLine(); + } +} diff --git a/src/main/java/seedu/duke/exceptions/OutOfRangeException.java b/src/main/java/seedu/duke/exceptions/OutOfRangeException.java new file mode 100644 index 0000000000..4153afb575 --- /dev/null +++ b/src/main/java/seedu/duke/exceptions/OutOfRangeException.java @@ -0,0 +1,18 @@ +package seedu.duke.exceptions; + +import seedu.duke.utils.Ui; + + +public class OutOfRangeException extends Exception{ + public void printOutOfRange() { + Ui.printLine(); + System.out.println("The number you have entered exceeds the maximum limit of 99,999,999."); + Ui.printLine(); + } + + public void printEditOutOfRange() { + Ui.printLine(); + System.out.println("The number you have entered should be between 0 and 99,999,999."); + Ui.printLine(); + } +} diff --git a/src/main/java/seedu/duke/exceptions/RemoveErrorException.java b/src/main/java/seedu/duke/exceptions/RemoveErrorException.java new file mode 100644 index 0000000000..df7968dbe9 --- /dev/null +++ b/src/main/java/seedu/duke/exceptions/RemoveErrorException.java @@ -0,0 +1,5 @@ +package seedu.duke.exceptions; + +public class RemoveErrorException extends Exception{ + +} diff --git a/src/main/java/seedu/duke/exceptions/RestockErrorException.java b/src/main/java/seedu/duke/exceptions/RestockErrorException.java new file mode 100644 index 0000000000..9d74af05e2 --- /dev/null +++ b/src/main/java/seedu/duke/exceptions/RestockErrorException.java @@ -0,0 +1,7 @@ +package seedu.duke.exceptions; + +/** + * Exception used for all errors linked to the "restock" command. + */ +public class RestockErrorException extends Exception{ +} diff --git a/src/main/java/seedu/duke/exceptions/SearchFilterErrorException.java b/src/main/java/seedu/duke/exceptions/SearchFilterErrorException.java new file mode 100644 index 0000000000..df298c87a1 --- /dev/null +++ b/src/main/java/seedu/duke/exceptions/SearchFilterErrorException.java @@ -0,0 +1,42 @@ +package seedu.duke.exceptions; + + +import seedu.duke.utils.Ui; + +public class SearchFilterErrorException extends Exception { + public void missingPriceComparator() { + Ui.printLine(); + System.out.println("Price comparator missing or malformed! Please use the format: filter " + + "f/{price/category} {p/[gt/get/lt/let] [Price] or [Category keywords]}"); + Ui.printLine(); + } + + public void incorrectSearchParameters() { + Ui.printLine(); + System.out.println("Wrong/Incomplete Entry For Search by Keywords! Please refer to UG for more information" + + "\nSample Format: \"search [KEYWORDS]\""); + Ui.printLine(); + } + + public void incorrectSearchUPCParameters() { + Ui.printLine(); + System.out.println("Wrong/Incomplete Entry For Search by UPC! Please refer to UG for more information\nSample " + + "Format: \"searchupc [UPC]\""); + Ui.printLine(); + } + + public void incorrectFilterParameters() { + Ui.printLine(); + System.out.println("Wrong/Incomplete Entry For Filter! Please refer to UG for more information\n" + + "Sample Format:\n For price filter: \"filter f/price p/{gt/get/lt/let} [Price]\"\n " + + "For category filter: \"filter f/category [Keywords]\""); + Ui.printLine(); + } + + public void missingCategoryParameters() { + Ui.printLine(); + System.out.println("Missing keywords to search for appropriate category! Please use the format: \"filter " + + "f/category [Keywords]\""); + Ui.printLine(); + } +} diff --git a/src/main/java/seedu/duke/exceptions/SellErrorException.java b/src/main/java/seedu/duke/exceptions/SellErrorException.java new file mode 100644 index 0000000000..7e6fb35067 --- /dev/null +++ b/src/main/java/seedu/duke/exceptions/SellErrorException.java @@ -0,0 +1,7 @@ +package seedu.duke.exceptions; + +/** + * Exception used for all errors linked to the "sell" command. + */ +public class SellErrorException extends Exception{ +} diff --git a/src/main/java/seedu/duke/exceptions/StorageErrorException.java b/src/main/java/seedu/duke/exceptions/StorageErrorException.java new file mode 100644 index 0000000000..e60e81d5a6 --- /dev/null +++ b/src/main/java/seedu/duke/exceptions/StorageErrorException.java @@ -0,0 +1,7 @@ +package seedu.duke.exceptions; + +public class StorageErrorException extends Exception { + public void loadingError() { + System.out.println("There was an error in loading."); + } +} diff --git a/src/main/java/seedu/duke/objects/Alert.java b/src/main/java/seedu/duke/objects/Alert.java new file mode 100644 index 0000000000..8beefeb2c4 --- /dev/null +++ b/src/main/java/seedu/duke/objects/Alert.java @@ -0,0 +1,26 @@ +package seedu.duke.objects; + +public class Alert { + private String upc; + private String minmax; + private Integer stock; + + public Alert (String upc, String minmax, String stock) { + this.upc = upc; + this.minmax = minmax; + this.stock = Integer.parseInt(stock); + } + + public String getUpc() { + return upc; + } + + public String getMinmax() { + return minmax; + } + + public Integer getStock() { + return stock; + } + +} diff --git a/src/main/java/seedu/duke/objects/AlertList.java b/src/main/java/seedu/duke/objects/AlertList.java new file mode 100644 index 0000000000..afb21be91a --- /dev/null +++ b/src/main/java/seedu/duke/objects/AlertList.java @@ -0,0 +1,43 @@ +package seedu.duke.objects; + +import seedu.duke.utils.Ui; + +import java.util.HashMap; + +public class AlertList { + private final HashMap minAlertUpcs = new HashMap<>(); + private final HashMap maxAlertUpcs = new HashMap<>(); + + public HashMap getMinAlertUpcs() { + return minAlertUpcs; + } + + public HashMap getMaxAlertUpcs() { + return maxAlertUpcs; + } + + public int getTotalAlertNumber() { + return minAlertUpcs.size() + maxAlertUpcs.size(); + } + + public void setMinAlertUpcs(String upc, int min) { + this.minAlertUpcs.put(upc, min); + } + + public void setMaxAlertUpcs(String upc, int max) { + this.maxAlertUpcs.put(upc, max); + } + + public void checkAlerts(String upc, String name, int currentQuantity) { + + if (getMinAlertUpcs().containsKey(upc) && (getMinAlertUpcs().get(upc) > currentQuantity)) { + Ui.printMinAlertWarning(name, getMinAlertUpcs().get(upc)); + } + + if (getMaxAlertUpcs().containsKey(upc) && (getMaxAlertUpcs().get(upc) < currentQuantity)) { + Ui.printMaxAlertWarning(name, getMaxAlertUpcs().get(upc)); + } + } + + +} diff --git a/src/main/java/seedu/duke/objects/Inventory.java b/src/main/java/seedu/duke/objects/Inventory.java new file mode 100644 index 0000000000..a2d5ad3a47 --- /dev/null +++ b/src/main/java/seedu/duke/objects/Inventory.java @@ -0,0 +1,95 @@ +package seedu.duke.objects; + +import seedu.duke.utils.trie.Trie; + +import java.util.ArrayList; +import java.util.HashMap; + + +public class Inventory { + private final ArrayList itemInventory = new ArrayList<>(); + private final HashMap upcCodes = new HashMap<>(); + private final Trie trie = new Trie(); + private final HashMap> itemNameHash = new HashMap<>(); + private final HashMap> upcCodesHistory = new HashMap<>(); + private AlertList alertList = new AlertList(); + private final HashMap> categoryHash = new HashMap<>(); + + + /** + * Retrieves all the UPC Codes in the inventory currently. + * + * @return upcCodes a hashmap of UPC code with its corresponding item in the inventory + */ + public HashMap getUpcCodes() { + return upcCodes; + } + + /** + * Retrieves all the items in the inventory currently + * + * @return itemInventory an arraylist of items in the inventory + */ + public ArrayList getItemInventory() { + return itemInventory; + } + + public double getTotalValue() { + double totalCost = 0; + for (Item item : itemInventory) { + totalCost += item.getPrice() * item.getQuantity(); + } + return Math.round(totalCost * 100.0) / 100.0; + } + + /** + * Returns the item with the most/least quantity in the inventory. + * + * @param findMaximum true if the maximum quantity is to be found, false if the minimum quantity is to be found + * @return itemUPC the UPC code of the item with the most/least quantity + */ + public String getItemWithQuantityExtremes(boolean findMaximum) { + int extremumQuantity = findMaximum ? 0 : Integer.MAX_VALUE; + String itemUPC = ""; + for (Item item : itemInventory) { + int quantity = item.getQuantity(); + if ((findMaximum && quantity > extremumQuantity) || + (!findMaximum && quantity < extremumQuantity)) { + extremumQuantity = quantity; + itemUPC = item.getUpc(); + } + } + return itemUPC; + } + + + public Trie getTrie() { + return trie; + } + + public AlertList getAlertList() { + return alertList; + } + + public void setAlertList(AlertList alertList) { + this.alertList = alertList; + } + + /** + * Retrieves all the items Name Hash in the inventory currently. + * + * @return itemInventory an arraylist of items in the inventory + */ + public HashMap> getItemNameHash() { + return itemNameHash; + } + + public HashMap> getUpcCodesHistory() { + return upcCodesHistory; + } + + public HashMap> getCategoryHash() { + return categoryHash; + } + +} diff --git a/src/main/java/seedu/duke/objects/Item.java b/src/main/java/seedu/duke/objects/Item.java new file mode 100644 index 0000000000..872445542c --- /dev/null +++ b/src/main/java/seedu/duke/objects/Item.java @@ -0,0 +1,244 @@ +package seedu.duke.objects; + +import seedu.duke.types.Types; + +import java.time.LocalDate; +import java.time.LocalTime; +import java.util.ArrayList; +import java.util.Objects; +import java.time.LocalDateTime; + +public class Item implements Comparable { + private final LocalDateTime dateTime; + private String upc; + private String name; + private Double price; + private Integer quantity; + private String category = "Uncategorized"; + + public Item(String name, String upc, Integer qty, Double price) { + this.name = name; + this.upc = upc; + this.price = price; + this.quantity = qty; + this.dateTime = LocalDateTime.now(); + } + + + public Item(final String name, final String upc, final Integer qty, + final Double price, final String category, final LocalDateTime dateTime) { + this.name = name; + this.upc = upc; + this.price = price; + this.quantity = qty; + this.category = category; + this.dateTime = dateTime; + } + + public Item(final String name, final String upc, final Integer qty, + final Double price, final String category) { + this.name = name; + this.upc = upc; + this.price = price; + this.quantity = qty; + this.category = category; + this.dateTime = LocalDateTime.now(); + } + public Item(final String name, final String upc, final Integer qty, + final Double price, final LocalDateTime dateTime) { + this.name = name; + this.upc = upc; + this.price = price; + this.quantity = qty; + this.dateTime = dateTime; + } + + public Item(Item item) { + this.name = item.getName(); + this.dateTime = item.getDateTime(); + this.upc = item.getUpc(); + this.price = item.getPrice(); + this.quantity = item.getQuantity(); + this.category = item.getCategory(); + } + + + + public LocalDateTime getDateTime() { + return dateTime; + } + + + public String getUpc() { + return upc; + } + + public void setUpc(final String upc) { + this.upc = upc; + } + + public String getName() { + return name; + } + + public void setName(final String name) { + this.name = name; + } + + public Double getPrice() { + return price; + } + + public void setPrice(final Double price) { + this.price = price; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + /** + * Retrieves the quantity of the item. + */ + public Integer getQuantity() { + return quantity; + } + + /** + * Updates the quantity of the item. + */ + public void setQuantity(final Integer quantity) { + this.quantity = quantity; + } + + public boolean isUpdatedFrom(Item oldItem) { + int itemsChanged = 0; + if (!Objects.equals(oldItem.getName(), this.getName())) { + itemsChanged += 1; + } + if (!Objects.equals(oldItem.getQuantity(), this.getQuantity())) { + itemsChanged += 1; + } + if (!Objects.equals(oldItem.getPrice(), this.getPrice())) { + itemsChanged += 1; + } + if (!Objects.equals(oldItem.getCategory(), this.getCategory())) { + itemsChanged += 1; + } + return itemsChanged != 0; + } + + /** + * Compares the current item to another item and returns what edits have to be made to get the item to the state + * of the item passed in the parameter + * + * @param item Item to check the current item against + * @return EditType of the changes made + */ + + public ArrayList getEditTypes(final Item item) { + ArrayList results = new ArrayList<>(); + if (quantity < item.getQuantity()) { + results.add(Types.EditType.BOUGHT); + } + if (quantity > item.getQuantity()) { + results.add(Types.EditType.SOLD); + } + if (!category.equals(item.getCategory())) { + results.add(Types.EditType.RECATEGORIZE); + } + if (!name.equals(item.getName())) { + results.add(Types.EditType.RENAME); + } + if (price < item.getPrice()) { + results.add(Types.EditType.PRICE_INCREASE); + } + if (price > item.getPrice()) { + results.add(Types.EditType.PRICE_DECREASE); + } + return results; + } + + /** + * Gets a formatted date string from a LocalDate object. + * + * @param date Date to format + * @return Formatted date string. + */ + + private static String getDateString(final LocalDate date) { + return date.getDayOfWeek() + ", " + date.getMonth() + " " + date.getDayOfMonth() + ", " + date.getYear(); + } + + /** + * Adjusts 24 hour time to 12 hour time. + * + * @param hour 24 hour time + * @return integer of 12 hour time. + */ + + private static int adjustHour(final int hour) { + if (hour % 12 == 0) { + return 12; + } + return hour % 12; + } + + /** + * Gets a formatted time string from a LocalTime object. + * + * @param time Time to format + * @return Formatted time string + */ + + private static String getTimeString(final LocalTime time) { + LocalTime noon = LocalTime.parse("12:00"); + return adjustHour(time.getHour()) + ":" + (time.getMinute() < 10 ? "0" : "") + time.getMinute() + + " " + (time.isBefore(noon) ? "AM" : "PM"); + } + + /** + * Gets the dateTime of the current item in a formatted string. + * + * @return Formatted String of the dateTime. + */ + + public String getDateTimeString() { + LocalDate date = dateTime.toLocalDate(); + LocalTime time = dateTime.toLocalTime(); + return getTimeString(time) + ", " + getDateString(date); + } + + @Override + public String toString() { + return "Name: " + name + '\n' + "UPC: " + upc + '\n' + "Price: " + price + '\n' + + "Quantity: " + quantity + '\n' + "Category: " + category; + } + + @Override + public boolean equals(final Object o) { + if (o == null || !o.getClass().equals(this.getClass())) { + return false; + } + Item item = (Item) o; + return item.getUpc().equals(upc); + } + + @Override + public int compareTo(final Item item) { + if (item.getDateTime() == null || dateTime == null) { + return 0; + } + if (item.getDateTime().isEqual(dateTime)) { + return 0; + } + if (dateTime.isBefore(item.getDateTime())) { + return -1; + } + return 1; + } +} diff --git a/src/main/java/seedu/duke/types/Types.java b/src/main/java/seedu/duke/types/Types.java new file mode 100644 index 0000000000..1381afa290 --- /dev/null +++ b/src/main/java/seedu/duke/types/Types.java @@ -0,0 +1,25 @@ +package seedu.duke.types; + +public class Types { + public enum SearchType { + KEYWORD, + UPC + } + public static final String SESSIONFILEPATH = "./data/InventoryData.csv"; + public static final String ALERTFILEPATH = "./data/AlertData.csv"; + public static final int MAX_QTY = 99999999; + public enum FileHealth { + OK, + CORRUPT, + MISSING, + EMPTY + } + public enum EditType { + PRICE_INCREASE, + PRICE_DECREASE, + RENAME, + RECATEGORIZE, + SOLD, + BOUGHT + } +} diff --git a/src/main/java/seedu/duke/utils/CommandFormat.java b/src/main/java/seedu/duke/utils/CommandFormat.java new file mode 100644 index 0000000000..68b4236df2 --- /dev/null +++ b/src/main/java/seedu/duke/utils/CommandFormat.java @@ -0,0 +1,69 @@ +package seedu.duke.utils; + +import java.util.HashMap; + +public class CommandFormat { + public static final String ADD_FORMAT = "add n/[Name] upc/[UPC] qty/[Quantity] p/[Price] c/[Category]"; + public static final String EDIT_FORMAT = "edit upc/[UPC] {n/[Name] qty/[Quantity] p/[Price]}"; + public static final String REMOVE_FORMAT = "remove f/upc [UPC], remove f/index [Index]"; + public static final String RESTOCK_FORMAT = "restock upc/[UPC] qty/[Quantity]"; + public static final String SELL_FORMAT = "sell upc/[UPC] qty/[Quantity]"; + public static final String HELP_FORMAT = "help"; + public static final String SEARCH_KEYWORD_FORMAT = "search [Keywords]"; + public static final String SEARCH_UPC_FORMAT = "searchupc [UPC]"; + public static final String FILTER_FORMAT = "filter f/category [category], filter f/[gt/get/lt/let] [price]"; + public static final String LIST_FORMAT = "list"; + public static final String ALERT_ADD_FORMAT = "alert add upc/[UPC] {min/[Minimum] or max/[Maximum]}"; + + public static final String ALERT_REMOVE_FORMAT = "alert remove upc/[UPC] level/[Min or Max]"; + public static final String CATEGORY_FORMAT = "cat list, cat table"; + public static final String HISTORY_FORMAT = "history [UPC]"; + public static final String EXIT_FORMAT = "exit, bye"; + + public static final String DASHBOARD_FORMAT = "db"; + public static final String ADD_DESCRIPTION = "add: adds an item to the inventory list"; + public static final String EDIT_DESCRIPTION = "edit: edits relevant information of an item"; + public static final String REMOVE_DESCRIPTION = "remove: removes an item from the inventory list"; + public static final String RESTOCK_DESCRIPTION = "restock: increases the quantity of an item"; + public static final String SELL_DESCRIPTION = "sell: decreases the quantity of an item"; + public static final String HELP_DESCRIPTION = "help: shows you this list of commands"; + public static final String LIST_DESCRIPTION = "list: shows you the inventory list of items"; + public static final String SEARCH_KEYWORD_DESCRIPTION = "search: search existing items by keywords"; + public static final String SEARCH_UPC_DESCRIPTION = "searchupc: search existing items by UPC"; + public static final String FILTER_DESCRIPTION = "filter: filters items by category or price or tag"; + public static final String ALERT_ADD_DESCRIPTION = "alert add: adds new alert for an item to " + + "track its stock count"; + public static final String ALERT_REMOVE_DESCRIPTION = "alert remove: removes existing alert for an item"; + public static final String CATEGORY_DESCRIPTION = "cat: list all categories or list table " + + "of categories and items respectively"; + public static final String HISTORY_DESCRIPTION = "history: shows the historical commands executed for an item"; + public static final String DASHBOARD_DESCRIPTION = "db: displays the dashboard of Magus-Stock"; + public static final String EXIT_DESCRIPTION = "exit: exits the MagusStock program"; + + + protected HashMap commandsHashMap; + + public CommandFormat(HashMap commandsHashMap) { + this.commandsHashMap = getCommandsHashMap(commandsHashMap); + } + + public HashMap getCommandsHashMap(HashMap commands) { + commands.put(ADD_FORMAT, ADD_DESCRIPTION); + commands.put(REMOVE_FORMAT, REMOVE_DESCRIPTION); + commands.put(EDIT_FORMAT, EDIT_DESCRIPTION); + commands.put(RESTOCK_FORMAT, RESTOCK_DESCRIPTION); + commands.put(SELL_FORMAT, SELL_DESCRIPTION); + commands.put(LIST_FORMAT, LIST_DESCRIPTION); + commands.put(SEARCH_UPC_FORMAT, SEARCH_UPC_DESCRIPTION); + commands.put(SEARCH_KEYWORD_FORMAT, SEARCH_KEYWORD_DESCRIPTION); + commands.put(FILTER_FORMAT, FILTER_DESCRIPTION); + commands.put(CATEGORY_FORMAT, CATEGORY_DESCRIPTION); + commands.put(ALERT_ADD_FORMAT, ALERT_ADD_DESCRIPTION); + commands.put(ALERT_REMOVE_FORMAT, ALERT_REMOVE_DESCRIPTION); + commands.put(HELP_FORMAT, HELP_DESCRIPTION); + commands.put(HISTORY_FORMAT, HISTORY_DESCRIPTION); + commands.put(DASHBOARD_FORMAT, DASHBOARD_DESCRIPTION); + commands.put(EXIT_FORMAT, EXIT_DESCRIPTION); + return commands; + } +} diff --git a/src/main/java/seedu/duke/utils/ParserHandler.java b/src/main/java/seedu/duke/utils/ParserHandler.java new file mode 100644 index 0000000000..27992724e8 --- /dev/null +++ b/src/main/java/seedu/duke/utils/ParserHandler.java @@ -0,0 +1,116 @@ +package seedu.duke.utils; + +import seedu.duke.objects.AlertList; +import seedu.duke.objects.Inventory; +import seedu.duke.types.Types; +import seedu.duke.utils.parsers.AddParser; +import seedu.duke.utils.parsers.AlertParser; +import seedu.duke.utils.parsers.AutoSaveParser; +import seedu.duke.utils.parsers.CategoryParser; +import seedu.duke.utils.parsers.EditParser; +import seedu.duke.utils.parsers.FilterParser; +import seedu.duke.utils.parsers.HelpParser; +import seedu.duke.utils.parsers.HistoryParser; +import seedu.duke.utils.parsers.ListParser; +import seedu.duke.utils.parsers.RemoveParser; +import seedu.duke.utils.parsers.RestockParser; +import seedu.duke.utils.parsers.SearchParser; +import seedu.duke.utils.parsers.SellParser; + +import java.util.Scanner; + +public class ParserHandler { + private static Scanner in = new Scanner(System.in); + private Inventory inventory; + private AlertList alertList; + + public ParserHandler(Inventory inventory) { + this.inventory = inventory; + this.alertList = inventory.getAlertList(); + } + + /** + * Runs the appropriate command based on the commandWord. + * + */ + public void run() { + String command = in.nextLine().trim(); + String[] splitCommand = command.split(" ", 2); + String commandWord = splitCommand[0]; + String commandInfo; + if (splitCommand.length > 1) { + commandInfo = splitCommand[1]; + } else { + commandInfo = ""; + } + switch (commandWord.toLowerCase()) { + case "bye": + case "exit": + Ui.printExitMessage(); + System.exit(0); + break; + case "add": + AddParser addParser = new AddParser(commandInfo, inventory); + addParser.run(); + break; + case "edit": + EditParser editParser = new EditParser(commandInfo, inventory); + editParser.run(); + break; + case "restock": + RestockParser restockParser = new RestockParser(commandInfo, inventory); + restockParser.run(); + break; + case "sell": + SellParser sellParser = new SellParser(commandInfo, inventory); + sellParser.run(); + break; + case "list": + ListParser listParser = new ListParser(commandInfo, inventory); + listParser.run(); + break; + case "search": + SearchParser searchParser = new SearchParser(commandInfo, inventory, Types.SearchType.KEYWORD); + searchParser.run(); + break; + case "searchupc": + SearchParser searchParserUPC = new SearchParser(commandInfo, inventory, Types.SearchType.UPC); + searchParserUPC.run(); + break; + case "filter": + FilterParser filterParser = new FilterParser(commandInfo, inventory); + filterParser.run(); + break; + case "remove": + RemoveParser removeParser = new RemoveParser(commandInfo, inventory); + removeParser.run(); + break; + case "alert": + AlertParser alertParser = new AlertParser(commandInfo, inventory); + alertParser.run(); + break; + case "help": + HelpParser helpParser = new HelpParser(); + helpParser.run(); + break; + case "autosave": + AutoSaveParser autoSaveParser = new AutoSaveParser(commandInfo, inventory); + autoSaveParser.run(); + break; + case "db": + Ui.printDashboard(inventory, alertList); + break; + case "history": + HistoryParser historyParser = new HistoryParser(commandInfo, inventory); + historyParser.run(); + break; + case "cat": + CategoryParser categoryParser = new CategoryParser(commandInfo, inventory); + categoryParser.run(); + break; + default: + Ui.printUnknownCommand(); + break; + } + } +} diff --git a/src/main/java/seedu/duke/utils/Sanitizer.java b/src/main/java/seedu/duke/utils/Sanitizer.java new file mode 100644 index 0000000000..e01359b43d --- /dev/null +++ b/src/main/java/seedu/duke/utils/Sanitizer.java @@ -0,0 +1,10 @@ +package seedu.duke.utils; + +public class Sanitizer { + public static String encode(String input){ + return input.replace(",","&cm;"); + } + public static String decode(String input){ + return input.replace("&cm;",","); + } +} diff --git a/src/main/java/seedu/duke/utils/SessionManager.java b/src/main/java/seedu/duke/utils/SessionManager.java new file mode 100644 index 0000000000..bf8417e52e --- /dev/null +++ b/src/main/java/seedu/duke/utils/SessionManager.java @@ -0,0 +1,46 @@ +package seedu.duke.utils; + +import seedu.duke.objects.AlertList; +import seedu.duke.objects.Inventory; +import seedu.duke.types.Types; + +/** + * Class to manage the session of the program and its storage features. + */ +public class SessionManager { + private static boolean isAutoSaveActive = true; + + public static void writeSession(final Inventory inventory) { + Storage.writeCSV(inventory); + } + + public static void writeSession(final AlertList alertList) { + Storage.writeCSV(alertList); + } + + public static Inventory getSession() { + return Storage.readCSV(Types.SESSIONFILEPATH); + } + + public static AlertList getSessionAlerts() { + return Storage.readAlertCSV(); + } + + public static boolean getAutoSave() { + return isAutoSaveActive; + } + + public static void setAutoSave(final boolean isAutoSaveActive) { + SessionManager.isAutoSaveActive = isAutoSaveActive; + } + + public static String inventoryDataFileExist(Inventory inventory) { + return Storage.checkDataFileExist(inventory, true); + } + + public static String alertDataFileExist(Inventory inventory) { + return Storage.checkDataFileExist(inventory, false); + } + + +} diff --git a/src/main/java/seedu/duke/utils/Storage.java b/src/main/java/seedu/duke/utils/Storage.java new file mode 100644 index 0000000000..7a082ff3c8 --- /dev/null +++ b/src/main/java/seedu/duke/utils/Storage.java @@ -0,0 +1,397 @@ +package seedu.duke.utils; + +import seedu.duke.objects.AlertList; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.types.Types; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.time.LocalDateTime; +import java.time.format.DateTimeParseException; +import java.util.ArrayList; +import java.util.Map; + +public class Storage { + public static final int BEFORE_INDEX = -1; + private static Inventory inventory = new Inventory(); + private static final Integer MAX_NUMBER_OF_FIELDS = 7; + private static final Integer NAME_INDEX = 1; + private static final Integer UPC_INDEX = 2; + private static final Integer QUANTITY_INDEX = 3; + private static final Integer PRICE_INDEX = 4; + private static final Integer CAT_INDEX = 5; + private static final Integer DATE_INDEX = 6; + private static final Integer ALERT_FIELDS = 3; + private static final Integer ALERT_UPC_INDEX = 0; + private static final Integer ALERT_QTY_INDEX = 1; + private static final Integer ALERT_MINMAX_INDEX = 2; + private static boolean isStorageWriteDone = true; + + /** + * Reads the CSV file from Types.SESSIONFILEPATH and + * returns an Inventory object. + * + * @return Inventory object + */ + public static synchronized Inventory readCSV(String filePath) { + inventory = new Inventory(); + Types.FileHealth fileHealth = checkFileValid(inventory, filePath, true); + switch (fileHealth) { + case EMPTY: + //fallthrough + case MISSING: + Ui.printEmptySessionFile(); + return new Inventory(); + case CORRUPT: + Ui.printInvalidSessionFile(); + return new Inventory(); + case OK: + //fallthrough + default: + break; + } + try { + BufferedReader reader = new BufferedReader(new FileReader(filePath)); + String line = reader.readLine(); + Inventory tempInventory = new Inventory(); + while (line != null) { + String[] fields = line.trim().split(","); + Item item = parseItem(fields); + updateInventory(tempInventory, item); + updateHistory(inventory, item); + line = reader.readLine(); + } + updateInventory(tempInventory); + reader.close(); + } catch (IOException e) { + Ui.printEmptySessionFile(); + return new Inventory(); + } + Ui.printRecoveredSessionFile(); + return inventory; + } + + /** + * Creates an Item object from the fields in the CSV file. + * + * @param fields String array of fields delimited by commas + * @return Item object + */ + private static Item parseItem(String[] fields) { + return new Item(Sanitizer.decode(fields[NAME_INDEX]), fields[UPC_INDEX], + Integer.parseInt(fields[QUANTITY_INDEX]), + Double.parseDouble(fields[PRICE_INDEX]), fields[CAT_INDEX], + LocalDateTime.parse(fields[DATE_INDEX])); + } + + /** + * Update the inventory with the item object provided. (Takes into account duplicate entries from history) + * + * @param inventory Inventory object to be updated + * @param item Item object to be added + */ + + private static void updateInventory(Inventory inventory, Item item) { + if (inventory.getUpcCodes().containsKey(item.getUpc())) { + Item existingItem = inventory.getUpcCodes().get(item.getUpc()); + if (existingItem.compareTo(item) == BEFORE_INDEX) { + inventory.getItemInventory().remove(existingItem); + inventory.getUpcCodes().remove(item.getUpc()); + inventory.getItemInventory().add(item); + inventory.getUpcCodes().put(item.getUpc(), item); + } + } else { + inventory.getItemInventory().add(item); + inventory.getUpcCodes().put(item.getUpc(), item); + } + } + + /** + * Updates the hashes. + * + * @param tempInventory Inventory object to be updated from + */ + private static void updateInventory(Inventory tempInventory) { + for (Item item : tempInventory.getItemInventory()) { + Storage.inventory.getItemInventory().add(item); + Storage.inventory.getUpcCodes().put(item.getUpc(), item); + String[] itemNames = item.getName().toLowerCase().split(" "); + for (String itemName : itemNames) { + if (!Storage.inventory.getItemNameHash().containsKey(itemName)) { + Storage.inventory.getItemNameHash().put(itemName, new ArrayList<>()); + } + Storage.inventory.getItemNameHash().get(itemName).add(item); + Storage.inventory.getTrie().add(itemName); + } + String category = item.getCategory().toLowerCase(); + if (!Storage.inventory.getCategoryHash().containsKey(category)) { + Storage.inventory.getCategoryHash().put(category, new ArrayList<>()); + } + Storage.inventory.getCategoryHash().get(category).add(item); + } + } + + /** + * Updates the history of the item. + * + * @param inventory Inventory object to be updated + * @param item Item object to be added + */ + private static void updateHistory(Inventory inventory, Item item) { + if (!inventory.getUpcCodesHistory().containsKey(item.getUpc())) { + inventory.getUpcCodesHistory().put(item.getUpc(), new ArrayList<>()); + } + inventory.getUpcCodesHistory().get(item.getUpc()).add(new Item(item)); + } + + + /** + * Writes the current inventory to the CSV file. + * + * @param currentInventory Current inventory + */ + public static synchronized void writeCSV(final Inventory currentInventory) { + isStorageWriteDone = false; + try { + File dataFolder = new File("./data"); + if (!dataFolder.exists()) { + dataFolder.mkdir(); + } + + BufferedWriter writer = new BufferedWriter(new FileWriter(Types.SESSIONFILEPATH)); + int counter = 0; + for (int i = 0; i < currentInventory.getItemInventory().size(); i++) { + String itemUPC = currentInventory.getItemInventory().get(i).getUpc(); + for (Item item : currentInventory.getUpcCodesHistory().get(itemUPC)) { + writer.write(counter + "," + Sanitizer.encode(item.getName()) + "," + item.getUpc() + + "," + item.getQuantity() + "," + item.getPrice() + "," + item.getCategory() + "," + + item.getDateTime() + "\n"); + counter++; + } + } + writer.close(); + } catch (IOException e) { + isStorageWriteDone = true; + System.out.println("Critical: An error occurred when writing to the file."); + } + isStorageWriteDone = true; + } + + /** + * Writes the current alert list to the AlertData CSV file. + * + * @param alertList Current alert list + */ + public static synchronized void writeCSV(final AlertList alertList) { + try { + File dataFolder = new File("./data"); + if (!dataFolder.exists()) { + dataFolder.mkdir(); + } + + BufferedWriter writer = new BufferedWriter(new FileWriter(Types.ALERTFILEPATH)); + + for (Map.Entry entry : alertList.getMinAlertUpcs().entrySet()) { + String key = entry.getKey(); + Integer value = entry.getValue(); + writer.write(key + "," + value + "," + "min" + "\n"); + } + + for (Map.Entry entry : alertList.getMaxAlertUpcs().entrySet()) { + String key = entry.getKey(); + Integer value = entry.getValue(); + writer.write(key + "," + value + "," + "max" + "\n"); + } + + writer.close(); + + } catch (IOException e) { + System.out.println("Critical: An error occurred when writing to the file."); + } + + } + + + public static synchronized AlertList readAlertCSV() { + try { + BufferedReader reader = new BufferedReader(new FileReader(Types.ALERTFILEPATH)); + String line = reader.readLine(); + AlertList tempAlertList = new AlertList(); + Types.FileHealth fileHealth = checkFileValid(inventory, Types.ALERTFILEPATH, false); + switch (fileHealth) { + case EMPTY: + //fallthrough + case MISSING: + Ui.printEmptyAlertFile(); + return new AlertList(); + case CORRUPT: + Ui.printInvalidAlertFile(); + return new AlertList(); + case OK: + //fallthrough + default: + break; + } + while (line != null) { + line = line.trim(); + String[] fields = line.split(","); + if (fields[ALERT_MINMAX_INDEX].equals("min")) { + tempAlertList.setMinAlertUpcs(fields[ALERT_UPC_INDEX], Integer.parseInt(fields[ALERT_QTY_INDEX])); + } else if (fields[ALERT_MINMAX_INDEX].equals("max")) { + tempAlertList.setMaxAlertUpcs(fields[ALERT_UPC_INDEX], Integer.parseInt(fields[ALERT_QTY_INDEX])); + } + + line = reader.readLine(); + } + for (Map.Entry entry : tempAlertList.getMinAlertUpcs().entrySet()) { + inventory.getAlertList().setMinAlertUpcs(entry.getKey(), entry.getValue()); + } + + for (Map.Entry entry : tempAlertList.getMaxAlertUpcs().entrySet()) { + inventory.getAlertList().setMaxAlertUpcs(entry.getKey(), entry.getValue()); + } + reader.close(); + } catch (IOException ioException) { + Ui.printEmptyAlertFile(); + return new AlertList(); + } + Ui.printRecoveredAlertFile(); + return inventory.getAlertList(); + + } + + /** + * Delegates the logic to check if a given file path is valid. + * + * @param path File path + * @return FileHealth enum that indicates the state of the file (MISSING/CORRUPT/OK) + */ + public static synchronized Types.FileHealth checkFileValid(Inventory inventory, final String path, + boolean isInventoryData) { + if (isInventoryData) { + return checkFileValidSession(path); + } + return checkFileValidAlert(inventory, path); + } + + private static Types.FileHealth checkFileValidAlert(Inventory inventory, String path) { + try { + BufferedReader reader = new BufferedReader(new FileReader(path)); + String line = reader.readLine(); + if (line == null) { + return Types.FileHealth.EMPTY; + } + + while (line != null) { + line = line.trim(); + String[] fields = line.split(","); + if (fields.length != ALERT_FIELDS) { + return Types.FileHealth.CORRUPT; + } + String upc = fields[ALERT_UPC_INDEX]; + if (!inventory.getUpcCodes().containsKey(upc) || !upc.matches("(\\d+)")) { + return Types.FileHealth.CORRUPT; + } + int qty; + try { + qty = Integer.parseInt(fields[ALERT_QTY_INDEX]); + } catch (NumberFormatException e) { + return Types.FileHealth.CORRUPT; + } + if (qty > Types.MAX_QTY || qty < 1){ + return Types.FileHealth.CORRUPT; + } + if (!fields[ALERT_MINMAX_INDEX].equals("min") && !fields[ALERT_MINMAX_INDEX].equals("max")) { + return Types.FileHealth.CORRUPT; + } + line = reader.readLine(); + } + reader.close(); + } catch (IOException ioException) { + return Types.FileHealth.MISSING; + } + return Types.FileHealth.OK; + } + + private static Types.FileHealth checkFileValidSession(String path) { + while (!isStorageWriteDone) { + try { + Thread.sleep(100); + } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); + return Types.FileHealth.CORRUPT; + } + } + try { + BufferedReader reader = new BufferedReader(new FileReader(path)); + String line = reader.readLine(); + if (line == null) { + return Types.FileHealth.EMPTY; + } + while (line != null) { + String[] fields = line.trim().split(","); + if (fields.length != MAX_NUMBER_OF_FIELDS) { + return Types.FileHealth.CORRUPT; + } + if(!fields[UPC_INDEX].matches("(\\d+)")){ + return Types.FileHealth.CORRUPT; + } + int qty; + double price; + try { + LocalDateTime.parse(fields[DATE_INDEX]); + qty = Integer.parseInt(fields[QUANTITY_INDEX]); + price = Double.parseDouble(fields[PRICE_INDEX]); + } catch (DateTimeParseException | NumberFormatException e) { + return Types.FileHealth.CORRUPT; + } + if (qty < 0 || price < 0) { + return Types.FileHealth.CORRUPT; + } + if(qty > Types.MAX_QTY || price > Types.MAX_QTY){ + return Types.FileHealth.CORRUPT; + } + line = reader.readLine(); + } + reader.close(); + } catch (IOException ioException) { + return Types.FileHealth.MISSING; + } catch (NumberFormatException numberFormatException) { + return Types.FileHealth.CORRUPT; + } + + return Types.FileHealth.OK; + } + + /** + * Checks if the data inside an inventory data .csv file is valid. + * + * @return String that will be printed which indicates the state of the file (MISSING/CORRUPT/OK/UNKNOWN) + */ + public static synchronized String checkDataFileExist(Inventory inventory, boolean isInventoryData) { + Types.FileHealth fileHealth; + if (isInventoryData) { + fileHealth = checkFileValid(inventory, Types.SESSIONFILEPATH, true); + } else { + fileHealth = checkFileValid(inventory, Types.ALERTFILEPATH, false); + } + switch (fileHealth) { + case OK: + return "VALID"; + case CORRUPT: + return "CORRUPTED (Please delete the file or fix it manually)"; + case MISSING: + return "MISSING (Will be created if AutoSave is TRUE)"; + case EMPTY: + return "EMPTY"; + default: + return "UNKNOWN"; + } + } + +} diff --git a/src/main/java/seedu/duke/utils/Ui.java b/src/main/java/seedu/duke/utils/Ui.java new file mode 100644 index 0000000000..fe39908ea1 --- /dev/null +++ b/src/main/java/seedu/duke/utils/Ui.java @@ -0,0 +1,1399 @@ +package seedu.duke.utils; + +import seedu.duke.commands.CategoryCommand; +import seedu.duke.exceptions.EditErrorException; +import seedu.duke.objects.AlertList; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.types.Types; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Objects; + + +public class Ui { + private static final String LINE = "__________________________________________________________________________"; + private static final String DASHBOARDLOGO = "\n" + + "██████╗░░█████╗░░██████╗██╗░░██╗██████╗░░█████╗░░█████╗░██████╗░██████╗░\n" + + "██╔══██╗██╔══██╗██╔════╝██║░░██║██╔══██╗██╔══██╗██╔══██╗██╔══██╗██╔══██╗\n" + + "██║░░██║███████║╚█████╗░███████║██████╦╝██║░░██║███████║██████╔╝██║░░██║\n" + + "██║░░██║██╔══██║░╚═══██╗██╔══██║██╔══██╗██║░░██║██╔══██║██╔══██╗██║░░██║\n" + + "██████╔╝██║░░██║██████╔╝██║░░██║██████╦╝╚█████╔╝██║░░██║██║░░██║██████╔╝\n" + + "╚═════╝░╚═╝░░╚═╝╚═════╝░╚═╝░░╚═╝╚═════╝░░╚════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░"; + private static final String LOGO = "\n" + + "███╗░░░███╗░█████╗░░██████╗░██╗░░░██╗░██████╗░██████╗████████╗░█████╗░░█████╗░██╗░░██╗\n" + + "████╗░████║██╔══██╗██╔════╝░██║░░░██║██╔════╝██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██║░██╔╝\n" + + "██╔████╔██║███████║██║░░██╗░██║░░░██║╚█████╗░╚█████╗░░░░██║░░░██║░░██║██║░░╚═╝█████═╝░\n" + + "██║╚██╔╝██║██╔══██║██║░░╚██╗██║░░░██║░╚═══██╗░╚═══██╗░░░██║░░░██║░░██║██║░░██╗██╔═██╗░\n" + + "██║░╚═╝░██║██║░░██║╚██████╔╝╚██████╔╝██████╔╝██████╔╝░░░██║░░░╚█████╔╝╚█████╔╝██║░╚██╗\n" + + "╚═╝░░░░░╚═╝╚═╝░░╚═╝░╚═════╝░░╚═════╝░╚═════╝░╚═════╝░░░░╚═╝░░░░╚════╝░░╚════╝░╚═╝░░╚═╝"; + + private static final String INVENTORYLOGO = "\n" + + "██╗███╗░░██╗██╗░░░██╗███████╗███╗░░██╗████████╗░█████╗░██████╗░██╗░░░██╗\n" + + "██║████╗░██║██║░░░██║██╔════╝████╗░██║╚══██╔══╝██╔══██╗██╔══██╗╚██╗░██╔╝\n" + + "██║██╔██╗██║╚██╗░██╔╝█████╗░░██╔██╗██║░░░██║░░░██║░░██║██████╔╝░╚████╔╝░\n" + + "██║██║╚████║░╚████╔╝░██╔══╝░░██║╚████║░░░██║░░░██║░░██║██╔══██╗░░╚██╔╝░░\n" + + "██║██║░╚███║░░╚██╔╝░░███████╗██║░╚███║░░░██║░░░╚█████╔╝██║░░██║░░░██║░░░\n" + + "╚═╝╚═╝░░╚══╝░░░╚═╝░░░╚══════╝╚═╝░░╚══╝░░░╚═╝░░░░╚════╝░╚═╝░░╚═╝░░░╚═╝░░░"; + + private static final String GREET_MESSAGE = "Welcome to MagusStock. How may I assist you today?"; + private static final String EXIT_MESSAGE = "Hope you had an enjoyable experience. See you next time!"; + private static final String UNKNOWN_COMMAND = "I don't understand that command, please refer to the user guide " + + "or enter 'help' for all available commands"; + private static final String INVALID_ADD = "Wrong/Incomplete Entry For Add! Please refer to UG for more " + + "information\nSample Format: \"add n/[name] upc/[UPC] qty/[quantity] p/[price] c/[category]\""; + + private static final String INVALID_AUTO_SAVE_INPUT = "Invalid input! Please enter either 'on' or 'off' to " + + "enable/disable auto-save"; + private static final String AUTOSAVE_ON = "Auto-save has been enabled!"; + private static final String AUTOSAVE_OFF = "Auto-save has been disabled!"; + private static final String DUPLICATE_ADD = "Duplicate UPC found! Please add another item with a different UPC"; + private static final String SUCCESS_ADD = "Successfully added the item(s) into the system!"; + + private static final String INVALID_LIST = "Wrong/Incomplete Format! Please list items in the following format : " + + "\nSample Format: \"list\""; + + private static final String SUCCESS_LIST = "Here are the items in your inventory:"; + + private static final String EMPTY_LIST = "There are no items in your inventory."; + private static final String INVALID_SESSION_FILE = "INFO: A Session Inventory file was found but it is corrupted. " + + "\nPlease delete the corrupt .csv file."; + private static final String RECOVERED_SESSION_FILE = "INFO: Session Inventory Data recovered." + + " The inventory has been updated."; + private static final String EMPTY_SESSION_FILE = "INFO: Empty/No Session Inventory file found."; + + private static final String INVALID_ALERT_FILE = "INFO: A Session Alerts file was found but it is corrupted. " + + "\n" + " Please delete the corrupt .csv file."; + + private static final String EMPTY_ALERT_FILE = "INFO: Empty/No Session Alerts file found."; + + private static final String RECOVERED_ALERT_FILE = "INFO: Session Alert Data recovered." + + " The list of active alerts has been updated."; + + private static final int INVENTORY_ATTRIBUTE_COUNT = 6; + private static final int HELP_ATTRIBUTE_COUNT = 2; + private static final int ALERT_ATTRIBUTE_COUNT = 3; + + private static final int NAME_COL_WIDTH = 15; + private static final int UPC_COL_WIDTH = 12; + private static final int QTY_COL_WIDTH = 8; + + private static final int PRICE_COL_WIDTH = 8; + + private static final int INDEX_COL_WIDTH = 5; + private static final int COMMAND_COL_WIDTH = 25; + private static final int FORMAT_COL_WIDTH = 25; + private static final String QUANTITY_AVAILABLE_LABEL = "Quantity Available: "; + private static final String UPC_CODE_LABEL = "UPC Code: "; + private static final String ITEM_NAME_LABEL = "Item Name: "; + private static final String INVALID_EDIT_FORMAT = "Wrong/Incomplete Entry For Edit! Please refer to UG for more " + + "information.\nSample Format: \"edit upc/[UPC] n/[Name] qty/[Quantity] p/[Price] c/[Category]\""; + private static final String ITEM_NOT_FOUND = "Command failed! Reason: Item not found in database. " + + "Please add item first!"; + private static final String SUCCESS_EDIT = "Successfully edited the following item:"; + private static final String SUCCESS_RESTOCK = "Successfully restocked the following item:"; + private static final String SUCCESS_SELL = "Successfully sold the following item:"; + private static final String ITEM_NOT_EDITED = "Item Specified will not be updated."; + private static final String WRONG_QUANTITY_INPUT = "For Quantity inputs: MUST BE A POSITIVE WHOLE NUMBER/ZERO."; + private static final String WRONG_PRICE_INPUT = "For Price inputs: MUST BE A POSITIVE WHOLE " + + "NUMBER/DECIMAL NUMBER/ZERO."; + private static final String INVALID_RESTOCK_FORMAT = "Wrong/Incomplete Entry For Restock! Please refer to UG for " + + "more information\nSample Format: \"restock upc/[UPC] qty/[Quantity]\""; + private static final String INVALID_ADD_QUANTITY_FORMAT = "Unable to restock item. REASON: Quantity inputs" + + " SHOULD NOT contain NEGATIVE integers, ZERO(0), or STRING inputs!" + "\n" + + "Also ensure that the desired quantity to be added does not cause current stock levels to exceed MAX" + + "\n" + "quantity limit of 99,999,999."; + private static final String INVALID_DEDUCT_QUANTITY_FORMAT = "Unable to sell item. REASON: Quantity inputs" + + " SHOULD NOT contain NEGATIVE integers, DECIMALS, ZERO(0), or STRING inputs!" + "\n" + + "Also ensure that the desired" + " quantity to be deducted is LESS THAN current stock levels."; + private static final String INVALID_SELL_FORMAT = "Wrong/Incomplete Entry For Sell! Please refer to UG for more" + + " information.\nSample Format: \"sell upc/[UPC] qty/[Quantity]\""; + private static final String NO_SEARCH_RESULTS = "Unfortunately, no search results could be found. Try again?"; + private static final String MISSING_PRICE = "Please enter a number for the price!"; + private static final String ITEM_ADDED_AT = "Item added at: "; + private static final String AT = "At: "; + private static final String CATEGORY_CHANGED_TO = "Category changed to: "; + private static final String SOLD = "Sold "; + private static final String ITEMS = " items"; + private static final String BOUGHT = "Bought "; + private static final String RENAMED_TO = "Renamed to: "; + private static final String PRICE_DECREASED_FROM = "Price decreased from $"; + private static final String PRICE_INCREASED_FROM = "Price increased from $"; + private static final String TO_DOLLAR_SIGN = " to $"; + + private static final String NAME_HEADING = "Name"; + private static final String UPC_HEADING = "UPC"; + private static final String QTY_HEADING = "Quantity"; + private static final String PRICE_HEADING = "Price"; + + private static final String CATEGORY_HEADING = "Category"; + private static final String INDEX_HEADING = "Index"; + private static final String COMMAND_HEADING = "Command"; + private static final String FORMAT_HEADING = "Command Format"; + + private static final String TABLE_CORNER = "+"; + private static final String TABLE_ROW = "-"; + private static final String TABLE_LEFT = "| "; + private static final String TABLE_RIGHT = " |"; + private static final String TABLE_MIDDLE = " | "; + + private static final String DOLLAR_SIGN = "$"; + private static final String SUCCESS_REMOVE = "Successfully removed the following item: "; + private static final String INVALID_INDEX = "This index is invalid.\nPlease enter number "; + + private static final String INVALID_ALERT_KEYWORD = "Keyword after alert can only be \"add\", \"remove\" "; + + private static final String INVALID_ALERT_PARAMETER = "Wrong/Incomplete Format! Please refer to the user guide" + + " for the correct alert parameters." + "\nSample Format: \n To add alert: " + + "\"alert add upc/[UPC] min/[integer]\"" + + " OR " + + "\"alert add upc/[UPC] max/[integer]\"" + + "\n To remove alert: " + + "\"alert remove upc/[UPC] level/min\"" + + " OR " + + "\"alert remove upc/[UPC] level/max\""; + private static final String INVALID_ADD_ALERT = + "Wrong/Incomplete Entry For Add Alert! Please refer to UG for more information \nSample Format:\n" + + "\"alert add upc/[UPC] min/[integer]\"" + + " OR\n" + + "\"alert add upc/[UPC] max/[integer]\""; + + private static final String EXISTING_MIN_ALERT = "This item already has a minimum alert. " + + "Delete the existing one first."; + + private static final String EXISTING_MAX_ALERT = "This item already has a maximum alert. " + + "Delete the existing one first."; + + private static final String INVALID_MIN_ALERT = "Minimum value to set an alert must be less than existing " + "" + + "maximum alert value of this item."; + + private static final String INVALID_MAX_ALERT = "Maximum value to set an alert must be more than existing " + "" + + "minimum alert value of this item."; + + private static final String SUCCESS_ADD_ALERT = "Successfully added a new alert."; + + private static final String INVALID_REMOVE_ALERT = + "Wrong/Incomplete Entry For Remove Alert! Please refer to UG for more information\nSample Format:\n" + + "\"alert remove upc/[UPC] level/min\"" + + " OR\n" + + "\"alert remove upc/[UPC] level/max\""; + private static final String SUCCESS_REMOVE_ALERT = "Successfully removed the alert."; + + private static final String NONEXISTENT_REMOVE_ALERT = "The alert that you are attempting to remove " + + "does not exist."; + private static final String INVALID_ALERT_TYPE = "Alert is not a valid type (min/max)"; + private static final int CATEGORY_COL_WIDTH = 15; + private static final int ITEMS_COL_WIDTH = 45; + private static final String NO_CATEGORY_LIST = "Category list is empty. There are no items in the inventory."; + private static final String INVALID_CATEGORY_FIND = "The category you are looking for does not exist."; + private static final String INVALID_CATEGORY = "The category does not exist."; + private static final String NEW_CATEGORY_ADDED = "A new category has been added."; + private static final String NO_CHANGES_WERE_RECORDED = "An edit attempt was made, but no changes were recorded."; + private static final int ORIGINAL_ITEM_INDEX = 0; + private static final String INVALID_UPC = "This UPC is invalid. Try again."; + private static final String CATEGORY_LISTING = "Here is the list of categories you have: "; + private static final String RARE_RACE_CONDITION_OCCURRED = "A rare race condition occurred. " + + "Please try restarting the program"; + private static final String CHECK_OTHER_PROGRAMS = "If this happens often, check that other programs" + + " are not interfering with this one"; + private static final String YOUR_ITEM = "Here is your item: "; + private static final String STOCK_HEADING = "Stock"; + + + /** + * Prints out line separator. + */ + public static void printLine() { + System.out.println(LINE); + } + + /** + * Prints out a warning message that the price entered is not a number. + */ + public static void printDoubleNeeded() { + System.out.println(MISSING_PRICE); + } + + /** + * Prints out a message informing that no search results can be found. + */ + public static void printEmptySearch() { + printLine(); + System.out.println(NO_SEARCH_RESULTS); + printLine(); + } + + /** + * Prints out item that was searched for using UPC. + * @param item The item that was searched for using UPC. + */ + public static void printSearchUPCItem(Item item) { + printLine(); + System.out.println(YOUR_ITEM); + ArrayList singleItem = new ArrayList<>(); + singleItem.add(item); + System.out.println(printTable(singleItem)); + printLine(); + } + + /** + * Prints out table of items that was filtered or searched for. + * @param items List of items to be filtered or searched. + */ + public static void printSearchItems(ArrayList items) { + printLine(); + System.out.println(printTable(items)); + printLine(); + } + + /** + * Prints out exit message when the user exits the program. + */ + public static void printExitMessage() { + printLine(); + System.out.println(EXIT_MESSAGE); + printLine(); + } + + /** + * Prints out MagusStock logo and greeting message. + */ + public static void greetUser() { + printLine(); + System.out.println(LOGO); + System.out.println(GREET_MESSAGE); + printLine(); + } + + /** + * Prints out a message informing that the session inventory file is corrupted. + */ + public static void printInvalidSessionFile() { + System.out.println(INVALID_SESSION_FILE); + printLine(); + } + + /** + * Prints out a message informing that the session inventory file has been recovered. + */ + public static void printRecoveredSessionFile() { + System.out.println(RECOVERED_SESSION_FILE); + printLine(); + } + + /** + * Prints out a message informing that the session inventory file is empty. + */ + public static void printEmptySessionFile() { + System.out.println(EMPTY_SESSION_FILE); + printLine(); + } + + /** + * Prints out a warning message to inform the user that the AlertData.csv file is corrupted. + */ + public static void printInvalidAlertFile() { + System.out.println(INVALID_ALERT_FILE); + printLine(); + } + + /** + * Prints out a message that the AlertData.csv file is empty or does not exist. + */ + public static void printEmptyAlertFile() { + System.out.println(EMPTY_ALERT_FILE); + printLine(); + } + + /** + * Prints out a warning message that the AlertData.csv file has been recovered. + */ + public static void printRecoveredAlertFile() { + System.out.println(RECOVERED_ALERT_FILE); + printLine(); + } + + /** + * Prints out a warning message that the command is not understood. + */ + public static void printUnknownCommand() { + printLine(); + System.out.println(UNKNOWN_COMMAND); + printLine(); + } + + /** + * Prints out a warning message that the format of the add command is invalid. + */ + public static void printInvalidAddCommand() { + printLine(); + System.out.println(INVALID_ADD); + printLine(); + } + + /** + * Prints out a warning message that the format of the autosave commmand is invalid. + */ + public static void printInvalidAutoSaveInput() { + printLine(); + System.out.println(INVALID_AUTO_SAVE_INPUT); + printLine(); + } + + /** + * Prints out a message informing the user that autosave has been enabled. + */ + public static void printAutoSaveEnabled() { + printLine(); + System.out.println(AUTOSAVE_ON); + printLine(); + } + + /** + * Prints out a message informing the user that autosave has been disabled. + */ + public static void printAutoSaveDisabled() { + printLine(); + System.out.println(AUTOSAVE_OFF); + printLine(); + } + + /** + * Prints out a message informing the user that an item with a duplicate UPC is being added. + */ + public static void printDuplicateAdd() { + printLine(); + System.out.println(DUPLICATE_ADD); + printLine(); + } + + /** + * Prints out a message informing the user that item has been successfully added. + */ + public static void printSuccessAdd() { + printLine(); + System.out.println(SUCCESS_ADD); + printLine(); + } + + /** + * Prints out a warning message when race condition occurs. + */ + public static void printRaceCondition() { + printLine(); + System.out.println(RARE_RACE_CONDITION_OCCURRED); + System.out.println(CHECK_OTHER_PROGRAMS); + printLine(); + } + + /** + * Prints out logo indicating the inventory, and that the list of inventory items has been successfully printed. + */ + public static void printSuccessList() { + printLine(); + System.out.println(INVENTORYLOGO); + System.out.println(SUCCESS_LIST); + } + + /** + * Prints out message that there are no items in the inventory. + */ + public static void printEmptyList() { + printLine(); + System.out.println(EMPTY_LIST); + printLine(); + } + + /** + * Prints out message that the command format for listing out inventory items is incorrect. + */ + public static void printInvalidList() { + printLine(); + System.out.println(INVALID_LIST); + printLine(); + } + + /** + * Creates a string containing a table of all categories in the inventory and their associated items. + * @param categoryHash Hash map of categories and their associated items. + * @return String containing the table of categories and their associated items. + */ + public static String printTable(HashMap> categoryHash) { + int[] columnWidths = {CATEGORY_COL_WIDTH, ITEMS_COL_WIDTH}; + + StringBuilder table = new StringBuilder(); + + table.append(printTableSeparator(columnWidths)); + table.append(printHeadings(columnWidths)); + table.append(printTableSeparator(columnWidths)); + categoryHash.forEach((category, items) + -> table.append((printRow(CategoryCommand.capitaliseCategory(category), items, columnWidths)))); + return table.toString(); + } + + /** + * Creates a string containing a table of all commands in the program and the format for executing the commands. + * @return String containing a table of all commands and their format. + */ + public static String printTable() { + HashMap commandsHashMap = new HashMap<>(); + CommandFormat commandFormat = new CommandFormat(commandsHashMap); + commandsHashMap = commandFormat.getCommandsHashMap(commandsHashMap); + int[] columnWidths = {COMMAND_COL_WIDTH, FORMAT_COL_WIDTH}; + + StringBuilder table = new StringBuilder(); + + table.append(printTableSeparator(columnWidths)); + table.append(printHeadings(columnWidths)); + table.append(printTableSeparator(columnWidths)); + commandsHashMap.forEach((format, description) + -> table.append((printRow(description, format, columnWidths)))); + return table.toString(); + } + + + /** + * Creates a string containing a table of all items in the inventory, including the index, name, UPC, quantity, + * price and category of each item. + * + * @param items The ArrayList containing all items in the inventory. + * @return String containing the table of inventory items and their associated details. + */ + public static String printTable(ArrayList items) { + int[] columnWidths = {INDEX_COL_WIDTH, NAME_COL_WIDTH, UPC_COL_WIDTH, QTY_COL_WIDTH, + PRICE_COL_WIDTH, CATEGORY_COL_WIDTH}; + + StringBuilder table = new StringBuilder(); + + table.append(printTableSeparator(columnWidths)); + table.append(printHeadings(columnWidths)); + table.append(printTableSeparator(columnWidths)); + + for (Item item : items) { + String name = item.getName(); + String upc = item.getUpc(); + String qty = Integer.toString(item.getQuantity()); + String price = String.format("%.2f", item.getPrice()); + String category = item.getCategory(); + String index = Integer.toString(items.indexOf(item)); + + table.append(printRow(name, upc, qty, price, category, index, columnWidths)); + } + return table.toString(); + } + + /** + * Creates a string containing a table of alerts, including the name and UPC of the item that the alert is set for, + * as well as the quantity at which the alert is triggered. + * + * @param upcMap The hash map containing the UPC and quantity of the alerts to be printed. + * @param inventory The inventory of items that contains the names of items. + * @return String containing the table of alert UPCs, names and quantities. + */ + public static String printTable(HashMap upcMap, Inventory inventory) { + + int[] columnWidths = {NAME_COL_WIDTH, UPC_COL_WIDTH, QTY_COL_WIDTH}; + StringBuilder table = new StringBuilder(); + table.append(printTableSeparator(columnWidths)); + table.append(printHeadings(columnWidths)); + table.append(printTableSeparator(columnWidths)); + + HashMap inventoryMap = inventory.getUpcCodes(); + + upcMap.forEach((key, value) + -> table.append(printRow(inventoryMap.get(key).getName(), key, value.toString(), columnWidths))); + + return table.toString(); + + } + + /** + * Prints out the headings for a table. + * + * @param columnWidths The array of integers that stores the width of each column in the table. + * @return String containing the headings for a table. + */ + private static String printHeadings(int[] columnWidths) { + String[] headings = {}; + if (columnWidths.length == INVENTORY_ATTRIBUTE_COUNT) { + headings = new String[] {INDEX_HEADING, NAME_HEADING, UPC_HEADING, QTY_HEADING, PRICE_HEADING, + CATEGORY_HEADING}; + } else if (columnWidths.length == HELP_ATTRIBUTE_COUNT && columnWidths[0] == COMMAND_COL_WIDTH) { + headings = new String[] {COMMAND_HEADING, FORMAT_HEADING}; + } else if (columnWidths.length == ALERT_ATTRIBUTE_COUNT) { + headings = new String[] {NAME_HEADING, UPC_HEADING, STOCK_HEADING}; + } else if (columnWidths.length == HELP_ATTRIBUTE_COUNT && columnWidths[0] == CATEGORY_COL_WIDTH) { + headings = new String[] {CATEGORY_HEADING, NAME_HEADING + ": " + UPC_HEADING}; + } + StringBuilder allHeadings = new StringBuilder(); + + for (int i = 0; i < headings.length; i += 1) { + String heading = headings[i]; + int width = columnWidths[i]; + String formattedHeading = String.format(TABLE_LEFT + "%-" + width + "s ", heading); + allHeadings.append(formattedHeading); + } + + allHeadings.append(TABLE_LEFT.replaceAll(" ", "")); + allHeadings.append(System.lineSeparator()); + + return allHeadings.toString(); + } + + /** + * Prints out a sequence of - and + characters to form the horizontal row separators of a table. + * + * @param columnWidths The array of integers that stores the width of each column in the table. + * @return String containing one horizontal row separator for a table. + */ + private static String printTableSeparator(int[] columnWidths) { + StringBuilder tableSeparator = new StringBuilder(); + + for (int columnWidth : columnWidths) { + tableSeparator.append(TABLE_CORNER); + tableSeparator.append(TABLE_ROW.repeat(columnWidth + 2)); + } + + tableSeparator.append(TABLE_CORNER); + tableSeparator.append(System.lineSeparator()); + return tableSeparator.toString(); + } + + /** + * Prints out one row of a table when listing all possible commands. + * @param description The description of the command to be printed in the row. + * @param format The format of the command to be printed in the row. + * @param columnWidths The array of integers that stores the width of each column in the table. + * @return String containing one row of the table. + */ + private static String printRow(String description, String format, int[] columnWidths) { + String[] descriptionLines = wrapText(description, COMMAND_COL_WIDTH); + String[] formatLines = wrapText(format, FORMAT_COL_WIDTH); + StringBuilder row = new StringBuilder(); + + int rowHeight = findRowHeight(descriptionLines, formatLines); + + for (int i = 0; i < rowHeight; i += 1) { + row.append(TABLE_LEFT); + row.append(printAttribute(descriptionLines, COMMAND_COL_WIDTH, i)); + row.append(TABLE_MIDDLE); + row.append(printAttribute(formatLines, FORMAT_COL_WIDTH, i)); + row.append(TABLE_RIGHT); + row.append(System.lineSeparator()); + + if (i == rowHeight - 1) { + row.append(printTableSeparator(columnWidths)); + } + } + return row.toString(); + } + + /** + * Prints out one row of a table when listing all items sorted by their category. + * @param category The category to be printed in the row. + * @param items The list of items belonging to the category to be printed in the row. + * @param columnWidths The array of integers that stores the width of each column in the table. + * @return String containing one row of the table. + */ + private static String printRow(String category, ArrayList items, int[] columnWidths) { + String[] categoryLines = wrapText(category, CATEGORY_COL_WIDTH); + ArrayList itemLines = new ArrayList<>(); + StringBuilder row = new StringBuilder(); + + for (Item item : items) { + String name = item.getName(); + String upc = item.getUpc(); + name = name.replaceAll(" ", "_"); + itemLines.add(name + ":_" + upc); + } + String[] itemListLines = wrapText(itemLines.toString(), ITEMS_COL_WIDTH); + int rowHeight = findRowHeight(categoryLines, itemListLines); + + for (int i = 0; i < rowHeight; i += 1) { + row.append(TABLE_LEFT); + row.append(printAttribute(categoryLines, CATEGORY_COL_WIDTH, i)); + row.append(TABLE_MIDDLE); + row.append(printAttribute(itemListLines, ITEMS_COL_WIDTH, i)); + row.append(TABLE_RIGHT); + row.append(System.lineSeparator()); + + if (i == rowHeight - 1) { + row.append(printTableSeparator(columnWidths)); + } + } + return row.toString(); + } + + /** + * Prints out one row of a table when listing out all the items in the inventory. + * + * @param name The name of the item to be printed. + * @param upc The UPC of the item to be printed. + * @param qty The quantity of the item to be printed. + * @param price The price of the item to be printed. + * @param category The category of the item to be printed. + * @param index The index of the item to be printed. + * @param columnWidths The array of integers that stores the width of each column in the table. + * @return String containing one row of the table. + */ + private static String printRow(String name, String upc, String qty, String price, String category, String index, + int[] columnWidths) { + String[] nameLines = wrapText(name, NAME_COL_WIDTH); + String[] upcLines = wrapText(upc, UPC_COL_WIDTH); + String[] qtyLines = wrapText(qty, QTY_COL_WIDTH); + String[] catLines = wrapText(category, CATEGORY_COL_WIDTH); + String[] priceLines = wrapText(DOLLAR_SIGN + price, PRICE_COL_WIDTH); + String[] indexLines = wrapText(index, INDEX_COL_WIDTH); + StringBuilder row = new StringBuilder(); + + int rowHeight = findRowHeight(nameLines, upcLines, qtyLines, priceLines, catLines, indexLines); + + for (int i = 0; i < rowHeight; i += 1) { + row.append(TABLE_LEFT); + row.append(printAttribute(indexLines, INDEX_COL_WIDTH, i)); + row.append(TABLE_MIDDLE); + row.append(printAttribute(nameLines, NAME_COL_WIDTH, i)); + row.append(TABLE_MIDDLE); + row.append(printAttribute(upcLines, UPC_COL_WIDTH, i)); + row.append(TABLE_MIDDLE); + row.append(printAttribute(qtyLines, QTY_COL_WIDTH, i)); + row.append(TABLE_MIDDLE); + row.append(printAttribute(priceLines, PRICE_COL_WIDTH, i)); + row.append(TABLE_MIDDLE); + row.append(printAttribute(catLines, CATEGORY_COL_WIDTH, i)); + row.append(TABLE_RIGHT); + row.append(System.lineSeparator()); + + if (i == rowHeight - 1) { + row.append(printTableSeparator(columnWidths)); + } + } + return row.toString(); + } + + /** + * Prints out one row of a table when listing all alerts. + * + * @param name The name of the item that has an alert. + * @param upc The UPC of the item that has an alert. + * @param stock The minimum or maximum quantity of an item that is specified by the alert. + * @param columnWidths The array of integers that stores the width of each column in the table. + * @return String containing one row of the table. + */ + private static String printRow(String name, String upc, String stock, int[] columnWidths) { + String[] upcLines = wrapText(upc, UPC_COL_WIDTH); + String[] stockLines = wrapText(stock, QTY_COL_WIDTH); + String[] nameLines = wrapText(name, NAME_COL_WIDTH); + StringBuilder row = new StringBuilder(); + + int rowHeight = findRowHeight(upcLines, stockLines, nameLines); + + for (int i = 0; i < rowHeight; i += 1) { + row.append(TABLE_LEFT); + row.append(printAttribute(nameLines, NAME_COL_WIDTH, i)); + row.append(TABLE_MIDDLE); + row.append(printAttribute(upcLines, UPC_COL_WIDTH, i)); + row.append(TABLE_MIDDLE); + row.append(printAttribute(stockLines, QTY_COL_WIDTH, i)); + row.append(TABLE_RIGHT); + row.append(System.lineSeparator()); + + if (i == rowHeight - 1) { + row.append(printTableSeparator(columnWidths)); + } + } + + return row.toString(); + } + + /** + * Prints out one attribute of the object in concern in a row (e.g. the name of an item). + * + * @param attributeLines The array of strings containing the object attribute to be printed. + * @param columnWidth The width of the column that the attribute is printed in. + * @param rowNumber The number of the current row that the attribute is being printed on. + * @return String containing the substring of the attribute that fits within columnWidth. + */ + private static String printAttribute(String[] attributeLines, int columnWidth, int rowNumber) { + StringBuilder attribute = new StringBuilder(); + + if (rowNumber < attributeLines.length) { + String paddedAttribute = String.format("%1$-" + columnWidth + "s", attributeLines[rowNumber]); + attribute.append(paddedAttribute); + } else { + String paddedSpace = new String(new char[columnWidth]).replace('\0', ' '); + attribute.append(paddedSpace); + } + return attribute.toString(); + } + + + /** + * Splits a string into portions based on the width of the table column that the string will be printed in. + * This allows for printing out a string with text wrapping. + * Adapted from <a href = "https://stackoverflow.com/questions/4055430/java-code-for-wrapping-text-lines-to-a- + * max-line-width&rt;StackOverflow: Java code for wrapping text lines to a max line width</a&rt; + * + * @param input The string to be split. + * @param width The width of the table column. + * @return Array of strings containing the portions of the string. + */ + private static String[] wrapText(String input, int width) { + if (!input.contains("/")) { + if (input.contains("[")) { + input = input.replace("[", ""); + } + if (input.contains("]")) { + input = input.replace("]", ""); + } + } + String[] words = input.split("\\s+"); + ArrayList lines = new ArrayList<>(); + StringBuilder line = new StringBuilder(); + + for (int i = 0; i < words.length; i += 1) { + if (line.length() + words[i].length() <= width) { + line = addWordWithoutWrap(line, words, lines, i, width); + } else if (words[i].length() > width) { + addWordWithWrap(words, lines, i, width); + } else { + lines.add(line.toString()); + line = new StringBuilder(words[i] + " "); + } + } + + if (line.length() > 0) { + lines.add(line.toString()); + } + return lines.toArray(new String[0]); + } + + /** + * Adds a word that does not require wrapping to a StringBuilder object. + * + * @param line The StringBuilder object that contains previously-added words. + * @param words The array of strings containing whitespace-separated words. + * @param lines The ArrayList that existing words in line will be added to if the word to be added results in + * the length of line exceeding the column width. + * @param current The array index indicating the word to be added from the words array. + * @param width The width of the table column that the word will be printed in. + * @return StringBuilder object containing the words to be printed. + */ + private static StringBuilder addWordWithoutWrap(StringBuilder line, String[] words, ArrayList lines, + int current, int width) { + if (words[current].contains("_")) { + words[current] = words[current].replaceAll("_", " "); + } + line.append(words[current]); + + if (words[current].contains(",")) { + int addSpace = width - line.length(); + for (int i = 0; i < addSpace; i++) { + line.append(" "); + } + } + if (line.length() < width) { + line.append(" "); + } + + if (current + 1 != words.length && line.length() + words[current + 1].length() > width) { + lines.add(line.toString()); + line = new StringBuilder(); + } + return line; + } + + /** + * Adds a word that requires wrapping to the next row to an ArrayList. + * + * @param words The array of strings containing whitespace-separated words. + * @param lines The ArrayList that the wrapped word will be added to. + * @param current The array index indicating the word to be added from the words array. + * @param width The width of the table column that the word will be printed in. + */ + private static void addWordWithWrap(String[] words, ArrayList lines, int current, int width) { + int start = 0; + if (words[current].contains("_")) { + words[current] = words[current].replaceAll("_", " "); + } + while (start < words[current].length()) { + int end = Math.min(start + width, words[current].length()); + lines.add(words[current].substring(start, end)); + start = end; + } + } + + /** + * Finds the height of a row in a table. + * + * @param rowHeights The array of strings containing the row height required for each attribute. + * @return The integer value representing the required height of the row. + */ + private static int findRowHeight(String[]... rowHeights) { + int maxAttributeHeight = 0; + + for (String[] rowHeight : rowHeights) { + if (rowHeight.length > maxAttributeHeight) { + maxAttributeHeight = rowHeight.length; + } + } + return maxAttributeHeight; + } + + /** + * Informs the user that his/her edit command is of the wrong format, by the printing a string to show the correct + * format instead. + */ + public static void printInvalidEditCommand() { + printLine(); + System.out.println(INVALID_EDIT_FORMAT); + printLine(); + } + + /** + * Prints a string to inform the user that the item with the specified UPC code cannot be found inside the database. + */ + public static void printItemNotFound() { + printLine(); + System.out.println(ITEM_NOT_FOUND); + printLine(); + } + + /** + * Calls a method to prints the updated version of the item in question, or else calls a method to print a string + * to inform the user that the item in question is not updated due to an error in his or her inputs. + * + * @param oldItem The item containing the old attributes. + * @param updatedItem The same item but with new attributes as defined by the user. + * @throws EditErrorException The exception used to handle all errors related to the "Edit" command. + */ + public static void printEditDetails(Item oldItem, Item updatedItem) throws EditErrorException { + try { + if (!updatedItem.isUpdatedFrom(oldItem)) { + throw new EditErrorException(); + } + printUpdatedItemDetails(oldItem, updatedItem); + if (!Objects.equals(oldItem.getUpc(), updatedItem.getUpc())) { + throw new AssertionError("Both items should be of same UPC Code."); + } + } catch (EditErrorException eee) { + printItemNotUpdatedError(); + } + } + + + /** + * Prints the updated attributes of the item as specified by the user. Shows both the previous attributes + * and the updated attributes of the item. + * + * @param oldItem The item containing the old attributes. + * @param updatedItem The same item but with new attributes as defined by the user. + */ + private static void printUpdatedItemDetails(Item oldItem, Item updatedItem) { + printLine(); + System.out.println(SUCCESS_EDIT + "\n"); + System.out.println("Before Update: "); + System.out.println(oldItem.toString()); + System.out.println("\n" + "After Update: "); + System.out.println(updatedItem.toString()); + printLine(); + } + + /** + * Prints the updated quantity of an item specified by the user. Shows both the previous quantity + * and the updated quantity of the item after restocking. + * + * @param oldItem The item containing the old attributes. + * @param updatedItem The same item but with new attributes as defined by the user. + */ + public static void printRestockDetails(Item oldItem, Item updatedItem) { + printLine(); + System.out.println(SUCCESS_RESTOCK + "\n"); + System.out.println("Before Restocking: "); + System.out.println(ITEM_NAME_LABEL + oldItem.getName() + "\n" + UPC_CODE_LABEL + oldItem.getUpc() + "\n" + + QUANTITY_AVAILABLE_LABEL + oldItem.getQuantity()); + System.out.println("\n" + "After Restocking: "); + System.out.println(ITEM_NAME_LABEL + updatedItem.getName() + "\n" + UPC_CODE_LABEL + updatedItem.getUpc() + + "\n" + QUANTITY_AVAILABLE_LABEL + updatedItem.getQuantity()); + printLine(); + } + + /** + * Prints the updated quantity of an item specified by the user. Shows both the previous quantity + * and the updated quantity of the item after selling, as well as the price its sold at. + * + * @param oldItem The item containing the old attributes. + * @param updatedItem The same item but with new attributes as defined by the user. + */ + public static void printSellDetails(Item oldItem, Item updatedItem) { + printLine(); + System.out.println(SUCCESS_SELL + "\n"); + System.out.println("Before Selling: "); + System.out.println(ITEM_NAME_LABEL + oldItem.getName() + "\n" + UPC_CODE_LABEL + oldItem.getUpc() + "\n" + + QUANTITY_AVAILABLE_LABEL + oldItem.getQuantity()); + System.out.println("\n" + "After Selling: "); + System.out.println(ITEM_NAME_LABEL + updatedItem.getName() + "\n" + UPC_CODE_LABEL + updatedItem.getUpc() + + "\n" + QUANTITY_AVAILABLE_LABEL + updatedItem.getQuantity()); + System.out.println("\n" + "Sold " + (oldItem.getQuantity() - updatedItem.getQuantity()) + + " " + updatedItem.getName() + " at a price of $" + updatedItem.getPrice() + + "."); + printLine(); + } + + /** + * Prints an error message to inform the user that the item is not updated. + */ + private static void printItemNotUpdatedError() { + printLine(); + System.out.println(ITEM_NOT_EDITED); + System.out.println("REASON: Item's name/price/quantity is the same as user's input."); + printLine(); + } + + /** + * Prints an error message to inform the user that item is not updated due to wrong quantity/price input type. + */ + public static void printInvalidPriceOrQuantityEditInput() { + printLine(); + System.out.println(ITEM_NOT_EDITED); + System.out.println("REASON:"); + System.out.println(WRONG_QUANTITY_INPUT); + System.out.println(WRONG_PRICE_INPUT); + printLine(); + } + + /** + * Prints an error message to inform the user that the user command for restock is invalid. + */ + public static void printInvalidRestockCommand() { + printLine(); + System.out.println(INVALID_RESTOCK_FORMAT); + printLine(); + + } + + /** + * Prints an error message to inform the user that the "restock" command contains negative values or strings. + */ + public static void printInvalidAddQuantityInput() { + printLine(); + System.out.println(INVALID_ADD_QUANTITY_FORMAT); + printLine(); + } + + /** + * Prints an error message to inform the user that the "sell" command contains negative values or strings. + */ + public static void printInvalidDeductQuantityInput() { + printLine(); + System.out.println(INVALID_DEDUCT_QUANTITY_FORMAT); + printLine(); + } + + /** + * Prints an error message to inform the user that the user command for selling is invalid. + */ + public static void printInvalidSellCommand() { + printLine(); + System.out.println(INVALID_SELL_FORMAT); + printLine(); + } + + /** + * Prints out message to inform the user that item has been successfully removed. + * + * @param itemToRemove The item to be removed. + */ + public static void printSuccessRemove(Item itemToRemove) { + printLine(); + System.out.println(SUCCESS_REMOVE); + System.out.println(itemToRemove.toString()); + printLine(); + } + + /** + * Prints out message to inform user that the index for removing items is invalid. + * @param inventory Inventory containing the item to be removed. + */ + public static void printInvalidIndex(Inventory inventory) { + printLine(); + int listSize = inventory.getItemInventory().size(); + switch (listSize) { + case 0: + System.out.println(EMPTY_LIST); + break; + case 1: + System.out.println(INVALID_INDEX + "0 to remove item successfully."); + break; + default: + System.out.println(INVALID_INDEX + "between 0 to " + (listSize - 1) + + " to remove item successfully."); + break; + } + printLine(); + } + + /** + * Prints out message to inform user that the UPC of the item being removed is invalid. + * @param inventory Inventory containing the item to be removed. + */ + public static void printInvalidUpc(Inventory inventory) { + printLine(); + int listSize = inventory.getItemInventory().size(); + if (listSize == 0) { + System.out.println(EMPTY_LIST); + } else { + System.out.println(INVALID_UPC); + } + printLine(); + } + + /** + * Prints out warning message that a minimum alert already exists. + */ + public static void printExistingMinAlert() { + printLine(); + System.out.println(EXISTING_MIN_ALERT); + printLine(); + } + + /** + * Prints out warning message that a maximum alert already exists. + */ + public static void printExistingMaxAlert() { + printLine(); + System.out.println(EXISTING_MAX_ALERT); + printLine(); + } + + /** + * Prints out warning message that the format for adding an alert is incorrect. + */ + public static void printInvalidAddAlertCommand() { + printLine(); + System.out.println(INVALID_ADD_ALERT); + printLine(); + } + + /** + * Prints out warning message that the format for adding a minimum alert is incorrect. + */ + public static void printInvalidMinAlert() { + printLine(); + System.out.println(INVALID_MIN_ALERT); + printLine(); + } + + /** + * Prints out warning message that the format for adding a maximum alert is incorrect. + */ + public static void printInvalidMaxAlert() { + printLine(); + System.out.println(INVALID_MAX_ALERT); + printLine(); + } + + /** + * Prints out message that an alert was successfully added. + */ + public static void printSuccessAddAlert() { + printLine(); + System.out.println(SUCCESS_ADD_ALERT); + printLine(); + } + + /** + * Prints out warning message that an invalid keyword was specified after the "add" command. + */ + public static void printInvalidAlertKeyword() { + printLine(); + System.out.println(INVALID_ALERT_KEYWORD); + printLine(); + } + + /** + * Prints out warning message that the format for the alert command is incorrect. + */ + public static void printInvalidAlertParameter() { + printLine(); + System.out.println(INVALID_ALERT_PARAMETER); + printLine(); + } + + /** + * Prints out warning message that the format for removing an alert is incorrect. + */ + public static void printInvalidRemoveAlertCommand() { + printLine(); + System.out.println(INVALID_REMOVE_ALERT); + printLine(); + } + + /** + * Prints out message that an alert was successfully removed. + */ + public static void printSuccessRemoveAlertCommand() { + printLine(); + System.out.println(SUCCESS_REMOVE_ALERT); + printLine(); + } + + /** + * Prints out warning message that the alert the user is attempting to remove does not exist. + */ + public static void printNonExistentRemoveAlert() { + printLine(); + System.out.println(NONEXISTENT_REMOVE_ALERT); + printLine(); + } + + /** + * Creates error message that the alert type is invalid (neither minimum nor maximum). + * + * @return String containing the error message to be printed. + */ + public static String printInvalidAlertType() { + StringBuilder sb = new StringBuilder(""); + sb.append(LINE); + sb.append(INVALID_ALERT_TYPE); + sb.append(LINE); + return sb.toString(); + } + + /** + * Creates a string containing all alerts, if any. + * + * @param inventory The inventory of items containing the item names that have alerts associated with them. + * @param alertList The AlertList object containing the two hash maps that store minimum and maximum alerts. + * @return String containing the table to be printed out, or an error message if there are no alerts to print. + */ + private static String printAlerts(Inventory inventory, AlertList alertList) { + + StringBuilder alertTable = new StringBuilder(); + + boolean hasMinAlerts = !alertList.getMinAlertUpcs().isEmpty(); + boolean hasMaxAlerts = !alertList.getMaxAlertUpcs().isEmpty(); + + String minAlertTable = ""; + String maxAlertTable = ""; + + if (hasMinAlerts) { + minAlertTable = Ui.printTable(alertList.getMinAlertUpcs(), inventory); + alertTable.append("Alerts for minimum stock level:" + System.lineSeparator()); + alertTable.append(minAlertTable); + } + + if (hasMaxAlerts) { + if (hasMinAlerts) { + alertTable.append(System.lineSeparator()); + } + maxAlertTable = Ui.printTable(alertList.getMaxAlertUpcs(), inventory); + alertTable.append("Alerts for maximum stock level:" + System.lineSeparator()); + alertTable.append(maxAlertTable); + } + + if (!hasMinAlerts && !hasMaxAlerts) { + alertTable.append("No alerts to print."); + } + + return alertTable.toString(); + } + + /** + * Prints dashboard of information relating to inventory and system configurations. + * + * @param inventory The inventory containing all items. + * @param alertList The AlertList object containing the two hash maps that store minimum and maximum alerts. + */ + public static void printDashboard(Inventory inventory, AlertList alertList) { + Item mostQuantityItem = inventory.getUpcCodes().get(inventory.getItemWithQuantityExtremes(true)); + Item leastQuantityItem = inventory.getUpcCodes().get(inventory.getItemWithQuantityExtremes(false)); + printLine(); + System.out.println(DASHBOARDLOGO); + System.out.println("Overview:"); + printLine(); + System.out.println("Total number of items: " + + inventory.getItemInventory().size()); + System.out.println("Total number of active alerts: " + + alertList.getTotalAlertNumber()); + + System.out.println("Total value of inventory: " + + "$" + inventory.getTotalValue()); + if (!inventory.getItemInventory().isEmpty()) { + System.out.println("Item with most quantity: " + mostQuantityItem.getName() + + " (" + mostQuantityItem.getQuantity() + ") "); + System.out.println("Item with least quantity: " + leastQuantityItem.getName() + + " (" + leastQuantityItem.getQuantity() + ") "); + } + printLine(); + System.out.println("Current Session Configurations:"); + printLine(); + if (SessionManager.getAutoSave()) { + System.out.println("AutoSave Mode: " + "TRUE"); + } else { + System.out.println("AutoSave Mode: " + "FALSE"); + } + System.out.println("Inventory Data File Status: " + SessionManager.inventoryDataFileExist(inventory)); + System.out.println("Alerts Data File Status: " + SessionManager.alertDataFileExist(inventory)); + printLine(); + System.out.println("List of active alerts:"); + + String alertTable = printAlerts(inventory, alertList); + + System.out.println(alertTable); + printLine(); + } + + /** + * Prints out a corresponding string for an item when it is changed. + * + * @param editType The type of edit that was made to the item + * @param oldItem Item before change + * @param newItem Item after change + */ + + private static void printItemChange(Types.EditType editType, Item oldItem, Item newItem) { + switch (editType) { + case RECATEGORIZE: + System.out.println(CATEGORY_CHANGED_TO + newItem.getCategory()); + break; + case SOLD: + System.out.print(SOLD + (oldItem.getQuantity() - newItem.getQuantity())); + System.out.println(ITEMS); + break; + case BOUGHT: + System.out.print(BOUGHT + (newItem.getQuantity() - oldItem.getQuantity())); + System.out.println(ITEMS); + break; + case RENAME: + System.out.println(RENAMED_TO + newItem.getName()); + break; + case PRICE_DECREASE: + System.out.print(PRICE_DECREASED_FROM + oldItem.getPrice()); + System.out.println(TO_DOLLAR_SIGN + newItem.getPrice()); + break; + case PRICE_INCREASE: + System.out.print(PRICE_INCREASED_FROM + oldItem.getPrice()); + System.out.println(TO_DOLLAR_SIGN + newItem.getPrice()); + break; + default: + break; + } + } + + /** + * Prints out the history of an item in chronological order. Also prints out the end result if there were changes. + * + * @param results An ArrayList of instances of the item. + */ + public static void printHistory(ArrayList results) { + printLine(); + System.out.println(ITEM_ADDED_AT + results.get(ORIGINAL_ITEM_INDEX).getDateTimeString()); + System.out.println(results.get(ORIGINAL_ITEM_INDEX).toString()); + printLine(); + int changesMade = 0; + for (int i = 1; i < results.size(); i++) { + ArrayList edits = results.get(i - 1).getEditTypes(results.get(i)); + if (edits.isEmpty()) { + System.out.println(NO_CHANGES_WERE_RECORDED); + continue; + } + changesMade++; + printLine(); + System.out.println(AT + results.get(i).getDateTimeString()); + for (Types.EditType editType : edits) { + printItemChange(editType, results.get(i - 1), results.get(i)); + } + printLine(); + } + if (changesMade > 0) { + printLine(); + System.out.println(results.get(results.size() - 1).toString()); + printLine(); + } + } + + /** + * Prints out a warning message when the quantity of an item goes below its minimum alert level. + * + * @param name Name of the item in concern. + * @param alertLevel The minimum alert level set for the item. + */ + public static void printMinAlertWarning(String name, int alertLevel) { + System.out.println("ALERT: The quantity of " + name + + " is below the minimum level of " + alertLevel + "."); + printLine(); + } + + /** + * Prints out a warning message when the quantity of an item exceeds its maximum alert level. + * + * @param name Name of the item in concern. + * @param alertLevel The maximum alert level set for the item. + */ + public static void printMaxAlertWarning(String name, int alertLevel) { + System.out.println("ALERT: The quantity of " + name + + " is above the maximum level of " + alertLevel + "."); + printLine(); + } + + /** + * Prints out a formatted table of categories. + * @param categoryHash Hash map of categories and their associated items. + */ + public static void printCategory(HashMap> categoryHash) { + printLine(); + System.out.println(printTable(categoryHash)); + printLine(); + } + + /** + * Prints out a formatted list of categories. + * @param categoryHash List of categories. + */ + public static void printCategory(ArrayList categoryHash) { + printLine(); + System.out.println(printTable(categoryHash)); + printLine(); + } + + /** + * Prints out a warning message that there are no categories to be printed. + */ + public static void printNoCategoryList() { + printLine(); + System.out.println(NO_CATEGORY_LIST); + printLine(); + } + + /** + * Prints out error message that the category does not exist. + */ + public static void printInvalidCategory() { + printLine(); + System.out.println(INVALID_CATEGORY_FIND); + printLine(); + } + + /** + * Prints warning message that the category being added is invalid. + */ + public static void printNewCategory() { + printLine(); + System.out.println(INVALID_CATEGORY + " " + NEW_CATEGORY_ADDED); + printLine(); + } + + /** + * Prints out list of all categories. + * @param categoryHash Hash map of categories and their associated items. + */ + public static void printCategoryList(HashMap> categoryHash) { + printLine(); + System.out.println(CATEGORY_LISTING); + categoryHash.forEach((cat, items) -> System.out.println(CategoryCommand.capitaliseCategory(cat))); + printLine(); + } +} + diff --git a/src/main/java/seedu/duke/utils/parsers/AddParser.java b/src/main/java/seedu/duke/utils/parsers/AddParser.java new file mode 100644 index 0000000000..d4ec947261 --- /dev/null +++ b/src/main/java/seedu/duke/utils/parsers/AddParser.java @@ -0,0 +1,59 @@ +package seedu.duke.utils.parsers; + +import seedu.duke.commands.AddCommand; +import seedu.duke.commands.Command; +import seedu.duke.exceptions.MissingParametersException; +import seedu.duke.exceptions.OutOfRangeException; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.types.Types; +import seedu.duke.utils.Ui; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class AddParser extends Parser { + + public AddParser(final String rawInput, final Inventory inventory) { + super(rawInput, inventory); + } + + /** + * Handles the "add" command by parsing the user's input into separate input parameters using regex. + */ + @Override + public void run() { + try { + if (rawInput.length() == EMPTY) { + throw new MissingParametersException(); + } + Matcher matcher = Pattern.compile(ADD_REGEX).matcher(rawInput); + if (!matcher.matches()) { + Ui.printInvalidAddCommand(); + return; + } + String name = matcher.group(NAME_INDEX); + name = name.trim(); + String upc = matcher.group(UPC_INDEX); + upc = upc.trim(); + BigInteger quantity = new BigInteger(matcher.group(QTY_INDEX)); + BigDecimal price = new BigDecimal(matcher.group(PRICE_INDEX)); + String category = matcher.group(CAT_INDEX); + + if (quantity.compareTo(new BigInteger(String.valueOf(Types.MAX_QTY))) > 0 || + price.compareTo(BigDecimal.valueOf(Types.MAX_QTY)) > 0) { + throw new OutOfRangeException(); + } + + Item newItem = new Item(name, upc, quantity.intValue(), price.doubleValue(), category); + Command addCommand = new AddCommand(inventory, newItem); + addCommand.run(); + } catch (MissingParametersException | NumberFormatException e) { + Ui.printInvalidAddCommand(); + } catch (OutOfRangeException e) { + e.printOutOfRange(); + } + } +} diff --git a/src/main/java/seedu/duke/utils/parsers/AlertParser.java b/src/main/java/seedu/duke/utils/parsers/AlertParser.java new file mode 100644 index 0000000000..a4057a5e85 --- /dev/null +++ b/src/main/java/seedu/duke/utils/parsers/AlertParser.java @@ -0,0 +1,110 @@ +package seedu.duke.utils.parsers; + +import seedu.duke.commands.AddAlertCommand; +import seedu.duke.commands.Command; +import seedu.duke.commands.RemoveAlertCommand; +import seedu.duke.exceptions.MissingParametersException; +import seedu.duke.exceptions.OutOfRangeException; +import seedu.duke.objects.Alert; +import seedu.duke.objects.Inventory; +import seedu.duke.types.Types; +import seedu.duke.utils.Ui; + +import java.math.BigInteger; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class AlertParser extends Parser { + + public AlertParser(String rawInput, Inventory inventory) { + super(rawInput, inventory); + } + + /** + * Parses the add alert command and prints an error message if wrong inputs from the user are detected. + * + * @param rawInput The user input. + * @param inventory The inventory to be modified. + */ + private void parseAddAlert(String rawInput, Inventory inventory) { + + Pattern pattern = Pattern.compile(ALERT_ADD_REGEX); + Matcher matcher = pattern.matcher(rawInput); + + try { + if (matcher.matches()) { + + BigInteger stock = new BigInteger(matcher.group(STOCK_INDEX)); + + if (stock.compareTo(new BigInteger(String.valueOf(Types.MAX_QTY))) > 0) { + throw new OutOfRangeException(); + } + + Alert newAlert = new Alert(matcher.group(ALERT_UPC_INDEX), matcher.group(ADD_MINMAX_INDEX), + stock.toString()); + + Command addAlertCommand = new AddAlertCommand(inventory, newAlert); + addAlertCommand.run(); + + } else { + Ui.printInvalidAddAlertCommand(); + } + } catch (OutOfRangeException e) { + e.printOutOfRange(); + } + } + + + /** + * Parses the remove alert command and prints an error message if wrong inputs from the user are detected. + * + * @param rawInput The user input. + * @param inventory The inventory to be modified. + */ + private void parseRemoveAlert(String rawInput, Inventory inventory) { + Pattern pattern = Pattern.compile(ALERT_REMOVE_REGEX); + Matcher matcher = pattern.matcher(rawInput); + + if (matcher.matches()) { + Command removeAlertCommand = new RemoveAlertCommand(inventory, matcher.group(ALERT_UPC_INDEX), + matcher.group(REMOVE_MINMAX_INDEX)); + removeAlertCommand.run(); + } else { + Ui.printInvalidRemoveAlertCommand(); + } + } + + /** + * Processes the "alert" command by delegating it to either add or remove alert parsing functions and prints an + * error message if wrong inputs from the user are detected. + */ + @Override + public void run() { + try { + if (rawInput.length() == EMPTY) { + throw new MissingParametersException(); + } + + Pattern pattern = Pattern.compile(ALERT_REGEX); + Matcher matcher = pattern.matcher(rawInput); + + if (matcher.matches()) { + switch (matcher.group(ALERT_COMMAND_INDEX)) { + case "add": + parseAddAlert(matcher.group(ALERT_DETAILS_INDEX), inventory); + break; + case "remove": + parseRemoveAlert(matcher.group(ALERT_DETAILS_INDEX), inventory); + break; + default: + Ui.printInvalidAlertKeyword(); + } + } else { + Ui.printInvalidAlertParameter(); + } + } catch (MissingParametersException e) { + Ui.printInvalidAlertParameter(); + } + + } +} diff --git a/src/main/java/seedu/duke/utils/parsers/AutoSaveParser.java b/src/main/java/seedu/duke/utils/parsers/AutoSaveParser.java new file mode 100644 index 0000000000..73c39e94f4 --- /dev/null +++ b/src/main/java/seedu/duke/utils/parsers/AutoSaveParser.java @@ -0,0 +1,29 @@ +package seedu.duke.utils.parsers; + +import seedu.duke.objects.Inventory; +import seedu.duke.utils.SessionManager; +import seedu.duke.utils.Ui; + +public class AutoSaveParser extends Parser { + + public AutoSaveParser(String rawInput, Inventory inventory) { + super(rawInput, inventory); + } + + /** + * Processes the "autosave" command and prints an error message if wrong inputs from the user are detected. + */ + public void run() { + if (rawInput.equals("on")) { + SessionManager.setAutoSave(true); + SessionManager.writeSession(inventory); + Ui.printAutoSaveEnabled(); + } else if (rawInput.equals("off")) { + SessionManager.setAutoSave(false); + Ui.printAutoSaveDisabled(); + } else { + Ui.printInvalidAutoSaveInput(); + } + } + +} diff --git a/src/main/java/seedu/duke/utils/parsers/CategoryParser.java b/src/main/java/seedu/duke/utils/parsers/CategoryParser.java new file mode 100644 index 0000000000..136a820964 --- /dev/null +++ b/src/main/java/seedu/duke/utils/parsers/CategoryParser.java @@ -0,0 +1,26 @@ +package seedu.duke.utils.parsers; + +import seedu.duke.commands.CategoryCommand; +import seedu.duke.commands.Command; +import seedu.duke.exceptions.CategoryFormatException; +import seedu.duke.objects.Inventory; + +public class CategoryParser extends Parser { + public CategoryParser(String rawInput, Inventory inventory) { + super(rawInput, inventory); + } + + @Override + public void run() { + try { + if (rawInput.equals("list") || rawInput.equals("table")) { + Command categoryCommand = new CategoryCommand(inventory, rawInput); + categoryCommand.run(); + } else { + throw new CategoryFormatException(); + } + } catch (CategoryFormatException e) { + e.incorrectParameters(); + } + } +} diff --git a/src/main/java/seedu/duke/utils/parsers/EditParser.java b/src/main/java/seedu/duke/utils/parsers/EditParser.java new file mode 100644 index 0000000000..a4401d8ab6 --- /dev/null +++ b/src/main/java/seedu/duke/utils/parsers/EditParser.java @@ -0,0 +1,31 @@ +package seedu.duke.utils.parsers; + +import seedu.duke.commands.Command; +import seedu.duke.commands.EditCommand; +import seedu.duke.exceptions.EditErrorException; +import seedu.duke.objects.Inventory; +import seedu.duke.utils.Ui; + +public class EditParser extends Parser{ + public EditParser(String rawInput, Inventory inventory){ + super(rawInput, inventory); + } + + /** + * Processes the "edit" command and prints an error message if wrong inputs from the user are detected. + */ + @Override + public void run(){ + String[] editInfo = rawInput.split(" "); + try { + if (!editInfo[0].contains("upc/") || editInfo.length == 1) { + throw new EditErrorException(); + } + assert editInfo[0].contains("upc/") : "UPC Code is not present in user command!"; + Command editCommand = new EditCommand(inventory, editInfo); + editCommand.run(); + } catch (EditErrorException eee) { + Ui.printInvalidEditCommand(); + } + } +} diff --git a/src/main/java/seedu/duke/utils/parsers/FilterParser.java b/src/main/java/seedu/duke/utils/parsers/FilterParser.java new file mode 100644 index 0000000000..ba89cc514c --- /dev/null +++ b/src/main/java/seedu/duke/utils/parsers/FilterParser.java @@ -0,0 +1,103 @@ +package seedu.duke.utils.parsers; + +import seedu.duke.commands.Command; +import seedu.duke.commands.FilterCommand; +import seedu.duke.exceptions.SearchFilterErrorException; +import seedu.duke.objects.Inventory; +import seedu.duke.utils.Ui; + + +public class FilterParser extends Parser{ + + protected static final int PRICE_INDEX = 2; + protected static final int PRICE_MODE_INDEX = 1; + protected static final int KEYWORD_START_INDEX = 1; + protected static final int PRICE_LENGTH = 3; + protected static final int CATEGORY_LENGTH = 2; + protected static final int CATEGORY_FLAG = 0; + protected static final int FILTER_MODE_FLAG = 0; + + public FilterParser(String rawInput, Inventory inventory){ + super(rawInput, inventory); + } + + /** + * Handles the "filter f/price" command by checking the validity of search term provided before passing to the + * relevant command. + * + * @param commands filter type and price + * @param inventory inventory to sort the items + */ + protected void parseFilterPrice(String[] commands, Inventory inventory) { + try { + double price = Double.parseDouble(commands[PRICE_INDEX]); + switch (commands[PRICE_MODE_INDEX]) { + case "p/lt": + case "p/gt": + case "p/let": + case "p/get": + Command filterCommand = new FilterCommand(inventory, price, commands[1]); + filterCommand.run(); + break; + default: + throw new SearchFilterErrorException(); + } + } catch (SearchFilterErrorException e) { + e.missingPriceComparator(); + } catch (NumberFormatException numberFormatException) { + Ui.printDoubleNeeded(); + } + } + + /** + * Handles the "filter f/[category]" command by checking the validity of search term provided before + * passing to the relevant command. + * + * @param commands keywords in a string array + * @param mode filter mode + * @param inventory inventory to filter items from + */ + protected void parseFilterCategory(String[] commands, String mode, Inventory inventory) { + StringBuilder sb = new StringBuilder(); + for (int i = KEYWORD_START_INDEX; i < commands.length; i++) { + sb.append(commands[i]); + sb.append(' '); + } + String keyword = sb.toString().trim(); + Command filterCommand = new FilterCommand(inventory, keyword, mode); + filterCommand.run(); + } + + /** + * First checks if there is actual input. + * Next delegates parsing to the correct method. + * + */ + @Override + public void run(){ + try { + if (rawInput.length() == EMPTY) { + throw new SearchFilterErrorException(); + } + String[] commands = rawInput.split(" "); + switch (commands[FILTER_MODE_FLAG]) { + case "f/price": + if (commands.length != PRICE_LENGTH) { + throw new SearchFilterErrorException(); + } + parseFilterPrice(commands, inventory); + break; + case "f/category": + if (commands.length < CATEGORY_LENGTH) { + throw new SearchFilterErrorException(); + } + parseFilterCategory(commands, commands[CATEGORY_FLAG], inventory); + break; + default: + throw new SearchFilterErrorException(); + } + } catch (SearchFilterErrorException e) { + e.incorrectFilterParameters(); + } + } +} diff --git a/src/main/java/seedu/duke/utils/parsers/HelpParser.java b/src/main/java/seedu/duke/utils/parsers/HelpParser.java new file mode 100644 index 0000000000..1946925817 --- /dev/null +++ b/src/main/java/seedu/duke/utils/parsers/HelpParser.java @@ -0,0 +1,14 @@ +package seedu.duke.utils.parsers; + +import seedu.duke.commands.HelpCommand; + +public class HelpParser extends Parser{ + public HelpParser(){ + super(); + } + @Override + public void run(){ + HelpCommand helpCommand = new HelpCommand(); + helpCommand.run(); + } +} diff --git a/src/main/java/seedu/duke/utils/parsers/HistoryParser.java b/src/main/java/seedu/duke/utils/parsers/HistoryParser.java new file mode 100644 index 0000000000..43e814d896 --- /dev/null +++ b/src/main/java/seedu/duke/utils/parsers/HistoryParser.java @@ -0,0 +1,41 @@ +package seedu.duke.utils.parsers; + +import seedu.duke.commands.HistoryCommand; +import seedu.duke.exceptions.HistoryErrorException; +import seedu.duke.objects.Inventory; + +public class HistoryParser extends Parser{ + + protected static final int HISTORY_COMMAND_LENGTH = 1; + + public HistoryParser(String rawInput, Inventory inventory){ + super(rawInput, inventory); + } + + /** + * Trims the input and then runs the history parser. + */ + @Override + public void run() { + rawInput = rawInput.trim(); + parseHistory(); + } + + /** + * Handles the "history" command by checking the validity of search term provided before passing to + * the relevant command. + * + */ + private void parseHistory() { + try{ + if(rawInput.split(" ").length!= HISTORY_COMMAND_LENGTH || rawInput.length() < HISTORY_COMMAND_LENGTH){ + throw new HistoryErrorException(); + } + }catch(HistoryErrorException e){ + e.incorrectParameters(); + return; + } + HistoryCommand historyCommand = new HistoryCommand(inventory, rawInput); + historyCommand.run(); + } +} diff --git a/src/main/java/seedu/duke/utils/parsers/ListParser.java b/src/main/java/seedu/duke/utils/parsers/ListParser.java new file mode 100644 index 0000000000..058d275d0d --- /dev/null +++ b/src/main/java/seedu/duke/utils/parsers/ListParser.java @@ -0,0 +1,26 @@ +package seedu.duke.utils.parsers; + +import seedu.duke.commands.Command; +import seedu.duke.commands.ListCommand; +import seedu.duke.objects.Inventory; +import seedu.duke.utils.Ui; + +public class ListParser extends Parser{ + public ListParser(String rawInput, Inventory inventory){ + super(rawInput, inventory); + } + + + /** + * Parses the "list" command and prints an error message if the command format is invalid. + */ + @Override + public void run(){ + if (rawInput.isEmpty()) { + Command listCommand = new ListCommand(inventory); + listCommand.run(); + } else { + Ui.printInvalidList(); + } + } +} diff --git a/src/main/java/seedu/duke/utils/parsers/Parser.java b/src/main/java/seedu/duke/utils/parsers/Parser.java new file mode 100644 index 0000000000..d27ee50c6a --- /dev/null +++ b/src/main/java/seedu/duke/utils/parsers/Parser.java @@ -0,0 +1,49 @@ +package seedu.duke.utils.parsers; + +import seedu.duke.objects.Inventory; +import seedu.duke.utils.SessionManager; + +public abstract class Parser { + protected static final String ADD_REGEX = "n/([\\w\\s\\p{Punct}]+) upc/(\\d+) qty/(\\d+) p/(\\d+(?:\\.\\d+)?) " + + "?(c/([\\w\\s]+))?"; + protected static final Integer NAME_INDEX = 1; + protected static final Integer UPC_INDEX = 2; + protected static final Integer QTY_INDEX = 3; + protected static final Integer PRICE_INDEX = 4; + protected static final Integer CAT_INDEX = 5; + protected static final String ALERT_REGEX = "(add|remove) ([\\w\\s\\/]+)"; + protected static final Integer ALERT_COMMAND_INDEX = 1; + protected static final Integer ALERT_DETAILS_INDEX = 2; + protected static final String ALERT_ADD_REGEX = "upc/(\\d+) (min|max)(/)(\\d+)$"; + protected static final Integer ALERT_UPC_INDEX = 1; + protected static final Integer ADD_MINMAX_INDEX = 2; + protected static final Integer STOCK_INDEX = 4; + protected static final String ALERT_REMOVE_REGEX = "upc/(\\d+) (level\\/)(min|max)$"; + protected static final Integer REMOVE_MINMAX_INDEX = 3; + + protected static final int EMPTY = 0; + + protected String rawInput; + protected Inventory inventory; + protected SessionManager session; + + protected Parser(String rawInput, Inventory inventory, SessionManager session) { + this.rawInput = rawInput; + this.inventory = inventory; + this.session = session; + } + + protected Parser(String rawInput, Inventory inventory) { + this.rawInput = rawInput; + this.inventory = inventory; + } + + protected Parser(Inventory inventory) { + this.inventory = inventory; + } + + protected Parser() { + } + + public abstract void run(); +} diff --git a/src/main/java/seedu/duke/utils/parsers/RemoveParser.java b/src/main/java/seedu/duke/utils/parsers/RemoveParser.java new file mode 100644 index 0000000000..cd5f545741 --- /dev/null +++ b/src/main/java/seedu/duke/utils/parsers/RemoveParser.java @@ -0,0 +1,93 @@ +package seedu.duke.utils.parsers; + +import seedu.duke.commands.Command; +import seedu.duke.commands.RemoveCommand; +import seedu.duke.exceptions.MissingParametersException; +import seedu.duke.exceptions.RemoveErrorException; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.utils.Ui; + +import java.util.HashMap; + +public class RemoveParser extends Parser { + private static final String EMPTY_SPACE = " "; + private static final String BY_UPC = "f/upc"; + private static final String BY_INDEX = "f/index"; + private static final int INT_INDEX = 1; + private static final int VALID_COMMAND_LENGTH = 2; + private static final int TYPE_INT = 0; + + + public RemoveParser(String rawInput, Inventory inventory) { + super(rawInput, inventory); + } + + /** + * Parses the user input for the "remove" command by index. + * + * @param commands The user input split into an array of strings. + * @param inventory The inventory to be modified. + * @throws MissingParametersException if input by user has missing parameters + */ + private static void parseRemoveByIndex(final String[] commands, Inventory inventory) + throws MissingParametersException { + if (commands.length < VALID_COMMAND_LENGTH) { + throw new MissingParametersException(); + } + int itemIndex = Integer.parseInt(commands[INT_INDEX]); + Command removeCommand = new RemoveCommand(inventory, itemIndex); + removeCommand.run(); + } + + /** + * Parses the user input for the "remove" command by UPC. + * + * @param commands The user input split into an array of strings. + * @param inventory The inventory to be modified. + * @throws MissingParametersException if input by user has missing paramaters + * @throws RemoveErrorException if unable to remove item + */ + private static void parseRemoveByUpc(final String[] commands, Inventory inventory) + throws MissingParametersException, RemoveErrorException { + if (commands.length < VALID_COMMAND_LENGTH) { + throw new MissingParametersException(); + } + String upcCode = commands[INT_INDEX]; + HashMap upcCodes = inventory.getUpcCodes(); + if (!upcCode.matches("(\\d+)") || !upcCodes.containsKey(upcCode)) { + throw new RemoveErrorException(); + } + Command removeCommand = new RemoveCommand(inventory, upcCode); + removeCommand.run(); + } + + /** + * Handles the "remove" command by making sure that formatting is correct, before passing the user inputs + */ + @Override + public void run() { + try { + if (rawInput.length() == EMPTY) { + throw new MissingParametersException(); + } + String[] commands = rawInput.split(EMPTY_SPACE); + switch (commands[TYPE_INT]) { + case BY_UPC: + parseRemoveByUpc(commands, inventory); + break; + case BY_INDEX: + parseRemoveByIndex(commands, inventory); + break; + default: + throw new MissingParametersException(); + } + } catch (MissingParametersException e) { + e.missingRemoveItemParameters(); + } catch (RemoveErrorException e) { + Ui.printInvalidUpc(inventory); + } catch (IndexOutOfBoundsException | NumberFormatException e) { + Ui.printInvalidIndex(inventory); + } + } +} diff --git a/src/main/java/seedu/duke/utils/parsers/RestockParser.java b/src/main/java/seedu/duke/utils/parsers/RestockParser.java new file mode 100644 index 0000000000..5b407c5bb8 --- /dev/null +++ b/src/main/java/seedu/duke/utils/parsers/RestockParser.java @@ -0,0 +1,31 @@ +package seedu.duke.utils.parsers; + +import seedu.duke.commands.Command; +import seedu.duke.commands.RestockCommand; +import seedu.duke.exceptions.EditErrorException; +import seedu.duke.objects.Inventory; +import seedu.duke.utils.Ui; + +public class RestockParser extends Parser{ + public RestockParser(String rawInput, Inventory inventory){ + super(rawInput, inventory); + } + + /** + * Processes the "restock" command and prints an error message if wrong inputs from the user are detected. + */ + @Override + public void run(){ + String[] restockInfo = rawInput.split(" "); + try { + if (!restockInfo[0].contains("upc/") || restockInfo.length == 1) { + throw new EditErrorException(); + } + assert restockInfo[0].contains("upc/") : "UPC Code is not present in user restock command!"; + Command restockCommand = new RestockCommand(inventory, restockInfo); + restockCommand.run(); + } catch (EditErrorException eee) { + Ui.printInvalidRestockCommand(); + } + } +} diff --git a/src/main/java/seedu/duke/utils/parsers/SearchParser.java b/src/main/java/seedu/duke/utils/parsers/SearchParser.java new file mode 100644 index 0000000000..20a7658009 --- /dev/null +++ b/src/main/java/seedu/duke/utils/parsers/SearchParser.java @@ -0,0 +1,69 @@ +package seedu.duke.utils.parsers; + +import seedu.duke.commands.Command; +import seedu.duke.commands.SearchCommand; +import seedu.duke.exceptions.SearchFilterErrorException; +import seedu.duke.objects.Inventory; +import seedu.duke.types.Types; + +public class SearchParser extends Parser{ + protected static final int SEARCH_UPC_COMMAND_LENGTH = 1; + protected Types.SearchType searchType; + public SearchParser(String rawInput, Inventory inventory, Types.SearchType searchType){ + super(rawInput, inventory); + this.searchType = searchType; + } + + /** + * Handles the "searchUPC" command by checking the validity of search term provided before passing to + * the relevant command + * + * @param rawInput The user input string to be validated. + * @param inventory The inventory in which the search is done + * @param searchType The type of search to be conducted + */ + protected void parseSearchUPC(String rawInput, Inventory inventory, Types.SearchType searchType) { + try { + if (rawInput.split(" ").length > SEARCH_UPC_COMMAND_LENGTH || rawInput.length() == EMPTY) { + throw new SearchFilterErrorException(); + } + Command searchCommand = new SearchCommand(inventory, rawInput, searchType); + searchCommand.run(); + } catch (SearchFilterErrorException e) { + e.incorrectSearchUPCParameters(); + } + } + + /** + * Handles the "search" command by checking the validity of search term provided before passing to + * the relevant command + * + * @param rawInput The user input string to be validated. + * @param inventory The inventory in which the search is done + * @param searchType The type of search to be conducted + */ + protected void parseSearch(String rawInput, Inventory inventory, Types.SearchType searchType) { + try { + if (rawInput == null || rawInput.length() == EMPTY) { + throw new SearchFilterErrorException(); + } + Command searchCommand = new SearchCommand(inventory, rawInput, searchType); + searchCommand.run(); + } catch (SearchFilterErrorException e) { + e.incorrectSearchParameters(); + } + } + + /** + * Delegates the executes the correct parser method. + * + */ + @Override + public void run(){ + if(searchType == Types.SearchType.KEYWORD){ + parseSearch(rawInput, inventory, searchType); + }else{ + parseSearchUPC(rawInput, inventory, searchType); + } + } +} diff --git a/src/main/java/seedu/duke/utils/parsers/SellParser.java b/src/main/java/seedu/duke/utils/parsers/SellParser.java new file mode 100644 index 0000000000..26c4774f23 --- /dev/null +++ b/src/main/java/seedu/duke/utils/parsers/SellParser.java @@ -0,0 +1,31 @@ +package seedu.duke.utils.parsers; + +import seedu.duke.commands.Command; +import seedu.duke.commands.SellCommand; +import seedu.duke.exceptions.EditErrorException; +import seedu.duke.objects.Inventory; +import seedu.duke.utils.Ui; + +public class SellParser extends Parser { + public SellParser(String rawInput, Inventory inventory){ + super(rawInput, inventory); + } + + /** + * Processes the "sell" command and prints an error message if wrong inputs from the user are detected. + */ + @Override + public void run(){ + String[] sellInfo = rawInput.split(" "); + try { + if (!sellInfo[0].contains("upc/") || sellInfo.length == 1) { + throw new EditErrorException(); + } + assert sellInfo[0].contains("upc/") : "UPC Code is not present in user restock command!"; + Command restockCommand = new SellCommand(inventory, sellInfo); + restockCommand.run(); + } catch (EditErrorException eee) { + Ui.printInvalidSellCommand(); + } + } +} diff --git a/src/main/java/seedu/duke/utils/trie/Trie.java b/src/main/java/seedu/duke/utils/trie/Trie.java new file mode 100644 index 0000000000..3f93b59d3a --- /dev/null +++ b/src/main/java/seedu/duke/utils/trie/Trie.java @@ -0,0 +1,130 @@ +package seedu.duke.utils.trie; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Queue; +import java.util.LinkedList; +import java.util.Collections; + +public class Trie { + private TrieNode root = new TrieNode(""); + + /** + * Adds a word to the trie object. + * + * @param word The word to be added. + */ + public void add(String word) { + word = word.toLowerCase().trim(); + TrieNode currentNode = root; + for (char character : word.toCharArray()) { + if (!currentNode.doesChildExist(character)) { + currentNode.addChild(character); + } + currentNode = currentNode.getChild(character); + } + currentNode.setWord(true); + } + + /** + * Removes a word from the trie object. + * Does not actually delete any nodes from memory, only sets the word boolean in the endpoint node to false. + * + * @param word The word to be removed. + */ + public void remove(String word) { + word = word.toLowerCase().trim(); + TrieNode currentNode = root; + for (char character : word.toCharArray()) { + if (!currentNode.doesChildExist(character)) { + return; + } + currentNode = currentNode.getChild(character); + } + currentNode.setWord(false); + } + + /** + * Finds out whether a word is in the trie. + * + * @param word The word to be checked + * @return Returns false if word is not in trie, true otherwise. + */ + + public boolean isWordInTrie(String word) { + word = word.toLowerCase().trim(); + TrieNode currentNode = root; + for (int i = 0; i < word.length(); i++) { + char character = word.charAt(i); + if (!currentNode.doesChildExist(character)) { + return false; + } + currentNode = currentNode.getChild(character); + } + return currentNode.isWord(); + } + + /** + * Internal function to find all words that can be reached from a node. + * + * @param node The origin node to be traversed from. + * @param visited Set of all visited TrieNodes + * @return An ArrayList String of all words that can be reached. + */ + + private ArrayList prefixBFS(TrieNode node, HashSet visited) { + ArrayList results = new ArrayList<>(); + Queue queue = new LinkedList<>(); + queue.add(node); + while (!queue.isEmpty()) { + TrieNode u = queue.peek(); + for (TrieNode v : u.getChildren()) { + if (visited.contains(v)) { + continue; + } + queue.add(v); + } + visited.add(u); + if (u.isWord()) { + results.add(u.getContent()); + } + queue.remove(); + } + return results; + } + + /** + * Finds all words that are registered in the trie and can be reached from any prefix of the provided word. + * If an earlier prefix returns a word or words, the word or words will be returned first. + * For example, the word supercalifragilisticexpialidocious can be reached by the word simple as they both share + * the same prefix "s", but if the word simulation is in the trie it will be returned instead. + * + * @param word The search term. + * @return Returns an ArrayList String of found words. + */ + + public ArrayList prefixFind(String word) { + word = word.toLowerCase().trim(); + TrieNode currentNode = root; + HashSet visited = new HashSet<>(); + ArrayList results = new ArrayList<>(); + ArrayList nodes = new ArrayList<>(); + for (int i = 0; i < word.length(); i++) { + char character = word.charAt(i); + if (!currentNode.doesChildExist(character)) { + currentNode.addChild(character); + } + currentNode = currentNode.getChild(character); + nodes.add(currentNode); + } + Collections.reverse(nodes); + visited.add(currentNode); + for (int i = 0; i < nodes.size(); i++) { + results = prefixBFS(nodes.get(i), visited); + if (!results.isEmpty()) { + return results; + } + } + return results; + } +} diff --git a/src/main/java/seedu/duke/utils/trie/TrieNode.java b/src/main/java/seedu/duke/utils/trie/TrieNode.java new file mode 100644 index 0000000000..f4fe27fd8a --- /dev/null +++ b/src/main/java/seedu/duke/utils/trie/TrieNode.java @@ -0,0 +1,91 @@ +package seedu.duke.utils.trie; + +import java.util.HashMap; +import java.util.ArrayList; + +public class TrieNode { + private HashMap children; + private String content; + private boolean isWord; + + + public TrieNode(String content) { + children = new HashMap<>(); + isWord = false; + this.content = content; + } + + /** + * Returns an ArrayList of children for the node. Returns an empty ArrayList if there are none. + * + * @return An ArrayList of children for the node. + */ + + public ArrayList getChildren() { + ArrayList results = new ArrayList<>(); + for (TrieNode nodes : children.values()) { + results.add(nodes); + } + return results; + } + + /** + * Returns the content of the node, or the string stored at this node. + * + * @return The content of the node in a string. + */ + public String getContent() { + return content; + } + + /** + * Returns whether the node is a word. + * + * @return A boolean that is true if the node is a word, false otherwise. + */ + public boolean isWord() { + return isWord; + } + + /** + * Sets the node to a word or not a word. + * + * @param isWord Boolean value to set isWord to. + */ + public void setWord(boolean isWord) { + this.isWord = isWord; + } + + /** + * Checks if a child exists under the node. + * For example, if this "abc" leads to "abcd", doesChildExist('d') would return true. + * + * @param key Child to check if it exists under the node. + * @return True if the child exists, false otherwise. + */ + public boolean doesChildExist(char key) { + return children.containsKey(key); + } + + /** + * Adds a child to the node. + * For example, if this "abc" leads to "abcd", use addChild('d'). + * + * @param key Child to be added to the node. + */ + public void addChild(char key) { + children.put(key, new TrieNode(this.getContent() + key)); + } + + /** + * Returns a child of the node. Used in conjunction with getChildren() so only valid keys are called. + * + * @param key Child to be returned. + * @return Child to be returned in TrieNode form. + */ + public TrieNode getChild(char key) { + return children.get(key); + } + + +} diff --git a/src/test/java/seedu/duke/EditTest.java b/src/test/java/seedu/duke/EditTest.java new file mode 100644 index 0000000000..75cfc705ff --- /dev/null +++ b/src/test/java/seedu/duke/EditTest.java @@ -0,0 +1,29 @@ +package seedu.duke; + +import org.junit.jupiter.api.Test; +import seedu.duke.commands.SearchCommand; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.utils.parsers.AddParser; +import seedu.duke.utils.parsers.EditParser; +import seedu.duke.types.Types; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class EditTest { + + Inventory inventory = new Inventory(); + + @Test + public void sampleTest() { + AddParser addParser = new AddParser("n/orange upc/123 qty/5 p/5",inventory); + addParser.run(); + EditParser editParser = new EditParser("upc/123 n/apple", inventory); + editParser.run(); + String[] data = {"upc/123"}; + Item updatedItem = null; + SearchCommand searchCommand = new SearchCommand(inventory, "123", Types.SearchType.UPC); + updatedItem = searchCommand.searchUPC(); + assertEquals("apple", updatedItem.getName(), "Name not changed to apple."); + } +} diff --git a/src/test/java/seedu/duke/EfficiencyBenchmarkTest.java b/src/test/java/seedu/duke/EfficiencyBenchmarkTest.java new file mode 100644 index 0000000000..a729953546 --- /dev/null +++ b/src/test/java/seedu/duke/EfficiencyBenchmarkTest.java @@ -0,0 +1,113 @@ +package seedu.duke; + +import org.junit.jupiter.api.MethodOrderer; +import org.junit.jupiter.api.Order; +import org.junit.jupiter.api.TestMethodOrder; +import org.junit.jupiter.api.Test; +import seedu.duke.commands.AddCommand; +import seedu.duke.commands.EditCommand; +import seedu.duke.commands.FilterCommand; +import seedu.duke.commands.RemoveCommand; +import seedu.duke.commands.RestockCommand; +import seedu.duke.commands.SearchCommand; +import seedu.duke.commands.SellCommand; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.types.Types; +import seedu.duke.utils.SessionManager; +import seedu.duke.utils.Storage; + +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +@TestMethodOrder(MethodOrderer.OrderAnnotation.class) +class EfficiencyBenchmarkTest { + private static final long timeToBeat = 1000; + private static final int DATASET_SIZE = 4000; + private static final String BENCHMARK_FILEPATH = "./data/test/BenchmarkData.txt"; + private static long totalTime = 0; + Inventory inventory = Storage.readCSV(BENCHMARK_FILEPATH); + @Test + @Order(1) + void loadInventoryTest() { + Inventory loadInventory; + long start = System.currentTimeMillis(); + loadInventory = Storage.readCSV(BENCHMARK_FILEPATH); + long end = System.currentTimeMillis(); + long timeTaken = end - start; + totalTime += timeTaken; + System.out.println("Time taken to load: " + timeTaken + "ms"); + assertTrue(timeTaken <= timeToBeat); + assertEquals(DATASET_SIZE,loadInventory.getItemInventory().size()); + } + @Test + @Order(2) + void searchInventoryTest() { + long start = System.currentTimeMillis(); + SearchCommand searchCommand = new SearchCommand(inventory, "samsung", Types.SearchType.KEYWORD); + ArrayList results = searchCommand.searchKeyword(); + long end = System.currentTimeMillis(); + long timeTaken = end - start; + totalTime += timeTaken; + System.out.println("Time taken to find " + results.size() + " items: " + timeTaken + "ms"); + assertTrue(timeTaken <= timeToBeat); + assertTrue(results.size() > 0); + start = System.currentTimeMillis(); + searchCommand = new SearchCommand(inventory, "123", Types.SearchType.UPC); + Item result = searchCommand.searchUPC(); + end = System.currentTimeMillis(); + timeTaken = end - start; + System.out.println("Time taken to find item: " + timeTaken + "ms"); + assertNotNull(result); + assertTrue(timeTaken <= timeToBeat); + } + + @Test + @Order(3) + void filterInventoryTest() { + long start = System.currentTimeMillis(); + FilterCommand filterCommand = new FilterCommand(inventory, "uncategorized", "f/category"); + ArrayList results = filterCommand.getFilteredItems(); + long end = System.currentTimeMillis(); + long timeTaken = end - start; + totalTime += timeTaken; + System.out.println("Time taken to filter " + results.size() + " items: " + timeTaken + "ms"); + assertTrue(timeTaken<=timeToBeat); + assertTrue(results.size()>0); + start = System.currentTimeMillis(); + filterCommand = new FilterCommand(inventory, 10.25, "p/gt"); + results = filterCommand.getFilteredItems(); + end = System.currentTimeMillis(); + timeTaken = end - start; + System.out.println("Time taken to filter " + results.size() + " items: " + timeTaken + "ms"); + assertTrue(timeTaken <= timeToBeat); + assertTrue(results.size() > 0); + } + + @Test + @Order(4) + void crudTest(){ + SessionManager.setAutoSave(false); + long start = System.currentTimeMillis(); + Item item = new Item("test","10000",24,10.1); + AddCommand addCommand = new AddCommand(inventory,item); + addCommand.run(); + RemoveCommand removeCommand = new RemoveCommand(inventory,"10000"); + removeCommand.run(); + EditCommand editCommand = new EditCommand(inventory, "upc/9999 n/newtest".split(" ")); + editCommand.run(); + SellCommand sellCommand = new SellCommand(inventory, "upc/9999 qty/100".split(" ")); + sellCommand.run(); + RestockCommand restockCommand = new RestockCommand(inventory, "upc/9999 qty/100".split(" ")); + restockCommand.run(); + long end = System.currentTimeMillis(); + long timeTaken = end - start; + totalTime += timeTaken; + System.out.println("Time taken for all CRUD commands: " + timeTaken + "ms"); + System.out.println("Time taken for tests: " + totalTime + "ms"); + assertTrue(timeTaken <= timeToBeat); + } +} diff --git a/src/test/java/seedu/duke/ParserTest.java b/src/test/java/seedu/duke/ParserTest.java new file mode 100644 index 0000000000..27a861c707 --- /dev/null +++ b/src/test/java/seedu/duke/ParserTest.java @@ -0,0 +1,23 @@ +//package seedu.duke; +// +//import org.junit.jupiter.api.Test; +//import seedu.duke.objects.Inventory; +//import seedu.duke.objects.AlertList; +//import seedu.duke.utils.SessionManager; +//import seedu.duke.utils.parser.Parser; +//import seedu.duke.utils.parser.ParserHandler; +// +//import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +//import static org.junit.jupiter.api.Assertions.assertNotEquals; +// +//class ParserTest { +// @Test +// void parseAdd() { +// Inventory inventory = new Inventory(); +// AlertList alertList = new AlertList(); +// SessionManager session = SessionManager.getInstance(); +// ParserHandler parserHandler = new ParserHandler(inventory, session, alertList); +// assertDoesNotThrow(() -> parser.parseAdd("n/orange upc/1231 qty/5 p/5", inventory)); +// assertNotEquals(0, inventory.getItemInventory().size()); +// } +//} diff --git a/src/test/java/seedu/duke/RemoveTest.java b/src/test/java/seedu/duke/RemoveTest.java new file mode 100644 index 0000000000..5ef92c92ee --- /dev/null +++ b/src/test/java/seedu/duke/RemoveTest.java @@ -0,0 +1,90 @@ +package seedu.duke; + +import org.junit.jupiter.api.Test; +import seedu.duke.commands.Command; +import seedu.duke.objects.Item; +import seedu.duke.objects.Inventory; +import seedu.duke.commands.AddCommand; +import seedu.duke.commands.RemoveCommand; +import seedu.duke.utils.SessionManager; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class RemoveTest { + + @Test + void removeItemAtIndex() { + Inventory inventory = new Inventory(); + Item item1 = new Item("appleA", "123", 000, 0.0); + Item item2 = new Item("apples", "012345678", 5000, 12.0); + Item item3 = new Item("oranges", "876543210", 3000, 0.32); + Command addCommand = new AddCommand(inventory, item1); + addCommand.run(); + Command addCommand1 = new AddCommand(inventory, item2); + addCommand1.run(); + Command addCommand2 = new AddCommand(inventory, item3); + addCommand2.run(); + + Command removeCommand = new RemoveCommand(inventory, 2); + removeCommand.run(); + + assertEquals(2, inventory.getItemInventory().size()); + } + + @Test + void removeByUpc() { + Inventory inventory = new Inventory(); + Item item1 = new Item("appleA", "123", 100, 0.0); + Item item2 = new Item("apples", "012345678", 5000, 12.0); + Item item3 = new Item("oranges", "876543210", 3000, 0.32); + + Command addCommand = new AddCommand(inventory, item1); + addCommand.run(); + Command addCommand1 = new AddCommand(inventory, item2); + addCommand1.run(); + Command addCommand2 = new AddCommand(inventory, item3); + addCommand2.run(); + + Command removeCommand = new RemoveCommand(inventory,"876543210"); + removeCommand.run(); + assertEquals(2, inventory.getItemInventory().size()); + Command removeCommand1 = new RemoveCommand(inventory,"012345678"); + removeCommand1.run(); + assertEquals(1, inventory.getItemInventory().size()); + Command removeCommand2 = new RemoveCommand(inventory,"012345678"); + removeCommand2.run(); + assertEquals(1, inventory.getItemInventory().size()); + Command removeCommand3 = new RemoveCommand(inventory,"123"); + removeCommand3.run(); + assertEquals(0, inventory.getItemInventory().size()); + } + + @Test + void removeByUpcMultipleTimes(){ + Inventory inventory = new Inventory(); + SessionManager.setAutoSave(false); + for(int i=0;i<1000;i++){ + Command addCommand = new AddCommand(inventory, new Item("item1", "01",15,10.0, "normal")); + addCommand.run(); + addCommand = new AddCommand(inventory, new Item("item2", "02",15,10.0, "normal")); + addCommand.run(); + addCommand = new AddCommand(inventory, new Item("item3", "03",15,10.0, "normal")); + addCommand.run(); + addCommand = new AddCommand(inventory, new Item("item4", "04",15,10.0, "normal")); + addCommand.run(); + addCommand = new AddCommand(inventory, new Item("item5", "05",15,10.0, "normal")); + addCommand.run(); + Command removeCommand = new RemoveCommand(inventory, "01"); + removeCommand.run(); + removeCommand = new RemoveCommand(inventory, "02"); + removeCommand.run(); + removeCommand = new RemoveCommand(inventory, "03"); + removeCommand.run(); + removeCommand = new RemoveCommand(inventory, "04"); + removeCommand.run(); + removeCommand = new RemoveCommand(inventory, "05"); + removeCommand.run(); + assertEquals(inventory.getItemInventory().size(),0); + } + } +} diff --git a/src/test/java/seedu/duke/TrieTest.java b/src/test/java/seedu/duke/TrieTest.java new file mode 100644 index 0000000000..33ed9d6ff1 --- /dev/null +++ b/src/test/java/seedu/duke/TrieTest.java @@ -0,0 +1,42 @@ +package seedu.duke; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.Test; +import seedu.duke.utils.trie.Trie; + +import java.util.ArrayList; + +public class TrieTest { + /** + * Tests the trie's find function + */ + @Test + public void findTest() { + Trie trie = new Trie(); + trie.add("Hamburger"); + trie.add("Hamburgers"); + trie.add("Marshmallows"); + assertEquals(true, trie.isWordInTrie("Hamburger")); + assertEquals(true, trie.isWordInTrie("hamburger")); + assertEquals(false, trie.isWordInTrie("hamb")); + } + + /** + * Tests the trie's prefixFind function. + */ + @Test + public void findPrefixTest() { + Trie trie = new Trie(); + trie.add("Hamburger"); + trie.add("Hamburgers"); + trie.add("Marshmallows"); + ArrayList ans = new ArrayList<>(); + ans.add("hamburger"); + ans.add("hamburgers"); + assertEquals(trie.prefixFind("Hamb"), ans); + assertEquals(trie.prefixFind("Hamburger"), ans); + ans.remove("hamburger"); + assertEquals(trie.prefixFind("Hamburgersss"), ans); + } +} diff --git a/src/test/java/seedu/duke/commands/AddAlertCommandTest.java b/src/test/java/seedu/duke/commands/AddAlertCommandTest.java new file mode 100644 index 0000000000..3e0bc33433 --- /dev/null +++ b/src/test/java/seedu/duke/commands/AddAlertCommandTest.java @@ -0,0 +1,113 @@ +package seedu.duke.commands; + +import org.junit.jupiter.api.Test; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.objects.Alert; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class AddAlertCommandTest { + + Inventory inventory; + + @Test + void addMinAlert() { + inventory = new Inventory(); + Item newItem = new Item("apples", "1234", 6, 15.0); + Command command = new AddCommand(inventory, newItem); + command.run(); + + String inventoryUpc = inventory.getItemInventory().get(0).getUpc(); + Alert alert = new Alert(inventoryUpc, "min", "2"); + Command addAlertCommand = new AddAlertCommand(inventory, alert); + addAlertCommand.run(); + + assertTrue(inventory.getAlertList().getMinAlertUpcs().containsKey(inventoryUpc)); + } + + @Test + void addMaxAlert() { + inventory = new Inventory(); + Item newItem = new Item("apples", "1234", 6, 15.0); + Command command = new AddCommand(inventory, newItem); + command.run(); + + String inventoryUpc = inventory.getItemInventory().get(0).getUpc(); + Alert alert = new Alert(inventoryUpc, "max", "2"); + Command addAlertCommand = new AddAlertCommand(inventory, alert); + addAlertCommand.run(); + + assertTrue(inventory.getAlertList().getMaxAlertUpcs().containsKey(inventoryUpc)); + } + + @Test + void addExistingMinAlert() { + inventory = new Inventory(); + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + + Item newItem = new Item("apples", "1234", 6, 15.0); + Command command = new AddCommand(inventory, newItem); + command.run(); + + String inventoryUpc = inventory.getItemInventory().get(0).getUpc(); + Alert alert = new Alert(inventoryUpc, "min", "2"); + Command addAlertCommand = new AddAlertCommand(inventory, alert); + addAlertCommand.run(); + + Alert alertDuplicate = new Alert(inventoryUpc, "min", "5"); + Command addAlertCommandDuplicate = new AddAlertCommand(inventory, alertDuplicate); + addAlertCommandDuplicate.run(); + + String expectedOutput = "This item already has a minimum alert. Delete the existing one first."; + assertTrue(outContent.toString().contains(expectedOutput)); + } + + @Test + void addInvalidMaxAlert() { + inventory = new Inventory(); + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + + Item newItem = new Item("oranges", "4321", 20, 15.0); + Command command = new AddCommand(inventory, newItem); + command.run(); + + String inventoryUpc = inventory.getItemInventory().get(0).getUpc(); + Alert alert = new Alert(inventoryUpc, "min", "10"); + Command addAlertCommand = new AddAlertCommand(inventory, alert); + addAlertCommand.run(); + + Alert maxAlert = new Alert(inventoryUpc, "max", "5"); + Command addMaxAlertCommand = new AddAlertCommand(inventory, maxAlert); + addMaxAlertCommand.run(); + String expected = "Maximum value to set an alert must be more than existing minimum alert value of this item."; + assertTrue(outContent.toString().contains(expected)); + + } + + @Test + void minAlertWarning() { + inventory = new Inventory(); + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + + Item newItem = new Item("oranges", "4321", 10, 15.0); + Command command = new AddCommand(inventory, newItem); + command.run(); + + String inventoryUpc = inventory.getItemInventory().get(0).getUpc(); + Alert alert = new Alert(inventoryUpc, "min", "20"); + Command addAlertCommand = new AddAlertCommand(inventory, alert); + addAlertCommand.run(); + + String expected = "ALERT: The quantity of oranges is below the minimum level of 20."; + assertTrue(outContent.toString().contains(expected)); + + } + +} diff --git a/src/test/java/seedu/duke/commands/AddCommandTest.java b/src/test/java/seedu/duke/commands/AddCommandTest.java new file mode 100644 index 0000000000..b597924eff --- /dev/null +++ b/src/test/java/seedu/duke/commands/AddCommandTest.java @@ -0,0 +1,132 @@ +package seedu.duke.commands; + +import org.junit.jupiter.api.Test; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * JUnit test class for AddCommand. + * Conducts the following test cases: + * 1. Add item to inventory + * 2. Add multiple items to inventory + * 3. Add duplicate item with same UPC and name + * 4. Add duplicate item with same UPC but different name + */ +class AddCommandTest { + Inventory inventory; + + @Test + void addItemToInventory() { + inventory = new Inventory(); + Item newItem = new Item("Item 1", "7252727320", 2, 123.0); + Command command = new AddCommand(inventory, newItem); + command.run(); + assertEquals("Uncategorized", inventory.getItemInventory().get(0).getCategory()); + assertEquals(1, inventory.getItemInventory().size()); + assertEquals(newItem, inventory.getItemInventory().get(0)); + assertTrue(inventory.getUpcCodes().containsKey(newItem.getUpc())); + for (String itemName : newItem.getName().toLowerCase().split(" ")) { + assertTrue(inventory.getItemNameHash().containsKey(itemName)); + } + } + + @Test + void addItemWithCategoryToInventory() { + inventory = new Inventory(); + Item newItem = new Item("Item 1", "213131231324", 22, 123.0, "fruit"); + Command command = new AddCommand(inventory, newItem); + command.run(); + assertEquals("fruit", inventory.getItemInventory().get(0).getCategory()); + assertEquals(1, inventory.getItemInventory().size()); + assertEquals(newItem, inventory.getItemInventory().get(0)); + assertTrue(inventory.getUpcCodes().containsKey(newItem.getUpc())); + for (String itemName : newItem.getName().toLowerCase().split(" ")) { + assertTrue(inventory.getItemNameHash().containsKey(itemName)); + } + } + + @Test + void addMultipleItemsToInventory() { + inventory = new Inventory(); + Item newItem1 = new Item("Item 1", "7252727320", 2, 1.50, "fruit"); + Item newItem2 = new Item("Item 2", "4534552342", 20, 1.40); + Item newItem3 = new Item("Item 3", "3454685754", 200, 1.30, "mobile"); + + // Instantiate the Add command objects + Command command1 = new AddCommand(inventory, newItem1); + Command command2 = new AddCommand(inventory, newItem2); + Command command3 = new AddCommand(inventory, newItem3); + + // Run the commands + command1.run(); + command2.run(); + command3.run(); + + // Assertions + assertEquals(3, inventory.getItemInventory().size()); + assertEquals(newItem1, inventory.getItemInventory().get(0)); + assertEquals(newItem2, inventory.getItemInventory().get(1)); + assertEquals(newItem3, inventory.getItemInventory().get(2)); + + for (Item item : inventory.getItemInventory()) { + assertTrue(inventory.getUpcCodes().containsKey(item.getUpc())); + } + for (String itemName : newItem1.getName().toLowerCase().split(" ")) { + assertTrue(inventory.getItemNameHash().containsKey(itemName)); + } + for (String itemName : newItem2.getName().toLowerCase().split(" ")) { + assertTrue(inventory.getItemNameHash().containsKey(itemName)); + } + for (String itemName : newItem3.getName().toLowerCase().split(" ")) { + assertTrue(inventory.getItemNameHash().containsKey(itemName)); + } + } + + @Test + void addDuplicateItem() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + inventory = new Inventory(); + Item newItem = new Item("Item 1", "7252727320", 2, 123.0); + Command command = new AddCommand(inventory, newItem); + command.run(); + command.run(); + assertEquals(1, inventory.getItemInventory().size()); + assertEquals(newItem, inventory.getItemInventory().get(0)); + assertTrue(inventory.getUpcCodes().containsKey(newItem.getUpc())); + for (String itemName : newItem.getName().toLowerCase().split(" ")) { + assertTrue(inventory.getItemNameHash().containsKey(itemName)); + } + String expectedOutput = "Duplicate UPC found! Please add another item with a different UPC"; + assertTrue(outContent.toString().contains(expectedOutput)); + } + + @Test + void addDuplicateItemWithDifferentName() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + inventory = new Inventory(); + Item newItem = new Item("Item 1", "7252727320", 2, 123.0); + Command command = new AddCommand(inventory, newItem); + command.run(); + Item newItem2 = new Item("Item 2", "7252727320", 2, 123.0); + command = new AddCommand(inventory, newItem2); + command.run(); + assertEquals(1, inventory.getItemInventory().size()); + assertEquals(newItem, inventory.getItemInventory().get(0)); + assertTrue(inventory.getUpcCodes().containsKey(newItem.getUpc())); + for (String itemName : newItem.getName().toLowerCase().split(" ")) { + assertTrue(inventory.getItemNameHash().containsKey(itemName)); + } + String expectedOutput = "Duplicate UPC found! Please add another item with a different UPC"; + assertTrue(outContent.toString().contains(expectedOutput)); + } + + +} diff --git a/src/test/java/seedu/duke/commands/CategoryCommandTest.java b/src/test/java/seedu/duke/commands/CategoryCommandTest.java new file mode 100644 index 0000000000..897a05c82c --- /dev/null +++ b/src/test/java/seedu/duke/commands/CategoryCommandTest.java @@ -0,0 +1,62 @@ +package seedu.duke.commands; + +import org.junit.jupiter.api.Test; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.utils.Ui; + +import java.util.ArrayList; +import java.util.HashMap; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class CategoryCommandTest { + Inventory inventory = new Inventory(); + HashMap> categoryHash; + @Test + void catList() { + Item item1 = new Item("apples", "012345678", 5000, 12.0, "fruits"); + Item item2 = new Item("oranges", "876543210", 3000, 0.32, "citrus"); + + AddCommand addCommand = new AddCommand(inventory, item1); + addCommand.run(); + AddCommand addCommand1 = new AddCommand(inventory, item2); + addCommand1.run(); + categoryHash = inventory.getCategoryHash(); + + Ui.printCategoryList(categoryHash); + assertTrue(categoryHash.containsKey("fruits")); + assertTrue(categoryHash.containsKey("citrus")); + assertFalse(categoryHash.containsKey("Uncategorized")); + } + + @Test + void printCatTable() { + Item item1 = new Item("apples", "012345678", 5000, 12.0, "fruits"); + Item item2 = new Item("oranges", "876543210", 3000, 0.32, "citrus"); + + AddCommand addCommand = new AddCommand(inventory, item1); + addCommand.run(); + AddCommand addCommand1 = new AddCommand(inventory, item2); + addCommand1.run(); + categoryHash = inventory.getCategoryHash(); + + String expectedOutput = "+-----------------+-----------------------------------------------+" + + System.lineSeparator() + + "| Category | Name: UPC |" + + System.lineSeparator() + + "+-----------------+-----------------------------------------------+" + + System.lineSeparator() + + "| Fruits | apples: 012345678 |" + + System.lineSeparator() + + "+-----------------+-----------------------------------------------+" + + System.lineSeparator() + + "| Citrus | oranges: 876543210 |" + + System.lineSeparator() + + "+-----------------+-----------------------------------------------+" + + System.lineSeparator(); + assertEquals(Ui.printTable(categoryHash), expectedOutput); + } +} diff --git a/src/test/java/seedu/duke/commands/EditCommandTest.java b/src/test/java/seedu/duke/commands/EditCommandTest.java new file mode 100644 index 0000000000..4ca741332f --- /dev/null +++ b/src/test/java/seedu/duke/commands/EditCommandTest.java @@ -0,0 +1,157 @@ +package seedu.duke.commands; + +import org.junit.jupiter.api.Test; +import seedu.duke.objects.Inventory; +import seedu.duke.utils.parsers.AddParser; +import seedu.duke.utils.parsers.EditParser; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class EditCommandTest { + Inventory inventory; + + /** + * Used for creation of a two-item inventory + */ + private void addInventory() { + inventory = new Inventory(); + AddParser addParser = new AddParser("n/orange upc/123 qty/5 p/5",inventory); + addParser.run(); + addParser = new AddParser("n/Cat upc/1111 qty/5 p/5",inventory); + addParser.run(); + } + + /** + * Test for all scenarios of user inputs for the "edit" command. + */ + @Test + public void editItemTest() { + addInventory(); + + //Test 1: Empty Name + System.out.println("Test 1: Empty Name:"); + EditParser editParser = new EditParser("upc/123 n/", inventory); + editParser.run(); + assertEquals("orange", inventory.getItemInventory().get(0).getName()); + + //Test 2: Same Quantity, Should have no output + System.out.println("Test 2: Same Quantity, Should have no output"); + editParser = new EditParser("upc/123 n/oranges qty/5", inventory); + editParser.run(); + assertEquals("oranges", inventory.getItemInventory().get(0).getName()); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + + //Test 3: Name with multiple spaces. + System.out.println("Test 3: Name with multiple spaces."); + editParser = new EditParser("upc/123 n/orange and apples qty/6", inventory); + editParser.run(); + assertEquals("orange and apples", inventory.getItemInventory().get(0).getName()); + assertEquals(6, inventory.getItemInventory().get(0).getQuantity()); + + //Test 4: Negative Quantity Input. + System.out.println("Test 4: Negative Quantity Input."); + editParser = new EditParser("upc/123 qty/-5", inventory); + editParser.run(); + assertEquals(6, inventory.getItemInventory().get(0).getQuantity()); + + //Test 5: Change Price + System.out.println("Test 5: Change Price"); + editParser = new EditParser("upc/123 p/4", inventory); + editParser.run(); + assertEquals(4, inventory.getItemInventory().get(0).getPrice()); + + //Test 6: Wrong Spacing between parameters. + System.out.println("Test 6: Wrong Spacing between parameters."); + editParser = new EditParser("upc/123 n/p/", inventory); + editParser.run(); + assertEquals("p/", inventory.getItemInventory().get(0).getName()); + + //Test 7: Item Does not exist. + System.out.println("Test 7: Item Does not exist."); + editParser = new EditParser("upc/12", inventory); + editParser.run(); + + //Test 8: Create category of fruit. + System.out.println("Test 8: Create category of fruit."); + editParser = new EditParser("upc/123 c/fruit", inventory); + editParser.run(); + assertEquals("fruit", inventory.getItemInventory().get(0).getCategory()); + + //Test 9: Create category with multiple spaces. (Not allowed at the moment). + System.out.println("Test 9: Create category with multiple spaces."); + editParser = new EditParser("upc/123 c/fruit and vegetables", inventory); + editParser.run(); + assertEquals("fruit and vegetables", inventory.getItemInventory().get(0).getCategory()); + + //Test 10: String input as price edit. + System.out.println("Test 10: String input as price edit."); + editParser = new EditParser("upc/123 p/double", inventory); + editParser.run(); + assertEquals(4, inventory.getItemInventory().get(0).getPrice()); + + //Test 11: Wrong Format + System.out.println("Test 11: Wrong Format"); + editParser = new EditParser("upc/1111 {n/capybara", inventory); + editParser.run(); + assertEquals("Cat", inventory.getItemInventory().get(1).getName()); + + //Test 12: Price out of range. + System.out.println("Test 12: Price out of range."); + editParser = new EditParser("upc/1111 n/capybara p/99999999999999 qty/6", inventory); + editParser.run(); + assertEquals(5, inventory.getItemInventory().get(1).getPrice()); + assertEquals(5, inventory.getItemInventory().get(1).getQuantity()); + assertEquals("Cat", inventory.getItemInventory().get(1).getName()); + + //Test 13: Double Price Inputs with empty price. + System.out.println("Test 13: Double Price Inputs with empty price."); + editParser = new EditParser("upc/123 p/ p/45", inventory); + editParser.run(); + assertEquals(4, inventory.getItemInventory().get(0).getPrice()); + + //Test 14: Double price inputs with quantity input. + System.out.println("Test 14: Double price inputs with quantity input."); + editParser = new EditParser("upc/123 p/1 p/1 qty/100", inventory); + editParser.run(); + assertEquals(4, inventory.getItemInventory().get(0).getPrice()); + assertEquals(5, inventory.getItemInventory().get(1).getQuantity()); + } + + @Test + public void capitalLetterTest() { + System.out.println("Test 15: Capital Letters for Category input."); + addInventory(); + EditParser editParser = new EditParser("upc/123 c/Rubber", inventory); + editParser.run(); + assertEquals("Rubber", inventory.getItemInventory().get(0).getCategory()); + } + + @Test + public void multiCategoryInputsTest() { + System.out.println("Test 16: Category input with spaces"); + addInventory(); + EditParser editParser = new EditParser("upc/123 c/Fruit and Vegetables", inventory); + editParser.run(); + assertEquals("Fruit and Vegetables", inventory.getItemInventory().get(0).getCategory()); + } + + @Test + public void multiCategoryDeclarationTest() { + System.out.println("Test 17: Multiple Category edit entry"); + addInventory(); + EditParser editParser = new EditParser("upc/123 c/Fruit and Vegetables c/Test", inventory); + editParser.run(); + assertEquals("Uncategorized", inventory.getItemInventory().get(0).getCategory()); + } + + @Test + public void emptyCategoryTest() { + System.out.println("Test 17: Empty First Character Category Test"); + addInventory(); + EditParser editParser = new EditParser("upc/123 c/ Fruit and Vegetables", inventory); + editParser.run(); + assertEquals("Uncategorized", inventory.getItemInventory().get(0).getCategory()); + } + + +} diff --git a/src/test/java/seedu/duke/commands/FilterCommandTest.java b/src/test/java/seedu/duke/commands/FilterCommandTest.java new file mode 100644 index 0000000000..eb9e3c89e3 --- /dev/null +++ b/src/test/java/seedu/duke/commands/FilterCommandTest.java @@ -0,0 +1,65 @@ +package seedu.duke.commands; + +import org.junit.jupiter.api.Test; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.utils.parsers.AddParser; + +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; + +class FilterCommandTest { + Inventory inventory; + + /** + * Tests the filter price function. + */ + @Test + void filterPriceTest() { + inventory = new Inventory(); + AddParser addParser = new AddParser("n/orange upc/1 qty/5 p/5",inventory); + addParser.run(); + FilterCommand filterCommand = new FilterCommand(inventory, 5.0, "p/get"); + ArrayList filteredItems = filterCommand.getFilteredItems(); + assertEquals(1, filteredItems.size()); + filterCommand = new FilterCommand(inventory, 5.0, "p/let"); + filteredItems = filterCommand.getFilteredItems(); + assertEquals(1, filteredItems.size()); + filterCommand = new FilterCommand(inventory, 4.5, "p/gt"); + filteredItems = filterCommand.getFilteredItems(); + assertEquals(1, filteredItems.size()); + filterCommand = new FilterCommand(inventory, 5.5, "p/lt"); + filteredItems = filterCommand.getFilteredItems(); + assertEquals(1, filteredItems.size()); + filterCommand = new FilterCommand(inventory, 3.5, "p/lt"); + filteredItems = filterCommand.getFilteredItems(); + assertEquals(null, filteredItems); + } + + @Test + void filterCategoryTest() { + inventory = new Inventory(); + AddParser addParser = new AddParser("n/orange upc/1 qty/5 p/5",inventory); + addParser.run(); + AddParser addParser1 = new AddParser("n/apple upc/2 qty/5 p/5 c/fruit",inventory); + addParser1.run(); + FilterCommand filterCommand = new FilterCommand(inventory, "fruit", "f/category"); + ArrayList filteredItems = filterCommand.getFilteredItems(); + assertEquals(1, filteredItems.size()); + filterCommand = new FilterCommand(inventory, "uncategorized", "f/category"); + filteredItems = filterCommand.getFilteredItems(); + assertEquals(1, filteredItems.size()); + AddParser addParser2 = new AddParser("n/watermelon upc/3 qty/5 p/5 c/fruit",inventory); + addParser2.run(); + filterCommand = new FilterCommand(inventory, "fruit", "f/category"); + filteredItems = filterCommand.getFilteredItems(); + assertEquals(2, filteredItems.size()); + RemoveCommand removeCommand = new RemoveCommand(inventory, 0); + removeCommand.run(); + filterCommand = new FilterCommand(inventory, "uncategorized", "f/category"); + filteredItems = filterCommand.getFilteredItems(); + assertNull(filteredItems); + } +} diff --git a/src/test/java/seedu/duke/commands/HistoryCommandTest.java b/src/test/java/seedu/duke/commands/HistoryCommandTest.java new file mode 100644 index 0000000000..394a52e079 --- /dev/null +++ b/src/test/java/seedu/duke/commands/HistoryCommandTest.java @@ -0,0 +1,84 @@ +package seedu.duke.commands; + +import org.junit.jupiter.api.Test; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.utils.parsers.AddParser; +import seedu.duke.utils.parsers.EditParser; +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class HistoryCommandTest { + Inventory inventory; + + /** + * Integration tests with add and edit functions. + */ + @Test + void historyAddEditTest() { + inventory = new Inventory(); + AddParser addParser = new AddParser("n/orange upc/1 qty/5 p/5", inventory); + addParser.run(); + HistoryCommand historyCommand = new HistoryCommand(inventory, "1"); + ArrayList results = historyCommand.getHistoryResults(); + assertEquals(1, results.size()); + EditParser editParser = new EditParser("upc/1 n/Laptops qty/5 p/10.0", inventory); + editParser.run(); + historyCommand = new HistoryCommand(inventory, "1"); + results = historyCommand.getHistoryResults(); + assertEquals(2, results.size()); + assertEquals("orange", results.get(0).getName()); + assertEquals("Laptops", results.get(1).getName()); + editParser = new EditParser("upc/1 n/TV qty/1 p/10999.0", inventory); + editParser.run(); + historyCommand = new HistoryCommand(inventory, "1"); + results = historyCommand.getHistoryResults(); + assertEquals(3, results.size()); + assertEquals("orange", results.get(0).getName()); + assertEquals("Laptops", results.get(1).getName()); + assertEquals("TV", results.get(2).getName()); + } + + /** + * Integration tests with remove function. + */ + @Test + void historyRemoveTest(){ + inventory = new Inventory(); + AddParser addParser = new AddParser("n/orange upc/1 qty/5 p/5", inventory); + addParser.run(); + HistoryCommand historyCommand = new HistoryCommand(inventory, "1"); + ArrayList results = historyCommand.getHistoryResults(); + assertEquals(1, results.size()); + RemoveCommand removeCommand = new RemoveCommand(inventory, "1"); + removeCommand.run(); + historyCommand = new HistoryCommand(inventory, "1"); + results = historyCommand.getHistoryResults(); + assertEquals(null, results); + } + + /** + * Integration tests with edit category + */ + @Test + void historyCategoryTest(){ + inventory = new Inventory(); + AddParser addParser = new AddParser("n/orange upc/1 qty/5 p/5", inventory); + addParser.run(); + HistoryCommand historyCommand = new HistoryCommand(inventory, "1"); + ArrayList results = historyCommand.getHistoryResults(); + assertEquals("Uncategorized", results.get(0).getCategory()); + EditParser editParser = new EditParser("upc/1 c/fruits",inventory); + editParser.run(); + historyCommand = new HistoryCommand(inventory, "1"); + results = historyCommand.getHistoryResults(); + assertEquals("Uncategorized", results.get(0).getCategory()); + assertEquals("fruits", results.get(1).getCategory()); + addParser = new AddParser("n/orange upc/2 qty/5 p/5 c/fruits", inventory); + addParser.run(); + historyCommand = new HistoryCommand(inventory, "2"); + results = historyCommand.getHistoryResults(); + assertEquals("fruits", results.get(0).getCategory()); + } +} diff --git a/src/test/java/seedu/duke/commands/ListCommandTest.java b/src/test/java/seedu/duke/commands/ListCommandTest.java new file mode 100644 index 0000000000..3ae6a12335 --- /dev/null +++ b/src/test/java/seedu/duke/commands/ListCommandTest.java @@ -0,0 +1,109 @@ +package seedu.duke.commands; + +import org.junit.jupiter.api.Test; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.utils.Ui; + +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class ListCommandTest { + Inventory inventory; + + @Test + public void printWithoutWrapping() { + inventory = new Inventory(); + Item item1 = new Item("apples", "012345678", 5000, 12.0); + Item item2 = new Item("oranges", "876543210", 3000, 0.32, "citrus"); + + inventory.getItemInventory().add(item1); + inventory.getItemInventory().add(item2); + inventory.getUpcCodes().put(item1.getUpc(), item1); + inventory.getUpcCodes().put(item2.getUpc(), item2); + inventory.getItemNameHash().put(item1.getName().toLowerCase(), new ArrayList<>()); + inventory.getItemNameHash().put(item2.getName().toLowerCase(), new ArrayList<>()); + inventory.getItemNameHash().get(item1.getName().toLowerCase()).add(item1); + inventory.getItemNameHash().get(item2.getName().toLowerCase()).add(item2); + inventory.getTrie().add(item1.getName().toLowerCase()); + inventory.getTrie().add(item2.getName().toLowerCase()); + + String expectedOutput = + "+-------+-----------------+--------------+----------+----------+-----------------+" + + System.lineSeparator() + + "| Index | Name | UPC | Quantity | Price | Category |" + + System.lineSeparator() + + "+-------+-----------------+--------------+----------+----------+-----------------+" + + System.lineSeparator() + + "| 0 | apples | 012345678 | 5000 | $12.00 | Uncategorized |" + + System.lineSeparator() + + "+-------+-----------------+--------------+----------+----------+-----------------+" + + System.lineSeparator() + + "| 1 | oranges | 876543210 | 3000 | $0.32 | citrus |" + + System.lineSeparator() + + "+-------+-----------------+--------------+----------+----------+-----------------+" + + System.lineSeparator(); + + assertEquals(Ui.printTable(inventory.getItemInventory()), expectedOutput); + } + + + @Test + public void printWithWrapping() { + inventory = new Inventory(); + Item item1 = new Item("applesorangesgreenbeansredbeans", "012345678", 5000, 12.0); + + inventory.getItemInventory().add(item1); + inventory.getUpcCodes().put(item1.getUpc(), item1); + inventory.getItemNameHash().put(item1.getName().toLowerCase(), new ArrayList<>()); + inventory.getItemNameHash().get(item1.getName().toLowerCase()).add(item1); + inventory.getTrie().add(item1.getName().toLowerCase()); + + String expectedOutput = + "+-------+-----------------+--------------+----------+----------+-----------------+" + + System.lineSeparator() + + "| Index | Name | UPC | Quantity | Price | Category |" + + System.lineSeparator() + + "+-------+-----------------+--------------+----------+----------+-----------------+" + + System.lineSeparator() + + "| 0 | applesorangesgr | 012345678 | 5000 | $12.00 | Uncategorized |" + + System.lineSeparator() + + "| | eenbeansredbean | | | | |" + + System.lineSeparator() + + "| | s | | | | |" + + System.lineSeparator() + + "+-------+-----------------+--------------+----------+----------+-----------------+" + + System.lineSeparator(); + assertEquals(Ui.printTable(inventory.getItemInventory()), expectedOutput); + } + + @Test + public void printSpacesWithWrapping() { + inventory = new Inventory(); + Item item1 = new Item("red orange yellow green blue violet", "012345678", 5000, 12.0); + + inventory.getItemInventory().add(item1); + inventory.getUpcCodes().put(item1.getUpc(), item1); + inventory.getItemNameHash().put(item1.getName().toLowerCase(), new ArrayList<>()); + inventory.getItemNameHash().get(item1.getName().toLowerCase()).add(item1); + inventory.getTrie().add(item1.getName().toLowerCase()); + + String expectedOutput = + "+-------+-----------------+--------------+----------+----------+-----------------+" + + System.lineSeparator() + + "| Index | Name | UPC | Quantity | Price | Category |" + + System.lineSeparator() + + "+-------+-----------------+--------------+----------+----------+-----------------+" + + System.lineSeparator() + + "| 0 | red orange | 012345678 | 5000 | $12.00 | Uncategorized |" + + System.lineSeparator() + + "| | yellow green | | | | |" + + System.lineSeparator() + + "| | blue violet | | | | |" + + System.lineSeparator() + + "+-------+-----------------+--------------+----------+----------+-----------------+" + + System.lineSeparator(); + assertEquals(Ui.printTable(inventory.getItemInventory()), expectedOutput); + } +} diff --git a/src/test/java/seedu/duke/commands/RemoveAlertCommandTest.java b/src/test/java/seedu/duke/commands/RemoveAlertCommandTest.java new file mode 100644 index 0000000000..c0b2c3384f --- /dev/null +++ b/src/test/java/seedu/duke/commands/RemoveAlertCommandTest.java @@ -0,0 +1,80 @@ +package seedu.duke.commands; +import org.junit.jupiter.api.Test; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.objects.Alert; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class RemoveAlertCommandTest { + Inventory inventory; + @Test + void removeMinAlert() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + + inventory = new Inventory(); + Item newItem = new Item("apples", "1234", 6, 15.0); + Command command = new AddCommand(inventory, newItem); + command.run(); + + String inventoryUpc = inventory.getItemInventory().get(0).getUpc(); + Alert alert = new Alert(inventoryUpc, "min", "2"); + Command addAlertCommand = new AddAlertCommand(inventory, alert); + addAlertCommand.run(); + + Command removeAlertCommand = new RemoveAlertCommand(inventory, inventoryUpc, "min"); + removeAlertCommand.run(); + + String expectedOutput = "Successfully removed the alert."; + assertTrue(outContent.toString().contains(expectedOutput)); + } + + @Test + void removeAlertNonexistentItem() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + + inventory = new Inventory(); + Item newItem = new Item("apples", "1234", 6, 15.0); + Command command = new AddCommand(inventory, newItem); + command.run(); + + String inventoryUpc = inventory.getItemInventory().get(0).getUpc(); + Alert alert = new Alert(inventoryUpc, "max", "10"); + Command addAlertCommand = new AddAlertCommand(inventory, alert); + addAlertCommand.run(); + + Command removeAlertCommand = new RemoveAlertCommand(inventory, "4321", "max"); + removeAlertCommand.run(); + + String expectedOutput = "Command failed! Reason: Item not found in database. Please add item first!"; + assertTrue(outContent.toString().contains(expectedOutput)); + + } + + @Test + void removeNonexistentAlert() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + + inventory = new Inventory(); + Item newItem = new Item("apples", "1234", 6, 15.0); + Command command = new AddCommand(inventory, newItem); + command.run(); + + String inventoryUpc = inventory.getItemInventory().get(0).getUpc(); + Alert alert = new Alert(inventoryUpc, "max", "10"); + Command addAlertCommand = new AddAlertCommand(inventory, alert); + addAlertCommand.run(); + + Command removeAlertCommand = new RemoveAlertCommand(inventory, inventoryUpc, "min"); + removeAlertCommand.run(); + + String expectedOutput = "The alert that you are attempting to remove does not exist."; + assertTrue(outContent.toString().contains(expectedOutput)); + } +} diff --git a/src/test/java/seedu/duke/commands/RestockCommandTest.java b/src/test/java/seedu/duke/commands/RestockCommandTest.java new file mode 100644 index 0000000000..488e52b588 --- /dev/null +++ b/src/test/java/seedu/duke/commands/RestockCommandTest.java @@ -0,0 +1,138 @@ +package seedu.duke.commands; + +import org.junit.jupiter.api.Test; +import seedu.duke.objects.Inventory; +import seedu.duke.utils.parsers.AddParser; +import seedu.duke.utils.parsers.RestockParser; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class RestockCommandTest { + Inventory inventory; + + /** + * Setup of a simple inventory list of size 1. + */ + public void setupInventory() { + inventory = new Inventory(); + AddParser addParser = new AddParser("n/orange upc/123 qty/5 p/5", inventory); + addParser.run(); + } + + @Test + public void restockItemLevelTest() { + System.out.println("restockItemLevelTest"); + setupInventory(); + RestockParser restockParser = new RestockParser("upc/123 qty/5", inventory); + restockParser.run(); + assertEquals(10, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void restockNegativeQuantityTest() { + System.out.println("restockNegativeQuantityTest"); + setupInventory(); + RestockParser restockParser = new RestockParser("upc/123 qty/-1", inventory); + restockParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void emptyRestockCommandTest() { + System.out.println("emptyRestockCommandTest"); + setupInventory(); + RestockParser restockParser = new RestockParser("upc/123 qty/", inventory); + restockParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void stringAsRestockInputTest() { + System.out.println("stringAsRestockInputTest"); + setupInventory(); + RestockParser restockParser = new RestockParser("upc/123 qty/Test", inventory); + restockParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void noQuantityInputTest() { + System.out.println("noQuantityInputTest"); + setupInventory(); + RestockParser restockParser = new RestockParser("upc/123", inventory); + restockParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void quantityWithSpaceTest() { + System.out.println("quantityWithSpaceTest"); + setupInventory(); + RestockParser restockParser = new RestockParser("upc/123 qty/ ", inventory); + restockParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void noSpacingBetweenParametersTest() { + System.out.println("noSpacingBetweenParametersTest"); + setupInventory(); + RestockParser restockParser = new RestockParser("upc/123qty/", inventory); + restockParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void wrongQuantityParameterTest() { + System.out.println("wrongQuantityParameterTest"); + setupInventory(); + RestockParser restockParser = new RestockParser("upc/123 q/-1", inventory); + restockParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void multipleDeclarationTest() { + System.out.println("multipleDeclarationTest"); + setupInventory(); + RestockParser restockParser = new RestockParser("upc/123 qty/-1 qty/5 upc/123", inventory); + restockParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void wrongUpcCodeTest() { + System.out.println("wrongUpcCodeTest"); + setupInventory(); + RestockParser restockParser = new RestockParser("upc/24234 qty/-1", inventory); + restockParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void noUpcCodeTest() { + System.out.println("noUpcCodeTest"); + setupInventory(); + RestockParser restockParser = new RestockParser("qty/5", inventory); + restockParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void multipleQuantityInputTest() { + System.out.println("multipleQuantityInputTest"); + setupInventory(); + RestockParser restockParser = new RestockParser("upc/123 qty/100 qty/6", inventory); + restockParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void outOfRangeQuantityTest() { + System.out.println("outOfRangeQuantityTest"); + setupInventory(); + RestockParser restockParser = new RestockParser("upc/123 qty/99999999999999", inventory); + restockParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } +} diff --git a/src/test/java/seedu/duke/commands/SearchCommandTest.java b/src/test/java/seedu/duke/commands/SearchCommandTest.java new file mode 100644 index 0000000000..907060af0c --- /dev/null +++ b/src/test/java/seedu/duke/commands/SearchCommandTest.java @@ -0,0 +1,200 @@ +package seedu.duke.commands; +import org.junit.jupiter.api.Test; +import seedu.duke.objects.Item; +import seedu.duke.objects.Inventory; +import seedu.duke.utils.parsers.AddParser; +import seedu.duke.utils.parsers.EditParser; +import seedu.duke.types.Types; +import seedu.duke.utils.parsers.RestockParser; +import seedu.duke.utils.parsers.SellParser; + + +import java.util.ArrayList; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; + +class SearchCommandTest { + Inventory inventory; + + /** + * Search integration tests with add and edit functions. + */ + @Test + void searchByKeywordAddEditTest(){ + inventory = new Inventory(); + AddParser addParser = new AddParser("n/orange upc/1 qty/5 p/5",inventory); + addParser.run(); + addParser = new AddParser("n/orange upc/2 qty/5 p/5",inventory); + addParser.run(); + SearchCommand searchCommand = new SearchCommand(inventory, "orange", Types.SearchType.KEYWORD); + ArrayList searchResults = searchCommand.searchKeyword(); + assertEquals(2, searchResults.size()); + EditParser editParser = new EditParser("upc/2 n/laptops", inventory); + editParser.run(); + searchCommand = new SearchCommand(inventory, "orange", Types.SearchType.KEYWORD); + searchResults = searchCommand.searchKeyword(); + assertEquals(1, searchResults.size()); + } + + /** + * Integration tests with remove function. + */ + @Test + void searchByKeywordRemoveTest(){ + inventory = new Inventory(); + AddParser addParser = new AddParser("n/orange upc/1 qty/5 p/5",inventory); + addParser.run(); + addParser = new AddParser("n/laptops upc/2 qty/5 p/5",inventory); + addParser.run(); + Command removeCommand = new RemoveCommand(inventory, "2"); + removeCommand.run(); + removeCommand = new RemoveCommand(inventory, "1"); + removeCommand.run(); + SearchCommand searchCommand = new SearchCommand(inventory, "orange", Types.SearchType.KEYWORD); + ArrayList searchResults = searchCommand.searchKeyword(); + assertEquals(null,searchResults); + addParser = new AddParser("n/orange upc/1 qty/5 p/5",inventory); + addParser.run(); + addParser = new AddParser("n/orange upc/2 qty/5 p/5",inventory); + addParser.run(); + removeCommand = new RemoveCommand(inventory, "2"); + removeCommand.run(); + searchCommand = new SearchCommand(inventory, "orange", Types.SearchType.KEYWORD); + searchResults = searchCommand.searchKeyword(); + assertEquals(1,searchResults.size()); + } + + /** + * Edge case test that happens when add, edit and remove are called. + */ + @Test + void searchByKeywordsEdgeCasesTest(){ + inventory = new Inventory(); + AddParser addParser = new AddParser("n/orange upc/1 qty/5 p/5",inventory); + addParser.run(); + addParser = new AddParser("n/orange upc/2 qty/5 p/5",inventory); + addParser.run(); + EditParser editParser = new EditParser("upc/2 n/laptops", inventory); + editParser.run(); + RemoveCommand removeCommand = new RemoveCommand(inventory, "2"); + removeCommand.run(); + addParser = new AddParser("n/orange upc/2 qty/5 p/5",inventory); + addParser.run(); + removeCommand = new RemoveCommand(inventory, "2"); + removeCommand.run(); + SearchCommand searchCommand = new SearchCommand(inventory, "orange", Types.SearchType.KEYWORD); + ArrayList searchResults = searchCommand.searchKeyword(); + assertEquals(1,searchResults.size()); + editParser = new EditParser("upc/1 n/laptops", inventory); + editParser.run(); + searchCommand = new SearchCommand(inventory, "orange", Types.SearchType.KEYWORD); + searchResults = searchCommand.searchKeyword(); + assertEquals(null, searchResults); + } + + /** + * Integration tests with sell and restock functions. + */ + + @Test + void searchByKeywordSellRestockTest(){ + inventory = new Inventory(); + AddParser addParser = new AddParser("n/orange upc/123 qty/5 p/5",inventory); + addParser.run(); + SearchCommand searchCommand = new SearchCommand(inventory, "orange", Types.SearchType.KEYWORD); + ArrayList searchResults = searchCommand.searchKeyword(); + assertEquals(1,searchResults.size()); + SellParser sellParser = new SellParser("upc/123 qty/1", inventory); + sellParser.run(); + searchCommand = new SearchCommand(inventory, "orange", Types.SearchType.KEYWORD); + searchResults = searchCommand.searchKeyword(); + assertEquals(1,searchResults.size()); + RestockParser restockParser = new RestockParser("upc/123 qty/5", inventory); + restockParser.run(); + searchCommand = new SearchCommand(inventory, "orange", Types.SearchType.KEYWORD); + searchResults = searchCommand.searchKeyword(); + assertEquals(1,searchResults.size()); + addParser = new AddParser("n/orange upc/2 qty/5 p/5",inventory); + addParser.run(); + sellParser = new SellParser("upc/2 qty/1", inventory); + sellParser.run(); + searchCommand = new SearchCommand(inventory, "orange", Types.SearchType.KEYWORD); + searchResults = searchCommand.searchKeyword(); + assertEquals(2,searchResults.size()); + restockParser = new RestockParser("upc/2 qty/5", inventory); + restockParser.run(); + searchCommand = new SearchCommand(inventory, "orange", Types.SearchType.KEYWORD); + searchResults = searchCommand.searchKeyword(); + assertEquals(2,searchResults.size()); + } + + /** + * Test for searchUPC function. + */ + + @Test + void searchByUPCTest(){ + inventory = new Inventory(); + AddParser addParser = new AddParser("n/orange upc/1 qty/5 p/5",inventory); + addParser.run(); + addParser = new AddParser("n/orange upc/2 qty/5 p/5",inventory); + addParser.run(); + SearchCommand searchCommand = new SearchCommand(inventory, "2", Types.SearchType.UPC); + Item searchResult = searchCommand.searchUPC(); + assertNotNull(searchResult); + searchCommand = new SearchCommand(inventory, "3", Types.SearchType.UPC); + searchResult = searchCommand.searchUPC(); + assertNull(searchResult); + Command removeCommand = new RemoveCommand(inventory, "2"); + removeCommand.run(); + searchCommand = new SearchCommand(inventory, "2", Types.SearchType.UPC); + searchResult = searchCommand.searchUPC(); + assertNull(searchResult); + EditParser editParser = new EditParser("upc/1 n/laptops", inventory); + editParser.run(); + searchCommand = new SearchCommand(inventory, "1", Types.SearchType.UPC); + searchResult = searchCommand.searchUPC(); + assertNotNull(searchResult); + } + + /** + * + */ + @Test + void searchDuplicationTest(){ + inventory = new Inventory(); + AddParser addParser = new AddParser("n/iphone 20 pro max max max upc/0123241 qty/10 p/2000",inventory); + addParser.run(); + SearchCommand searchCommand = new SearchCommand(inventory, "max", Types.SearchType.KEYWORD); + ArrayList searchResults = searchCommand.searchKeyword(); + assertEquals(1,searchResults.size()); + } + + /** + * + */ + @Test + void searchMultipleKeywordTest(){ + inventory = new Inventory(); + AddParser addParser = new AddParser("n/laptop sleeves upc/111 qty/10 p/15",inventory); + addParser.run(); + addParser = new AddParser("n/laptop upc/222 qty/10 p/1500",inventory); + addParser.run(); + addParser = new AddParser("n/shirt sleeves upc/333 qty/10 p/5",inventory); + addParser.run(); + SearchCommand searchCommand = new SearchCommand(inventory, "shirt", Types.SearchType.KEYWORD); + ArrayList searchResults = searchCommand.searchKeyword(); + assertEquals(1,searchResults.size()); + searchCommand = new SearchCommand(inventory, "sleeves", Types.SearchType.KEYWORD); + searchResults = searchCommand.searchKeyword(); + assertEquals(2,searchResults.size()); + searchCommand = new SearchCommand(inventory, "laptop sleeves", Types.SearchType.KEYWORD); + searchResults = searchCommand.searchKeyword(); + assertEquals(1,searchResults.size()); + searchCommand = new SearchCommand(inventory, "shirt sleeves", Types.SearchType.KEYWORD); + searchResults = searchCommand.searchKeyword(); + assertEquals(1,searchResults.size()); + } +} diff --git a/src/test/java/seedu/duke/commands/SellCommandTest.java b/src/test/java/seedu/duke/commands/SellCommandTest.java new file mode 100644 index 0000000000..9860633acb --- /dev/null +++ b/src/test/java/seedu/duke/commands/SellCommandTest.java @@ -0,0 +1,129 @@ +package seedu.duke.commands; + +import org.junit.jupiter.api.Test; +import seedu.duke.objects.Inventory; +import seedu.duke.utils.parsers.AddParser; +import seedu.duke.utils.parsers.SellParser; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class SellCommandTest { + Inventory inventory; + + /** + * Setup of a simple inventory list of size 1. + */ + public void setupInventory() { + inventory = new Inventory(); + AddParser addParser = new AddParser("n/orange upc/123 qty/5 p/5", inventory); + addParser.run(); + } + + /** + * Test for all scenarios of user inputs for the "sell" command. + */ + @Test + public void sellItemTest() { + setupInventory(); + SellParser sellParser = new SellParser("upc/123 qty/1", inventory); + sellParser.run(); + assertEquals(4, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void negativeQuantityTest() { + setupInventory(); + SellParser sellParser = new SellParser("upc/123 qty/-1", inventory); + sellParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void noQuantityInputTest() { + setupInventory(); + SellParser sellParser = new SellParser("upc/123 qty/", inventory); + sellParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void spaceInputsTest() { + setupInventory(); + SellParser sellParser = new SellParser("upc/123 qty/ ", inventory); + sellParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void unknownParameterTest() { + setupInventory(); + SellParser sellParser = new SellParser("upc/123 qty/1 n/orange", inventory); + sellParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void noQuantityParameterTest() { + setupInventory(); + SellParser sellParser = new SellParser("upc/123 test", inventory); + sellParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void noParameterTest() { + setupInventory(); + SellParser sellParser = new SellParser("upc/123", inventory); + sellParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void nonExistentUpcTest() { + setupInventory(); + SellParser sellParser = new SellParser("upc/12 qty/1", inventory); + sellParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void sellMoreThanTotalQuantityTest() { + setupInventory(); + SellParser sellParser = new SellParser("upc/123 qty/1000", inventory); + sellParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void noSpacingTest() { + setupInventory(); + SellParser sellParser = new SellParser("upc/123qty/1", inventory); + sellParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void stringInputTest() { + setupInventory(); + SellParser sellParser = new SellParser("upc/123 qty/dog", inventory); + sellParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void noUpcCodeTest() { + setupInventory(); + SellParser sellParser = new SellParser("upc/", inventory); + sellParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + + @Test + public void rangeLimitTest() { + setupInventory(); + SellParser sellParser = new SellParser("upc/123 qty/999999999999", inventory); + sellParser.run(); + assertEquals(5, inventory.getItemInventory().get(0).getQuantity()); + } + +} diff --git a/src/test/java/seedu/duke/parsers/AddParserTest.java b/src/test/java/seedu/duke/parsers/AddParserTest.java new file mode 100644 index 0000000000..554bb493c3 --- /dev/null +++ b/src/test/java/seedu/duke/parsers/AddParserTest.java @@ -0,0 +1,148 @@ +package seedu.duke.parsers; + +import org.junit.jupiter.api.Test; +import seedu.duke.objects.Inventory; +import seedu.duke.utils.parsers.AddParser; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * JUnit test class for AddParser + * Conducts the following test cases: + * 1. Add item with all parameters + * 2. Add item with missing parameter(s) + * 3. Add item with invalid parameter(s) + */ +class AddParserTest { + + @Test + void addItemWithAllParameters() { + String commandInfo = "n/Test Item 1 upc/12345678910 qty/56 p/2.1"; + Inventory inventory = new Inventory(); + AddParser addParser = new AddParser(commandInfo, inventory); + addParser.run(); + assertEquals(1, inventory.getItemInventory().size()); + } + + @Test + void addItemWithOneMissingParameter() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + String commandInfo = "n/Test Item 1 qty/56 p/2.1"; + Inventory inventory = new Inventory(); + AddParser addParser = new AddParser(commandInfo, inventory); + addParser.run(); + assertEquals(0, inventory.getItemInventory().size()); + String expectedOutput = "Wrong/Incomplete Entry For Add!";; + assertTrue(outContent.toString().contains(expectedOutput)); + } + + @Test + void addItemWithMultipleMissingParameters() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + String commandInfo = "n/Test Item 1 qty/56"; + Inventory inventory = new Inventory(); + AddParser addParser = new AddParser(commandInfo, inventory); + addParser.run(); + assertEquals(0, inventory.getItemInventory().size()); + String expectedOutput = "Wrong/Incomplete Entry For Add!"; + assertTrue(outContent.toString().contains(expectedOutput)); + } + + @Test + void addItemWithEmptyParameter() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + String commandInfo = ""; + Inventory inventory = new Inventory(); + AddParser addParser = new AddParser(commandInfo, inventory); + addParser.run(); + assertEquals(0, inventory.getItemInventory().size()); + String expectedOutput = "Wrong/Incomplete Entry For Add! Please refer to UG for more information\n" + + "Sample Format: \"add n/[name] upc/[UPC] qty/[quantity] p/[price] c/[category]\""; + assertTrue(outContent.toString().contains(expectedOutput)); + } + + @Test + void addItemWithOutOfRangeQty() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + String commandInfo = "n/Test Item 1 upc/12345678910 qty/56000000000000 p/2.1"; + Inventory inventory = new Inventory(); + AddParser addParser = new AddParser(commandInfo, inventory); + addParser.run(); + assertEquals(0, inventory.getItemInventory().size()); + String expectedOutput = "The number you have entered exceeds the maximum limit of 99,999,999."; + assertTrue(outContent.toString().contains(expectedOutput)); + } + + @Test + void addItemWithOutOfRangePrice() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + String commandInfo = "n/Test Item 1 upc/12345678910 qty/5 p/123456789123456.52"; + Inventory inventory = new Inventory(); + AddParser addParser = new AddParser(commandInfo, inventory); + addParser.run(); + assertEquals(0, inventory.getItemInventory().size()); + String expectedOutput = "The number you have entered exceeds the maximum limit of 99,999,999."; + assertTrue(outContent.toString().contains(expectedOutput)); + } + + @Test + void addItemWithEmptyValues() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + String commandInfo = "n/Test Item 1 upc/ qty/ p/"; + Inventory inventory = new Inventory(); + AddParser addParser = new AddParser(commandInfo, inventory); + addParser.run(); + assertEquals(0, inventory.getItemInventory().size()); + String expectedOutput = "Wrong/Incomplete Entry For Add!"; + assertTrue(outContent.toString().contains(expectedOutput)); + } + + @Test + void addItemWithWrongUPCType() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + String commandInfo = "n/Test Item 1 upc/abcdefg qty/1 p/2.5"; + Inventory inventory = new Inventory(); + AddParser addParser = new AddParser(commandInfo, inventory); + addParser.run(); + assertEquals(0, inventory.getItemInventory().size()); + String expectedOutput = "Wrong/Incomplete Entry For Add!"; + assertTrue(outContent.toString().contains(expectedOutput)); + } + + @Test + void addItemWithWrongQtyType() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + String commandInfo = "n/Test Item 1 upc/12345678910 qty/abc p/2.5"; + Inventory inventory = new Inventory(); + AddParser addParser = new AddParser(commandInfo, inventory); + addParser.run(); + assertEquals(0, inventory.getItemInventory().size()); + String expectedOutput = "Wrong/Incomplete Entry For Add!"; + assertTrue(outContent.toString().contains(expectedOutput)); + } + + @Test + void addItemWithWrongPriceType() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + String commandInfo = "n/Test Item 1 upc/12345678910 qty/2 p/ttthhhasasad"; + Inventory inventory = new Inventory(); + AddParser addParser = new AddParser(commandInfo, inventory); + addParser.run(); + assertEquals(0, inventory.getItemInventory().size()); + String expectedOutput = "Wrong/Incomplete Entry For Add!"; + assertTrue(outContent.toString().contains(expectedOutput)); + } +} diff --git a/src/test/java/seedu/duke/parsers/AlertParserTest.java b/src/test/java/seedu/duke/parsers/AlertParserTest.java new file mode 100644 index 0000000000..4675075d15 --- /dev/null +++ b/src/test/java/seedu/duke/parsers/AlertParserTest.java @@ -0,0 +1,99 @@ +package seedu.duke.parsers; + +import org.junit.jupiter.api.Test; +import seedu.duke.commands.AddAlertCommand; +import seedu.duke.commands.AddCommand; +import seedu.duke.commands.Command; +import seedu.duke.objects.Alert; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.utils.parsers.AlertParser; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class AlertParserTest { + + Inventory inventory; + + @Test + void addAlertAllParameters() { + inventory = new Inventory(); + Item newItem = new Item("apples", "1234", 6, 15.0); + Command command = new AddCommand(inventory, newItem); + command.run(); + + String minAlert = "add upc/1234 min/2"; + String maxAlert = "add upc/1234 max/10"; + + AlertParser alertParserMin = new AlertParser(minAlert, inventory); + alertParserMin.run(); + AlertParser alertParserMax = new AlertParser(maxAlert, inventory); + alertParserMax.run(); + + assertEquals(1, inventory.getAlertList().getMinAlertUpcs().size()); + assertEquals(1, inventory.getAlertList().getMaxAlertUpcs().size()); + } + + @Test + void addAlertInvalidFormat() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + + String rawInput = "add upc/1234 min 2"; + AlertParser alertParser = new AlertParser(rawInput, inventory); + alertParser.run(); + + String expectedOutput = "Wrong/Incomplete Entry For Add Alert!"; + assertTrue(outContent.toString().contains(expectedOutput)); + + } + + @Test + void removeAlertAllParameters() { + inventory = new Inventory(); + Item newItem = new Item("apples", "1234", 6, 15.0); + Command command = new AddCommand(inventory, newItem); + command.run(); + + String inventoryUpc = inventory.getItemInventory().get(0).getUpc(); + Alert maxAlert = new Alert(inventoryUpc, "max", "10"); + Command addAlertCommandMax = new AddAlertCommand(inventory, maxAlert); + addAlertCommandMax.run(); + assertEquals(1, inventory.getAlertList().getMaxAlertUpcs().size()); + + Alert minAlert = new Alert(inventoryUpc, "min", "2"); + Command addAlertCommandMin = new AddAlertCommand(inventory, minAlert); + addAlertCommandMin.run(); + assertEquals(1, inventory.getAlertList().getMinAlertUpcs().size()); + + String removeMaxAlert = "remove upc/1234 level/max"; + AlertParser alertParserMax = new AlertParser(removeMaxAlert, inventory); + alertParserMax.run(); + assertEquals(0, inventory.getAlertList().getMaxAlertUpcs().size()); + + String removeMinAlert = "remove upc/1234 level/min"; + AlertParser alertParserMin = new AlertParser(removeMinAlert, inventory); + alertParserMin.run(); + assertEquals(0, inventory.getAlertList().getMinAlertUpcs().size()); + + } + + @Test + void removeAlertInvalidFormat() { + ByteArrayOutputStream outContent = new ByteArrayOutputStream(); + System.setOut(new PrintStream(outContent)); + + String rawInput = "remove upc/1234 level/abcd"; + AlertParser alertParser = new AlertParser(rawInput, inventory); + alertParser.run(); + + String expectedOutput = "Wrong/Incomplete Entry For Remove Alert!"; + assertTrue(outContent.toString().contains(expectedOutput)); + + } + +} diff --git a/src/test/java/seedu/duke/parsers/FilterParserTest.java b/src/test/java/seedu/duke/parsers/FilterParserTest.java new file mode 100644 index 0000000000..6125d78b99 --- /dev/null +++ b/src/test/java/seedu/duke/parsers/FilterParserTest.java @@ -0,0 +1,75 @@ +package seedu.duke.parsers; + +import org.junit.jupiter.api.Test; +import seedu.duke.objects.Inventory; +import seedu.duke.stubsmocks.FilterParserMock; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class FilterParserTest { + /** + * Runs FilterParserMock for a given input and returns whether the input was parsed successfully. + * Trims input to simulate trimming in ParserHandler + * + * @param input Simulated user input test string + * @return Returns whether the parse was successful + */ + private boolean getMockFilterResult(String input){ + Inventory inventory = new Inventory(); + input = input.trim(); + FilterParserMock filterParserMock = new FilterParserMock(input, inventory); + filterParserMock.run(); + return filterParserMock.isValidParse(); + } + @Test + void filterPricePositiveTests(){ + assertTrue(getMockFilterResult("f/price p/gt 10")); + assertTrue(getMockFilterResult("f/price p/gt 10.23")); + assertTrue(getMockFilterResult("f/price p/get 10")); + assertTrue(getMockFilterResult("f/price p/get 10.23")); + assertTrue(getMockFilterResult("f/price p/lt 10")); + assertTrue(getMockFilterResult("f/price p/lt 10.23")); + assertTrue(getMockFilterResult("f/price p/let 10")); + assertTrue(getMockFilterResult("f/price p/let 10.23")); + } + + @Test + void filterPriceNegativeTests(){ + assertFalse(getMockFilterResult("f/price p/gt 10e")); + assertFalse(getMockFilterResult("f/price p/g2t 10")); + assertFalse(getMockFilterResult("f/price p/gt ")); + assertFalse(getMockFilterResult("f/price")); + assertFalse(getMockFilterResult("f/price p/get 10e")); + assertFalse(getMockFilterResult("f/price p/get ")); + assertFalse(getMockFilterResult("f/price p/lt 10e")); + assertFalse(getMockFilterResult("f/price p/l2t 10")); + assertFalse(getMockFilterResult("f/price p/lt ")); + assertFalse(getMockFilterResult("f/price p/let 10e")); + assertFalse(getMockFilterResult("f/price p/let ")); + assertFalse(getMockFilterResult("f/price p//lt 10")); + assertFalse(getMockFilterResult("f/price weird 10")); + } + + @Test + void filterCategoryPositiveTests(){ + assertTrue(getMockFilterResult("f/category p/gt 10")); + assertTrue(getMockFilterResult("f/category testing")); + assertTrue(getMockFilterResult("f/category aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")); + } + + @Test + void filterCategoryNegativeTests(){ + assertFalse(getMockFilterResult("f/category")); + assertFalse(getMockFilterResult("f/category ")); + assertFalse(getMockFilterResult("f/category ")); + assertFalse(getMockFilterResult("f/category ")); + } + @Test + void miscellaneousFilterNegativeTests(){ + assertFalse(getMockFilterResult("f/categori ee")); + assertFalse(getMockFilterResult("f/cat ee")); + assertFalse(getMockFilterResult("random words")); + assertFalse(getMockFilterResult("price p/gt 10")); + } +} diff --git a/src/test/java/seedu/duke/parsers/HistoryParserTest.java b/src/test/java/seedu/duke/parsers/HistoryParserTest.java new file mode 100644 index 0000000000..0d40a2bf3f --- /dev/null +++ b/src/test/java/seedu/duke/parsers/HistoryParserTest.java @@ -0,0 +1,40 @@ +package seedu.duke.parsers; + +import org.junit.jupiter.api.Test; +import seedu.duke.objects.Inventory; +import seedu.duke.stubsmocks.HistoryParserMock; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class HistoryParserTest { + /** + * Runs HistoryParserMock for a given input and returns whether the input was parsed successfully. + * Trims input to simulate trimming in ParserHandler + * + * @param input Simulated user input test string + * @return Returns whether the parse was successful + */ + private boolean getMockHistoryResult(String input){ + Inventory inventory = new Inventory(); + input = input.trim(); + HistoryParserMock historyParserMock = new HistoryParserMock(input, inventory); + historyParserMock.run(); + return historyParserMock.isValidParse(); + } + @Test + void historyParserPositiveTests(){ + assertTrue(getMockHistoryResult("123131")); + assertTrue(getMockHistoryResult("123-131")); + assertTrue(getMockHistoryResult("upcButWordsInAWeirdSystem")); + } + @Test + void historyParserNegativeTests(){ + assertFalse(getMockHistoryResult("")); + assertFalse(getMockHistoryResult(" ")); + assertFalse(getMockHistoryResult(" ")); + assertFalse(getMockHistoryResult(" ")); + assertFalse(getMockHistoryResult("123 131")); + assertFalse(getMockHistoryResult("123 131 23 132 13 12 31")); + } +} diff --git a/src/test/java/seedu/duke/parsers/SearchParserTest.java b/src/test/java/seedu/duke/parsers/SearchParserTest.java new file mode 100644 index 0000000000..3d0ad18cb5 --- /dev/null +++ b/src/test/java/seedu/duke/parsers/SearchParserTest.java @@ -0,0 +1,53 @@ +package seedu.duke.parsers; + +import org.junit.jupiter.api.Test; +import seedu.duke.objects.Inventory; +import seedu.duke.stubsmocks.SearchParserMock; +import seedu.duke.types.Types; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class SearchParserTest { + /** + * Runs SearchParserMock for a given input and returns whether the input was parsed successfully + * Trims input to simulate trimming in ParserHandler + * + * @param input Simulated user input test string + * @param searchType Type of search to be conducted + * @return Returns whether the parse was successful + */ + private boolean getMockSearchResult(String input, Types.SearchType searchType){ + Inventory inventory = new Inventory(); + input = input.trim(); + SearchParserMock searchParserMock = new SearchParserMock(input, inventory, searchType); + searchParserMock.run(); + return searchParserMock.isValidParse(); + } + @Test + void searchKeywordPositiveTests(){ + assertTrue(getMockSearchResult("test", Types.SearchType.KEYWORD)); + assertTrue(getMockSearchResult("test 2", Types.SearchType.KEYWORD)); + assertTrue(getMockSearchResult("test multiple words in a line", Types.SearchType.KEYWORD)); + } + @Test + void searchKeywordNegativeTests(){ + assertFalse(getMockSearchResult("", Types.SearchType.KEYWORD)); + assertFalse(getMockSearchResult(" ", Types.SearchType.KEYWORD)); + assertFalse(getMockSearchResult(" ", Types.SearchType.KEYWORD)); + } + @Test + void searchUPCPositiveTests(){ + assertTrue(getMockSearchResult("123", Types.SearchType.UPC)); + assertTrue(getMockSearchResult("241704928709481720487083728730", Types.SearchType.UPC)); + } + @Test + void searchUPCNegativeTests(){ + assertFalse(getMockSearchResult("", Types.SearchType.UPC)); + assertFalse(getMockSearchResult(" ", Types.SearchType.UPC)); + assertFalse(getMockSearchResult(" ", Types.SearchType.UPC)); + assertFalse(getMockSearchResult("123 a", Types.SearchType.UPC)); + assertFalse(getMockSearchResult("123 2231131", Types.SearchType.UPC)); + assertFalse(getMockSearchResult("124 24142 412 4124 124 ", Types.SearchType.UPC)); + } +} diff --git a/src/test/java/seedu/duke/stubsmocks/FilterParserMock.java b/src/test/java/seedu/duke/stubsmocks/FilterParserMock.java new file mode 100644 index 0000000000..b30465f40f --- /dev/null +++ b/src/test/java/seedu/duke/stubsmocks/FilterParserMock.java @@ -0,0 +1,96 @@ +package seedu.duke.stubsmocks; + + +import seedu.duke.exceptions.SearchFilterErrorException; +import seedu.duke.objects.Inventory; + +import seedu.duke.utils.parsers.FilterParser; + +public class FilterParserMock extends FilterParser { + private boolean isValidParse; + public FilterParserMock(String rawInput, Inventory inventory) { + super(rawInput, inventory); + } + + public boolean isValidParse(){ + return isValidParse; + } + /** + * Mimics the logic of the parseFilterPrice command in the FilterParser class and sets the variable isValidParse + * to whether the parse would have been successful + * + * @param commands filter type and price + * @param inventory inventory to sort the items + */ + @Override + public void parseFilterPrice(String[] commands, Inventory inventory) { + try { + double price = Double.parseDouble(commands[PRICE_INDEX]); + switch (commands[PRICE_MODE_INDEX]) { + case "p/lt": + case "p/gt": + case "p/let": + case "p/get": + isValidParse = true; + break; + default: + throw new SearchFilterErrorException(); + + } + } catch (SearchFilterErrorException | NumberFormatException e) { + isValidParse = false; + } + } + + /** + * Mimics the logic of the parseFilterCategory command in the FilterParser class and sets the variable isValidParse + * to whether the parse would have been successful + * + * @param commands keywords in a string array + * @param mode filter mode + * @param inventory inventory to filter items from + */ + @Override + public void parseFilterCategory(String[] commands, String mode, Inventory inventory) { + String keyword = ""; + for (int i = KEYWORD_START_INDEX; i < commands.length; i++) { + keyword += commands[i]; + keyword += ' '; + } + keyword = keyword.trim(); + isValidParse = true; + } + /** + * First checks if there is actual input. + * Next delegates parsing to the correct method. + * + */ + @Override + public void run(){ + try { + if (rawInput == null) { + throw new SearchFilterErrorException(); + } + String[] commands = rawInput.split(" "); + switch (commands[FILTER_MODE_FLAG]) { + case "f/price": + if (commands.length != PRICE_LENGTH) { + throw new SearchFilterErrorException(); + } + parseFilterPrice(commands, inventory); + break; + case "f/category": + if (commands.length < CATEGORY_LENGTH) { + throw new SearchFilterErrorException(); + } + parseFilterCategory(commands, commands[CATEGORY_FLAG], inventory); + break; + default: + isValidParse = false; + throw new SearchFilterErrorException(); + } + } catch (SearchFilterErrorException e) { + isValidParse = false; + } + } +} diff --git a/src/test/java/seedu/duke/stubsmocks/HistoryParserMock.java b/src/test/java/seedu/duke/stubsmocks/HistoryParserMock.java new file mode 100644 index 0000000000..4f8c98f950 --- /dev/null +++ b/src/test/java/seedu/duke/stubsmocks/HistoryParserMock.java @@ -0,0 +1,40 @@ +package seedu.duke.stubsmocks; + +import seedu.duke.exceptions.HistoryErrorException; +import seedu.duke.objects.Inventory; +import seedu.duke.utils.parsers.HistoryParser; + +public class HistoryParserMock extends HistoryParser { + private boolean isValidParse; + public HistoryParserMock(String rawInput, Inventory inventory) { + super(rawInput, inventory); + } + public boolean isValidParse(){ + return isValidParse; + } + /** + * Trims the input and then runs the history parser. + */ + @Override + public void run() { + rawInput = rawInput.trim(); + parseHistory(); + } + + /** + * Mimics the logic of the parseHistory command in the HistoryParser class and sets the variable isValidParse + * to whether the parse would have been successful + * + */ + private void parseHistory() { + try{ + if(rawInput.split(" ").length!=HISTORY_COMMAND_LENGTH || rawInput.length() SEARCH_UPC_COMMAND_LENGTH || rawInput.length() == EMPTY) { + isValidParse = false; + return; + } + isValidParse = true; + } + /** + * Mimics the logic of the parseSearch command in the SearchParser class and sets the variable isValidParse + * to whether the parse would have been successful + * + * @param rawInput The user input string to be validated. + * @param inventory The inventory in which the search is done + * @param searchType The type of search to be conducted + */ + @Override + public void parseSearch(String rawInput, Inventory inventory, Types.SearchType searchType) { + if (rawInput == null || rawInput.length() == EMPTY) { + isValidParse = false; + return; + } + isValidParse = true; + } + @Override + public void run(){ + if(searchType == Types.SearchType.KEYWORD){ + parseSearch(rawInput, inventory, searchType); + }else{ + parseSearchUPC(rawInput, inventory, searchType); + } + } +} diff --git a/src/test/java/seedu/duke/utils/SessionManagerTest.java b/src/test/java/seedu/duke/utils/SessionManagerTest.java new file mode 100644 index 0000000000..42bdd7402b --- /dev/null +++ b/src/test/java/seedu/duke/utils/SessionManagerTest.java @@ -0,0 +1,15 @@ +package seedu.duke.utils; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class SessionManagerTest { + + @Test + void setAutoSave() { + SessionManager.setAutoSave(true); + Assertions.assertTrue(SessionManager.getAutoSave()); + SessionManager.setAutoSave(false); + Assertions.assertFalse(SessionManager.getAutoSave()); + } +} diff --git a/src/test/java/seedu/duke/utils/StorageTest.java b/src/test/java/seedu/duke/utils/StorageTest.java new file mode 100644 index 0000000000..f1df316a42 --- /dev/null +++ b/src/test/java/seedu/duke/utils/StorageTest.java @@ -0,0 +1,32 @@ +package seedu.duke.utils; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import seedu.duke.commands.AddCommand; +import seedu.duke.objects.Inventory; +import seedu.duke.objects.Item; +import seedu.duke.types.Types; + +import java.time.LocalDateTime; + +class StorageTest { + + @Test + public synchronized void testCSVReadWrite() { + Inventory testInventory = new Inventory(); + Item testItem = new Item("testItem", "123456789012", 10, 10.0, LocalDateTime.now()); + Item testItem2 = new Item("test Punctuation-items,here", "123456789013", 10, 10.0, + LocalDateTime.now()); + AddCommand addCommand = new AddCommand(testInventory, testItem); + addCommand.run(); + addCommand = new AddCommand(testInventory, testItem2); + addCommand.run(); + Storage.writeCSV(testInventory); + Assertions.assertTrue(Storage.readCSV(Types.SESSIONFILEPATH).getItemInventory().contains(testItem)); + Assertions.assertTrue(Storage.readCSV(Types.SESSIONFILEPATH).getItemInventory().contains(testItem2)); + Assertions.assertEquals("testItem", Storage.readCSV(Types.SESSIONFILEPATH).getItemInventory(). + get(0).getName()); + Assertions.assertEquals("test Punctuation-items,here", Storage.readCSV(Types.SESSIONFILEPATH). + getItemInventory().get(1).getName()); + } +} diff --git a/text-ui-test/ACTUAL.TXT b/text-ui-test/ACTUAL.TXT new file mode 100644 index 0000000000..50b950424e --- /dev/null +++ b/text-ui-test/ACTUAL.TXT @@ -0,0 +1,12 @@ +____________________________________________________________ + /| //| | // | | // ) ) // / / // ) ) + //| // | | //__| | // // / / (( + // | // | | / ___ | // ____ // / / \\\\ + // | // | | // | | // / / // / / ) ) +// |// | | // | | ((____/ / ((___/ / ((___ / / +Welcome to MagusStock. How may I assist you today? +____________________________________________________________ +INFO: Empty/No Session Inventory file found. +____________________________________________________________ +Hope you had an enjoyable experience. See you next time! +____________________________________________________________ diff --git a/text-ui-test/EXPECTED.TXT b/text-ui-test/EXPECTED.TXT index 892cb6cae7..50b950424e 100644 --- a/text-ui-test/EXPECTED.TXT +++ b/text-ui-test/EXPECTED.TXT @@ -1,9 +1,12 @@ -Hello from - ____ _ -| _ \ _ _| | _____ -| | | | | | | |/ / _ \ -| |_| | |_| | < __/ -|____/ \__,_|_|\_\___| - -What is your name? -Hello James Gosling +____________________________________________________________ + /| //| | // | | // ) ) // / / // ) ) + //| // | | //__| | // // / / (( + // | // | | / ___ | // ____ // / / \\\\ + // | // | | // | | // / / // / / ) ) +// |// | | // | | ((____/ / ((___/ / ((___ / / +Welcome to MagusStock. How may I assist you today? +____________________________________________________________ +INFO: Empty/No Session Inventory file found. +____________________________________________________________ +Hope you had an enjoyable experience. See you next time! +____________________________________________________________ diff --git a/text-ui-test/input.txt b/text-ui-test/input.txt index f6ec2e9f95..ae3bc0a936 100644 --- a/text-ui-test/input.txt +++ b/text-ui-test/input.txt @@ -1 +1 @@ -James Gosling \ No newline at end of file +exit \ No newline at end of file diff --git a/text-ui-test/runtest.bat b/text-ui-test/runtest.bat index 25ac7a2989..98dc41fe21 100644 --- a/text-ui-test/runtest.bat +++ b/text-ui-test/runtest.bat @@ -1,19 +1,4 @@ @echo off setlocal enableextensions -pushd %~dp0 - -cd .. -call gradlew clean shadowJar - -cd build\libs -for /f "tokens=*" %%a in ( - 'dir /b *.jar' -) do ( - set jarloc=%%a -) - -java -jar %jarloc% < ..\..\text-ui-test\input.txt > ..\..\text-ui-test\ACTUAL.TXT - -cd ..\..\text-ui-test FC ACTUAL.TXT EXPECTED.TXT >NUL && ECHO Test passed! || Echo Test failed! diff --git a/text-ui-test/runtest.bat.bak b/text-ui-test/runtest.bat.bak new file mode 100644 index 0000000000..cc35805dd7 --- /dev/null +++ b/text-ui-test/runtest.bat.bak @@ -0,0 +1,16 @@ +@echo off +setlocal enableextensions +pushd %~dp0 + +cd .. + +cd build\libs +for /f "tokens=*" %%a in ( + 'dir /b *.jar' +) do ( + set jarloc=%%a +) + +cd ..\..\text-ui-test + +FC ACTUAL.TXT EXPECTED.TXT >NUL && ECHO Test passed! || Echo Test failed! diff --git a/text-ui-test/runtest.sh b/text-ui-test/runtest.sh index 1dcbd12021..8fb4802078 100755 --- a/text-ui-test/runtest.sh +++ b/text-ui-test/runtest.sh @@ -1,5 +1,4 @@ #!/usr/bin/env bash - # change to script directory cd "${0%/*}" @@ -8,8 +7,6 @@ cd .. cd text-ui-test -java -jar $(find ../build/libs/ -mindepth 1 -print -quit) < input.txt > ACTUAL.TXT - cp EXPECTED.TXT EXPECTED-UNIX.TXT dos2unix EXPECTED-UNIX.TXT ACTUAL.TXT diff EXPECTED-UNIX.TXT ACTUAL.TXT @@ -21,3 +18,5 @@ else echo "Test failed!" exit 1 fi +echo "Test passed!" +exit 0 \ No newline at end of file