---
# System prepended metadata

title: Project documentation template
tags: [AccountDetails, Documentation]

---

---
title: 'Project documentation template'
disqus: hackmd
---
## Table of Contents

[TOC]


AccountDetails service
---
Intention of this AccountDetails service to centralize managment of a child/parent and related CRUD actions from admin POV. The intention of this doc is to identify features and functional dependecies to migrate needed parts.
### Search members

![image](https://hackmd.io/_uploads/SJDi0syd1x.png)
![image](https://hackmd.io/_uploads/SJ2WT3Jdke.png)

Functional requirements search by:
* Text
    * FirstName
    * LastName
    * NickName
* Filters:
    * Mode - Parent/Child/Both
    * Flexible Elastic Search
        ```
        Paypal transaction: 2N221450PR333712F
        Encrypted ID: member_ACBACD16E8B491B2206E5333B0F13B9F
        Plain ID: 20123
        EMail: example@example.com
        Giftcode: DFYMUQQFFT
        Keywords in Firstname, Lastname, Email, Parent Email, Nickname,
        ID:
        "Love2Help" Aki OR ...
        ```

### Show Child+Linked Parent Details
* AccountDetails
    * Location `AccountDetails::createGeneralInformation()`
    * An update call to refresh MemberState +
    * Dependecies:
        * ![image](https://hackmd.io/_uploads/HJTgt7Z_kx.png)
* Change Email (ChangeEMail.cs)
    * Dependecies:
        * `ParentRelationship` table
        * `BraintreeAPI.UpdateCustomerEmail`
        * `ISignInManager::SignOutAsync()`:
            ```
            public async Task SignOutAsync() {
			    await Context.SignOutAsync(IdentityConstants.ApplicationScheme);
			    await Context.SignOutAsync(IdentityConstants.ExternalScheme);
            }
            ```
    * Basic form and update to Member::Email field
        ![image](https://hackmd.io/_uploads/r1U59mbOyx.png)
* Change Password (ChangePassword.cs):
    * Dependecies:
        * `MemberGenerally::TryToChangePassword()`
    * Some TR concats for validation output results from 
`enum ChangePWResult`
    ![image](https://hackmd.io/_uploads/SkpanmZu1g.png)
* Profile Page – just a link to a profile based on user GUID
* Game Progress (GameProgress.cs):
    * Dependecies:
        * CustomGame.cs
        * GameLevel.cs
        * Member.cs MemberFilter
        ```
            public GameLevel GetGameLevel(Model.Member member) {
			return Data.BO.GetFilteredFirstOrDefault<GameLevel>(
				new GameLevel.LevelSorter(),
				new GameLevel.GameFilter(this),
				new GameLevel.MemberFilter(member)
			);
		}
        ```
    ![image](https://hackmd.io/_uploads/SkgJ-VZ_yx.png)

    ![image](https://hackmd.io/_uploads/HJ6i6mZ_Jx.png)
* Penalties:
    * Currently in the process of change by Maria
    ![image](https://hackmd.io/_uploads/SJLrWNbOJl.png)
* Assign All Tasks:
![image](https://hackmd.io/_uploads/S1CeE4Wukg.png)

* Award scoops
![image](https://hackmd.io/_uploads/rkOK-N-u1e.png)
* Verify Member (VerifyMember.cs)
    * Dependecies Member
        - `member.AdminVerified = DateTime.Now`;

## Appendix and FAQ

:::info
**Find this document incomplete?** Leave a comment!
:::

###### tags: `AccountDetails` `Documentation`
