コード例 #1
0
ファイル: Member.cs プロジェクト: BenVanZyl/Reliance
        public static async Task <Member> Create(IQueryExecutor executor, OrganisationMemberDto data)
        {
            //does data.Email exists?  no duplicates allowed
            var value = await executor.Execute(new GetOrganisationMemberQuery(data.OrgId, data.Email));

            if (value != null)
            {
                throw new ThisAppException(StatusCodes.Status409Conflict, Messages.Err409ObjectExists("Organisation Member"));
            }

            value = new Member(data);
            await executor.Add <Member>(value);

            await executor.Save();

            return(value);
        }
コード例 #2
0
ファイル: Badge.cs プロジェクト: BenVanZyl/Reliance
        internal static async Task <Badge> Create(IQueryExecutor executor, long appId, long stageId, string badgeUrl)
        {
            //validation - confirm app does not already exists
            var existingValue = await executor.Execute(new GetBadgeQuery(appId, stageId));

            if (existingValue != null)
            {
                throw new ThisAppException(StatusCodes.Status409Conflict, Messages.Err409ObjectExists("Badge"));
            }
            //create new record
            var value = new Badge(appId, stageId, badgeUrl);
            await executor.Add <Badge>(value);

            await executor.Save();

            //return record
            return(value);
        }
コード例 #3
0
        internal static async Task <Organisation> Create(IQueryExecutor executor, string name, string masterEmail)
        {
            //validation
            var existingValue = await executor.Execute(new GetOrganisationQuery(name, masterEmail));

            if (existingValue != null)
            {
                throw new ThisAppException(StatusCodes.Status409Conflict, Messages.Err409ObjectExists("Organisation"));
            }

            //create new record
            var value = new Organisation(name, masterEmail);
            await executor.Add <Organisation>(value);

            await executor.Save();

            //return record
            return(value);
        }
コード例 #4
0
ファイル: OrganisationKey.cs プロジェクト: BenVanZyl/Reliance
        internal static async Task <OrganisationKey> Create(IQueryExecutor executor, OrganisationKeyDto data)
        {
            //validate inputs
            if (!long.TryParse(data.OrganisationId, out long orgId))
            {
                throw new ThisAppException(StatusCodes.Status417ExpectationFailed, Messages.Err417InvalidObjectId("Organisation Id"));
            }
            if (orgId == 0)
            {
                throw new ThisAppException(StatusCodes.Status417ExpectationFailed, Messages.Err417InvalidObjectId("Organisation Id"));
            }
            if (!string.IsNullOrWhiteSpace(data.PrivateKey))
            {
                throw new ThisAppException(StatusCodes.Status417ExpectationFailed, Messages.Err417InvalidObjectData("Private Key can only be created by the system."));
            }

            if (!data.ExpiryDate.HasValue)
            {
                data.ExpiryDate = DateTime.Now.AddYears(3);
            }

            //check for duplicates
            var duplicates = await executor.Execute(new GetOrganisationKeysQuery(data));

            if (duplicates != null && duplicates.Count > 0)
            {
                throw new ThisAppException(StatusCodes.Status417ExpectationFailed, Messages.Err417InvalidObjectData("Duplicate Private Key records not allowed."));
            }

            //create the record
            var value = new OrganisationKey(orgId);

            value.SetDescription(data.Description);
            value.SetExpiryDate(data.ExpiryDate.Value);

            await executor.Add <OrganisationKey>(value);

            await executor.Save();

            return(value);
        }
コード例 #5
0
        internal static async Task <Stage> Create(IQueryExecutor executor, long organisationId, string name, long orderBy = 0)
        {
            //validation - confirm app does not already exists
            if (string.IsNullOrWhiteSpace(name))
            {
                throw new ThisAppException(StatusCodes.Status417ExpectationFailed, Messages.Err417MissingObjectData("Stage"));
            }
            var existingValue = await executor.Execute(new GetStageQuery(organisationId, name));

            if (existingValue != null)
            {
                throw new ThisAppException(StatusCodes.Status409Conflict, Messages.Err409ObjectExists("Stage"));
            }
            //create new record
            var value = new Stage(organisationId, name, orderBy);
            await executor.Add <Stage>(value);

            await executor.Save();

            //return record
            return(value);
        }