public RiskFactorDimItemGroupMember AddGroupMember(RiskFactorDimItem item, RiskFactorDimItemGroup group) { //check if entity of this characteristic already exists var persisted = group.RiskFactorDimItemGroupMembers.Where(x => x.RiskFactorDimItem.RiskFactorDimItemID == item.RiskFactorDimItemID).FirstOrDefault(); if (persisted != null && Context.Entry(persisted).State == EntityState.Modified) { // remove any changes Context.Entry(persisted).State = EntityState.Unchanged; return persisted; } var member = new RiskFactorDimItemGroupMember(); member.Default(Context.UserName); member.RiskFactorDimItem = item; item.RiskFactorDimItemGroupMembers.Add(member); member.RiskFactorDimItemGroup = group; group.RiskFactorDimItemGroupMembers.Add(member); return member; }
internal static void AddDimItemGroupMembers(ScenarioGeneratorModel context) { DateTime now = context.AsOfDate; RiskFactorDimItemGroup group; RiskFactorDimItemGroupMember member; group = context.RiskFactorDimItemGroups.Where(g => g.Name == "European Countries").First(); member = new RiskFactorDimItemGroupMember() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "A", Latest = true }; member.RiskFactorDimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "Spain").First().RiskFactorDimItem; group.RiskFactorDimItemGroupMembers.Add(member); member = new RiskFactorDimItemGroupMember() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "A", Latest = true }; member.RiskFactorDimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "Italy").First().RiskFactorDimItem; group.RiskFactorDimItemGroupMembers.Add(member); member = new RiskFactorDimItemGroupMember() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "A", Latest = true }; member.RiskFactorDimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "Germany").First().RiskFactorDimItem; group.RiskFactorDimItemGroupMembers.Add(member); group = context.RiskFactorDimItemGroups.Where(g => g.Name == "Short Term Tenors").First(); member = new RiskFactorDimItemGroupMember() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "A", Latest = true }; member.RiskFactorDimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "1D").First().RiskFactorDimItem; group.RiskFactorDimItemGroupMembers.Add(member); member = new RiskFactorDimItemGroupMember() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "A", Latest = true }; member.RiskFactorDimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "2D").First().RiskFactorDimItem; group.RiskFactorDimItemGroupMembers.Add(member); member = new RiskFactorDimItemGroupMember() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "A", Latest = true }; member.RiskFactorDimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "3D").First().RiskFactorDimItem; group.RiskFactorDimItemGroupMembers.Add(member); member = new RiskFactorDimItemGroupMember() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "A", Latest = true }; member.RiskFactorDimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "4D").First().RiskFactorDimItem; group.RiskFactorDimItemGroupMembers.Add(member); member = new RiskFactorDimItemGroupMember() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "A", Latest = true }; member.RiskFactorDimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "5D").First().RiskFactorDimItem; group.RiskFactorDimItemGroupMembers.Add(member); member = new RiskFactorDimItemGroupMember() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "A", Latest = true }; member.RiskFactorDimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "1W").First().RiskFactorDimItem; group.RiskFactorDimItemGroupMembers.Add(member); group = context.RiskFactorDimItemGroups.Where(g => g.Name == "Asian Currencies").First(); member = new RiskFactorDimItemGroupMember() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "A", Latest = true }; member.RiskFactorDimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "JPY").First().RiskFactorDimItem; group.RiskFactorDimItemGroupMembers.Add(member); member = new RiskFactorDimItemGroupMember() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "A", Latest = true }; member.RiskFactorDimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "HKD").First().RiskFactorDimItem; group.RiskFactorDimItemGroupMembers.Add(member); member = new RiskFactorDimItemGroupMember() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "A", Latest = true }; member.RiskFactorDimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "TWD").First().RiskFactorDimItem; group.RiskFactorDimItemGroupMembers.Add(member); context.SaveChanges(); }