コード例 #1
0
        public Organization GetOrganizationByID(string accessToken, int organizationID)
        {
            var query = new GetOrganizationByID_Q
            {
                ID = organizationID
            };

            var result = _queryDispatcher.Dispatch <GetOrganizationByID_Q, Organization>(accessToken, query);

            return(result);
        }
コード例 #2
0
        public Result CreateMember(UserContext context, Member member)
        {
            //Confirm OrganizationID is Valid
            var orgQuery = new GetOrganizationByID_Q
            {
                ID = member.OrganizationID
            };

            var orgResult = _queryDispatcher.Dispatch <GetOrganizationByID_Q, Organization>(context.AccessToken, orgQuery);

            if (orgResult == null)
            {
                throw new ArgumentException("Unable to Locate Organization when Creating Member");
            }

            //Create Member
            var memCmd = new CreateMember_C
            {
                UserName       = member.UserName,
                RSIHandle      = member.RSIHandle,
                OrganizationID = member.OrganizationID,
                UserType       = member.UserType,
                RankID         = member.RankID,
                IsActive       = true
            };

            var memResult = _commandDispatcher.Dispatch <CreateMember_C>(context, memCmd);

            if (memResult.Status != System.Net.HttpStatusCode.OK)
            {
                throw new Exception("Error creating Member in DB");
            }
            int memID = Convert.ToInt32(memResult.ItemIDs.FirstOrDefault());

            //Create Credential for Member
            SHA256Managed hashalgo = new SHA256Managed();

            byte[] hash         = hashalgo.ComputeHash(System.Text.Encoding.UTF8.GetBytes(member.UserName.ToLower()));
            string passwordHash = BitConverter.ToString(hash);

            passwordHash = passwordHash.Replace("-", "");

            var credCmd = new CreateCredential_C
            {
                MemberID       = memID,
                UserName       = member.UserName,
                PasswordHash   = passwordHash,
                OrganizationID = member.OrganizationID
            };

            var credResult = _commandDispatcher.Dispatch <CreateCredential_C>(context, credCmd);

            if (credResult.Status != System.Net.HttpStatusCode.OK)
            {
                throw new Exception("Error creating Member Credential in DB");
            }

            //Create RankHistory for Member
            var rhCmd = new CreateMemberRankHistory_C
            {
                MemberID       = memID,
                PreviousRankID = member.RankID,
                NewRankID      = member.RankID
            };

            var rhResult = _commandDispatcher.Dispatch <CreateMemberRankHistory_C>(context, rhCmd);

            if (rhResult.Status != System.Net.HttpStatusCode.OK)
            {
                throw new Exception("Error creating MemberRankHistory in DB");
            }

            return(memResult);
        }