Example #1
0
        internal async Task <AppVersion> StartNewVersion(AppVersionKey key, App app, DateTimeOffset timeAdded, AppVersionType type)
        {
            AppVersionRecord record = null;
            await factory.DB.Transaction(async() =>
            {
                record = new AppVersionRecord
                {
                    VersionKey  = new GeneratedKey().Value(),
                    AppID       = app.ID.Value,
                    Major       = 0,
                    Minor       = 0,
                    Patch       = 0,
                    TimeAdded   = timeAdded,
                    Description = "",
                    Status      = AppVersionStatus.Values.New.Value,
                    Type        = type.Value
                };
                await factory.DB.Versions.Create(record);
                if (key.Equals(AppVersionKey.None))
                {
                    await factory.DB.Versions.Update(record, r => r.VersionKey = new AppVersionKey(r.ID).Value);
                }
            });

            return(factory.Version(record));
        }
Example #2
0
        internal async Task <AppVersion> AddVersion(AppVersionKey key, App app, DateTimeOffset timeAdded, AppVersionStatus status, AppVersionType type, Version version)
        {
            var record = new AppVersionRecord
            {
                VersionKey  = key.Value,
                AppID       = app.ID.Value,
                Major       = version.Major,
                Minor       = version.Minor,
                Patch       = version.Build,
                TimeAdded   = timeAdded,
                Description = "",
                Status      = status.Value,
                Type        = type.Value
            };
            await factory.DB.Versions.Create(record);

            return(factory.Version(record));
        }
Example #3
0
 internal AppVersion Version(AppVersionRecord record) => new AppVersion(this, record);
Example #4
0
 internal AppVersion(AppFactory factory, AppVersionRecord record)
 {
     this.factory = factory;
     this.record  = record ?? new AppVersionRecord();
     ID           = new EntityID(this.record.ID);
 }