From 59143c145e188cae190913a293ab9afbdb08e65c Mon Sep 17 00:00:00 2001 From: Steve Date: Sun, 5 Jan 2025 18:18:39 +0000 Subject: [PATCH] 2021-11-05 pre-Highcharts --- .vs/Steves_Code/v17/.wsuo | Bin 0 -> 11776 bytes .vs/Steves_Code/v17/DocumentLayout.json | 12 + .vs/VSWorkspaceState.json | 7 + Websites/SharePrices/.vs/SharePrices/v17/.suo | Bin 0 -> 50176 bytes .../v17/DocumentLayout.backup.json | 12 + .../.vs/SharePrices/v17/DocumentLayout.json | 12 + Websites/SharePrices/SharePrices.v12.suo | Bin 58880 -> 60928 bytes .../SharePrices/App_Code/DataAccessLayer.vb | 39 +- .../SharePrices/CreateDBSchema.sql | 436 ++- .../SharePrices/SharePrices/FlotTest.html | 79 + Websites/SharePrices/SharePrices/Global.asax | 1 + .../SharePrices/SharePrices/Global.asax.vb | 42 + .../SharePrices/SharePrices/LayoutTest.html | 63 + .../SharePrices/SharePrices/SharePrices.aspx | 147 +- .../SharePrices/SharePrices.aspx.vb | 193 +- .../SharePrices/SharePrices.vbproj | 28 + .../SharePrices/SharePricesModal.css | 38 +- .../SharePrices/SharePricesStyles.css | 225 +- Websites/SharePrices/SharePrices/Web.config | 9 +- .../SharePrices/bin/SharePrices.dll | Bin 38400 -> 43008 bytes .../SharePrices/bin/SharePrices.dll.config | 9 +- .../SharePrices/bin/SharePrices.pdb | Bin 60928 -> 69120 bytes .../icons/992649-technology/eps/001-watch.eps | 96 + .../eps/002-video-player.eps | 93 + .../992649-technology/eps/003-checked.eps | 135 + .../992649-technology/eps/004-up-arrow.eps | 87 + .../992649-technology/eps/005-profits.eps | 89 + .../icons/992649-technology/eps/006-trash.eps | 97 + .../icons/992649-technology/eps/007-clock.eps | 88 + .../icons/992649-technology/eps/008-sync.eps | 102 + .../icons/992649-technology/eps/009-mail.eps | 99 + .../992649-technology/eps/010-curve-arrow.eps | 84 + .../992649-technology/eps/011-settings-1.eps | 114 + .../992649-technology/eps/012-search.eps | 91 + .../992649-technology/eps/013-review.eps | 91 + .../992649-technology/eps/014-line-chart.eps | 89 + .../992649-technology/eps/015-user-1.eps | 91 + .../icons/992649-technology/eps/016-image.eps | 97 + .../992649-technology/eps/017-phone-call.eps | 89 + .../992649-technology/eps/018-signature.eps | 95 + .../icons/992649-technology/eps/019-paste.eps | 94 + .../eps/020-paint-palette.eps | 113 + .../992649-technology/eps/021-chat-2.eps | 108 + .../icons/992649-technology/eps/022-new.eps | 113 + .../icons/992649-technology/eps/023-more.eps | 93 + .../icons/992649-technology/eps/024-minus.eps | 86 + .../992649-technology/eps/025-marker-1.eps | 88 + .../icons/992649-technology/eps/026-send.eps | 86 + .../992649-technology/eps/027-logout.eps | 91 + .../992649-technology/eps/028-padlock.eps | 97 + .../icons/992649-technology/eps/029-list.eps | 131 + .../icons/992649-technology/eps/030-layer.eps | 89 + .../992649-technology/eps/031-keyboard.eps | 132 + .../992649-technology/eps/032-add-user.eps | 97 + .../992649-technology/eps/033-highlighter.eps | 108 + .../icons/992649-technology/eps/034-help.eps | 96 + .../icons/992649-technology/eps/035-heart.eps | 90 + .../icons/992649-technology/eps/036-inbox.eps | 92 + .../icons/992649-technology/eps/037-flash.eps | 88 + .../992649-technology/eps/038-marker.eps | 88 + .../992649-technology/eps/039-settings.eps | 107 + .../992649-technology/eps/040-folder.eps | 87 + .../992649-technology/eps/041-chat-1.eps | 129 + .../992649-technology/eps/042-eraser.eps | 85 + .../icons/992649-technology/eps/043-edit.eps | 97 + .../992649-technology/eps/044-download.eps | 94 + .../992649-technology/eps/045-check-1.eps | 87 + .../icons/992649-technology/eps/046-file.eps | 99 + .../992649-technology/eps/047-cancel-1.eps | 93 + .../icons/992649-technology/eps/048-user.eps | 92 + .../icons/992649-technology/eps/049-chat.eps | 101 + .../992649-technology/eps/050-cancel.eps | 83 + .../992649-technology/eps/051-bookmark.eps | 86 + .../992649-technology/eps/052-package.eps | 96 + .../992649-technology/eps/053-approved.eps | 81 + .../992649-technology/eps/054-analytics.eps | 89 + .../eps/055-notification.eps | 87 + .../icons/992649-technology/eps/056-add.eps | 90 + .../icons/992649-technology/eps/057-check.eps | 88 + .../icons/992649-technology/font/Flaticon.eot | Bin 0 -> 13450 bytes .../icons/992649-technology/font/Flaticon.svg | 407 +++ .../icons/992649-technology/font/Flaticon.ttf | Bin 0 -> 13272 bytes .../992649-technology/font/Flaticon.woff | Bin 0 -> 8376 bytes .../992649-technology/font/_flaticon.scss | 153 + .../icons/992649-technology/font/flaticon.css | 88 + .../992649-technology/font/flaticon.html | 740 ++++ .../992649-technology/license/license.pdf | Bin 0 -> 36473 bytes .../icons/992649-technology/png/001-watch.png | Bin 0 -> 13950 bytes .../png/002-video-player.png | Bin 0 -> 8506 bytes .../992649-technology/png/003-checked.png | Bin 0 -> 21509 bytes .../992649-technology/png/004-up-arrow.png | Bin 0 -> 18858 bytes .../992649-technology/png/005-profits.png | Bin 0 -> 11490 bytes .../icons/992649-technology/png/006-trash.png | Bin 0 -> 6197 bytes .../icons/992649-technology/png/007-clock.png | Bin 0 -> 18063 bytes .../icons/992649-technology/png/008-sync.png | Bin 0 -> 12652 bytes .../icons/992649-technology/png/009-mail.png | Bin 0 -> 10450 bytes .../992649-technology/png/010-curve-arrow.png | Bin 0 -> 8227 bytes .../992649-technology/png/011-settings-1.png | Bin 0 -> 24074 bytes .../992649-technology/png/012-search.png | Bin 0 -> 22704 bytes .../992649-technology/png/013-review.png | Bin 0 -> 18289 bytes .../992649-technology/png/014-line-chart.png | Bin 0 -> 11195 bytes .../992649-technology/png/015-user-1.png | Bin 0 -> 14630 bytes .../icons/992649-technology/png/016-image.png | Bin 0 -> 12831 bytes .../992649-technology/png/017-phone-call.png | Bin 0 -> 19929 bytes .../992649-technology/png/018-signature.png | Bin 0 -> 10792 bytes .../icons/992649-technology/png/019-paste.png | Bin 0 -> 3967 bytes .../png/020-paint-palette.png | Bin 0 -> 23826 bytes .../992649-technology/png/021-chat-2.png | Bin 0 -> 17786 bytes .../icons/992649-technology/png/022-new.png | Bin 0 -> 21555 bytes .../icons/992649-technology/png/023-more.png | Bin 0 -> 20033 bytes .../icons/992649-technology/png/024-minus.png | Bin 0 -> 17421 bytes .../992649-technology/png/025-marker-1.png | Bin 0 -> 7346 bytes .../icons/992649-technology/png/026-send.png | Bin 0 -> 15228 bytes .../992649-technology/png/027-logout.png | Bin 0 -> 10318 bytes .../992649-technology/png/028-padlock.png | Bin 0 -> 12273 bytes .../icons/992649-technology/png/029-list.png | Bin 0 -> 9717 bytes .../icons/992649-technology/png/030-layer.png | Bin 0 -> 20416 bytes .../992649-technology/png/031-keyboard.png | Bin 0 -> 10166 bytes .../992649-technology/png/032-add-user.png | Bin 0 -> 13882 bytes .../992649-technology/png/033-highlighter.png | Bin 0 -> 13116 bytes .../icons/992649-technology/png/034-help.png | Bin 0 -> 20798 bytes .../icons/992649-technology/png/035-heart.png | Bin 0 -> 18992 bytes .../icons/992649-technology/png/036-inbox.png | Bin 0 -> 11479 bytes .../icons/992649-technology/png/037-flash.png | Bin 0 -> 14400 bytes .../992649-technology/png/038-marker.png | Bin 0 -> 9787 bytes .../992649-technology/png/039-settings.png | Bin 0 -> 13773 bytes .../992649-technology/png/040-folder.png | Bin 0 -> 7565 bytes .../992649-technology/png/041-chat-1.png | Bin 0 -> 21139 bytes .../992649-technology/png/042-eraser.png | Bin 0 -> 4280 bytes .../icons/992649-technology/png/043-edit.png | Bin 0 -> 12465 bytes .../992649-technology/png/044-download.png | Bin 0 -> 7984 bytes .../992649-technology/png/045-check-1.png | Bin 0 -> 18836 bytes .../icons/992649-technology/png/046-file.png | Bin 0 -> 8960 bytes .../992649-technology/png/047-cancel-1.png | Bin 0 -> 20207 bytes .../icons/992649-technology/png/048-user.png | Bin 0 -> 23334 bytes .../icons/992649-technology/png/049-chat.png | Bin 0 -> 17886 bytes .../992649-technology/png/050-cancel.png | Bin 0 -> 7138 bytes .../992649-technology/png/051-bookmark.png | Bin 0 -> 11247 bytes .../992649-technology/png/052-package.png | Bin 0 -> 8148 bytes .../992649-technology/png/053-approved.png | Bin 0 -> 10562 bytes .../992649-technology/png/054-analytics.png | Bin 0 -> 4623 bytes .../png/055-notification.png | Bin 0 -> 10981 bytes .../icons/992649-technology/png/056-add.png | Bin 0 -> 17923 bytes .../icons/992649-technology/png/057-check.png | Bin 0 -> 21049 bytes .../icons/992649-technology/psd/001-watch.psd | Bin 0 -> 116614 bytes .../psd/002-video-player.psd | Bin 0 -> 111606 bytes .../992649-technology/psd/003-checked.psd | Bin 0 -> 151174 bytes .../992649-technology/psd/004-up-arrow.psd | Bin 0 -> 146714 bytes .../992649-technology/psd/005-profits.psd | Bin 0 -> 87284 bytes .../icons/992649-technology/psd/006-trash.psd | Bin 0 -> 135942 bytes .../icons/992649-technology/psd/007-clock.psd | Bin 0 -> 144390 bytes .../icons/992649-technology/psd/008-sync.psd | Bin 0 -> 121832 bytes .../icons/992649-technology/psd/009-mail.psd | Bin 0 -> 131564 bytes .../992649-technology/psd/010-curve-arrow.psd | Bin 0 -> 98452 bytes .../992649-technology/psd/011-settings-1.psd | Bin 0 -> 168936 bytes .../992649-technology/psd/012-search.psd | Bin 0 -> 159874 bytes .../992649-technology/psd/013-review.psd | Bin 0 -> 132936 bytes .../992649-technology/psd/014-line-chart.psd | Bin 0 -> 112238 bytes .../992649-technology/psd/015-user-1.psd | Bin 0 -> 118500 bytes .../icons/992649-technology/psd/016-image.psd | Bin 0 -> 123800 bytes .../992649-technology/psd/017-phone-call.psd | Bin 0 -> 137266 bytes .../992649-technology/psd/018-signature.psd | Bin 0 -> 114746 bytes .../icons/992649-technology/psd/019-paste.psd | Bin 0 -> 120262 bytes .../psd/020-paint-palette.psd | Bin 0 -> 163880 bytes .../992649-technology/psd/021-chat-2.psd | Bin 0 -> 146916 bytes .../icons/992649-technology/psd/022-new.psd | Bin 0 -> 157740 bytes .../icons/992649-technology/psd/023-more.psd | Bin 0 -> 147012 bytes .../icons/992649-technology/psd/024-minus.psd | Bin 0 -> 134528 bytes .../992649-technology/psd/025-marker-1.psd | Bin 0 -> 102032 bytes .../icons/992649-technology/psd/026-send.psd | Bin 0 -> 131910 bytes .../992649-technology/psd/027-logout.psd | Bin 0 -> 111956 bytes .../992649-technology/psd/028-padlock.psd | Bin 0 -> 119950 bytes .../icons/992649-technology/psd/029-list.psd | Bin 0 -> 125528 bytes .../icons/992649-technology/psd/030-layer.psd | Bin 0 -> 134130 bytes .../992649-technology/psd/031-keyboard.psd | Bin 0 -> 102944 bytes .../992649-technology/psd/032-add-user.psd | Bin 0 -> 131124 bytes .../992649-technology/psd/033-highlighter.psd | Bin 0 -> 106390 bytes .../icons/992649-technology/psd/034-help.psd | Bin 0 -> 149360 bytes .../icons/992649-technology/psd/035-heart.psd | Bin 0 -> 130962 bytes .../icons/992649-technology/psd/036-inbox.psd | Bin 0 -> 123578 bytes .../icons/992649-technology/psd/037-flash.psd | Bin 0 -> 105222 bytes .../992649-technology/psd/038-marker.psd | Bin 0 -> 91594 bytes .../992649-technology/psd/039-settings.psd | Bin 0 -> 115008 bytes .../992649-technology/psd/040-folder.psd | Bin 0 -> 100784 bytes .../992649-technology/psd/041-chat-1.psd | Bin 0 -> 152246 bytes .../992649-technology/psd/042-eraser.psd | Bin 0 -> 82324 bytes .../icons/992649-technology/psd/043-edit.psd | Bin 0 -> 140602 bytes .../992649-technology/psd/044-download.psd | Bin 0 -> 111140 bytes .../992649-technology/psd/045-check-1.psd | Bin 0 -> 146602 bytes .../icons/992649-technology/psd/046-file.psd | Bin 0 -> 118508 bytes .../992649-technology/psd/047-cancel-1.psd | Bin 0 -> 152294 bytes .../icons/992649-technology/psd/048-user.psd | Bin 0 -> 160012 bytes .../icons/992649-technology/psd/049-chat.psd | Bin 0 -> 140956 bytes .../992649-technology/psd/050-cancel.psd | Bin 0 -> 135982 bytes .../992649-technology/psd/051-bookmark.psd | Bin 0 -> 115234 bytes .../992649-technology/psd/052-package.psd | Bin 0 -> 118012 bytes .../992649-technology/psd/053-approved.psd | Bin 0 -> 97284 bytes .../992649-technology/psd/054-analytics.psd | Bin 0 -> 122692 bytes .../psd/055-notification.psd | Bin 0 -> 111290 bytes .../icons/992649-technology/psd/056-add.psd | Bin 0 -> 145144 bytes .../icons/992649-technology/psd/057-check.psd | Bin 0 -> 147768 bytes .../icons/992649-technology/svg/001-watch.svg | 52 + .../svg/002-video-player.svg | 51 + .../992649-technology/svg/003-checked.svg | 75 + .../992649-technology/svg/004-up-arrow.svg | 49 + .../992649-technology/svg/005-profits.svg | 47 + .../icons/992649-technology/svg/006-trash.svg | 56 + .../icons/992649-technology/svg/007-clock.svg | 49 + .../icons/992649-technology/svg/008-sync.svg | 58 + .../icons/992649-technology/svg/009-mail.svg | 51 + .../992649-technology/svg/010-curve-arrow.svg | 44 + .../992649-technology/svg/011-settings-1.svg | 63 + .../992649-technology/svg/012-search.svg | 52 + .../992649-technology/svg/013-review.svg | 48 + .../992649-technology/svg/014-line-chart.svg | 51 + .../992649-technology/svg/015-user-1.svg | 46 + .../icons/992649-technology/svg/016-image.svg | 51 + .../992649-technology/svg/017-phone-call.svg | 48 + .../992649-technology/svg/018-signature.svg | 52 + .../icons/992649-technology/svg/019-paste.svg | 66 + .../svg/020-paint-palette.svg | 75 + .../992649-technology/svg/021-chat-2.svg | 65 + .../icons/992649-technology/svg/022-new.svg | 63 + .../icons/992649-technology/svg/023-more.svg | 57 + .../icons/992649-technology/svg/024-minus.svg | 48 + .../992649-technology/svg/025-marker-1.svg | 50 + .../icons/992649-technology/svg/026-send.svg | 45 + .../992649-technology/svg/027-logout.svg | 51 + .../992649-technology/svg/028-padlock.svg | 53 + .../icons/992649-technology/svg/029-list.svg | 87 + .../icons/992649-technology/svg/030-layer.svg | 46 + .../992649-technology/svg/031-keyboard.svg | 95 + .../992649-technology/svg/032-add-user.svg | 52 + .../992649-technology/svg/033-highlighter.svg | 74 + .../icons/992649-technology/svg/034-help.svg | 56 + .../icons/992649-technology/svg/035-heart.svg | 48 + .../icons/992649-technology/svg/036-inbox.svg | 46 + .../icons/992649-technology/svg/037-flash.svg | 46 + .../992649-technology/svg/038-marker.svg | 49 + .../992649-technology/svg/039-settings.svg | 59 + .../992649-technology/svg/040-folder.svg | 45 + .../992649-technology/svg/041-chat-1.svg | 81 + .../992649-technology/svg/042-eraser.svg | 52 + .../icons/992649-technology/svg/043-edit.svg | 54 + .../992649-technology/svg/044-download.svg | 52 + .../992649-technology/svg/045-check-1.svg | 49 + .../icons/992649-technology/svg/046-file.svg | 58 + .../992649-technology/svg/047-cancel-1.svg | 53 + .../icons/992649-technology/svg/048-user.svg | 48 + .../icons/992649-technology/svg/049-chat.svg | 61 + .../992649-technology/svg/050-cancel.svg | 43 + .../992649-technology/svg/051-bookmark.svg | 45 + .../992649-technology/svg/052-package.svg | 52 + .../992649-technology/svg/053-approved.svg | 42 + .../992649-technology/svg/054-analytics.svg | 59 + .../svg/055-notification.svg | 44 + .../icons/992649-technology/svg/056-add.svg | 49 + .../icons/992649-technology/svg/057-check.svg | 50 + .../SharePrices/SharePrices/icons/Bin.png | Bin 0 -> 6197 bytes .../SharePrices/icons/Breakeven.png | Bin 0 -> 11490 bytes .../SharePrices/icons/Breakeven_Off.png | Bin 0 -> 11490 bytes .../SharePrices/SharePrices/icons/Chart.png | Bin 0 -> 11195 bytes .../SharePrices/SharePrices/icons/Cog.png | Bin 0 -> 24074 bytes .../SharePrices/SharePrices/icons/Cross.png | Bin 0 -> 20207 bytes .../SharePrices/icons/DownArrow.png | Bin 0 -> 18836 bytes .../SharePrices/SharePrices/icons/Elipsis.png | Bin 0 -> 20033 bytes .../SharePrices/SharePrices/icons/History.png | Bin 0 -> 18063 bytes .../SharePrices/icons/History_Off.png | Bin 0 -> 18063 bytes .../SharePrices/icons/LeftArrow.png | Bin 0 -> 19117 bytes .../SharePrices/SharePrices/icons/Minus.png | Bin 0 -> 17421 bytes .../SharePrices/SharePrices/icons/Plus.png | Bin 0 -> 17923 bytes .../SharePrices/SharePrices/icons/Profits.png | Bin 0 -> 11490 bytes .../SharePrices/icons/RightArrow.png | Bin 0 -> 19253 bytes .../SharePrices/SharePrices/icons/Tick.png | Bin 0 -> 21049 bytes .../SharePrices/SharePrices/icons/UpArrow.png | Bin 0 -> 19153 bytes .../SharePrices/SharePrices/icons/favicon.ico | Bin 0 -> 6102 bytes ...amework,Version=v4.5.AssemblyAttributes.vb | 7 + ...gnTimeResolveAssemblyReferencesInput.cache | Bin 11310 -> 8762 bytes .../SharePrices/obj/Debug/SharePrices.dll | Bin 38400 -> 43008 bytes .../SharePrices/obj/Debug/SharePrices.pdb | Bin 60928 -> 69120 bytes ...SharePrices.vbproj.AssemblyReference.cache | Bin 0 -> 18786 bytes .../SharePrices.vbproj.FileListAbsolute.txt | 4 +- .../SharePrices/scripts/SharePrices.js | 3091 +++++++++++++---- .../scripts/jquery.flot.axislabels.js | 466 +++ .../scripts/jquery.flot.downsample.js | 126 + .../scripts/jquery.flot.selection.min.js | 7 + .../scripts/jquery.flot.tooltip.js | 606 ++++ .../SharePrices/scripts/jquery.marquee.min.js | 1 + 288 files changed, 14864 insertions(+), 773 deletions(-) create mode 100644 .vs/Steves_Code/v17/.wsuo create mode 100644 .vs/Steves_Code/v17/DocumentLayout.json create mode 100644 .vs/VSWorkspaceState.json create mode 100644 Websites/SharePrices/.vs/SharePrices/v17/.suo create mode 100644 Websites/SharePrices/.vs/SharePrices/v17/DocumentLayout.backup.json create mode 100644 Websites/SharePrices/.vs/SharePrices/v17/DocumentLayout.json create mode 100644 Websites/SharePrices/SharePrices/Global.asax create mode 100644 Websites/SharePrices/SharePrices/Global.asax.vb create mode 100644 Websites/SharePrices/SharePrices/LayoutTest.html create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/001-watch.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/002-video-player.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/003-checked.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/004-up-arrow.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/005-profits.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/006-trash.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/007-clock.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/008-sync.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/009-mail.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/010-curve-arrow.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/011-settings-1.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/012-search.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/013-review.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/014-line-chart.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/015-user-1.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/016-image.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/017-phone-call.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/018-signature.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/019-paste.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/020-paint-palette.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/021-chat-2.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/022-new.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/023-more.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/024-minus.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/025-marker-1.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/026-send.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/027-logout.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/028-padlock.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/029-list.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/030-layer.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/031-keyboard.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/032-add-user.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/033-highlighter.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/034-help.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/035-heart.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/036-inbox.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/037-flash.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/038-marker.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/039-settings.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/040-folder.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/041-chat-1.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/042-eraser.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/043-edit.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/044-download.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/045-check-1.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/046-file.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/047-cancel-1.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/048-user.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/049-chat.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/050-cancel.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/051-bookmark.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/052-package.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/053-approved.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/054-analytics.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/055-notification.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/056-add.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/eps/057-check.eps create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/font/Flaticon.eot create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/font/Flaticon.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/font/Flaticon.ttf create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/font/Flaticon.woff create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/font/_flaticon.scss create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/font/flaticon.css create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/font/flaticon.html create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/license/license.pdf create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/001-watch.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/002-video-player.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/003-checked.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/004-up-arrow.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/005-profits.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/006-trash.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/007-clock.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/008-sync.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/009-mail.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/010-curve-arrow.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/011-settings-1.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/012-search.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/013-review.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/014-line-chart.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/015-user-1.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/016-image.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/017-phone-call.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/018-signature.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/019-paste.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/020-paint-palette.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/021-chat-2.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/022-new.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/023-more.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/024-minus.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/025-marker-1.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/026-send.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/027-logout.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/028-padlock.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/029-list.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/030-layer.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/031-keyboard.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/032-add-user.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/033-highlighter.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/034-help.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/035-heart.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/036-inbox.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/037-flash.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/038-marker.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/039-settings.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/040-folder.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/041-chat-1.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/042-eraser.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/043-edit.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/044-download.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/045-check-1.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/046-file.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/047-cancel-1.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/048-user.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/049-chat.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/050-cancel.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/051-bookmark.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/052-package.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/053-approved.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/054-analytics.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/055-notification.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/056-add.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/png/057-check.png create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/001-watch.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/002-video-player.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/003-checked.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/004-up-arrow.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/005-profits.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/006-trash.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/007-clock.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/008-sync.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/009-mail.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/010-curve-arrow.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/011-settings-1.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/012-search.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/013-review.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/014-line-chart.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/015-user-1.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/016-image.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/017-phone-call.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/018-signature.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/019-paste.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/020-paint-palette.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/021-chat-2.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/022-new.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/023-more.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/024-minus.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/025-marker-1.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/026-send.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/027-logout.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/028-padlock.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/029-list.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/030-layer.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/031-keyboard.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/032-add-user.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/033-highlighter.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/034-help.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/035-heart.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/036-inbox.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/037-flash.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/038-marker.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/039-settings.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/040-folder.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/041-chat-1.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/042-eraser.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/043-edit.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/044-download.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/045-check-1.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/046-file.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/047-cancel-1.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/048-user.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/049-chat.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/050-cancel.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/051-bookmark.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/052-package.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/053-approved.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/054-analytics.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/055-notification.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/056-add.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/psd/057-check.psd create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/001-watch.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/002-video-player.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/003-checked.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/004-up-arrow.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/005-profits.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/006-trash.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/007-clock.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/008-sync.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/009-mail.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/010-curve-arrow.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/011-settings-1.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/012-search.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/013-review.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/014-line-chart.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/015-user-1.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/016-image.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/017-phone-call.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/018-signature.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/019-paste.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/020-paint-palette.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/021-chat-2.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/022-new.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/023-more.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/024-minus.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/025-marker-1.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/026-send.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/027-logout.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/028-padlock.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/029-list.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/030-layer.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/031-keyboard.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/032-add-user.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/033-highlighter.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/034-help.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/035-heart.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/036-inbox.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/037-flash.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/038-marker.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/039-settings.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/040-folder.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/041-chat-1.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/042-eraser.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/043-edit.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/044-download.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/045-check-1.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/046-file.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/047-cancel-1.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/048-user.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/049-chat.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/050-cancel.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/051-bookmark.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/052-package.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/053-approved.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/054-analytics.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/055-notification.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/056-add.svg create mode 100644 Websites/SharePrices/SharePrices/icons/992649-technology/svg/057-check.svg create mode 100644 Websites/SharePrices/SharePrices/icons/Bin.png create mode 100644 Websites/SharePrices/SharePrices/icons/Breakeven.png create mode 100644 Websites/SharePrices/SharePrices/icons/Breakeven_Off.png create mode 100644 Websites/SharePrices/SharePrices/icons/Chart.png create mode 100644 Websites/SharePrices/SharePrices/icons/Cog.png create mode 100644 Websites/SharePrices/SharePrices/icons/Cross.png create mode 100644 Websites/SharePrices/SharePrices/icons/DownArrow.png create mode 100644 Websites/SharePrices/SharePrices/icons/Elipsis.png create mode 100644 Websites/SharePrices/SharePrices/icons/History.png create mode 100644 Websites/SharePrices/SharePrices/icons/History_Off.png create mode 100644 Websites/SharePrices/SharePrices/icons/LeftArrow.png create mode 100644 Websites/SharePrices/SharePrices/icons/Minus.png create mode 100644 Websites/SharePrices/SharePrices/icons/Plus.png create mode 100644 Websites/SharePrices/SharePrices/icons/Profits.png create mode 100644 Websites/SharePrices/SharePrices/icons/RightArrow.png create mode 100644 Websites/SharePrices/SharePrices/icons/Tick.png create mode 100644 Websites/SharePrices/SharePrices/icons/UpArrow.png create mode 100644 Websites/SharePrices/SharePrices/icons/favicon.ico create mode 100644 Websites/SharePrices/SharePrices/obj/Debug/.NETFramework,Version=v4.5.AssemblyAttributes.vb create mode 100644 Websites/SharePrices/SharePrices/obj/Debug/SharePrices.vbproj.AssemblyReference.cache create mode 100644 Websites/SharePrices/SharePrices/scripts/jquery.flot.axislabels.js create mode 100644 Websites/SharePrices/SharePrices/scripts/jquery.flot.downsample.js create mode 100644 Websites/SharePrices/SharePrices/scripts/jquery.flot.selection.min.js create mode 100644 Websites/SharePrices/SharePrices/scripts/jquery.flot.tooltip.js create mode 100644 Websites/SharePrices/SharePrices/scripts/jquery.marquee.min.js diff --git a/.vs/Steves_Code/v17/.wsuo b/.vs/Steves_Code/v17/.wsuo new file mode 100644 index 0000000000000000000000000000000000000000..a24c1594aadb832d4ab83f6bee61be1a6398f8b9 GIT binary patch literal 11776 zcmeHNTW=dh6h2NVP|B^e1SqA7P=qSLQ4&IMil~|*k@Y@9!MFFTQk2_R03n0eRdgPZ{s>yvVc2vut~3XNOgM$7?S=LKL_pW&G+gAZKL* z&#K%cE3H$%>~HXVf16%g-=@F5b@g8AAlp6RHogeNvV0*Q1HFj1v+`w|QCh3}rLTcc zvbWX-=UzoIwy#PWpSTq%VFpzx;L3s)Ia~#=UD#t#`cfvl!`hkU&mpts70k*tpp;}4 z>*uv>AWx&DYIY2GC;nq7@55!g{+G~J%Qffnz+3>{k9cG0;zM5kX*{37^&&3HJo(Kh zX?Xw_+rQwI@x7P2p8|U&|37;hP|M$cDgQ^YM|<)QA|UA4&&1DP5EcJ zmj9=a*Zuf>(#vZdVAl2CyPE>!YtY60;4dft%`(c6nQ!;r-IVx$&TbkOPaZbNIxHR9 ze~ZcraZq|gF5+H8zK*Mm+8X%nPs6Z3=m*dyAO-#PL3!$ycfE=%MlLBE$ie9ztUd=UqOAh?#;#cefEq<{>`%(69%34pOQ7^JezbcR6~*(if?N>4bwB+a zh+%(oztF~H^5dVu9157j8m#d$C_+wrgt9W`SP7WXDCkexzl^c?RD-s;(T3$2#$CqMPsrv`0vqyJO!+W7J5hvY$lN~F{^0p5r~f3BTpHq#kUwhU^ogXUE{ZT%j% zx5zQ9pMF1W23z{~qwNWAfH}4M*W^5SUBjBQ*m?B9>Pjn73ZoPE|2{O)Hb``9x0bp} zuYUmubBYEf$Uzy@&nh{%j`@%e?Gof)?IrTmcKzJ@^x2rmZ)%(>c6tuF;6vb+kgq}e zx}I?X^Qebvg_AM(Z_0lbqvt&=uGvv@83Gkr_3{unL_Jl@`x0hXF++|$35Y1{SF zuh9Ibv{CbLHxY%%mrzF8qwfC%dY{t4v$59D63rQ8u>WX>a!=XfoBQ9icV^VS&Uq){ z5Tt_V&jyek$R&3@t)y0sg!L<2&4cF5!r!=d+6+ul_zP;~b?B!Ybd%PQ?BReiD{3Z? zztk~|(+NKHr9OW-2d2%f?LW6tw-?-;{e3;Ry7AkUKmLx}|K8eH#U%ahXWDBSL;>zY zp5Jj((*Bg)B>3FN?B5)tavE9dlyv^qKoJcYyY;6eW&W`qWziNB-TD2e&BH$~;)6m~GQ}fzx9=W5|HF6A?OVtHnh5PK^qpqFi4wTAs(40g zpsu_<8v#>#d4(;xrQ z@yHDzk>Bm&(Tx8vo=zLgcKwW%hv75+No?u^ZJ(ogXrlb{KP>#FV~bC0&X>u*{wDrS zM0*$!F1Zau?!Z^yA6`SfExs9l^5f5d>gzz||FF!x*&20fP6pq-hhN=J!8O4eVL`m*+6$mzG1E_;W9QtT`C( F`458sFdhH^ literal 0 HcmV?d00001 diff --git a/.vs/Steves_Code/v17/DocumentLayout.json b/.vs/Steves_Code/v17/DocumentLayout.json new file mode 100644 index 0000000..c0e067f --- /dev/null +++ b/.vs/Steves_Code/v17/DocumentLayout.json @@ -0,0 +1,12 @@ +{ + "Version": 1, + "WorkspaceRootPath": "C:\\Users\\Steve.OZDOMAIN\\source\\repos\\Steves_Code\\", + "Documents": [], + "DocumentGroupContainers": [ + { + "Orientation": 0, + "VerticalTabListWidth": 256, + "DocumentGroups": [] + } + ] +} \ No newline at end of file diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..cfae872 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,7 @@ +{ + "ExpandedNodes": [ + "" + ], + "SelectedNode": "\\C:\\Users\\Steve.OZDOMAIN\\Source\\Repos\\Steves_Code", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/Websites/SharePrices/.vs/SharePrices/v17/.suo b/Websites/SharePrices/.vs/SharePrices/v17/.suo new file mode 100644 index 0000000000000000000000000000000000000000..b6db647de5dacc79496e98424b6d903f51e39cc8 GIT binary patch literal 50176 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

C4VcsI;UR zX5Vp>7UP+I=cpko=27&^yy&XB9Q|mIn(&q5DWxU8wAJBQUFzAU^DN3&OP=PX$sjaR z+Z{W}Ra&c*S4a#my7Q0irYZR@1PS(>-ph#ocDV|)~S)Y|fyC=jKmm+r+!N$tgx zD$B{ush~EjO{r`c1urR;@UO~nsw~wKuUlH9S;%WN`)bVV{3IyRqFFrp?4{aV<(0vU z8&;dAn=c9se+{T;_3h@6)#6!g`i0Cjm-gV6_TXL{=ULdxoO4XW;e@Lgnae!=;<`DK zNNS~XK;fR|ERD!we)$IZFVx-nrMcsL%^mx!TLNeQzs`9Yz4RYRjW5>>i}IAwfu3uO zr~y6*40l1_IA?WW_O(Z07uOk6{O2x8z*?lvztL?q1uE5Fv~wY=(6&^idX2IYEoWR= zL*(hRT|<8OdvV-dINO&)Yeu<8RLacz6R87ST0{2wJ&f7(ak^Q_&9q{AboYaUPQ@mG*>-6m&EyxaF8Jj3qoz49Bl+yG_=IBU@TvA7Zeru6>ev!K;8hF@5E zznfXfKku3K(aUdCaZ`)@r}#?L#W*Nm?o4M7^S*!n(O7jOuiQDY{FQZ52Z44>xhweF=*Bzzu{|nWP9+h(s@4DseW(G9CIaeHWS7ILg{|n(Wq-uMY ooLlB;=WW1@|7x=xcbY|8~4T%yD7Z_N4KO5Q3o=gAhKbF#mObe?PYk14hvL_K+iWd!yk#ap}`8+=$J0!8{5~NNa|tRC!)(^ z`?aurrG66lTTEYt1~&a#`zo#hTr}V(+%|Dg z-?weg{cL-tm|N+O(>CT)JKob82+FID^zgo*lYt~48At)r0G`1Fn(3)CpY5sVfaU^u zz;w?7$!0J!02ZwDP_DE2nR<(Aejb#@hcg?P1Iz`gfqwvMfO~;?KrJvI_(yLBJ zQDhGE(es_+vxKDTy)pa1TmZPt!Ln9dT;n`^9D?Q zA4^vGht>{dux8JQrJyaqGT?{Uk5^&)f%LC|UygO^3#cbJjcoc4=!9a@rK0oC)EO{K z&m!#KOxYlQ^^} z(Q5>}!*maT38w3#VZUIL?+S3~I$9H6s%J@WT;nsNE8&$aL$)#1ejE_JQ;d8D40|66 z*)v8bCW{QXL>6EImcd1qgD!!?T)593{_aOhj(v2teab`cZSm*hC&Pvbbg|esUx?js zn%6N)^8_JIfmUJt4?uGgv;{J;>}NhgG$11WUBY`26%9D&lO`eF5j$yp{Pg`9@_*lr zsUYZ0r@27S=8gfpme38l9eiu<@OJoWw}WoPl)&KkkR!H7&+h@h)ZV4Y7WXKP+7M4a zon?+|hmo6LWE)JpK&*nnt%!2<@Mfc$KEPD;a9N(S%rs7oTiRi8Tn_;F*@1)*-GVC1 z9+F|SeO5SLIBqLW!^@-n9fo;3lZr5Dt7uRsPr-jH(1Fukg|@dYMDE;X{AuAwm%^>R zzu7XIPuJHf)=qtXE15IqrLD%|4N$UKG>WCDw|(n&T-`d_)MtGoA^OuV-@Mt-7t7=A zt!jL=Lc9fNREM{!7wVgfCB)%$&2JB82r(RvcY3N2jkqZb^U;T6+6)@$FN6sXnG^f^ z6!ay~lX%pw>V)_W9=2_e|8yZj7TT{OV*VBMmv$Vf2_5-}ihn@E`*=~N!!p^cgy;hQ zXVBf?58yS42mK5YF%ERmaG%v!z?HOdOsq@q>V!OW5Fl)gGc{-7vA?c1YFQ# zQ2epCkRd5TeEwUl-~RZALM+D}Fa8}U7QA>4JHX|NK94((0me)44=A|0SCdP)qRH** z(-bWJLWo4{JmwlU0H5B6bN!bQEh=aztR>s^rp7J|=!Zn1D0PG&Co94Y>5yba^kSW}DcWW;(-hGGEo)4QIE_u8$x=iQ z)^+75;(q8iF;5YlkT0I9h;zZv540NnfzuRK-^UBJdFqQ4(SmlL5{ZIkIDmb5(k5iH>gQrr@NqQm2lfK| zqP@r+3ttBJJn$^QafTg;dtdNSj>^CA)DMBa0vra80Ivdwlj5I&qrhvx>%bepFM$)< z(th{^8NoM|=k4LlRG!5D={xFnJF{)RI1+pq)0*rXGLPDG>?3o~Py?V)e^$G1J}Rm} zNr3u%!h^nfcdukSWDbT^svkHpgSvECU~1@kP-%dSLlsZxz%Xf1bN(3vIlqFOzmzO7 z_c)Cz&$<$-G}G@KS6inP2hJX z5NhuRe+Y3z^=W73!TC?bMqEDe!u%=o-`;Z0*qgFp@IuuX6p4v<;jTu5o`aLW3i@*_ zfHy>Z1;syR#SlRoAp0;D+6J1Bg^UV0GQxgr!YDhE4Bx)s5@t^Uy)hwhYvj8A&S&edS?KOJvMrMgR@8< zGK6KQy?h~EC|~3(tcJvowVjE~6=Bp?ndmY%xh1_CU;KT>bR8?%Bk6dBnH;lMg|`}4 zw6!j2YP4DTt}@iG7fD;kr|(D#pk!sZPeJ-RH<^|ukYju`&9NjZjl$(#?vMxEN2JS~ z^o%sPFTbDmJH6vCE7z2M{(F1ZU(}CNzm!~;*%~IPrYlkUkUW|^YHj|E%&feE%=F~+ z^vvw!%$%9zu$Wzrrfem`l58>+q$TI(T5i<@7umEl%@3Zf7CJK*5qy00fL5w1F82|~ z_vk`y>#m?h^|t!@#>OVAwWYqZsg0tSjg3d}RZE`9l$Ms6w{BDcgz{CPG8Rf%)o?F8 zT^k8imxtWG1BqWiLTG($60*>g5bFYKV_WkI8|dQtwx$(r&07D*OOudydcGDxsUNpzRv zxe@O+iO*)c&dX|way&IA1;1?YuK{ghLHePZE0fO48J4*g+#Ryd9!tB|FQ#Q3W-?E4 z_|;oibl}=o;@X$dOUuTDJ*wUZ{+H%HowW@Tx;XQ`z=pS`;~~8CB0(AC^j6wK z@W4OO8yc$9OV%preh@W;&(#;g-}}fq5IR+^^YNjmW7Vt&q(5W|BpAZS@Dh%C1SAr2 z6J!u%FqU|~w^|*8I`7k`xnP{2X)dtzoQjqKax2YNM=9^X1FiRr6)rWGrCu??k^c<) zIVP~Xn}C0jmtL6qKhS&^-l%iUtpX*Mo^rj*GTbVj5N?$*5WZ91Q3>5;6~1#m4=-I- zLA80ZhL(HluG+A#Mjk&FTH9POQ`~%z+}O?LacE2Nb{S+jgn#C4=oOHakX4WdNF$^P zvKn#^WDSJ(<>GX!ceT0e`{efzKyP&Gi=n*GVYRRCqiEj(*~;JVC@UA7TBAz91NQ*# zdCnRo)oI^W3*2zrM@4rWhDrz3_nx5Q9>cv(Y+i?ohRz4&s0HqE-0^w4a6j3CC(<58 zyk`NLKBNNQ3GGH-y&zPRt(RS>q_e&3o_z9Vs`qRB|20hC9MK3>*l8lwhrmqyAb2ow zGkKMxa){A|kQ@~cKJI>^`C7@=FHaH3Xz#>0vSvh4sBSQy$jgi#As#eem!slwhDa0# z&>3AGe^1tdlax_%qvvK+_R{$0l_ozPysPP?tt*wWQ1+oBQgUp50LFyrQLFPmF1Ph@TK^8;okR=dj;COmd5i6`GTcBOIm(GUf zslw3CaY8(V7P9rvqt_IAPeM}woljdJ=*X697sBXl`hK+#fM%WCn;bPt#n>KnVQ@C> ziMoy2qBg6zF;rdetwWlWb#ZfN(2k}+er$5_cky*AAsnxG{P0rCDp@%bkS=;tOF}F; zjBV3B%R3HSn%}2oY__X1`b{;*i_2JdH|noJ3I)arAWveVhoB2FaS-YsV;T2A*C7p< zJs3L$@Vpn#YXD+jqTezEG#P3pp@~j41lY^W=G)6_DomvnW!AE?@^X{KGP|t)EP6Wn z0KTAm0_nz~dl3>$GIR^fHXZsR{P<&N7+own7KIZT#YQl04UcCTn-+Y5s3UfmaSuKe+2d4(n!llgQ54}J-^+7Gn)2*G&->7Tog3aQ_UeuDu; z>3Bb>1ulo@4ltvg%t=B-Jzda;XwLjSq%M0_`_{fLeT1+y*c)5#=l|`tqNCP#s=gli z^4l{{D%VDle}tJ_mPpO9NYFy+BH#kRIy+&blikjw+z92-CZH(QMhhH(B&t4!j zlPxDt6^>`jCV})?I-4_5%BsLNsm)5Z2_PR)W9Zcf0?6MSOSQKZQ)@#spg#imbsXPM zz!@NP*%aj5HVo7P$2e741YHPy96BGmDul6W>?s(j;W_mGLI-+=y`3J&SSZ?C2Ql^y z^mE8~>#?W9(4kn}>=f{2^nWQ;I;hgoI6!=#ok8VI=nuv)_KpfLn1v27o+6vEgJ`eF zVQeZU{B$BF!~~nLibtWVv8o8@T}4RhFx=P0jP*%`CCV9l8w*lZf_g(QT8cD?erd}A zI+#!22tdXmw18CFy@5<);6f>AcmgiOUF{Jd)G{q&B~MGPwsf21Y7cLhTy6gjX$NC> za#y>d9AFodK=4a4*#AvpsjctJSP#Duu^!kiV*ODW>yOD;|A~zCpUGGcj2E%~q>S}n z$yom{8SB51u^w8)`U|i>|G?=BGS~ylIq0We!j7Sjb;?)|Z0AmQ2wKE?rHu7nGS;hQ ztcP~T`u~{&lwC>ScME%Gh*9As(n`-N?C^RyshyK5jF-#l&n3exLAK=v`|L|xso+}Q zAN_$$*~C9-C(7x45-#cK(6Il-=h`%JLiBPR%5V*m9p>STl;}ly+96o9L4Fi z&O!$nhAT;V`+T}o=ui75?;=M@12trYVx?Z~i%JSS@Nx_J&pAc9l1Lh0(^78YAS#Vk zsgp%k2G^h!RmtRvj(67h`SBaR4+PDO4HL*OW`$z2Kp`=8D%@5yo5f;Vl_H*ZB3Oa z1(^Xx13COzIjO(EGYd~)739~bBAM!_w@#iTk=Bw%4v$aB z7&(0Chy;DYQ1t398Dr0axNoeh((v=v<*j7K*9BvWK1JXCp^TsbHR1H9#&u+9()DuB z@?vg{<9S;sqQ{!T0=enC3O^4x8#7+DrQY3a$yqY#s&f}wXh}(`q1&Ban|Az=b%d7t z?fNcmu2bJKTWKOH$4@OaBw-3I`?fGRz_5;c^ z6>Fpmi%ASe3!BBtXk5}{ni3NYXLlhM=RL1ZU8pe=S**-0>(qOOV$SYiRf4%)i?yq;kXqB+S zHSV#rJ0XY?mP7}pZ_Io$EBuq2*YrD=Fs-r9Tft^vVf%Q3k9IrNu^zenHrM~3U_PAMHZl$a~ug#x&m~=+206|xcXP%?rr$s zR=|G&v=$t`5PBhWK6EEE=ju;~N?d*M0Ew%w43oHeOr*rsvxi7r-3raQx_~PO=j!>% z64U(}+KTyBrGTp2Q89zWbFMzkh|Y+Ffmsq)Uv@KNJMf&HjlY&KLFokP64aI}arW8Z z@SL;n%#%2K9Ju=(aOHQWg0~}jyi5{jU$9u>?Bg5~XOCMUadziQ@OaMIQ*jOCoc*!2 z5@&z7RpRWL^^Dz*5S;S3#N8cFN-KZpDT%x9dm1~U&J}%pdJe_^Z0SWASP61oJsDO- z`kV;M&VDh!Lzr~AEzU1tm(-S?QIvu6p>fsy+SfmF&O<1sx18BR0v+AhpJFMe{ki4< zp?&V-Pbe;jc{&x_qBTDVKho%jfq_+1;RdbKXv8kWLh-jIiT^ui-jX$mrcc$u9w?-_ zuQz@3`e-umRJKols%_x2C&mk8m>Nuu;c?o7=n)MDowns;4*XFe@wOSZrPxqfM|b;(gzF5%l|uGjpWY4SOMN+8_JKe qyMrDv-2HTYcK>goemXCluiFy8i-;WFH*> diff --git a/Websites/SharePrices/SharePrices/App_Code/DataAccessLayer.vb b/Websites/SharePrices/SharePrices/App_Code/DataAccessLayer.vb index e285a78..fb2a1d7 100644 --- a/Websites/SharePrices/SharePrices/App_Code/DataAccessLayer.vb +++ b/Websites/SharePrices/SharePrices/App_Code/DataAccessLayer.vb @@ -33,7 +33,21 @@ Public Class DataAccessLayer DisposeSQLCommand(c) End Function - Public Shared Function AddHolding(AccountName As String, Symbol As String, NoUnits As Integer, PurchasePricePerUnit As Double, PurchaseDate As Int64) As String + Public Shared Sub UpdateInstrument(Symbol As String, GMTOffset As Integer, Currency As String, CurrentPrice As Double, InstrumentType As String, TradeDayStart As DateTime, TradeDayEnd As DateTime) + '@Symbol varchar(8), @GMTOffset int, @Currency varchar(3), @CurrentPrice money, @InstrumentType varchar(10) + Dim c As SqlCommand = GetSQLCommand("usp_UpdateInstrument") + c.Parameters.AddWithValue("Symbol", Symbol) + c.Parameters.AddWithValue("GMTOffset", GMTOffset) + c.Parameters.AddWithValue("Currency", Currency) + c.Parameters.AddWithValue("CurrentPrice", CurrentPrice) + c.Parameters.AddWithValue("InstrumentType", InstrumentType) + c.Parameters.AddWithValue("TradeDayStart", TradeDayStart) + c.Parameters.AddWithValue("TradeDayEnd", TradeDayEnd) + c.ExecuteNonQuery() + DisposeSQLCommand(c) + End Sub + + Public Shared Function AddHolding(AccountName As String, Symbol As String, NoUnits As Double, PurchasePricePerUnit As Double, PurchaseDate As Int64) As String Dim c As SqlCommand = GetSQLCommand("usp_InsertHolding") c.Parameters.AddWithValue("Account", AccountName) c.Parameters.AddWithValue("Symbol", Symbol) @@ -160,10 +174,25 @@ Public Class DataAccessLayer DisposeSQLCommand(c) End Function - Public Shared Function DeleteHolding(HoldingID) As String - Dim c As SqlCommand = GetSQLCommand("usp_DeleteHolding") + 'Public Shared Function DeleteHolding(HoldingID) As String + ' Dim c As SqlCommand = GetSQLCommand("usp_DeleteHolding") + ' c.Parameters.AddWithValue("HoldingID", HoldingID) + ' DeleteHolding = DataReaderToJSONString(c.ExecuteReader()) + ' DisposeSQLCommand(c) + 'End Function + Public Shared Function SoldHolding(HoldingID As Integer, SoldDate As DateTime) As String + Dim c As SqlCommand = GetSQLCommand("usp_SoldHolding") c.Parameters.AddWithValue("HoldingID", HoldingID) - DeleteHolding = DataReaderToJSONString(c.ExecuteReader()) + c.Parameters.AddWithValue("SoldDate", SoldDate) + SoldHolding = DataReaderToJSONString(c.ExecuteReader()) + DisposeSQLCommand(c) + End Function + + Public Shared Function SwapInstrumentDisplayOrders(Symbol1 As String, Symbol2 As String) As String + Dim c As SqlCommand = GetSQLCommand("usp_SwapDisplayOrder") + c.Parameters.AddWithValue("Symbol1", Symbol1) + c.Parameters.AddWithValue("Symbol2", Symbol2) + SwapInstrumentDisplayOrders = DataReaderToJSONString(c.ExecuteReader()) DisposeSQLCommand(c) End Function @@ -210,7 +239,7 @@ Public Class DataAccessLayer End While If result <> "" Then result = result.Substring(1) If noRows > 1 Then result = "[" + result + "]" - 'Debug.Print("Result: " + result) + 'Debug.Print(" DataReaderToJSONString Result: " + result) Return result End Function End Class diff --git a/Websites/SharePrices/SharePrices/CreateDBSchema.sql b/Websites/SharePrices/SharePrices/CreateDBSchema.sql index 2328539..f187b80 100644 --- a/Websites/SharePrices/SharePrices/CreateDBSchema.sql +++ b/Websites/SharePrices/SharePrices/CreateDBSchema.sql @@ -2,9 +2,13 @@ USE SharePrices GO /* +DROP VIEW vErroneousPrices_Intraday +DROP VIEW vErroneousPrices_Daily DROP VIEW vHolding +DROP PROCEDURE usp_SwapDisplayOrder DROP PROCEDURE usp_GetHoldingsHistory -DROP PROCEDURE usp_DeleteHolding +--DROP PROCEDURE usp_DeleteHolding +DROP PROCEDURE usp_SoldHolding DROP PROCEDURE usp_GetAccounts DROP PROCEDURE usp_GetHoldings DROP PROCEDURE usp_InsertHolding @@ -12,6 +16,7 @@ DROP PROCEDURE usp_InsertIntradayData DROP PROCEDURE usp_InsertDailyData DROP PROCEDURE usp_GetDailyData DROP PROCEDURE usp_GetIntradayData +DROP PROCEDURE usp_UpdateInstrument DROP PROCEDURE usp_InsertInstrument DROP PROCEDURE usp_GetInstruments DROP TYPE PriceDataType @@ -53,23 +58,39 @@ CREATE TABLE Instrument ( --ExchangeID tinyint NOT NULL, Symbol VARCHAR(8) NOT NULL, FullName VARCHAR(100) NULL, + DisplayName VARCHAR(30) NULL, DisplayOrder TINYINT NULL, + PostPandemicDilution money NOT NULL, + GMTOffset INT NULL, + Currency VARCHAR(3) NULL, + --CurrentPrice money NULL, + CurrentPrice real NULL, + InstrumentType VARCHAR(15) NULL, + ShowInMarquee CHAR(1) NULL, -- A = Always, O = Only when open, NULL = Never + TradeDayStart datetime NULL, + TradeDayEnd datetime NULL, + LastUpdated datetime NULL, CONSTRAINT PK_Instrument PRIMARY KEY CLUSTERED (InstrumentID), + CONSTRAINT UC_Instrument_Symbol UNIQUE NONCLUSTERED (Symbol), --CONSTRAINT FK_Instrument_Exchange FOREIGN KEY (ExchangeID) REFERENCES Exchange (ExchangeID) ) -GO +GO --CREATE NONCLUSTERED INDEX IDX_Instrument_ExchangeID_Symbol ON Instrument (ExchangeID, Symbol) -CREATE NONCLUSTERED INDEX IDX_Instrument_Symbol ON Instrument (Symbol) +--CREATE NONCLUSTERED INDEX IDX_Instrument_Symbol ON Instrument (Symbol) CREATE NONCLUSTERED INDEX IDX_Instrument_DisplayOrder ON Instrument (DisplayOrder) GO CREATE TABLE InstrumentHistory_Daily ( InstrumentID smallint NOT NULL, HistoryDT date NOT NULL, - OpenPrice money NULL, - HighPrice money NULL, - LowPrice money NULL, - ClosePrice money NULL, + --OpenPrice money NULL, + --HighPrice money NULL, + --LowPrice money NULL, + --ClosePrice money NULL, + OpenPrice real NULL, + HighPrice real NULL, + LowPrice real NULL, + ClosePrice real NULL, Volume bigint NULL, CONSTRAINT PK_InstrumentHistory_Daily PRIMARY KEY CLUSTERED (InstrumentID, HistoryDT), CONSTRAINT FK_InstrumentHistory_Daily_Instrument FOREIGN KEY (InstrumentID) REFERENCES Instrument (InstrumentID) @@ -79,10 +100,14 @@ GO CREATE TABLE InstrumentHistory_Intraday ( InstrumentID smallint NOT NULL, HistoryDT smalldatetime NOT NULL, - OpenPrice money NULL, - HighPrice money NULL, - LowPrice money NULL, - ClosePrice money NULL, + --OpenPrice money NULL, + --HighPrice money NULL, + --LowPrice money NULL, + --ClosePrice money NULL, + OpenPrice real NULL, + HighPrice real NULL, + LowPrice real NULL, + ClosePrice real NULL, Volume bigint NULL, CONSTRAINT PK_InstrumentHistory_Intraday PRIMARY KEY CLUSTERED (InstrumentID, HistoryDT), CONSTRAINT FK_InstrumentHistory_Intraday_Instrument FOREIGN KEY (InstrumentID) REFERENCES Instrument (InstrumentID) @@ -103,16 +128,20 @@ INSERT Account (ShortName) VALUES ('Steph ii ISA'), ('Steph ii Trd'), ('Steve ii Trd'), + ('Steve ii ISA'), ('Steve AJB'), - ('Steph AJB') + ('Steph AJB'), + ('Steve Crypto') GO CREATE TABLE Holding ( HoldingID int IDENTITY NOT NULL, AccountID tinyint NOT NULL, InstrumentID smallint NOT NULL, - NoUnits int NOT NULL, - PurchasePricePerUnit money NOT NULL, + --NoUnits int NOT NULL, + NoUnits real NOT NULL, + --PurchasePricePerUnit money NOT NULL, + PurchasePricePerUnit real NOT NULL, PurchaseDate datetime NOT NULL, SoldDate datetime NULL, CONSTRAINT PK_Holding PRIMARY KEY CLUSTERED (HoldingID), @@ -124,10 +153,14 @@ GO CREATE TYPE PriceDataType AS TABLE ( PriceDT datetime NOT NULL, - OpenPrice money NULL, - HighPrice money NULL, - LowPrice money NULL, - ClosePrice money NULL, + --OpenPrice money NULL, + --HighPrice money NULL, + --LowPrice money NULL, + --ClosePrice money NULL, + OpenPrice real NULL, + HighPrice real NULL, + LowPrice real NULL, + ClosePrice real NULL, Volume bigint NULL ) GO @@ -147,7 +180,7 @@ BEGIN SELECT @DisplayOrder = ISNULL(@DisplayOrder, 1) --INSERT Instrument (ExchangeID, Symbol, FullName, DisplayOrder) SELECT @ExchangeID, @Symbol, @FullName, @DisplayOrder WHERE NOT EXISTS (SELECT NULL FROM Instrument WHERE ExchangeID = @ExchangeID AND Symbol = @Symbol) - INSERT Instrument (Symbol, FullName, DisplayOrder) SELECT @Symbol, @FullName, @DisplayOrder + INSERT Instrument (Symbol, FullName, DisplayOrder, PostPandemicDilution) SELECT @Symbol, @FullName, @DisplayOrder, 1 SELECT i.DisplayOrder, i.FullName as [InstrumentName], @@ -165,6 +198,7 @@ END GO GRANT EXECUTE ON usp_InsertInstrument TO WebApp_Role GO +/* EXEC usp_InsertInstrument '^AXJO', 'S&P ASX 200' EXEC usp_InsertInstrument 'QAN.AX', 'Qantas' EXEC usp_InsertInstrument 'WEB.AX', 'Webjet' @@ -197,6 +231,7 @@ EXEC usp_InsertInstrument 'EBAY', 'E-bay' EXEC usp_InsertInstrument 'GBPUSD=X', 'GBP/USD' EXEC usp_InsertInstrument 'GBPAUD=X', 'GBP/AUD' GO +*/ /* @@ -206,6 +241,33 @@ delete Instrument where InstrumentID>31 */ +--CREATE PROCEDURE usp_UpdateInstrument (@Symbol varchar(8), @GMTOffset int, @Currency varchar(3), @CurrentPrice money, @InstrumentType varchar(15), @TradeDayStart datetime, @TradeDayEnd datetime) +CREATE PROCEDURE usp_UpdateInstrument (@Symbol varchar(8), @GMTOffset int, @Currency varchar(3), @CurrentPrice real, @InstrumentType varchar(15), @TradeDayStart datetime, @TradeDayEnd datetime) +AS +BEGIN + SET NOCOUNT ON + DECLARE @DisplayOrder tinyint + + UPDATE + Instrument + SET + --DisplayName VARCHAR(30) NULL, + --PostPandemicDilution money NOT NULL, + --ShowInMarquee CHAR(1) NULL, -- A = Always, O = Only when open, NULL = Never + GMTOffset = @GMTOffset, + Currency = @Currency, + CurrentPrice = @CurrentPrice, + InstrumentType = @InstrumentType, + TradeDayStart = @TradeDayStart, + TradeDayEnd = @TradeDayEnd, + LastUpdated = CURRENT_TIMESTAMP + WHERE + Symbol = @Symbol +END +GO +GRANT EXECUTE ON usp_UpdateInstrument TO WebApp_Role +GO + CREATE PROCEDURE usp_GetAccounts AS BEGIN @@ -231,7 +293,16 @@ BEGIN i.DisplayOrder, --e.ShortName as [Exchange], i.FullName as [InstrumentName], + ISNULL(i.DisplayName, LEFT(i.FullName, 30)) as [DisplayName], i.Symbol as [Symbol], + i.PostPandemicDilution as [PostPandemicDilution], + i.GMTOffset as [GMTOffset], + i.Currency as [Currency], + i.CurrentPrice as [CurrentPrice], + i.InstrumentType as [InstrumentType], + i.ShowInMarquee as [ShowInMarquee], + i.TradeDayStart as [SingleDayStartDate], + i.TradeDayEnd as [SingleDayEndDate], ISNULL((SELECT MIN(dd.HistoryDT) FROM InstrumentHistory_Daily dd WHERE dd.InstrumentID = i.InstrumentID), CONVERT(DATETIME, '2030-12-31')) as [MinDailyDate], ISNULL((SELECT MAX(dd.HistoryDT) FROM InstrumentHistory_Daily dd WHERE dd.InstrumentID = i.InstrumentID), CONVERT(DATETIME, '1970-01-01')) as [MaxDailyDate], ISNULL((SELECT MIN(id.HistoryDT) FROM InstrumentHistory_Intraday id WHERE id.InstrumentID = i.InstrumentID), CONVERT(DATETIME, '2030-12-31')) as [MinIntradayDate], @@ -309,13 +380,14 @@ AS BEGIN SET NOCOUNT ON DECLARE @InstrumentID int - DECLARE @NoUpdated int + --DECLARE @NoUpdated int DECLARE @NoInserted int SELECT @InstrumentID = InstrumentID FROM Instrument WHERE Symbol = @Symbol IF @InstrumentID IS NOT NULL BEGIN + /* UPDATE h SET @@ -331,6 +403,7 @@ BEGIN AND h.HistoryDT = CONVERT(date, d.PriceDT) SET @NoUpdated = @@ROWCOUNT + */ INSERT InstrumentHistory_Daily ( InstrumentID, @@ -342,7 +415,7 @@ BEGIN Volume) SELECT @InstrumentID, - CONVERT(date, PriceDT), + CONVERT(date, DATEADD(hour, 1, PriceDT)), --Add an hour to the input datetime before converting to date to allow for changes in daylight savings OpenPrice, HighPrice, LowPrice, @@ -351,11 +424,11 @@ BEGIN FROM @PriceData d WHERE - NOT EXISTS (SELECT NULL FROM InstrumentHistory_Daily h WHERE h.InstrumentID = @InstrumentID AND h.HistoryDT = CONVERT(date, d.PriceDT)) + NOT EXISTS (SELECT NULL FROM InstrumentHistory_Daily h WHERE h.InstrumentID = @InstrumentID AND h.HistoryDT = CONVERT(date, DATEADD(hour, 1, PriceDT))) SET @NoInserted = @@ROWCOUNT - SELECT @NoInserted as [NoInserted], @NoUpdated as [NoUpdated] + SELECT @NoInserted as [NoInserted] /*, @NoUpdated as [NoUpdated]*/ END ELSE BEGIN @@ -428,7 +501,8 @@ GO GRANT EXECUTE ON usp_InsertIntradayData TO WebApp_Role GO -CREATE PROCEDURE usp_InsertHolding (@Account varchar(20), @Symbol varchar(8), @NoUnits int, @PurchasePricePerUnit money, @PurchaseDate datetime, @Solddate datetime = NULL) +--CREATE PROCEDURE usp_InsertHolding (@Account varchar(20), @Symbol varchar(8), @NoUnits int, @PurchasePricePerUnit money, @PurchaseDate datetime, @Solddate datetime = NULL) +CREATE PROCEDURE usp_InsertHolding (@Account varchar(20), @Symbol varchar(8), @NoUnits real, @PurchasePricePerUnit real, @PurchaseDate datetime, @Solddate datetime = NULL) AS BEGIN DECLARE @AccountID tinyint @@ -473,76 +547,77 @@ END GO GRANT EXECUTE ON usp_InsertHolding TO WebApp_Role GO --- EXEC usp_InsertHolding 'Steve ii Trd', 'QAN.AX', 15700, 3.63, '2020-04-28', '2020-06-12' --- EXEC usp_InsertHolding 'Steve ii Trd', 'WEB.AX', 17000, 2.55, '2020-04-28', '2020-06-12' --- EXEC usp_InsertHolding 'Steve ii Trd', 'WBC.AX', 2240, 15.07, '2020-05-13', '2020-06-12' --- EXEC usp_InsertHolding 'Steve ii Trd', 'FLT.AX', 3500, 13.813, '2020-06-03', '2020-06-12' --- EXEC usp_InsertHolding 'Steve ii Trd', 'WEB.AX', 20618, 3.0359, '2020-07-22 05:37', NULL + +-- EXEC usp_InsertHolding 'Steph AJB', 'TMPL.L', 2372, 708, '2020-05-13' +-- EXEC usp_InsertHolding 'Steph AJB', 'SDV.L', 2000, 127, '2020-05-17', '2020-06-12' +-- EXEC usp_InsertHolding 'Steph AJB', 'BP.L', 5787, 311, '2020-05-13' +-- EXEC usp_InsertHolding 'Steph AJB', 'RDSB.L', 1897, 1264.88, '2020-05-11' +-- EXEC usp_InsertHolding 'Steph AJB', 'LLOY.L', 59170, 30.42, '2020-05-11' +-- EXEC usp_InsertHolding 'Steph AJB', 'BARC.L', 17261, 104.28, '2020-05-11' + +-- EXEC usp_InsertHolding 'Steph HL Trd', 'EBAY', 949, 39.35, '2020-04-29', '2020-06-11' +-- EXEC usp_InsertHolding 'Steph HL Trd', 'NCLH', 1696, 21.72, '2020-06-10', '2020-06-11' +-- EXEC usp_InsertHolding 'Steph HL Trd', 'AMZN', 15, 2375.18, '2020-04-29', '2020-06-05' +-- EXEC usp_InsertHolding 'Steph HL Trd', 'IAG.L', 6644, 325.1, '2020-06-05' +-- EXEC usp_InsertHolding 'Steph HL Trd', 'RR.L', 5783, 335.08, '2020-06-05' +-- EXEC usp_InsertHolding 'Steph HL Trd', 'RR.L', 19276, 32.00, '2020-11-09' + +-- EXEC usp_InsertHolding 'Steph ii ISA', 'AAL', 2170, 11.5245, '2020-07-21 12:13', NULL +-- EXEC usp_InsertHolding 'Steph ii ISA', 'FLT.AX', 2705, 11.63, '2020-08-20 01:10', NULL +-- EXEC usp_InsertHolding 'Steph ii ISA', 'RCL', 1050, 54.15 , '2020-05-27', '2020-06-11' +-- EXEC usp_InsertHolding 'Steph ii ISA', 'GME', 125, 125.033296, '2021-02-25 15:01', NULL +-- EXEC usp_InsertHolding 'Steph ii ISA', 'AAL', 1840, 20.845949, '2021-02-26 14:13', NULL + +-- EXEC usp_InsertHolding 'Steph ii Trd', 'NCLH', 2650, 17.8, '2020-05-27', '2020-06-11' +-- EXEC usp_InsertHolding 'Steph ii Trd', 'AML.L', 9985, 67.1, '2020-06-04', '2020-06-12' -- EXEC usp_InsertHolding 'Steph ii Trd', 'CBA.AX', 580, 59.00, '2020-05-13', '2020-06-12' -- EXEC usp_InsertHolding 'Steph ii Trd', 'NCLH', 2580, 19.037, '2020-07-21 11:55', NULL -- EXEC usp_InsertHolding 'Steph ii Trd', 'NCLH', 2580, 15.1690, '2020-07-21 11:55', NULL -- EXEC usp_InsertHolding 'Steph ii Trd', 'RCL', 1071, 53.7053, '2020-07-21 12:01', NULL -- EXEC usp_InsertHolding 'Steph ii Trd', 'RCL', 1078, 53.192, '2020-07-21 12:18', NULL --- EXEC usp_InsertHolding 'Steph ii ISA', 'AAL', 2170, 11.5245, '2020-07-21 12:13', NULL --- EXEC usp_InsertHolding 'Steph ii ISA', 'FLT.AX', 2705, 11.63, '2020-08-20 01:10', NULL +-- EXEC usp_InsertHolding 'Steph ii Trd', 'MKS.L', 33546, 138.59, '2021-02-22 14:58', NULL +-- EXEC usp_InsertHolding 'Steph ii Trd', 'CUK', 3250, 21.54336, '2021-02-22 15:04', NULL +-- EXEC usp_InsertHolding 'Steph ii Trd', 'AAL', 1700, 20.42657, '2021-02-22 15:11', NULL +-- EXEC usp_InsertHolding 'Steph ii Trd', 'RR.L', 28762, 100.8243, '2021-02-22 15:15', NULL +-- EXEC usp_InsertHolding 'Steph ii Trd', 'TUI.L', 5119, 376.9953, '2021-02-22 15:17', NULL +-- EXEC usp_InsertHolding 'Steph ii Trd', 'RCL', 2149, 80.8007, '2021-02-22 14:44', NULL +-- EXEC usp_InsertHolding 'Steph ii Trd', 'NCLH', 2100, 27.5428, '2021-02-22 14:51', NULL +-- EXEC usp_InsertHolding 'Steph ii Trd', 'WEB.AX', 14500, 5.42542, '2021-02-23 00:17', NULL +-- EXEC usp_InsertHolding 'Steph ii Trd', 'NCLH', 960, 21.1690, '2020-11-18 15:55', NULL +-- EXEC usp_InsertHolding 'Steph ii Trd', 'NCLH', 40, 21.08, '2020-11-18 15:58', NULL -EXEC usp_InsertHolding 'Steve AJB', 'TMPL.L', 5623, 708, '2020-05-13' -EXEC usp_InsertHolding 'Steve AJB', 'MKS.L', 33546, 89, '2020-05-11' + + +-- EXEC usp_InsertHolding 'Steve AJB', 'TMPL.L', 5623, 708, '2020-05-13' +-- EXEC usp_InsertHolding 'Steve AJB', 'MKS.L', 33546, 89, '2020-05-11' -- EXEC usp_InsertHolding 'Steve AJB', 'CCL', 2334, 17.44, '2020-06-03', '2020-06-11' -EXEC usp_InsertHolding 'Steph AJB', 'TMPL.L', 2372, 708, '2020-05-13' --- EXEC usp_InsertHolding 'Steph AJB', 'SDV.L', 2000, 127, '2020-05-17', '2020-06-12' -EXEC usp_InsertHolding 'Steph AJB', 'BP.L', 5787, 311, '2020-05-13' -EXEC usp_InsertHolding 'Steph AJB', 'RDSB.L', 1897, 1264.88, '2020-05-11' -EXEC usp_InsertHolding 'Steph AJB', 'LLOY.L', 59170, 30.42, '2020-05-11' -EXEC usp_InsertHolding 'Steph AJB', 'BARC.L', 17261, 104.28, '2020-05-11' --- EXEC usp_InsertHolding 'Steph ii ISA', 'RCL', 1050, 54.15 , '2020-05-27', '2020-06-11' --- EXEC usp_InsertHolding 'Steph ii Trd', 'NCLH', 2650, 17.8, '2020-05-27', '2020-06-11' --- EXEC usp_InsertHolding 'Steph ii Trd', 'AML.L', 9985, 67.1, '2020-06-04', '2020-06-12' +-- EXEC usp_InsertHolding 'Steve AJB', 'NCLH', 2322, 27.9475, '2021-02-22 14:55', NULL + -- EXEC usp_InsertHolding 'Steve HL ISA', 'NCLH', 3053, 17.27, '2020-05-27', '2020-06-11' -- EXEC usp_InsertHolding 'Steve HL ISA', 'NCLH', 3053, 17.27, '2020-05-17', '2020-06-24 18:24' -- EXEC usp_InsertHolding 'Steve HL ISA', 'CCL', 2667, 15.451, '2020-07-21 17:10', NULL +-- EXEC usp_InsertHolding 'Steve HL ISA', 'GME', 617, 119.986797, '2021-02-25 14:55', NULL +-- EXEC usp_InsertHolding 'Steve HL ISA', 'GME', 527, 124.422968, '2021-02-25 15:01', NULL + -- EXEC usp_InsertHolding 'Steve HL Trd', 'AAL', 2994, 12.35, '2020-05-27', '2020-06-11' -EXEC usp_InsertHolding 'Steph HL Trd', 'IAG.L', 6644, 325.1, '2020-06-05' -EXEC usp_InsertHolding 'Steve HL Trd', 'TUI.L', 4010, 490.93, '2020-06-05' --- EXEC usp_InsertHolding 'Steph HL Trd', 'EBAY', 949, 39.35, '2020-04-29', '2020-06-11' --- EXEC usp_InsertHolding 'Steph HL Trd', 'NCLH', 1696, 21.72, '2020-06-10', '2020-06-11' --- EXEC usp_InsertHolding 'Steph HL Trd', 'AMZN', 15, 2375.18, '2020-04-29', '2020-06-05' -EXEC usp_InsertHolding 'Steph HL Trd', 'RR.L', 5783, 335.08, '2020-06-05' -EXEC usp_InsertHolding 'Steph HL Trd', 'RR.L', 19276, 32.00, '2020-11-09' -EXEC usp_InsertHolding 'Steve ii Trd', 'MAB.L', 9044, 227.2204, '2020-06-22 10:38', '2020-11-16 09:42' -EXEC usp_InsertHolding 'Steve ii Trd', 'JDW.L', 824, 11.3962, '2020-06-22 10:40', '2020-11-25 12:47' -EXEC usp_InsertHolding 'Steve ii Trd', 'RTN.L', 39894, 0.70936, '2020-06-22 10:34', '2020-12-02 10:50' -EXEC usp_InsertHolding 'Steve ii Trd', 'AML.L', 1078, 1854.724, '2020-12-24 09:22', NULL -EXEC usp_InsertHolding 'Steve ii Trd', 'IAG.L', 10911, 166.3459, '2020-12-24 09:28', NULL -EXEC usp_InsertHolding 'Steve ii Trd', 'CCL.L', 2576, 1203.112, '2020-11-16 12:56', NULL -EXEC usp_InsertHolding 'Steph ii Trd', 'NCLH', 960, 21.1690, '2020-11-18 15:55', NULL -EXEC usp_InsertHolding 'Steph ii Trd', 'NCLH', 40, 21.08, '2020-11-18 15:58', NULL +-- EXEC usp_InsertHolding 'Steve HL Trd', 'TUI.L', 4010, 490.93, '2020-06-05' +-- EXEC usp_InsertHolding 'Steve HL Trd', 'TUI.L', 3456, 95.745, '2021-01-21', NULL +-- EXEC usp_InsertHolding 'Steve ii Trd', 'QAN.AX', 15700, 3.63, '2020-04-28', '2020-06-12' +-- EXEC usp_InsertHolding 'Steve ii Trd', 'WEB.AX', 17000, 2.55, '2020-04-28', '2020-06-12' +-- EXEC usp_InsertHolding 'Steve ii Trd', 'WBC.AX', 2240, 15.07, '2020-05-13', '2020-06-12' +-- EXEC usp_InsertHolding 'Steve ii Trd', 'FLT.AX', 3500, 13.813, '2020-06-03', '2020-06-12' +-- EXEC usp_InsertHolding 'Steve ii Trd', 'WEB.AX', 20618, 3.0359, '2020-07-22 05:37', NULL +-- EXEC usp_InsertHolding 'Steve ii Trd', 'GME', 512, 54.17987, '2021-02-24 20:05', NULL +-- EXEC usp_InsertHolding 'Steve ii Trd', 'MAB.L', 9044, 227.2204, '2020-06-22 10:38', '2020-11-16 09:42' +-- EXEC usp_InsertHolding 'Steve ii Trd', 'JDW.L', 824, 11.3962, '2020-06-22 10:40', '2020-11-25 12:47' +-- EXEC usp_InsertHolding 'Steve ii Trd', 'RTN.L', 39894, 0.70936, '2020-06-22 10:34', '2020-12-02 10:50' +-- EXEC usp_InsertHolding 'Steve ii Trd', 'AML.L', 1078, 1854.724, '2020-12-24 09:22', NULL +-- EXEC usp_InsertHolding 'Steve ii Trd', 'IAG.L', 10911, 166.3459, '2020-12-24 09:28', NULL +-- EXEC usp_InsertHolding 'Steve ii Trd', 'CCL.L', 2576, 1203.112, '2020-11-16 12:56', NULL +-- EXEC usp_InsertHolding 'Steve ii Trd', 'ARB.L', 11459, 261.7805, '2021-03-01 11:25', NULL GO -CREATE VIEW vHolding -AS - SELECT - h.HoldingID, - a.ShortName as [AccountName], - i.Symbol, - i.FullName as [InstrumentName], - h.PurchaseDate, - h.NoUnits, - h.PurchasePricePerUnit, - h.SoldDate - FROM - Holding h - INNER JOIN Instrument i - ON i.InstrumentId = h.InstrumentId - INNER JOIN Account a - ON a.AccountID = h.AccountID -GO - --- select * from vholding where instrumentname like '%caribb%' - --- update holding set solddate = '2020-06-24 18:27' where holdingid = 34 - CREATE PROCEDURE usp_GetHoldings AS BEGIN @@ -613,6 +688,7 @@ GO GRANT EXECUTE ON usp_GetHoldingsHistory TO WebApp_Role GO +/* CREATE PROCEDURE usp_DeleteHolding (@HoldingID int) AS BEGIN @@ -622,6 +698,173 @@ END GO GRANT EXECUTE ON usp_DeleteHolding TO WebApp_Role GO +*/ +CREATE PROCEDURE usp_SoldHolding (@HoldingID int, @SoldDate datetime) +AS +BEGIN + UPDATE Holding SET SoldDate = @SoldDate WHERE HoldingID = @HoldingID + SELECT @@ROWCOUNT AS [RecordsUpdated] +END +GO +GRANT EXECUTE ON usp_SoldHolding TO WebApp_Role +GO + +CREATE PROCEDURE usp_SwapDisplayOrder (@Symbol1 varchar(8), @Symbol2 varchar(8)) +AS +BEGIN + DECLARE @OldDisplayOrder1 TINYINT + DECLARE @OldDisplayOrder2 TINYINT + + SELECT @OldDisplayOrder1 = DisplayOrder FROM Instrument WHERE Symbol = @Symbol1 + SELECT @OldDisplayOrder2 = DisplayOrder FROM Instrument WHERE Symbol = @Symbol2 + + UPDATE + Instrument + SET + DisplayOrder = CASE + WHEN Symbol = @Symbol1 THEN @OldDisplayOrder2 + WHEN Symbol = @Symbol2 THEN @OldDisplayOrder1 + END + WHERE + Symbol IN (@Symbol1, @Symbol2) + + SELECT + @Symbol1 as [Symbol1], + @OldDisplayOrder2 as [Symbol1NewDisplayOrder], + @Symbol2 as [Symbol2], + @OldDisplayOrder1 as [Symbol2NewDisplayOrder] +END +GO +GRANT EXECUTE ON usp_SwapDisplayOrder TO WebApp_Role +GO + +CREATE VIEW vHolding +AS + SELECT + h.HoldingID, + a.ShortName as [AccountName], + i.Symbol, + i.FullName as [InstrumentName], + h.PurchaseDate, + h.NoUnits, + h.PurchasePricePerUnit, + h.SoldDate + FROM + Holding h + INNER JOIN Instrument i + ON i.InstrumentId = h.InstrumentId + INNER JOIN Account a + ON a.AccountID = h.AccountID +GO + +CREATE VIEW vErroneousPrices_Daily +AS +SELECT + i.InstrumentID, + i.Symbol, + i.FullName, + p.HistoryDT as [PreviousHistoryDT], + d1.HistoryDT as [HistoryDT], + n.HistoryDT as [NextHistoryDT], + p.OpenPrice as [PreviousOpen], + d1.OpenPrice as [Open], + n.OpenPrice as [NextOpen], + p.HighPrice as [PreviousHigh], + d1.HighPrice as [High], + n.HighPrice as [NextHigh], + p.LowPrice as [PreviousLow], + d1.LowPrice as [Low], + n.LowPrice as [NextLow], + p.ClosePrice as [PreviousClose], + d1.ClosePrice as [Close], + n.ClosePrice as [NextClose] +FROM + Instrument i + INNER JOIN InstrumentHistory_Daily d1 + ON d1.InstrumentID = i.InstrumentID + INNER JOIN InstrumentHistory_Daily p + ON p.InstrumentID = d1.InstrumentID + AND p.HistoryDT = (SELECT MAX(HistoryDT) FROM InstrumentHistory_Daily WHERE InstrumentID = d1.InstrumentID AND HistoryDT < d1.HistoryDT) + INNER JOIN InstrumentHistory_Daily n + ON n.InstrumentID = d1.InstrumentID + AND n.HistoryDT = (SELECT MIN(HistoryDT) FROM InstrumentHistory_Daily WHERE InstrumentID = d1.InstrumentID AND HistoryDT > d1.HistoryDT) +WHERE + (p.OpenPrice/CASE WHEN d1.OpenPrice = 0 THEN 0.0000001 ELSE d1.OpenPrice END > 90 AND n.OpenPrice/CASE WHEN d1.OpenPrice = 0 THEN 0.0000001 ELSE d1.OpenPrice END > 90) + OR (p.HighPrice/CASE WHEN d1.HighPrice = 0 THEN 0.0000001 ELSE d1.HighPrice END > 90 AND n.HighPrice/CASE WHEN d1.HighPrice = 0 THEN 0.0000001 ELSE d1.HighPrice END > 90) + OR (p.LowPrice/CASE WHEN d1.LowPrice = 0 THEN 0.0000001 ELSE d1.LowPrice END > 90 AND n.LowPrice/CASE WHEN d1.LowPrice = 0 THEN 0.0000001 ELSE d1.LowPrice END > 90) + OR (p.ClosePrice/CASE WHEN d1.ClosePrice = 0 THEN 0.0000001 ELSE d1.ClosePrice END > 90 AND n.ClosePrice/CASE WHEN d1.ClosePrice = 0 THEN 0.0000001 ELSE d1.ClosePrice END > 90) +GO + +CREATE VIEW vErroneousPrices_Intraday +AS +SELECT + i.InstrumentID, + i.Symbol, + i.FullName, + p.HistoryDT as [PreviousHistoryDT], + d1.HistoryDT as [HistoryDT], + n.HistoryDT as [NextHistoryDT], + p.OpenPrice as [PreviousOpen], + d1.OpenPrice as [Open], + n.OpenPrice as [NextOpen], + p.HighPrice as [PreviousHigh], + d1.HighPrice as [High], + n.HighPrice as [NextHigh], + p.LowPrice as [PreviousLow], + d1.LowPrice as [Low], + n.LowPrice as [NextLow], + p.ClosePrice as [PreviousClose], + d1.ClosePrice as [Close], + n.ClosePrice as [NextClose] +FROM + Instrument i + INNER JOIN InstrumentHistory_Intraday d1 + ON d1.InstrumentID = i.InstrumentID + INNER JOIN InstrumentHistory_Intraday p + ON p.InstrumentID = d1.InstrumentID + AND p.HistoryDT = (SELECT MAX(HistoryDT) FROM InstrumentHistory_Daily WHERE InstrumentID = d1.InstrumentID AND HistoryDT < d1.HistoryDT) + INNER JOIN InstrumentHistory_Intraday n + ON n.InstrumentID = d1.InstrumentID + AND n.HistoryDT = (SELECT MIN(HistoryDT) FROM InstrumentHistory_Daily WHERE InstrumentID = d1.InstrumentID AND HistoryDT > d1.HistoryDT) +WHERE + (p.OpenPrice/CASE WHEN d1.OpenPrice = 0 THEN 0.0000001 ELSE d1.OpenPrice END > 90 AND n.OpenPrice/CASE WHEN d1.OpenPrice = 0 THEN 0.0000001 ELSE d1.OpenPrice END > 90) + OR (p.HighPrice/CASE WHEN d1.HighPrice = 0 THEN 0.0000001 ELSE d1.HighPrice END > 90 AND n.HighPrice/CASE WHEN d1.HighPrice = 0 THEN 0.0000001 ELSE d1.HighPrice END > 90) + OR (p.LowPrice/CASE WHEN d1.LowPrice = 0 THEN 0.0000001 ELSE d1.LowPrice END > 90 AND n.LowPrice/CASE WHEN d1.LowPrice = 0 THEN 0.0000001 ELSE d1.LowPrice END > 90) + OR (p.ClosePrice/CASE WHEN d1.ClosePrice = 0 THEN 0.0000001 ELSE d1.ClosePrice END > 90 AND n.ClosePrice/CASE WHEN d1.ClosePrice = 0 THEN 0.0000001 ELSE d1.ClosePrice END > 90) +GO + +CREATE VIEW vDataQuality_Prices +AS +SELECT + i.InstrumentID, + i.Symbol, + i.FullName, + p.HistoryDT as [PreviousHistoryDT], + d1.HistoryDT as [HistoryDT], + n.HistoryDT as [NextHistoryDT], + p.OpenPrice as [PreviousOpen], + d1.OpenPrice as [Open], + n.OpenPrice as [NextOpen], + p.HighPrice as [PreviousHigh], + d1.HighPrice as [High], + n.HighPrice as [NextHigh], + p.LowPrice as [PreviousLow], + d1.LowPrice as [Low], + n.LowPrice as [NextLow], + p.ClosePrice as [PreviousClose], + d1.ClosePrice as [Close], + n.ClosePrice as [NextClose] +FROM + Instrument i + INNER JOIN InstrumentHistory_Daily d1 + ON d1.InstrumentID = i.InstrumentID + INNER JOIN InstrumentHistory_Daily p + ON p.InstrumentID = d1.InstrumentID + AND p.HistoryDT = (SELECT MAX(HistoryDT) FROM InstrumentHistory_Daily WHERE InstrumentID = d1.InstrumentID AND HistoryDT < d1.HistoryDT) + INNER JOIN InstrumentHistory_Daily n + ON n.InstrumentID = d1.InstrumentID + AND n.HistoryDT = (SELECT MIN(HistoryDT) FROM InstrumentHistory_Daily WHERE InstrumentID = d1.InstrumentID AND HistoryDT > d1.HistoryDT) +GO /* @@ -634,8 +877,35 @@ select * from InstrumentHistory_Intraday where InstrumentID = 18 order by Histor --Delete daily prices that are 90% less than previous and next daily prices DELETE d1 +select * FROM - InstrumentHistory_Daily d1 + Instrument i + INNER JOIN InstrumentHistory_Daily d1 + ON d1.InstrumentID = i.InstrumentID + INNER JOIN InstrumentHistory_Daily p + ON p.InstrumentID = d1.InstrumentID + AND p.HistoryDT = (SELECT MAX(HistoryDT) FROM InstrumentHistory_Daily WHERE InstrumentID = d1.InstrumentID AND HistoryDT < d1.HistoryDT) + INNER JOIN InstrumentHistory_Daily n + ON n.InstrumentID = d1.InstrumentID + AND n.HistoryDT = (SELECT MIN(HistoryDT) FROM InstrumentHistory_Daily WHERE InstrumentID = d1.InstrumentID AND HistoryDT > d1.HistoryDT) +WHERE + (p.ClosePrice/d1.ClosePrice > 90 + AND n.ClosePrice/d1.ClosePrice > 90) + OR + (p.OpenPrice/d1.OpenPrice > 90 + AND n.OpenPrice/d1.OpenPrice > 90) + OR + (p.HighPrice/d1.HighPrice > 90 + AND n.HighPrice/d1.HighPrice > 90) + OR + (p.LowPrice/d1.LowPrice > 90 + AND n.LowPrice/d1.LowPrice > 90) + +SELECT * +FROM + Instrument i + INNER JOIN InstrumentHistory_Daily d1 + ON d1.InstrumentID = i.InstrumentID INNER JOIN InstrumentHistory_Daily p ON p.InstrumentID = d1.InstrumentID AND p.HistoryDT = (SELECT MAX(HistoryDT) FROM InstrumentHistory_Daily WHERE InstrumentID = d1.InstrumentID AND HistoryDT < d1.HistoryDT) @@ -646,4 +916,8 @@ WHERE p.ClosePrice/d1.ClosePrice > 90 AND n.ClosePrice/d1.ClosePrice > 90 + +select * from Instrument i inner join InstrumentHistory_Daily d on d.InstrumentID = i.InstrumentID +where i.Symbol = 'IAG.L' and d.HistoryDT between '2020-10-05' and '2020-10-07' order by d.HistoryDT + */ diff --git a/Websites/SharePrices/SharePrices/FlotTest.html b/Websites/SharePrices/SharePrices/FlotTest.html index 6beb0c0..00d6281 100644 --- a/Websites/SharePrices/SharePrices/FlotTest.html +++ b/Websites/SharePrices/SharePrices/FlotTest.html @@ -6,8 +6,87 @@ + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Col1Col2Col3Col4Col5Col6Col7Col8Col9
Value Col 1Value Col 2Value Col 3Value Col 4Value Col 5Value Col 6Value Col 7Value Col 8Value Col 9
Value Col 1 +
 
+
30%
+
+
 
+
60%
+
+
 
+
90%
+
Value Col 5Value Col 6Value Col 7Value Col 8Value Col 9
Value Col 1Value Col 2Value Col 3Value Col 4Value Col 5Value Col 6Value Col 7Value Col 8Value Col 9
+
diff --git a/Websites/SharePrices/SharePrices/Global.asax b/Websites/SharePrices/SharePrices/Global.asax new file mode 100644 index 0000000..f1235eb --- /dev/null +++ b/Websites/SharePrices/SharePrices/Global.asax @@ -0,0 +1 @@ +<%@ Application Codebehind="Global.asax.vb" Inherits="SharePrices.Global_asax" Language="vb" %> diff --git a/Websites/SharePrices/SharePrices/Global.asax.vb b/Websites/SharePrices/SharePrices/Global.asax.vb new file mode 100644 index 0000000..d727545 --- /dev/null +++ b/Websites/SharePrices/SharePrices/Global.asax.vb @@ -0,0 +1,42 @@ +Imports System.Diagnostics +Imports System.Web.SessionState + +Public Class Global_asax + Inherits System.Web.HttpApplication + + Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs) + ' Fires when the application is started + Debug.Print("Global.asx:Application_Start") + End Sub + + Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs) + ' Fires when the session is started + Debug.Print("Global.asx:Session_Start") + End Sub + + Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs) + ' Fires at the beginning of each request + Debug.Print("Global.asx:Application_BeginRequest") + End Sub + + Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs) + ' Fires upon attempting to authenticate the use + Debug.Print("Global.asx:Application_AuthenticateRequest") + End Sub + + Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs) + ' Fires when an error occurs + Debug.Print("Global.asx:Application_Error") + End Sub + + Sub Session_End(ByVal sender As Object, ByVal e As EventArgs) + ' Fires when the session ends + Debug.Print("Global.asx:Session_End") + End Sub + + Sub Application_End(ByVal sender As Object, ByVal e As EventArgs) + ' Fires when the application ends + Debug.Print("Global.asx:Application_End") + End Sub + +End Class \ No newline at end of file diff --git a/Websites/SharePrices/SharePrices/LayoutTest.html b/Websites/SharePrices/SharePrices/LayoutTest.html new file mode 100644 index 0000000..c02f3cf --- /dev/null +++ b/Websites/SharePrices/SharePrices/LayoutTest.html @@ -0,0 +1,63 @@ + + + + + + + +
+ Header div +
+
+
+ + Tab 1
+ Line1
+ Line2
+ Line3
+ Line4
+ Line5
+
+
+
+
+
+ + Tab 2
+ Line1
+ Line2
+ Line3
+ Line4
+ Line5
+ Line6
+ Line7
+ Line8
+ Line9
+ Line10
+
+
+
+ + diff --git a/Websites/SharePrices/SharePrices/SharePrices.aspx b/Websites/SharePrices/SharePrices/SharePrices.aspx index be5ac1d..608badc 100644 --- a/Websites/SharePrices/SharePrices/SharePrices.aspx +++ b/Websites/SharePrices/SharePrices/SharePrices.aspx @@ -5,35 +5,95 @@ Steve's share prices - - - + + + + + + + + + -
-
Charts
-
Current Holdings
-
Share Analysis
+
+
+
+ + + +
+
Charts
+
+
+
+
+
+ +
+
Holdings table
+
+ + + + + + + + + + +
Book Cost currencies
Current Value currencies
Book Cost per Account
Current Value per Account
+
+
+
+
+
+
+
+
+
Analysis
+
+
+
Log
+