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;
        }
Ejemplo n.º 2
0
        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();
        }