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); }
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); }
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); }
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); }
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); }