├── readme.md ├── Organize.WASM ├── wwwroot │ ├── css │ │ ├── components │ │ │ ├── itemEdit.css │ │ │ ├── itemEdit.min.css │ │ │ ├── itemEdit.scss │ │ │ ├── itemCheckBox.min.css │ │ │ ├── sign.min.css │ │ │ ├── itemCheckBox.css │ │ │ ├── itemCheckBox.scss │ │ │ ├── sign.css │ │ │ ├── itemsList.min.css │ │ │ ├── sign.scss │ │ │ ├── itemsOverview.min.css │ │ │ ├── itemElement.min.css │ │ │ ├── itemsList.css │ │ │ ├── itemsOverview.css │ │ │ ├── itemsList.scss │ │ │ ├── itemElement.css │ │ │ ├── itemsOverview.scss │ │ │ └── itemElement.scss │ │ ├── open-iconic │ │ │ ├── font │ │ │ │ └── fonts │ │ │ │ │ ├── open-iconic.eot │ │ │ │ │ ├── open-iconic.otf │ │ │ │ │ ├── open-iconic.ttf │ │ │ │ │ └── open-iconic.woff │ │ │ └── ICON-LICENSE │ │ ├── _bootstrap-global.scss │ │ └── _variables.scss │ ├── appsettings.json │ ├── bootstrap │ │ ├── scss │ │ │ ├── utilities │ │ │ │ ├── _clearfix.scss │ │ │ │ ├── _overflow.scss │ │ │ │ ├── _interactions.scss │ │ │ │ ├── _screenreaders.scss │ │ │ │ ├── _visibility.scss │ │ │ │ ├── _shadows.scss │ │ │ │ ├── _float.scss │ │ │ │ ├── _align.scss │ │ │ │ ├── _background.scss │ │ │ │ ├── _stretched-link.scss │ │ │ │ ├── _sizing.scss │ │ │ │ ├── _position.scss │ │ │ │ ├── _display.scss │ │ │ │ └── _embed.scss │ │ │ ├── _media.scss │ │ │ ├── mixins │ │ │ │ ├── _clearfix.scss │ │ │ │ ├── _size.scss │ │ │ │ ├── _lists.scss │ │ │ │ ├── _text-truncate.scss │ │ │ │ ├── _resize.scss │ │ │ │ ├── _visibility.scss │ │ │ │ ├── _alert.scss │ │ │ │ ├── _text-hide.scss │ │ │ │ ├── _badge.scss │ │ │ │ ├── _nav-divider.scss │ │ │ │ ├── _float.scss │ │ │ │ ├── _list-group.scss │ │ │ │ ├── _text-emphasis.scss │ │ │ │ ├── _reset-text.scss │ │ │ │ ├── _pagination.scss │ │ │ │ ├── _box-shadow.scss │ │ │ │ ├── _deprecate.scss │ │ │ │ ├── _transition.scss │ │ │ │ ├── _background-variant.scss │ │ │ │ ├── _hover.scss │ │ │ │ ├── _screen-reader.scss │ │ │ │ ├── _table-row.scss │ │ │ │ ├── _image.scss │ │ │ │ └── _caret.scss │ │ │ ├── _transitions.scss │ │ │ ├── bootstrap-reboot.scss │ │ │ ├── _jumbotron.scss │ │ │ ├── _utilities.scss │ │ │ ├── bootstrap-grid.scss │ │ │ ├── _root.scss │ │ │ ├── _close.scss │ │ │ ├── bootstrap.scss │ │ │ ├── _code.scss │ │ │ ├── _mixins.scss │ │ │ ├── _spinners.scss │ │ │ ├── _toasts.scss │ │ │ ├── _images.scss │ │ │ ├── _badge.scss │ │ │ ├── _alert.scss │ │ │ ├── _progress.scss │ │ │ └── _breadcrumb.scss │ │ ├── js │ │ │ ├── src │ │ │ │ └── index.js │ │ │ └── dist │ │ │ │ └── index.js │ │ └── LICENSE │ ├── favicon.ico │ ├── jquery │ │ ├── src │ │ │ ├── var │ │ │ │ ├── arr.js │ │ │ │ ├── document.js │ │ │ │ ├── getProto.js │ │ │ │ ├── push.js │ │ │ │ ├── rcheckableType.js │ │ │ │ ├── slice.js │ │ │ │ ├── class2type.js │ │ │ │ ├── indexOf.js │ │ │ │ ├── pnum.js │ │ │ │ ├── fnToString.js │ │ │ │ ├── toString.js │ │ │ │ ├── documentElement.js │ │ │ │ ├── hasOwn.js │ │ │ │ ├── support.js │ │ │ │ ├── ObjectFunctionString.js │ │ │ │ ├── isWindow.js │ │ │ │ ├── rcssNum.js │ │ │ │ ├── rnothtmlwhite.js │ │ │ │ ├── flat.js │ │ │ │ └── isFunction.js │ │ │ ├── selector.js │ │ │ ├── ajax │ │ │ │ └── var │ │ │ │ │ ├── rquery.js │ │ │ │ │ ├── location.js │ │ │ │ │ └── nonce.js │ │ │ ├── css │ │ │ │ ├── var │ │ │ │ │ ├── cssExpand.js │ │ │ │ │ ├── rboxStyle.js │ │ │ │ │ ├── rnumnonpx.js │ │ │ │ │ ├── getStyles.js │ │ │ │ │ ├── swap.js │ │ │ │ │ └── isHiddenWithinTree.js │ │ │ │ ├── hiddenVisibleSelectors.js │ │ │ │ ├── addGetHookIf.js │ │ │ │ └── finalPropName.js │ │ │ ├── data │ │ │ │ └── var │ │ │ │ │ ├── dataPriv.js │ │ │ │ │ ├── dataUser.js │ │ │ │ │ └── acceptData.js │ │ │ ├── manipulation │ │ │ │ ├── var │ │ │ │ │ ├── rscriptType.js │ │ │ │ │ └── rtagName.js │ │ │ │ ├── setGlobalEval.js │ │ │ │ ├── getAll.js │ │ │ │ ├── _evalUrl.js │ │ │ │ ├── wrapMap.js │ │ │ │ └── support.js │ │ │ ├── traversing │ │ │ │ └── var │ │ │ │ │ ├── rneedsContext.js │ │ │ │ │ ├── siblings.js │ │ │ │ │ └── dir.js │ │ │ ├── event │ │ │ │ └── support.js │ │ │ ├── core │ │ │ │ ├── nodeName.js │ │ │ │ ├── readyException.js │ │ │ │ ├── var │ │ │ │ │ └── rsingleTag.js │ │ │ │ ├── stripAndCollapse.js │ │ │ │ ├── toType.js │ │ │ │ ├── camelCase.js │ │ │ │ ├── parseXML.js │ │ │ │ ├── support.js │ │ │ │ ├── isAttached.js │ │ │ │ ├── DOMEval.js │ │ │ │ └── access.js │ │ │ ├── attributes.js │ │ │ ├── effects │ │ │ │ └── animatedSelector.js │ │ │ ├── deprecated │ │ │ │ ├── ajax-event-alias.js │ │ │ │ └── event.js │ │ │ ├── selector-sizzle.js │ │ │ ├── deferred │ │ │ │ └── exceptionHook.js │ │ │ ├── queue │ │ │ │ └── delay.js │ │ │ ├── exports │ │ │ │ ├── global.js │ │ │ │ └── amd.js │ │ │ ├── jquery.js │ │ │ ├── attributes │ │ │ │ └── support.js │ │ │ └── wrap.js │ │ ├── bower.json │ │ ├── LICENSE.txt │ │ └── external │ │ │ └── sizzle │ │ │ └── LICENSE.txt │ ├── images │ │ └── blazor.png │ ├── js │ │ ├── jsIsolation.js │ │ └── jsInterop.js │ └── sample-data │ │ └── weather.json ├── Components │ ├── ModalMessage.razor │ ├── ObservableCollectionObserver.razor │ ├── BaseStyles │ │ └── _ItemElementBase.scss │ ├── ItemsList.razor.min.css │ ├── ItemsList.razor.css │ ├── ItemsList.razor.scss │ ├── ModalMessage.cs │ ├── ItemCheckBox.razor │ ├── ChildItemEdit.razor │ ├── ItemEdit.razor.scss │ ├── ItemCheckBoxBase.cs │ ├── ChildItemEdit.razor.cs │ ├── ItemElement.razor │ └── ItemEdit.razor ├── Pages │ ├── Index.razor │ ├── Settings.razor │ ├── ItemsOverview.razor │ ├── SignBase.cs │ ├── Settings.razor.cs │ └── SignIn.razor ├── Shared │ ├── UnAuthLayout.razor │ ├── SurveyPrompt.razor │ ├── NavMenu.razor │ └── MainLayout.razor ├── ItemEdit │ ├── ItemEditEventArgs.cs │ └── ItemEditService.cs ├── OrganizeAuthenticationStateProvider │ └── IAuthenticationStateProvider.cs ├── _Imports.razor ├── App.razor ├── Properties │ └── launchSettings.json ├── compilerconfig.json └── compilerconfig.json.defaults ├── GeneralUi ├── About.razor.min.css ├── About.razor.css ├── About.razor.scss ├── _Imports.razor ├── compilerconfig.json ├── BusyOverlay │ ├── BusyOverlay.razor │ ├── BusyEnum.cs │ ├── BusyChangedEventArgs.cs │ ├── BusyOverlayService.cs │ └── BusyOverlayBase.cs ├── About.razor ├── DropdownControl │ ├── DropdownItem.cs │ ├── Dropdown.razor │ └── Dropdown.razor.cs ├── GeneralUi.csproj ├── Validation │ ├── ValidationInput.razor │ └── ValidationInputBase.cs ├── compilerconfig.json.defaults └── wwwroot │ └── css │ └── styles.css ├── Organize.IndexedDB ├── _Imports.razor ├── Organize.IndexedDB.csproj └── SimplePropertyContractResolver.cs ├── BlazorExample ├── wwwroot │ ├── css │ │ ├── vars.css │ │ └── open-iconic │ │ │ ├── font │ │ │ └── fonts │ │ │ │ ├── open-iconic.eot │ │ │ │ ├── open-iconic.otf │ │ │ │ ├── open-iconic.ttf │ │ │ │ └── open-iconic.woff │ │ │ └── ICON-LICENSE │ ├── favicon.ico │ ├── sample-data │ │ └── weather.json │ └── index.html ├── Components │ ├── DependencyInjection │ │ ├── DependencyInjectionComponent.razor │ │ ├── Contracts │ │ │ ├── IScoped.cs │ │ │ ├── ISingleton.cs │ │ │ ├── ITransient.cs │ │ │ ├── IConstructorInjectionOne.cs │ │ │ └── IConstructorInjectionTwo.cs │ │ ├── DependencyInjectionParentComponent.razor │ │ ├── Implementations │ │ │ ├── ConstructorInjectionTwo.cs │ │ │ ├── Scoped.cs │ │ │ ├── ConstructorInjectionOne.cs │ │ │ ├── Transient.cs │ │ │ └── Singleton.cs │ │ ├── DependencyInjectionParentComponentBase.cs │ │ └── DependencyInjectionComponentBase.cs │ ├── LifeCycle.razor │ ├── ForProblem.razor │ ├── ParentComponent.razor │ ├── ChildComponent.razor │ ├── RazorSyntax.razor │ └── TwoWayBinding.razor ├── Pages │ ├── CascadingParameters │ │ ├── Child.razor │ │ ├── ChildOfChild.razor │ │ ├── CascadingParent.razor.cs │ │ ├── CascadingParent.razor │ │ ├── Child.razor.cs │ │ └── ChildOfChild.razor.cs │ ├── RouteParameters.razor │ ├── Counter.razor │ ├── Index.razor │ └── FetchData.razor ├── Entities │ └── User.cs ├── compilerconfig.json ├── Shared │ ├── MainLayout.razor │ ├── SurveyPrompt.razor │ └── NavMenu.razor ├── App.razor ├── _Imports.razor ├── BlazorExample.csproj ├── Properties │ └── launchSettings.json ├── compilerconfig.json.defaults └── Program.cs ├── Organize.Shared ├── Class1.cs ├── Enitites │ ├── ChildItem.cs │ ├── UrlItem.cs │ ├── TextItem.cs │ ├── BaseEntity.cs │ ├── ParentItem.cs │ ├── BaseItem.cs │ ├── NotifyingObject.cs │ └── User.cs ├── Enums │ ├── GenderTypeEnum.cs │ └── ItemTypeEnum.cs ├── Contracts │ ├── ICurrentUserService.cs │ ├── IUserManager.cs │ ├── IUserDataAccess.cs │ ├── IItemDataAccess.cs │ ├── IUserItemManager.cs │ └── IPersistenceService.cs └── Organize.Shared.csproj ├── Organize.WebApi ├── appsettings.Development.json ├── AppSettings.cs ├── Authuser.cs ├── appsettings.json ├── Program.cs ├── Controllers │ └── TestController.cs ├── Organize.WebApi.csproj └── Properties │ └── launchSettings.json ├── Organize.WebAPIAccess ├── ErrorMessage.cs ├── Organize.WebAPIAccess.csproj ├── WebAPIUserDataAccess.cs └── EntityRouteAssignments.cs ├── Organize.Business ├── Organize.Business.csproj ├── CurrentUserService.cs └── UserManager.cs ├── Organize.TestFake ├── Organize.TestFake.csproj └── UserManagerFake.cs ├── Organize.DataAccess ├── Organize.DataAccess.csproj ├── UserDataAccess.cs └── ItemDataAccess.cs └── Organize.InMemoryStorage └── Organize.InMemoryStorage.csproj /readme.md: -------------------------------------------------------------------------------- 1 | Blazor Project With Clean Architecture -------------------------------------------------------------------------------- /Organize.WASM/wwwroot/css/components/itemEdit.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Organize.WASM/wwwroot/css/components/itemEdit.min.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /GeneralUi/About.razor.min.css: -------------------------------------------------------------------------------- 1 | .title{font-weight:bold;} -------------------------------------------------------------------------------- /GeneralUi/About.razor.css: -------------------------------------------------------------------------------- 1 | .title { 2 | font-weight: bold; } 3 | -------------------------------------------------------------------------------- /Organize.WASM/Components/ModalMessage.razor: -------------------------------------------------------------------------------- 1 |
| First name: | 7 |Mohamed | 8 |
| Last name: | 11 |Fazrin | 12 |
Sorry, there's nothing at this address.
8 |Current count: @currentCount
6 | 7 | 12 | 13 | 14 | 15 | @code { 16 | private int currentCount; 17 | 18 | private void IncrementCount() 19 | { 20 | currentCount++; 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /Organize.WASM/wwwroot/bootstrap/scss/mixins/_nav-divider.scss: -------------------------------------------------------------------------------- 1 | // Horizontal dividers 2 | // 3 | // Dividers (basically an hr) within dropdowns and nav lists 4 | 5 | @mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) { 6 | height: 0; 7 | margin: $margin-y 0; 8 | overflow: hidden; 9 | border-top: 1px solid $color; 10 | @include deprecate("The `nav-divider()` mixin", "v4.4.0", "v5", $ignore-warning); 11 | } 12 | -------------------------------------------------------------------------------- /Organize.WASM/wwwroot/bootstrap/scss/utilities/_float.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $breakpoint in map-keys($grid-breakpoints) { 4 | @include media-breakpoint-up($breakpoint) { 5 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 6 | 7 | .float#{$infix}-left { float: left !important; } 8 | .float#{$infix}-right { float: right !important; } 9 | .float#{$infix}-none { float: none !important; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Organize.WASM/wwwroot/jquery/src/core/stripAndCollapse.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "../var/rnothtmlwhite" 3 | ], function( rnothtmlwhite ) { 4 | "use strict"; 5 | 6 | // Strip and collapse whitespace according to HTML spec 7 | // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace 8 | function stripAndCollapse( value ) { 9 | var tokens = value.match( rnothtmlwhite ) || []; 10 | return tokens.join( " " ); 11 | } 12 | 13 | return stripAndCollapse; 14 | } ); 15 | -------------------------------------------------------------------------------- /Organize.WASM/wwwroot/jquery/src/var/flat.js: -------------------------------------------------------------------------------- 1 | define( [ 2 | "./arr" 3 | ], function( arr ) { 4 | 5 | "use strict"; 6 | 7 | // Support: IE 9 - 11+, Edge 18+, Android Browser 4.0 - 4.3 only, iOS 7 - 11 only, Safari 11 only, 8 | // Firefox <= 61 only 9 | // Provide fallback for browsers without Array#flat. 10 | return arr.flat ? function( array ) { 11 | return arr.flat.call( array ); 12 | } : function( array ) { 13 | return arr.concat.apply( [], array ); 14 | }; 15 | 16 | } ); 17 | -------------------------------------------------------------------------------- /Organize.Shared/Contracts/IUserDataAccess.cs: -------------------------------------------------------------------------------- 1 | using Organize.Shared.Enitites; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Organize.Shared.Contracts 8 | { 9 | public interface IUserDataAccess 10 | { 11 | Task