public void InsertCbrAndCbrKeys(Cbr cbr, KeyStoreContext context = null) { UsingContext(ref context, () => { context.Configuration.AutoDetectChangesEnabled = false; cbr.CreatedDateUtc = cbr.ModifiedDateUtc = DateTime.UtcNow; context.Cbrs.Add(cbr); foreach (var key in cbr.CbrKeys) { context.CbrKeys.Add(key); } context.SaveChanges(); }); }
private void MappingKeyTypeConfiguration(KeyStoreContext context, int? hqId) { string hqIdString = GetSearchCriteria(hqId); string sql = string.Format(@"SELECT INFO.LicensablePartNumber, EX.KeyType FROM ProductKeyInfo INFO JOIN KeyInfoEx EX ON INFO.ProductKeyID = EX.ProductKeyID WHERE EX.HQID {0} AND NOT EXISTS ( SELECT 1 FROM KeyTypeConfiguration WHERE HeadQuarterId {0} AND LicensablePartNumber = info.LicensablePartNumber) GROUP BY INFO.LicensablePartNumber, EX.KeyType", hqIdString); var maps = Select<LicensablePartNumberAndKeyTypeMap>(context, sql).ToList(); if (maps.Any()) { foreach (var map in maps) { KeyTypeConfiguration config = new KeyTypeConfiguration { HeadQuarterId = hqId, LicensablePartNumber = map.LicensablePartNumber, Maximum = MaxKeyCounts, Minimum = MinKeyCounts, KeyType = (KeyType?)map.KeyType }; context.KeyTypeConfigurations.Add(config); } context.SaveChanges(); } }