internal Task UpdateResultType(ResourceResultType resultType) => factory.DB .Resources .Update ( record, r => { r.ResultType = resultType.Value; } );
public async Task <Resource> Add(ResourceGroup group, ResourceName name, ResourceResultType resultType) { var record = new ResourceRecord { GroupID = group.ID.Value, Name = name.Value, ResultType = resultType.Value }; await factory.DB.Resources.Create(record); return(factory.Resource(record)); }
public async Task <Resource> TryAddResource(ResourceName name, ResourceResultType resultType) { var resource = await Resource(name); if (resource.Name().Equals(name)) { await resource.UpdateResultType(resultType); } else { resource = await AddResource(name, resultType); } return(resource); }
private Task <Resource> AddResource(ResourceName name, ResourceResultType resultType) => factory.Resources().Add(this, name, resultType);