public static void InsertOrgLocationsClusterList(Guid RuleID, Guid?[] OrgLocationsID) { using (LinqMicajahDataContext dc = new LinqMicajahDataContext()) { DataRule FirstRule = (from r in dc.DataRule where r.InstanceId == LinqMicajahDataContext.InstanceId && r.Status == true && r.DataRuleID == RuleID select r).FirstOrNull(); if (FirstRule != null && OrgLocationsID.Length > 1) { for (int i = 1; i < OrgLocationsID.Length; i++) { DataRule OneMoreRule = new DataRule(); OneMoreRule.InstanceId = FirstRule.InstanceId; OneMoreRule.DataRuleID = Guid.NewGuid(); OneMoreRule.DataRuleTypeID = FirstRule.DataRuleTypeID; OneMoreRule.OrderNumber = FirstRule.OrderNumber; OneMoreRule.OrgLocationID = OrgLocationsID[i]; OneMoreRule.GroupCategoryAspectID = FirstRule.GroupCategoryAspectID; OneMoreRule.PerformanceIndicatorID = FirstRule.PerformanceIndicatorID; OneMoreRule.PerformanceIndicatorFormID = FirstRule.PerformanceIndicatorFormID; OneMoreRule.MetricID = FirstRule.MetricID; OneMoreRule.UserId = FirstRule.UserId; OneMoreRule.GroupId = FirstRule.GroupId; OneMoreRule.Status = FirstRule.Status; OneMoreRule.Created = FirstRule.Created; OneMoreRule.Updated = FirstRule.Updated; OneMoreRule.Description = FirstRule.Description; OneMoreRule.RuleClusterID = FirstRule.RuleClusterID; dc.DataRule.InsertOnSubmit(OneMoreRule); } dc.SubmitChanges(); } } }
public override void OnDeleted(LinqMicajahDataContext dc) { base.OnDeleted(dc); Guid?RuleClusterID = this.RuleClusterID; if (RuleClusterID == null && this.DataRuleID != null) { DataRule dr = (from r in dc.DataRule where r.InstanceId == LinqMicajahDataContext.InstanceId && r.DataRuleID == this.DataRuleID select r).FirstOrNull(); if (dr != null) { RuleClusterID = dr.RuleClusterID; } } if (RuleClusterID != null) { MetricTrac.Bll.DataRule.DeleteOrgLocationsClusterList((Guid)RuleClusterID, null); } }
public override void OnInserting(LinqMicajahDataContext dc, ref bool Cancel) { base.OnInserting(dc, ref Cancel); int? Order = null; DataRule rule = null; if (this.RuleClusterID != null) { rule = (from r in dc.DataRule where r.InstanceId == LinqMicajahDataContext.InstanceId && r.Status == true && r.RuleClusterID == this.RuleClusterID && r.DataRuleTypeID == this.DataRuleTypeID select r).FirstOrNull(); } if (rule != null) { Order = rule.OrderNumber; } else { Order = ( from r in dc.DataRule where r.DataRuleTypeID == this.DataRuleTypeID && r.InstanceId == this.InstanceId select(int?) r.OrderNumber ).Min(); if (Order == null || Order < 1) { Order = int.MaxValue / 2; } else { Order--; } } this.OrderNumber = (int)Order; }
public static void Delete(Guid DataRuleID) { using (LinqMicajahDataContext dc = new LinqMicajahDataContext()) { DataRule rule = (from r in dc.DataRule where r.InstanceId == LinqMicajahDataContext.InstanceId && r.DataRuleID == DataRuleID && r.Status == true select r).FirstOrNull(); if (rule != null) { rule.Status = false; rule.Updated = DateTime.Now; dc.SubmitChanges(); } UpdateD_DataRule(dc); } }
public static void InsertOrUpdate(Extend DataRule) { using (LinqMicajahDataContext dc = new LinqMicajahDataContext()) { DataRule dr =(from r in dc.DataRule where r.InstanceId == LinqMicajahDataContext.InstanceId && r.DataRuleID == DataRule.DataRuleID select r).FirstOrNull(); bool InsertMode = (dr == null); Guid DataRuleID = DataRule.DataRuleID; if (dr == null) { DataRule NewRule = new DataRule(); NewRule.DataRuleID = DataRuleID = Guid.NewGuid(); NewRule.Description = DataRule.Description; NewRule.UserId = DataRule.UserId; NewRule.GroupId = DataRule.GroupId; NewRule.DataRuleTypeID = DataRule.DataRuleTypeID; NewRule.GroupCategoryAspectID = DataRule.GroupCategoryAspectID; dc.DataRule.InsertOnSubmit(NewRule); } else { dr.Description = DataRule.Description; dr.UserId = DataRule.UserId; dr.GroupId = DataRule.GroupId; dr.GroupCategoryAspectID = DataRule.GroupCategoryAspectID; } dc.SubmitChanges(); // save related entities if (!InsertMode) { IQueryable<DataRuleOrgLocation> OldDataRuleOrgLocation = from drol in dc.DataRuleOrgLocation where drol.InstanceId == LinqMicajahDataContext.InstanceId && drol.DataRuleID == DataRuleID select drol; IQueryable<DataRulePerformanceIndicator> OldDataRulePerformanceIndicator = from drpi in dc.DataRulePerformanceIndicator where drpi.InstanceId == LinqMicajahDataContext.InstanceId && drpi.DataRuleID == DataRuleID select drpi; IQueryable<DataRuleMetric> OldDataRuleMetric = from drm in dc.DataRuleMetric where drm.InstanceId == LinqMicajahDataContext.InstanceId && drm.DataRuleID == DataRuleID select drm; dc.DataRuleOrgLocation.DeleteAllOnSubmit(OldDataRuleOrgLocation); dc.DataRulePerformanceIndicator.DeleteAllOnSubmit(OldDataRulePerformanceIndicator); dc.DataRuleMetric.DeleteAllOnSubmit(OldDataRuleMetric); dc.SubmitChanges(); } foreach (Guid? NewOrgLocationID in DataRule.DataRuleOrgLocation) { DataRuleOrgLocation NewOrgLocation = new DataRuleOrgLocation(); NewOrgLocation.InstanceId = LinqMicajahDataContext.InstanceId; NewOrgLocation.DataRuleID = DataRuleID; NewOrgLocation.OrgLocationID = (Guid)NewOrgLocationID; NewOrgLocation.DataRuleOrgLocationID = Guid.NewGuid(); dc.DataRuleOrgLocation.InsertOnSubmit(NewOrgLocation); } foreach (Guid? NewPIID in DataRule.DataRulePI) { DataRulePerformanceIndicator NewOrgLocation = new DataRulePerformanceIndicator(); NewOrgLocation.InstanceId = LinqMicajahDataContext.InstanceId; NewOrgLocation.DataRuleID = DataRuleID; NewOrgLocation.PerformanceIndicatorID = (Guid)NewPIID; NewOrgLocation.DataRulePerformanceIndicatorID = Guid.NewGuid(); dc.DataRulePerformanceIndicator.InsertOnSubmit(NewOrgLocation); } foreach (Guid? NewMetricID in DataRule.DataRuleMetric) { DataRuleMetric NewOrgLocation = new DataRuleMetric(); NewOrgLocation.InstanceId = LinqMicajahDataContext.InstanceId; NewOrgLocation.DataRuleID = DataRuleID; NewOrgLocation.MetricID = (Guid)NewMetricID; NewOrgLocation.DataRuleMetricID = Guid.NewGuid(); dc.DataRuleMetric.InsertOnSubmit(NewOrgLocation); } dc.SubmitChanges(); UpdateD_DataRule(dc); } return; }