public static ProductFeatureApplicability Create(ProductFeature feature, FinancialProduct financialProduct, DateTime today) { ProductFeatureApplicability applicability = new ProductFeatureApplicability(); applicability.FinancialProduct = financialProduct; applicability.EffectiveDate = today; applicability.ProductFeature = feature; Context.ProductFeatureApplicabilities.AddObject(applicability); return applicability; }
public static ProductFeatureApplicability CreateOrUpdate(ProductFeature feature, FinancialProduct financialProduct, DateTime today) { ProductFeatureApplicability current = GetActive(feature, financialProduct); if (current != null) current.EndDate = today; ProductFeatureApplicability applicability = new ProductFeatureApplicability(); applicability.FinancialProduct = financialProduct; applicability.EffectiveDate = today; applicability.ProductFeature = feature; Context.ProductFeatureApplicabilities.AddObject(applicability); return applicability; }
public static ProductFeatureApplicability CreateOrUpdate(ProductFeature feature, FinancialProduct financialProduct, decimal? value , DateTime today) { ProductFeatureApplicability current = GetActive(feature, financialProduct); if (current != null && current.Value == value) return current; bool createNew = (current != null && current.Value != value) || current == null; if (current != null && current.Value != value) current.EndDate = today; if (createNew) { ProductFeatureApplicability applicability = new ProductFeatureApplicability(); applicability.FinancialProduct = financialProduct; applicability.EffectiveDate = today; applicability.ProductFeature = feature; applicability.Value = value; Context.ProductFeatureApplicabilities.AddObject(applicability); return applicability; } return current; }
public static ApplicationItem Get(Application application, ProductFeature productFeature) { return Context.ApplicationItems.FirstOrDefault(entity => entity.EndDate == null && entity.ProductFeatureApplicability.ProductFeature.Id == productFeature.Id && entity.ApplicationId == application.Id); }
public static ProductFeatureApplicability UpdateFeatureExistence(ProductFeature feature, FinancialProduct financialProduct, bool shouldExist, DateTime today) { ProductFeatureApplicability current = GetActive(feature, financialProduct); //no changes if (shouldExist && current != null) return current; if (shouldExist && current == null) { ProductFeatureApplicability applicability = new ProductFeatureApplicability(); applicability.FinancialProduct = financialProduct; applicability.EffectiveDate = today; applicability.ProductFeature = feature; Context.ProductFeatureApplicabilities.AddObject(applicability); return applicability; } if (current != null && shouldExist == false) { current.EndDate = today; return current; } return null; }
public static IEnumerable<ProductFeatureApplicability> GetAllActive(ProductFeature feature, FinancialProduct financialProduct) { return financialProduct.ProductFeatureApplicabilities.Where(entity => entity.EndDate == null && entity.ProductFeatureId == feature.Id); }
public static ProductFeatureApplicability GetActive(ProductFeature feature, FinancialProduct financialProduct) { return financialProduct.ProductFeatureApplicabilities.FirstOrDefault(entity => entity.EndDate == null && entity.ProductFeatureId == feature.Id); }